From ec309e20b5a27d42a5fb915c328d61e924ab5f19 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
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 <hongxu.jia@windriver.com>
---
 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

