【发布时间】:2013-01-03 04:12:55
【问题描述】:
在 configure.ac 中使用 autoconf 我需要附加到一个输出变量。
具体来说,我想为我的每个程序(Makefile.am 中的 myprogram1 和 myprogram2)以不同的方式附加到 LIBS 变量。让我们想象一下 myprogram1 需要 -lboost_python 而 myprogram2 需要 -losg。
基本上有些程序需要某些库,而有些则不需要。这是我正在做的一个例子。当然,AC_SUBST 会根据我的理解进行分配(= vs +=),因此这是行不通的。
AC_CHECK_LIB([boost_python], [main], [AC_SUBST([myprogram1_LIBS], ["-lboost_python"])
AC_DEFINE([HAVE_LIBBOOST_PYTHON], [1], [Define if you have libboost_python])],
[AC_MSG_FAILURE([boost_python library not found])])
AC_CHECK_LIB([osg], [main], [AC_SUBST([myprogram2_LIBS], ["-losg"])
AC_DEFINE([HAVE_LIBOSG], [1], [Define if you have libosg])],
[AC_MSG_FAILURE([osg library not found])])
我需要的是用第一个库构建 myprogram1_SOURCES,用第二个库构建 myprogram2_SOURCES。
我可以使用 AC_APPEND_SUBST 类型的宏吗?和/或我是否有更好的方法来做我需要做的事情来构建不同的程序并链接不同的库?
【问题讨论】:
标签: autotools autoconf automake