2011-12-15 1 views
1

自分のソースツリーに2つの同様のアプリケーションがあり、それらをビルドするためにautotoolsを使用しています。各アプリケーションのconfigure.acで私は持っています:AC_INIT(appname, appversion)
コードベースは似ていて、いくつかのコードを共有しているので、それらを1つのソースツリーにマージしたいと思いますが、アプリケーションごとにappnameとappversionを区別する必要があります。これはオートツールを使用して達成されますか?
私はアプリケーションでPACKAGE_NAME, PACKAGE_VERSIONを使用しています。異なるバージョンのAutoconfと複数のバイナリ

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

ありがとう:
私の現在のソース構造は、次のようになります。 configure.acで

答えて

0

、あなたができる:

 
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

関連する問題