Автоконф и несколько бинарных файлов с разными версиями - PullRequest
1 голос
/ 15 декабря 2011

У меня есть два похожих приложения в их собственных исходных деревьях, и я использую автоинструменты для их сборки.В каждом приложении configure.ac у меня есть: AC_INIT(appname, appversion)Так как кодовая база похожа и разделяет некоторый код, я хотел бы объединить их с 1 исходным деревом, но мне нужно, чтобы имя приложения и версия приложения были разными для каждого приложения, может ли это быть достигнуто с помощью автоинструментов?Я использую PACKAGE_NAME, PACKAGE_VERSION в приложении.Моя текущая структура источника выглядит следующим образом:

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

Спасибо.

1 Ответ

0 голосов
/ 15 декабря 2011

В файле 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 );
...