2011-12-15 45 views
1

我在他們自己的源代碼樹中有兩個類似的應用程序,我使用autotools來構建它們。在每個應用程序的configure.ac中我都有:AC_INIT(appname, appversion)
由於代碼庫相似並且共享一些代碼,所以我想將它們合併到1個源代碼樹中,但我需要爲每個應用程序分別設置appname和appversion。這是使用autotools實現的嗎?
我在應用程序中使用了PACKAGE_NAME, PACKAGE_VERSION
我的電流源結構如下:Autoconf和多個不同版本的二進制文件

./configure.ac 
./src/Makefile.am 
./src/*.cpp 
./src/include/*.h 

感謝。

回答

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); 
+0

謝謝,這是我最終也做了什麼。 – mehturt

相關問題