我使用autotools项目尝试向构建系统添加新功能(添加新组件等)。在这样做的时候,奇怪的是我发现如果我添加一个bla
选项(在configure.ac
中),但是错误地称之为:
$ ./configure --with-blabla
它默默地抱怨说:
configure: WARNING: unrecognized options: --with-blabla
并且配置过程仍在继续。如果遇到无法识别的--with
,我想停止该过程。这有可能吗?
答案 0 :(得分:1)
您的选项&#39;没有效果。从这个意义上说,警告就足够了。匹配的--with-<package>
选项由AC_ARG_WITH
启用,因此现在可能会忽略blabla
,因此--with-blabla
或--enable-blabla
没有理由不这样做在将来有用。
更重要的是:./configure --help
提供了有效配置选项的列表。这不是一个未被认可的选项失败 - 这让我们重要一点:
有些软件包是递归构建的,当一个软件包有多个子软件包时,一个选项可能与所有软件包无关,但是你想将它传递给接受该选项的软件包。简而言之 - 我认为没有理由禁用此行为。
当然,如果您真的想要,可以使用以下方式调用autoconf
:
autoconf --warnings=error
生成configure
脚本。