automake中的AC_ARG_WITH和AM_CONDITIONAL使用示例

转载 2012年03月22日 09:54:58

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与makefile.am变量详细解释

http://liaowb1234.blog.163.com/blog/static/77155547201038111815281/    9. Building Programs and Libr...

[编译]autoconf 工具学习

zhangbin@Ubuntu32:~/alex/codeStore/testCODE/testAUTOCONF/hello$ sudo su [sudo] password for zhangbin...

autoconf常用宏

AC_INIT (unique-file-in-source-dir)处理所有命令行参数并且寻找源代码目录。unique-file-in-source-dir是一些在包的源代码目录中文件; confi...

autoconf AC_ARG_WITH, AC_CACHE_CHECK, AC_TRY_LINK宏学习

http://www.searchtb.com/2011/07/autoconf-ac_arg_with-ac_cache_check-ac_try_link.html 最近在在RH...

configure.ac范例一

检查头文件AC_CHECK_HEADERS([headers]) 例如:AC_CHECK_HEADERS([unistd.h windows.h])这个宏将在当前建造环境下检查unistd.h,wi...

大型项目使用Automake/Autoconf完成编译配置

大型项目使用Automake/Autoconf完成编译配置 使用过开源C/C++项目的同学们都知道,标准的编译过程已经变成了简单的三部曲:configure/make/make install, 使...

automake连载---关于两个文件configure.in和Makefile.am的编写

automake主要通过编辑Makefile.am来控制它的行为,下面就常用的三个Makefile.am配置做出说明。 1.1. autotools的工作原理   autotools最终是为了生...

automake:从c文件到make

如果你有一个C
  • lophyxp
  • lophyxp
  • 2014年05月06日 16:30
  • 3293

Linux中configure/makefile的用法实例(附代码)

转自:http://blog.chinaunix.net/uid-24704319-id-2594460.html 本文教你如何使用autoconf、automake等来制作一个以源代码形式(.tar...
  • earbao
  • earbao
  • 2016年08月08日 17:15
  • 1395

automake中Makefile.am和configure.ac的格式及编译过程

当写完代码之后,在代码所在的目录src中,编写Makefile.am文件,其内容如下: bin_PROGRAMS = ap_collector ap_server #Add extra debug i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:automake中的AC_ARG_WITH和AM_CONDITIONAL使用示例
举报原因:
原因补充:

(最多只允许输入30个字)