例如,我想将选项--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
)。您可以附加到变量或覆盖它们。
嗨,但有没有任何变量适用于配置? –