buildroot предлагает возможность сборки
из выбранных пакетов.
Назначенные элементы конфигурации BR2_STATIC_LIBS
, BR2_STATIC_LIBS
, а также BR2_SHARED_STATIC_LIBS
,
Можно ли построить как общую, так и статическую библиотеку для только одна упаковка, при создании только общих библиотек для все остальные пакеты?
Единственный проект, для которого мне нужна статическая библиотека, — это пакет на основе autotools.
Я прочитал руководство, но безрезультатно. Хотя я и придумал одну идею, но думаю, что она не сработает: я мог бы вызвать buildroot для вызова configure
скрипт с некоторыми заданными мною аргументами, форсирующий дополнительное создание статической библиотеки. Однако это противоречило бы аргументам, предоставляемым buildroot, которые вынуждают configure
делать совсем наоборот. (Создайте только общую библиотеку.)
Спасибо!
К сожалению, я даже не могу сказать, какую версию buildroot я использую, так как я не нашел способа узнать номер версии buildroot.
Buildroot напрямую не поддерживает изменение параметров только для одного пакета. Это просто взорвало бы количество вариантов.
Самый простой способ сделать это — отредактировать package/foo/foo.mk
и добавьте к нему следующую строку:
FOO_CONF_OPTS += --enable-static
Эти параметры идут после параметров автоконфигурации по умолчанию (которые содержат --enable-shared --disable-static
) и, таким образом, переопределит их.
Если вы не хотите трогать исходники Buildroot, вы также можете сделать это в своем local.mk
или в BR2_EXTERNAL
— см. руководство по их настройке.
Номер версии Buildroot кодируется в верхней части файла Makefile (строка 90 в текущем мастере) в переменной BR2_VERSION
, Вы также можете посмотреть в верхней части сгенерированного .config
файл, содержащий версию, расширенную хешем git commit.
Других решений пока нет …