【发布时间】:2011-06-10 20:10:11
【问题描述】:
我的 configure.ac 包含
AC_PROG_CXX
我的 Makefile.am 包含
AM_CXXFLAGS= -Werror -O3
生成的“配置”脚本除了 O3 之外,还会继续添加 -O2。
我怀疑我应该在 configure.ac 中做一些事情来声明我对 O3 的偏好,但我在文档中找不到它。如何告诉它我要控制优化级别?
【问题讨论】:
我的 configure.ac 包含
AC_PROG_CXX
我的 Makefile.am 包含
AM_CXXFLAGS= -Werror -O3
生成的“配置”脚本除了 O3 之外,还会继续添加 -O2。
我怀疑我应该在 configure.ac 中做一些事情来声明我对 O3 的偏好,但我在文档中找不到它。如何告诉它我要控制优化级别?
【问题讨论】:
不,您不应该向 configure.ac 添加任何内容来表明对 -O3 的偏好。这种东西属于用户的 CONFIG_SITE,而不是 configure.ac
但是,如果你坚持打破惯例,你可以这样做:
: ${CXXFLAGS=-Werror -O3}请注意,此行必须出现在 AC_PROG_CXX 之前(或任何需要 AC_REQUIRES 的宏,例如 LT_INIT,因为这将导致 AC_PROG_CXX 在此行之前发送到配置脚本中。)
【讨论】:
前面的答案是正确的,应该由安装程序选择使用什么标志。如果您仍然想知道 -g -O2 来自哪里(可能),请参阅http://www.gnu.org/s/hello/manual/autoconf/C_002b_002b-Compiler.html。
该页面确实建议“如果您的包不喜欢这个默认值,那么可以在 AC_INIT 之后和 AC_PROG_CXX 之前插入行 ': ${CXXFLAGS=""}' 来选择一个空的默认值。”
【讨论】: