From f3e60521899e6126229b6efedc9f011b84122e11 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Mon, 12 Nov 2018 09:03:49 +0900 Subject: [PATCH] build: Provide gpgme.pc, generated by configure. * configure.ac: Generate src/gpgme.pc. * src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New. (EXTRA_DIST): Add gpgme.pc.in. * src/gpgme.pc.in: New. * src/gpgme-config.in: Use variables. -- Some usages of gpgme-config is not compatible to pkg-config style; The --glib option and --thread option which affect the output by --cflags or --libs are not supported by gpgme.pc. gpgme-config's embedding information for gpg-error and libassuan at the build time of gpgme is considered inflexible than pkg-config style. It is now handled by dependency of gpgme.pc (Requires field). To use gpgme.pc, newer libgpg-error (>= 1.33) and libassuan (>= 2.5.3) are required, which provide gpg-error.pc and libassuan.pc respectively. Signed-off-by: NIIBE Yutaka --- configure.ac | 1 + src/Makefile.am | 5 ++++- src/gpgme-config.in | 13 ++++++++----- src/gpgme.pc.in | 15 +++++++++++++++ 4 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 src/gpgme.pc.in diff --git a/configure.ac b/configure.ac index 688a4b38..faa5261e 100644 --- a/configure.ac +++ b/configure.ac @@ -855,6 +855,7 @@ AC_CONFIG_FILES(Makefile src/Makefile tests/opassuan/Makefile doc/Makefile src/versioninfo.rc + src/gpgme.pc src/gpgme.h) AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config) AC_CONFIG_FILES(lang/cpp/Makefile lang/cpp/src/Makefile) diff --git a/src/Makefile.am b/src/Makefile.am index 276d9767..e6148fcd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -18,8 +18,11 @@ ## Process this file with automake to produce Makefile.in +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = gpgme.pc + EXTRA_DIST = gpgme-config.in gpgme.m4 libgpgme.vers ChangeLog-2011 \ - gpgme.h.in versioninfo.rc.in gpgme.def + gpgme.h.in versioninfo.rc.in gpgme.def gpgme.pc.in bin_SCRIPTS = gpgme-config m4datadir = $(datadir)/aclocal diff --git a/src/gpgme-config.in b/src/gpgme-config.in index a4d152e1..56b98f88 100644 --- a/src/gpgme-config.in +++ b/src/gpgme-config.in @@ -9,8 +9,11 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -prefix=@prefix@ -exec_prefix=@exec_prefix@ +prefix="@prefix@" +exec_prefix="@exec_prefix@" +version="@PACKAGE_VERSION@" +api_version="@GPGME_CONFIG_API_VERSION@" +my_host="@GPGME_CONFIG_HOST@" # Make sure that no weird locale setting messes up our sed regexps etc. LC_COLLATE=C @@ -96,15 +99,15 @@ while test $# -gt 0; do with_glib=yes ;; --version) - echo "@VERSION@" + echo "$version" exit 0 ;; --api-version) - echo "@GPGME_CONFIG_API_VERSION@" + echo "$api_version" exit 0 ;; --host) - echo "@GPGME_CONFIG_HOST@" + echo "$my_host" exit 0 ;; --cflags) diff --git a/src/gpgme.pc.in b/src/gpgme.pc.in new file mode 100644 index 00000000..35d85647 --- /dev/null +++ b/src/gpgme.pc.in @@ -0,0 +1,15 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +includedir=@includedir@ +libdir=@libdir@ +host=@GPGME_CONFIG_HOST@ +api_version=@GPGME_CONFIG_API_VERSION@ +avail_lang=c @GPGME_CONFIG_AVAIL_LANG@ + +Name: gpgme +Description: GnuPG Made Easy to access GnuPG +Requires: gpg-error, libassuan +Version: @PACKAGE_VERSION@ +Cflags: @GPGME_CONFIG_CFLAGS@ +Libs: @GPGME_CONFIG_LIBS@ +URL: https://www.gnupg.org/software/gpgme/index.html