关闭

automake中的AC_ARG_WITH和AM_CONDITIONAL使用示例

标签: librarycompilerstringincludetagsc
5420人阅读 评论(0) 收藏 举报

automake中的AC_ARG_WITH和AM_CONDITIONAL使用示例

AC_ARG_WITH

AC_ARG_WITH(common,"--with-common prefix for installed COMMON-LIBRARY",COMMON_LIBRARY_HOME=$withval,COMMON_LIBRARY_HOME=)
AC_SUBST(COMMON_LIBRARY_HOME)
AS_IF([test "x$COMMON_LIBRARY_HOME" = "x"],[AC_MSG_ERROR([*** COMMON-LIBRARY could not be located. Please use the --with-common option ***.])])
经过上面的操作后,在Makefile.am中就可以引用common-library_home了,后面的AS_IF表示如果没有指定,则报错退出(执行configure时)。


最好将AC_ARG_WITH最好修改成:
  1. AC_ARG_WITH(common, AS_HELP_STRING([--with-common], [prefix for installed COMMON-LIBRARY]),COMMON_LIBRARY_HOME=$withval,COMMON_LIBRARY_HOME=)
复制代码


使用AS_HELP_STRING后,./configure --help显示的就会对齐,否则顶格原原本本输出,效果如下:
  1. Optional Packages:
  2.   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  3.   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  4.   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  5.   --with-pic              try to use only PIC/non-PIC objects [default=use
  6.                           both]
  7.   --with-tags[=TAGS]      include additional configurations [automatic]
  8.   --with-common           prefix for installed COMMON-LIBRARY
复制代码



# Check whether --with-common-library was given.
if test "${with-common-library+set}" = set; then
  withval=$with-common-librarycommon-library_home=$withval
else
  common-library_home=
fi
从上可以看出,将$withval改成$with-common-library也可以。


AM_CONDITIONAL
AM_CONDITIONAL(LOG4CXX_INSTALLED_ENV, test $LOG4CXX_HOME -a -d $LOG4CXX_HOME)
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:86191次
    • 积分:1005
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:51篇
    • 译文:0篇
    • 评论:7条
    文章分类
    最新评论