build: Provide gpgme.pc, generated by configure.
authorNIIBE Yutaka <gniibe@fsij.org>
Mon, 12 Nov 2018 00:03:49 +0000 (09:03 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Mon, 12 Nov 2018 00:03:49 +0000 (09:03 +0900)
* 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 <gniibe@fsij.org>
configure.ac
src/Makefile.am
src/gpgme-config.in
src/gpgme.pc.in [new file with mode: 0644]

index 688a4b3..faa5261 100644 (file)
@@ -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)
index 276d976..e6148fc 100644 (file)
 
 ## 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
index a4d152e..56b98f8 100644 (file)
@@ -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 (file)
index 0000000..35d8564
--- /dev/null
@@ -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