From ec309e20b5a27d42a5fb915c328d61e924ab5f19 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Thu, 29 Mar 2018 15:12:17 +0800 Subject: [PATCH] support pkgconfig Upstream-Status: Pending Rebase to 1.28 Signed-off-by: Hongxu Jia --- configure.ac | 1 + src/Makefile.am | 4 ++- src/gpg-error.m4 | 71 +++-------------------------------------------------- src/gpg-error.pc.in | 11 +++++++++ 4 files changed, 18 insertions(+), 69 deletions(-) create mode 100644 src/gpg-error.pc.in diff --git a/configure.ac b/configure.ac index aca9300..f7794e9 100644 --- a/configure.ac +++ b/configure.ac @@ -621,6 +621,7 @@ AC_CONFIG_FILES([src/Makefile tests/Makefile]) AC_CONFIG_FILES([lang/Makefile lang/cl/Makefile lang/cl/gpg-error.asd]) AC_CONFIG_FILES([src/versioninfo.rc src/gpg-error.w32-manifest]) AC_CONFIG_FILES([src/gpg-error-config], [chmod +x src/gpg-error-config]) +AC_CONFIG_FILES([src/gpg-error.pc]) AC_OUTPUT diff --git a/src/Makefile.am b/src/Makefile.am index 268c2ab..95f8459 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -87,6 +87,8 @@ bin_SCRIPTS = gpg-error-config nodist_bin_SCRIPTS = gpgrt-config m4datadir = $(datadir)/aclocal m4data_DATA = gpg-error.m4 gpgrt.m4 +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = gpg-error.pc EXTRA_DIST = mkstrtable.awk err-sources.h.in err-codes.h.in \ mkerrnos.awk errnos.in README \ @@ -94,7 +96,7 @@ EXTRA_DIST = mkstrtable.awk err-sources.h.in err-codes.h.in \ mkheader.c gpg-error.h.in mkw32errmap.c w32-add.h w32ce-add.h \ err-sources.h err-codes.h gpg-error-config.in gpg-error.m4 gpgrt.m4 \ gpg-error.vers gpg-error.def.in \ - versioninfo.rc.in gpg-error.w32-manifest.in \ + versioninfo.rc.in gpg-error.w32-manifest.in gpg-error.pc \ $(lock_obj_pub) BUILT_SOURCES = err-sources.h err-codes.h code-to-errno.h code-from-errno.h \ diff --git a/src/gpg-error.m4 b/src/gpg-error.m4 index 60c88d8..2ef7e3e 100644 --- a/src/gpg-error.m4 +++ b/src/gpg-error.m4 @@ -26,73 +26,13 @@ dnl is added to the gpg_config_script_warn variable. dnl AC_DEFUN([AM_PATH_GPG_ERROR], [ AC_REQUIRE([AC_CANONICAL_HOST]) - gpg_error_config_prefix="" - dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, - dnl since that is consistent with how our three siblings use the directory/ - dnl package name in --with-$dir_name-prefix=PFX. - AC_ARG_WITH(libgpg-error-prefix, - AC_HELP_STRING([--with-libgpg-error-prefix=PFX], - [prefix where GPG Error is installed (optional)]), - [gpg_error_config_prefix="$withval"]) - - dnl Accept --with-gpg-error-prefix and make it work the same as - dnl --with-libgpg-error-prefix above, for backwards compatibility, - dnl but do not document this old, inconsistently-named option. - AC_ARG_WITH(gpg-error-prefix,, - [gpg_error_config_prefix="$withval"]) + min_gpg_error_version=ifelse([$1], ,0.0,$1) - if test x"${GPG_ERROR_CONFIG}" = x ; then - if test x"${gpg_error_config_prefix}" != x ; then - GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config" - else - case "${SYSROOT}" in - /*) - if test -x "${SYSROOT}/bin/gpg-error-config" ; then - GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config" - fi - ;; - '') - ;; - *) - AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) - ;; - esac - fi - fi + PKG_CHECK_MODULES(GPG_ERROR, [gpg-error >= $min_gpg_error_version], [ok=yes], [ok=no]) - AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no) - min_gpg_error_version=ifelse([$1], ,0.0,$1) - AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version) - ok=no - if test "$GPG_ERROR_CONFIG" != "no" \ - && test -f "$GPG_ERROR_CONFIG" ; then - req_major=`echo $min_gpg_error_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_gpg_error_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version` - major=`echo $gpg_error_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $gpg_error_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -ge "$req_minor"; then - ok=yes - fi - fi - fi - fi if test $ok = yes; then - GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags` - GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs` - GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --cflags 2>/dev/null` - GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --libs 2>/dev/null` - AC_MSG_RESULT([yes ($gpg_error_config_version)]) ifelse([$2], , :, [$2]) - gpg_error_config_host=`$GPG_ERROR_CONFIG $gpg_error_config_args --host 2>/dev/null || echo none` + gpg_error_config_host=`$PKG_CONFIG --variable=host gpg-error` if test x"$gpg_error_config_host" != xnone ; then if test x"$gpg_error_config_host" != x"$host" ; then AC_MSG_WARN([[ @@ -107,11 +47,6 @@ AC_DEFUN([AM_PATH_GPG_ERROR], fi fi else - GPG_ERROR_CFLAGS="" - GPG_ERROR_LIBS="" - GPG_ERROR_MT_CFLAGS="" - GPG_ERROR_MT_LIBS="" - AC_MSG_RESULT(no) ifelse([$3], , :, [$3]) fi AC_SUBST(GPG_ERROR_CFLAGS) diff --git a/src/gpg-error.pc.in b/src/gpg-error.pc.in new file mode 100644 index 0000000..bc0b174 --- /dev/null +++ b/src/gpg-error.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +host=@GPG_ERROR_CONFIG_HOST@ + +Name: gpg-error +Description: a library that defines common error values for all GnuPG components +Version: @VERSION@ +Libs: -L${libdir} -lgpg-error +Cflags: -I${includedir} -- 1.8.3.1