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)
阅读更多
相关热词: automake
上一篇uboot移植之uboot和kernel的参数传递
下一篇从ramdisk根文件系统启动Linux成功,及使用initramfs启动linux
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭