From 3e60788810f93cfcd7f08e5882aff32ed7b6f831 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Sun, 21 Aug 2016 15:49:03 +0200 Subject: [PATCH] core: New commands --lang and --have-lang for gpgme-config * 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 --- configure.ac | 2 ++ doc/gpgme.texi | 13 +++++++++++++ src/gpgme-config.in | 35 +++++++++++++++++++++++++---------- 3 files changed, 40 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index 9eb55bb1..744b52a1 100644 --- a/configure.ac +++ b/configure.ac @@ -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" | diff --git a/doc/gpgme.texi b/doc/gpgme.texi index ac0fffab..e8a735a2 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -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) diff --git a/src/gpgme-config.in b/src/gpgme-config.in index 4be1e08e..0d9fda21 100644 --- a/src/gpgme-config.in +++ b/src/gpgme-config.in @@ -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 <&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@" ;; *)