0

我正在使用buildroot构建一个交叉编译 gcc ,并且可以为 ./configure 步骤提供一些额外的配置选项,而无需修补 buildroot 源。但是,我想覆盖 buildroot 源已经明确设置的选项。具体来说,buildroot 源具有:

$(GCC_SRC_DIR)/configure $(QUIET) \
--prefix=/usr \
...
--disable-__cxa_atexit \
...
$(EXTRA_GCC_CONFIG_OPTIONS)

我希望投入--enable-__cxa_atexit$EXTRA_GCC_CONFIG_OPTIONS拥有它是值得尊敬的。

我猜如果buildroot的makefile设计得足够好,那么这实际上就是会发生的。但是我正在尝试验证是否如此(在文档中,而不是通过反复试验),并且无法找到将冲突选项传递给 ./configure 脚本时会发生什么的任何规范。

所有基于 autotools 的配置脚本都会以同样的方式处理这个问题吗?或者 gcc 可能以一种方式处理它,并且(例如)binutils 以不同的方式处理它?

我希望 SO 上的其他人必须在我之前找到这个。但是我的 google-fu 和 SO-fu 并没有出现任何问题。

4

1 回答 1

1

相关文档是How Configuration Should Work from the GNU Coding Standards 和Running configure Scripts / Optional Features from the Autoconf manual。

他们没有提到冲突的选项,所以我们只需要在生成的configure脚本中检查 shell 代码。我用 Autoconf 2.69 制作的脚本只是按顺序处理--enable-foo--disable-foo选项并分配给enable_foo,因此后一个选项简单地获胜。

于 2013-06-14T11:09:26.907 回答