GNUstep
Материал из ALT Linux Wiki
Real (обсуждение | вклад) (/proc) |
Real (обсуждение | вклад) (небольшие изменения правил) |
||
Строка 10: | Строка 10: | ||
== | == | ||
- | Нужно заметить, что пакеты GNUstep должны собираться с Objective-C не от gcc, а от GNUstep. Сам компилятор | + | Нужно заметить, что пакеты GNUstep должны собираться с Objective-C не от gcc, а от GNUstep. Сам компилятор используется от clang. Таким образом, в BuildPreReq должны попасть как минимум вот такие пакеты: |
- | + | clang-devel | |
libgnustep-objc2-devel | libgnustep-objc2-devel | ||
gnustep-make-devel | gnustep-make-devel | ||
/proc | /proc | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== | == |
Версия 20:35, 13 февраля 2014
Несколько шаблонов, которые могут пригодиться при сборке софта под GNUstep.
==
В начале спека необходимо вставить:
%set_verify_elf_method unresolved=strict
Без этой строчки недолинковки могут остаться вне внимания, а недолинковок быть на должно.
==
Нужно заметить, что пакеты GNUstep должны собираться с Objective-C не от gcc, а от GNUstep. Сам компилятор используется от clang. Таким образом, в BuildPreReq должны попасть как минимум вот такие пакеты:
clang-devel libgnustep-objc2-devel gnustep-make-devel /proc
==
Конфигуратору (configure) или сборочному файлу (GNUmakefile) может потребоваться переменная GNUSTEP_MAKEFILES=%_datadir/GNUstep/Makefiles .
==
Если проект содержит файл configure.(ac|in), необходимо использовать %autoreconf .
==
Минимальный шаблон вызова конфигуратора:
%configure \ --libexecdir=%_libdir \ --with-installation-domain=SYSTEM
==
Минимальный шаблон запуска сборки:
%make_build \ messages=yes \ debug=yes \ strip=no \ shared=yes
==
Если необходимо добавить какие-либо специфические флаги компилятора, используется AUXILIARY_CPPFLAGS как параметр для %make_build .
==
Если необходимо добавить какие-либо библиотеки для линковки, используется CONFIG_SYSTEM_LIBS как параметр для %make_build .
Например, нужно добавить оптимизицию и долинковать собираемый модуль математической библиотекой, вызов может быть таким:
%make_build \ messages=yes \ debug=yes \ strip=no \ shared=yes \ AUXILIARY_CPPFLAGS='-O2' \ CONFIG_SYSTEM_LIBS='-lm'
==
После сборки стандартным вариантом установки является:
%makeinstall_std GNUSTEP_INSTALLATION_DOMAIN=SYSTEM
==
Отдельно надо рассмотреть документацию. Необходимым (и зачастую достаточным) является такой код:
%make_build -C Documentation \ messages=yes \ GNUSTEP_MAKEFILES=%_datadir/GNUstep/Makefiles
Установка будет такой:
%makeinstall_std -C Documentation \ GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ GNUSTEP_MAKEFILES=%_datadir/GNUstep/Makefiles
После всех установок основные файлы GNUstep помещаются внутри %_libdir/GNUstep . Другие места, где могут появиться новые файлы: %_bindir , %_includedir , %_libdir (как правило, это разделяемые библиотеки).
Файлы документации устанавливаются в %_docdir/GNUstep .