我想在我的 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])])
我期望的是,当我添加到configure
选项--enable-stdout
or时--enable-stdout=yes
,我得到一个#define WRITETOSTDOUT 1
,当我添加--disable-stdout
or时--enable-stdout=no
,我得到一个#define WRITETOSTDOUT 0
它按预期工作,除了(--enable-stdout
不带参数)导致#define WRITETOSTDOUT 0
另一个观察结果是,当我键入configure --enable-std
并按下它时,它会竞争./configure --enable-stdout=
如何让简单的启用选项起作用?