在 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 类型的宏吗?和/或有没有更好的方法让我做我需要做的事情来构建不同的程序并链接不同的库?