gpgme/src/gpgme-config.in
NIIBE Yutaka f3e6052189 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 <gniibe@fsij.org>
2018-11-12 09:03:49 +09:00

215 lines
4.9 KiB
Bash

#!/bin/sh
# Copyright (C) 1999, 2002, 2003 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This file is distributed in the hope that it will be useful, but
# 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@"
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
LC_ALL=C
LANG=C
# GPGME's own cflags and libs
cflags="-I@includedir@"
libs="-L@libdir@"
# Network libraries.
assuan_cflags="@LIBASSUAN_CFLAGS@"
assuan_libs="@LIBASSUAN_LIBS@"
# Configure libgpg-error.
gpg_error_cflags="@GPG_ERROR_CFLAGS@"
gpg_error_libs="@GPG_ERROR_LIBS@"
# Configure thread packages.
thread_modules=""
# For compatibility we keep proving the
# thread modules variable.
thread_modules="$thread_modules pthread"
libs_pthread="-lpthread"
cflags_pthread=""
avail_lang='c @GPGME_CONFIG_AVAIL_LANG@'
# Configure glib.
libs_glib="@GLIB_LIBS@"
cflags_glib="@GLIB_CFLAGS@"
with_glib=
output=""
usage()
{
cat <<EOF
Usage: gpgme-config [OPTIONS]
Options:
--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
}
if test $# -eq 0; then
usage 1 1>&2
fi
while test $# -gt 0; do
case "$1" in
-*=*)
optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
;;
*)
optarg=
;;
esac
case $1 in
--prefix=*)
# For compatibility reasons with old M4 macros, we ignore
# setting of prefix.
;;
--prefix)
output="$output $prefix"
;;
--exec-prefix=*)
;;
--exec-prefix)
output="$output $exec_prefix"
;;
--glib)
with_glib=yes
;;
--version)
echo "$version"
exit 0
;;
--api-version)
echo "$api_version"
exit 0
;;
--host)
echo "$my_host"
exit 0
;;
--cflags)
result=
tmp_c=
tmp_g=
case "$thread_module" in
pthread) tmp_c="$cflags_pthread" ;;
esac
test "x$with_glib" = "xyes" && tmp_g="$cflags_glib"
for i in $cflags $tmp_c $assuan_cflags $gpg_error_cflags $tmp_g ; do
skip=no
case $i in
-I/usr/include|-I/include)
skip=yes
;;
-I*)
for j in $result ; do
if test x"$j" = x"$i" ; then
skip=yes
break;
fi
done
;;
esac
if test $skip = no ; then
result="$result $i"
fi
done
output="$output $result"
;;
--libs)
result=
tmp_x=
case "$thread_module" in
# deprecated
pthread) tmp_l="-lgpgme" ;;
*)
if test "x$with_glib" = "xyes" ; then
tmp_l="-lgpgme-glib"
tmp_x="$libs_glib"
else
tmp_l="-lgpgme"
fi
;;
esac
for i in $libs $tmp_l $assuan_libs $gpg_error_libs $tmp_x; do
skip=no
case $i in
-L/usr/lib|-L/lib)
skip=yes
;;
-L*|-l*)
for j in $result ; do
if test x"$j" = x"$i" ; then
skip=yes
break;
fi
done
;;
esac
if test $skip = no ; then
result="$result $i"
fi
done
output="$output $result"
;;
--thread=*)
for thread_mod in $thread_modules; do
if test "$thread_mod" = "$optarg"; then
thread_module="$optarg";
fi
done
if test "x$thread_module" = "x"; then
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@"
;;
*)
usage 1 1>&2
;;
esac
shift
done
echo $output