core: New commands --lang and --have-lang for gpgme-config
authorWerner Koch <wk@gnupg.org>
Sun, 21 Aug 2016 13:49:03 +0000 (15:49 +0200)
committerWerner Koch <wk@gnupg.org>
Sun, 21 Aug 2016 13:49:03 +0000 (15:49 +0200)
* configure.ac (GPGME_CONFIG_AVAIL_LANG): New ac_subst.
* src/gpgme-config.in (avail_lang): Add commands --lang and
--have-lang.

Signed-off-by: Werner Koch <wk@gnupg.org>
configure.ac
doc/gpgme.texi
src/gpgme-config.in

index 9eb55bb..744b52a 100644 (file)
@@ -717,10 +717,12 @@ AH_BOTTOM([
 GPGME_CONFIG_LIBS="-lgpgme"
 GPGME_CONFIG_CFLAGS=""
 GPGME_CONFIG_HOST="$host"
+GPGME_CONFIG_AVAIL_LANG="$enabled_languages"
 AC_SUBST(GPGME_CONFIG_API_VERSION)
 AC_SUBST(GPGME_CONFIG_LIBS)
 AC_SUBST(GPGME_CONFIG_CFLAGS)
 AC_SUBST(GPGME_CONFIG_HOST)
+AC_SUBST(GPGME_CONFIG_AVAIL_LANG)
 
 # Frob'da Variables
 LTLIBOBJS=`echo "$LIB@&t@OBJS" |
index ac0fffa..e8a735a 100644 (file)
@@ -450,6 +450,19 @@ any other option to select the thread package you want to link with.
 Supported thread packages are @option{--thread=pth} and
 @option{--thread=pthread}.
 
+If you need to detect the installed language bindings you can use list
+them using:
+
+@example
+gpgme-config --print-lang
+@end example
+
+or test for the availability using
+
+@example
+gpgme-config --have-lang=python && echo 'Bindings for Pythons available'
+@end example
+
 
 @node Largefile Support (LFS)
 @section Largefile Support (LFS)
index 4be1e08..0d9fda2 100644 (file)
@@ -36,6 +36,8 @@ thread_modules=""
 libs_pthread="-lpthread"
 cflags_pthread=""
 
+avail_lang='c @GPGME_CONFIG_AVAIL_LANG@'
+
 # Configure glib.
 libs_glib="@GLIB_LIBS@"
 cflags_glib="@GLIB_CFLAGS@"
@@ -48,16 +50,16 @@ usage()
     cat <<EOF
 Usage: gpgme-config [OPTIONS]
 Options:
-       [--thread={${thread_modules}}]
-       [--prefix]
-       [--exec-prefix]
-       [--version]
-        [--api-version]
-        [--host]
-       [--libs]
-       [--cflags]
-        [--get-gpg]
-        [--get-gpgsm]
+       --thread={${thread_modules}}]
+       --prefix
+       --exec-prefix
+       --version
+        --api-version
+        --host
+       --libs
+       --cflags
+        --print-lang           Print available language bindings
+        --have-lang=LANG       Return success if LANG is available
 EOF
     exit $1
 }
@@ -178,10 +180,23 @@ while test $# -gt 0; do
                usage 1 1>&2
            fi
            ;;
+       --print-lang)
+            output="$avail_lang"
+           ;;
+       --have-lang=*)
+            for lang in $avail_lang; do
+                if test x"$lang" = x"$optarg"; then
+                    exit 0
+                fi
+            done
+            exit 1
+           ;;
         --get-gpg)
+            # Deprecated
             output="$output @GPG@"
             ;;
         --get-gpgsm)
+            # Deprecated
             output="$output @GPGSM@"
             ;;
        *)