window9 в репозитории AltLinux
|
|
haav | Дата: Среда, 28.09.2022, 14:45 | Сообщение # 16 |
Генералиссимус
Группа: Администраторы
Сообщений: 1366
Статус: Offline
| Цитата useful630 ( ) По вспоминать я люблю, но вернёмся к теме. Забываю спросить про -gen gas|gas64|gcc|llvm Select code generation backend Я правильно понимаю, что библиотека по мимо архитектуры, разрядности, тулкита 2/3, ещё и для каждого бакэнда нужна? Мои эксперименты под Альт на первый взгляд показывают, что по умолчанию не gas, как я где то встречал в документации, а как раз gcc, а там ещё и оптимизацию включать можно.
Вот с чем я никогда не заморачиваюсь. Обычно все использую по умолчанию:
32-bit система: gas (хотя кто-то теребит gcc) 64-bit система: gcc (но по желанию можно и gas64) 64-bit система для программ под браузер: llvm (это не для W9)
Не вижу смысла отходить от схемы по умолчанию. Нет необходимости собирать библиотеку разными бэкендами , подавляющее большинство использует схему по умолчанию.
Для ARM наверное тоже используется GCC.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
useful630 | Дата: Четверг, 29.09.2022, 08:56 | Сообщение # 17 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Цитата haav ( ) W9 работает только под x86 и x86-64. Обнаружил ASM вставки! Я не разбирался детально, но это критично, без них никак?
|
|
| |
haav | Дата: Четверг, 29.09.2022, 10:55 | Сообщение # 18 |
Генералиссимус
Группа: Администраторы
Сообщений: 1366
Статус: Offline
| Цитата useful630 ( ) Обнаружил ASM вставки! Я не разбирался детально, но это критично, без них никак?
К сожалению для IncludeBinary , использующей асм вставки , я не знаю другого способа. Другие функции с асм вставками еще можно было бы переписать , но это не даст эффекта , потому что останется проблема IncludeBinary. Насколько это критично например для бэкенда ARM , я не знаю.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
useful630 | Дата: Четверг, 29.09.2022, 11:16 | Сообщение # 19 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Вернёмся к теме, когда у меня появится arm, или кто то подтянется со стороны.
|
|
| |
haav | Дата: Четверг, 29.09.2022, 12:45 | Сообщение # 20 |
Генералиссимус
Группа: Администраторы
Сообщений: 1366
Статус: Offline
| Кстати , для пакета fbc на альте нужно еще как минимум ставить в зависимостях libXpm-devel , libXrandr-devel
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
useful630 | Дата: Четверг, 29.09.2022, 14:26 | Сообщение # 21 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Для классической basic графики может и ещё что то понадобится. Будет время, набросаю, что то вроде теста, в котором нужно задействовать всё что не требует include с описанием внешних инструментов. Андрей в Альте отвечает за выпуск дистрибутива АльтОбразование и FB у него в соответствующем разделе. Думаю при нормальной аргументации доработает пакет, как на днях с ncurses, в смысле добавит зависимости. Пока я жду от него ответа по ARM. Оказалось, что реально пакетов в репозитории нет и поисковик вводит в заблуждение. Если он не планирует выпускать под другие платформы кроме x86,x86_64 то и бог с ним с ассемблером. У меня всё равно, завтра точно не появится железка с arm.
Сообщение отредактировал useful630 - Четверг, 29.09.2022, 14:44 |
|
| |
laser | Дата: Понедельник, 03.10.2022, 09:27 | Сообщение # 22 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| Цитата useful630 ( ) У меня всё равно, завтра точно не появится железка с arm. TV приставки нет? Стоит 1000 - 2000 рублей. На ней прекрасно запускается линукс.
|
|
| |
useful630 | Дата: Понедельник, 03.10.2022, 10:13 | Сообщение # 23 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Я в курсе всего, что есть. Мне интересно только то, что может быть массовым и не дома, а там где программированием можно хоть что то заработать. Я Си-шник до мозга костей, "импортозамещением" в прошлом веке занимался переписывая sdtlib Си от http://www.nicevt.ru/ под СМВ(ПДО)-VM(CMS) под паравиртуализацию. ПДО - однопользовательская многозадачная ОС написанная специально для виртуального пространства, т.е. например ассемблер как бы тот же и макрокоманды ввода вывода те же, но внутри вместо работы с каналами ввода-вывода обращения к гипервизору за результатом.
Но мозги старые и ленивые и Фред со своим PureBasic - ом избаловал в конец. Я вполне в серьёз допускаю PB и FB (где прям по зарез open source нужен) в качестве инструментов для программирования за вознаграждение
Отсюда отсутствие интереса к не промышленным (массовым) изделиям на основе ARM. Например когда станет понятна судьба байкалов или других попыток, тогда и пойму на чём экспериментировать. Сомнений в том, что инструменты готовы у меня нет, но например ещё один фактор есть. Если не удастся убедить, что FB под ARM нужен в репозиториях Базальта, то и интерес мой под угаснет.Добавлено (03.10.2022, 10:49) --------------------------------------------- Вернёмся к теме. На сегодня, если я правильно понял, предполагается выбрать один раз gtk2/gtk3 и пользоваться. Для цели попасть в репозиторий на сегодня(в смысле без ARM) нужно будет 4 цели: x86-gtk2,x86-gtk3,x64-gtk2,x64-gtk3 И возможность выбора в командной строке с чем линковать или какие то другие варианты ... Есть мысли на тему?
|
|
| |
laser | Дата: Понедельник, 03.10.2022, 11:28 | Сообщение # 24 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| Цитата useful630 ( ) Мне интересно только то, что может быть массовым и не дома, а там где программированием можно хоть что то заработать. Linux + ARM? Наверное только Raspberry Pi, Orange Pi и прочие фрукты/ягоды.
Цитата useful630 ( ) Я вполне в серьёз допускаю PB и FB (где прям по зарез open source нужен) в качестве инструментов для программирования за вознаграждение PB успешно для этих целей юзаю. Лицензия наверное 30 раз окупилась... Вообще PB хорош что все готово из дистрибутива. Установил и работай. Разработчик FB предоставляет тока компиль, а редактор кода, отладчик, библы возложены на плечи сообщества.
|
|
| |
useful630 | Дата: Понедельник, 03.10.2022, 12:03 | Сообщение # 25 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Цитата laser ( ) Наверное только Raspberry Pi, Orange Pi и прочие фрукты/ягоды. И прочее съедобное http://rbs-computers.ru/repkapi3 Например уже можно купить в розницу от них http://rbs-computers.ru/rbs-computers-a20 Утверждают, что не зависят от Тайваня. Посмотрим, что у них получится.
p.s. но я напомню про вопрос выше о разделении на gtk2 и gtk3 (на сейчас получается или)
p.p.s. Андрей Ч. ответил, что в его планах сборки alt Arm нет, и у меня arm нет, так что проблема asm вставок откладывается на неопределённый срок.
Сообщение отредактировал useful630 - Понедельник, 03.10.2022, 14:33 |
|
| |
haav | Дата: Понедельник, 03.10.2022, 16:04 | Сообщение # 26 |
Генералиссимус
Группа: Администраторы
Сообщений: 1366
Статус: Offline
| Цитата useful630 ( ) Вернёмся к теме. На сегодня, если я правильно понял, предполагается выбрать один раз gtk2/gtk3 и пользоваться. Для цели попасть в репозиторий на сегодня(в смысле без ARM) нужно будет 4 цели: x86-gtk2,x86-gtk3,x64-gtk2,x64-gtk3 И возможность выбора в командной строке с чем линковать или какие то другие варианты ... Есть мысли на тему?
Если хочется работать с библиотекой так , как предусмотрено , то ставится на комп одна версия (либо gtk2 , либо gtk3). Если не пугает , что дополнительно исходный код программы , использующий библиотеку, вырастет на одну строчку (директиву #define __USE_GTK3__) , то можно объединить обе версии GTK2 и GTK3 в один пакет. После установки на диске будут 2 версии для GTK2 и для GTK3 (скажем с именами libw9gtk2.a , libw9gtk3.a). Надо лишь чуть подшаманить файл window9.bi . То есть берем справку и любой пример. Ставим в самом начале директиву (для GTK3) или не ставим (для GTK2) и все. Все это я писал для уже собранных бинарных библиотек. Но я правильно понял , что цель стоит еще собирать из исходных файлов? Если так, то наверное можно для сборки иметь в архиве два заголовка для gtk2 и gtk3 (скажем w9gtk2.bi и w9gtk3.bi). В makefile внести команду , чтобы перед сборкой создавал файл window9.bi из (w9gtk2.bi или w9gtk3.bi) в зависимости от параметров, заданных в makefile. Но вся эта чехарда ломает уже привычный способ сборки и использования для тех пользователей , кто привык за эти годы. Поэтому архивы на sf.net в любом случае будут иметь привычную технику сборку и использования.
Цитата http://rbs-computers.ru/rbs-computers-a20
Цены у них не конкурентоспособные. Тот же orange pi примерно с такими же параметрами стоит более чем в 2 раза дешевле.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
useful630 | Дата: Понедельник, 03.10.2022, 18:04 | Сообщение # 27 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Цитата haav ( ) Но вся эта чехарда ломает уже привычный способ сборки Я веду речь о упаковке в пакеты и размещение в репозиторий Альта. И логика такой организации ведёт к необходимости 4х пакетов(библиотек) x86gtk2,x86gtk3,x64gtk2,x64gtk3 И при использовании мультилиб даже одновременно могут оказаться установленными все 4-ре.
p.s. Представь, что тебе gtk-шники говорят: выбери что то одно и пользуйся без чехарды ...
Сообщение отредактировал useful630 - Понедельник, 03.10.2022, 18:13 |
|
| |
haav | Дата: Понедельник, 03.10.2022, 19:03 | Сообщение # 28 |
Генералиссимус
Группа: Администраторы
Сообщений: 1366
Статус: Offline
| Не знаю насчет мультилиба , никогда не ставил 32-bit компиль на x64 в линуксе. И даже не знаю , как там все это дело будет работать. А для gtk2\gtk3 я описал возможный способ. Может он не самый лучший , но другого попроще я придумать не могу. У сишников gtk либы линкуются вручную. Код один и тот же , но команда компиляции разная. В FB , версия GTK либы для линковки задается в исходном коде (как я и писал с помощью #define __USE_GTK3__). Так что если на компе оказываются 2 версии , то эти имена надо прописать в файле window9.bi макросом (ниже часть измененного кода из window9.bi). А уж задавать , какую либу использовать в компиляции придется вручную в исходном коде самой программы. Конечно можно выпилить вообще из файла window9.bi команду линковки и тоже вручную например в терминале задавать библиотеки для линковки , но это мало кто любит на FB.
Код ...
#if __fb_out_exe__ Orelse __fb_out_dll__ #ifdef __USE_GTK3__ #inclib "w9_gtk3" #else #inclib "w9_gtk2" #EndIf #inclib "X11" #ifndef disable_webgadget #ifdef __USE_GTK3__ #inclib "webkit2gtk-3.0" #else #inclib "webkitgtk-1.0" #endif
#endif
gtk_init (0, 0)
#else
...
Можно запилить сюда возможность линковать 32-bit версии с помощью макроса #ifdef __FB_64BIT__ , но как я и сказал , я понятия не имею как 32-bit компиль будет работать на x64. Но если хочешь , то это будет выглядеть примерно так:
Код ...
#if __fb_out_exe__ Orelse __fb_out_dll__ #ifdef __FB_64BIT__ #ifdef __USE_GTK3__ #inclib "w9_gtk3_x64" #else #inclib "w9_gtk2_x64" #EndIf #else #ifdef __USE_GTK3__ #inclib "w9_gtk3_x32" #else #inclib "w9_gtk2_x32" #EndIf #EndIf #inclib "X11" #ifndef disable_webgadget #ifdef __USE_GTK3__ #inclib "webkit2gtk-3.0" #else #inclib "webkitgtk-1.0" #endif
#endif
gtk_init (0, 0)
#else
...
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
|