0
我想在我的configure.ac中有一個名爲「stdout」的配置選項,它導致將變量定義爲「1」或「0」。以下是我投入configure.ac:autoconf不啓用功能...
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
或--enable-stdout=yes
,我得到一個#define WRITETOSTDOUT 1
,當我添加--disable-stdout
或--enable-stdout=no
,我得到一個#define WRITETOSTDOUT 0
它將按預期除了是--enable-stdout
(不帶參數)的結果#define WRITETOSTDOUT 0
另一個觀測中n是,當我輸入configure --enable-std
並按它競爭到./configure --enable-stdout=
如何獲得簡單的啓用選項的工作?
看起來更清潔,其中大部分工作...除了兩個小缺陷:config.h中的註釋始終爲「禁用...」,並且製表符完成仍然會給出「=」。第一個是讓我更加困擾的那個... – steffen
第一個很容易修復。我從來沒有嘗試過配置的參數完成。我的環境似乎沒有這樣做。 – ldav1s