automake中的AC_ARG_WITH和AM_CONDITIONAL使用示例

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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值