[pacman-dev] [PATCH v2 1/1] libalpm: generate alpm.h on the fly and add version information

Allan McRae allan at archlinux.org
Sat Nov 28 23:10:15 UTC 2015


On 30/12/14 02:53, Christian Hesse wrote:
> From: Christian Hesse <mail at 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 at 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
> 


More information about the pacman-dev mailing list