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 <wk@gnupg.org>
This commit is contained in:
Werner Koch 2016-08-21 15:49:03 +02:00
parent 30f156280f
commit 3e60788810
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
3 changed files with 40 additions and 10 deletions

View 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" |

View 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)

View 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@"
;;
*)