On 30/12/14 02:53, Christian Hesse wrote:
From: Christian Hesse <mail@eworm.de>
Programs linked against libalpm (for example packagekit) may want to use preprocessor macros to check version and choose correct API. This adds version information to alpm.h.
Signed-off-by: Christian Hesse <mail@eworm.de>
Follow-up on an old patch... Is the version provided by pkg-config file not enough? A
--- configure.ac | 13 +++++++++++++ lib/libalpm/.gitignore | 1 + lib/libalpm/{alpm.h => alpm.h.in} | 8 ++++++++ 3 files changed, 22 insertions(+) rename lib/libalpm/{alpm.h => alpm.h.in} (99%)
diff --git a/configure.ac b/configure.ac index e0ed3cf..7b30d24 100644 --- a/configure.ac +++ b/configure.ac @@ -65,6 +65,10 @@ AM_SILENT_RULES([yes])
LT_INIT LIB_VERSION=`expr lib_current - lib_age`.lib_age.lib_revision +LIB_VERSION_CURRENT=lib_current +LIB_VERSION_REVISION=lib_revision +LIB_VERSION_AGE=lib_age +LIB_VERSION_NUMBER=`printf 0x%02x%02x%02x lib_current lib_revision lib_age` LIB_VERSION_INFO="lib_current:lib_revision:lib_age"
# Respect empty CFLAGS during compiler tests @@ -76,7 +80,15 @@ fi # and put LIB_VERSION in config.h AC_SUBST(LIB_VERSION) AC_SUBST(LIB_VERSION_INFO) +AC_SUBST(LIB_VERSION_CURRENT) +AC_SUBST(LIB_VERSION_REVISION) +AC_SUBST(LIB_VERSION_AGE) +AC_SUBST(LIB_VERSION_NUMBER) AC_DEFINE_UNQUOTED([LIB_VERSION], ["$LIB_VERSION"], [libalpm version number]) +AC_DEFINE_UNQUOTED([LIB_VERSION_CURRENT], ["$LIB_VERSION_CURRENT"], [libalpm version number current]) +AC_DEFINE_UNQUOTED([LIB_VERSION_REVISION], ["$LIB_VERSION_REVISION"], [libalpm version number revision]) +AC_DEFINE_UNQUOTED([LIB_VERSION_AGE], ["$LIB_VERSION_AGE"], [libalpm version number age]) +AC_DEFINE_UNQUOTED([LIB_VERSION_NUMBER], ["$LIB_VERSION_NUMBER"], [libalpm version number hex])
# Help line for root directory AC_ARG_WITH(root-dir, @@ -498,6 +510,7 @@ AC_CONFIG_FILES([ lib/libalpm/Makefile lib/libalpm/po/Makefile.in lib/libalpm/libalpm.pc +lib/libalpm/alpm.h src/common/Makefile src/pacman/Makefile src/pacman/po/Makefile.in diff --git a/lib/libalpm/.gitignore b/lib/libalpm/.gitignore index 82318d3..5b94ed8 100644 --- a/lib/libalpm/.gitignore +++ b/lib/libalpm/.gitignore @@ -2,4 +2,5 @@ .libs *.lo *.la +alpm.h libalpm.pc diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h.in similarity index 99% rename from lib/libalpm/alpm.h rename to lib/libalpm/alpm.h.in index 91b9461..7fc6f3b 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h.in @@ -23,6 +23,14 @@ #ifndef _ALPM_H #define _ALPM_H
+#define ALPM_VERSION "@LIB_VERSION@" + +#define ALPM_VERSION_CURRENT @LIB_VERSION_CURRENT@ +#define ALPM_VERSION_REVISION @LIB_VERSION_REVISION@ +#define ALPM_VERSION_AGE @LIB_VERSION_AGE@ + +#define ALPM_VERSION_NUMBER @LIB_VERSION_NUMBER@ + #ifdef __cplusplus extern "C" { #endif