我在他们自己的源代码树中有两个类似的应用程序,我使用autotools来构建它们。在每个应用程序的configure.ac中,我有:AC_INIT(appname, appversion)
由于代码库是相似的并且共享一些代码,我想将它们合并到一个源代码树中,但是我需要为每个应用程序分别使用appname和appversion,这可以通过autotools来实现吗?
我在应用程序中使用PACKAGE_NAME, PACKAGE_VERSION
我目前的源结构如下所示:
./configure.ac
./src/Makefile.am
./src/*.cpp
./src/include/*.h
感谢。
答案 0 :(得分:0)
在configure.ac中,你可以这样做:
AC_SUBST([APP1VERSION],[1.2.3]) AC_SUBST([APP2VERSION],[0.0.1]) AC_DEFINE_UNQUOTED([APP1VERSION],["$APP1VERSION"],[Version of app 1]) AC_DEFINE_UNQUOTED([APP2VERSION],["$APP2VERSION"],[Version of app 2])
这些版本独立于PACKAGE_VERSION,但在.c文件中 你可以简单地连接它们:
printf( "%s", PACKAGE_VERSION APP1VERSION );