【发布时间】:2013-05-19 18:47:09
【问题描述】:
我正在使用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 脚本时会发生什么的任何规范。
所有基于自动工具的配置脚本都会以同样的方式处理这个问题吗?或者 gcc 可能以一种方式处理它,并且(例如)binutils 以不同的方式处理它?
我希望 SO 上的其他人必须在我之前找到此问题。但是我的 google-fu 和 SO-fu 什么都没有。
【问题讨论】:
-
autoconf非常灵活且令人难以置信的滥用,多年来成千上万的开发人员严重滥用它,因此configure脚本几乎没有一致性。在所有生成的configure脚本中都不会看到您可能期望的任何行为!