【发布时间】:2013-02-07 22:13:56
【问题描述】:
我想在我的 configure.ac 中有一个名为“stdout”的配置选项,这导致将变量定义为“1”或“0”。这是我放入 configure.ac 的内容:
AC_ARG_ENABLE([stdout],
[AS_HELP_STRING([--enable-stdout[=yes/no], --disable-stdout],
[Enable or disable output to stdout. Default is disabled.])],
[ if test "x$enableval" = "yes" ; then
AC_DEFINE([WRITETOSTDOUT],[1],[Enable output to stdout])
else
AC_DEFINE([WRITETOSTDOUT],[0],[Disable output to stdout])
fi ],
[AC_DEFINE([WRITETOSTDOUT],[0],[Enable output to stdout])])
我期望的是,当我将选项 --enable-stdout 或 --enable-stdout=yes 添加到 configure 时,我得到一个 #define WRITETOSTDOUT 1,当我添加 --disable-stdout 或 --enable-stdout=no 时,我得到一个 #define WRITETOSTDOUT 0
它按预期工作除了--enable-stdout(不带参数)导致#define WRITETOSTDOUT 0
另一个观察结果是,当我输入 configure --enable-std 并按下它时,它会与 ./configure --enable-stdout= 竞争
如何让简单的启用选项起作用?
【问题讨论】:
标签: autotools configure autoconf