Autoconf系列(2) 给configure脚本增加选项

2651阅读 0评论2007-03-19 jizhao
分类:C/C++

我们使用AC_ARG_ENABLE宏。
AC_ARG_ENABLE (feature, help-string [, action-if-given [, action-if-not-given]])
如果用户以选项`--enable-feature'或者`--disable-feature'调用 configure,就运行shell命令action-if-given。如果两个选项都没有给出,就运行shell命令 action-if-not-given。名称feature表示可选的用户级功能。它应该仅仅由字母、数字和破折号(dashes)组成。
shell命令可以通过访问shell变量enableval来得到选项的参数.
例如下面的命令(#构成的两行的中间部分.写在configure.ac里),将在生成 configure 脚本后,使得configure脚本支持 --enable-debug 选项和--disable-debug选项。当使用--enable-debug时,将在config.h里定义宏DEBUG为1。当使用--disable-debug或者不使用 --enable-debug也不使用--disable-debug时,在config.h里面定义宏DEBUG为0。
#######################################
AC_ARG_ENABLE([debug],
    [AS_HELP_STRING([--enable-debug],[output debug log (default is no)])],
    [if test "$enableval" == "yes"; then
        AC_DEFINE([DEBUG],[1],[Define if --enable-debug])
    else
        AC_DEFINE([DEBUG],[0],[Define if --disable-debug])
    fi
    ],
    [AC_DEFINE([DEBUG],[0],[Define if need to output debug log])])
#########################################   
   
说明,请保证这些内容出现在AC_INIT宏和AC_OUTPUT宏之间。
上一篇:Autoconf系列(1) 使用config.h
下一篇:Automake系列(三) 定制安装文件的目录