例如,我想將選項--enable-foo --enable-bar
添加到./configure
命令中。如何將額外的自定義./configure autotools選項傳遞給Buildroot包?例如:
很多./configure
選項可以間接地通過BR2_
CONFIGS設置,但很多軟件有這麼多的選擇,這將是不可行的有一個BR2_
配置每一個可能./configure
選項。
是否有一個適用於所有autotools包的通用機制?
例如,我想將選項--enable-foo --enable-bar
添加到./configure
命令中。如何將額外的自定義./configure autotools選項傳遞給Buildroot包?例如:
很多./configure
選項可以間接地通過BR2_
CONFIGS設置,但很多軟件有這麼多的選擇,這將是不可行的有一個BR2_
配置每一個可能./configure
選項。
是否有一個適用於所有autotools包的通用機制?
我認爲這是爲2017.02目前沒有通用的方法,因爲package/pkg-autotools.mk
包含:
# Configure package for target
define $(2)_CONFIGURE_CMDS
(cd $$($$(PKG)_SRCDIR) && rm -rf config.cache && \
$$(TARGET_CONFIGURE_OPTS) \
$$(TARGET_CONFIGURE_ARGS) \
$$($$(PKG)_CONF_ENV) \
CONFIG_SITE=/dev/null \
./configure \
--target=$$(GNU_TARGET_NAME) \
--host=$$(GNU_TARGET_NAME) \
--build=$$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--program-prefix="" \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-doc \
--disable-docs \
--disable-documentation \
--with-xmlto=no \
--with-fop=no \
--disable-dependency-tracking \
--enable-ipv6 \
$$(DISABLE_NLS) \
$$(SHARED_STATIC_LIBS_OPTS) \
$$(QUIET) $$($$(PKG)_CONF_OPTS) \
)
endef
else
,我看不到任何方式任意選擇,因爲插頭是$$($$(PKG)_CONF_OPTS)
從每個包的package.mk
設置,而其他變量似乎也有特定的目的,不應該混淆。
但我認爲這可能,如果我們增加了一個很容易修補:
$$($$(PKG)_CONF_OPTS_EXTRA)
,然後從CLI你可以這樣做:
make MYPACKAGE_CONF_OPTS_EXTRA="--enable-foo --enable-bar"
最後,對於一些軟件包,你可以逃脫與現有的make
配置,例如爲host-qemu
,其中尚未轉換爲自動工具,我設法讓我額外的選項簡單地:
HOST_QEMU_OPTS="--enable-sdl --with-sdlabi=2.0"
,因爲那個包發生luckly對Makefile中使用+=
,而不是=
。
您可以定義一棵BR2_EXTERNAL
樹,在external.mk
中,您可以覆蓋您喜歡的任何包變量(當然也有一些例外,例如<PKG>_VERSION
)。您可以附加到變量或覆蓋它們。
嗨,但有沒有任何變量適用於配置? –