aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpgme-config.in
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2011-04-06 18:10:45 +0000
committerWerner Koch <[email protected]>2011-04-06 18:10:45 +0000
commitcdefec02b385dcf3302e47d380812c3450e8713c (patch)
tree1cec16358abecbea533e05f27324174d59a6c39f /src/gpgme-config.in
parentUpdate gpg-error.m4 (diff)
downloadgpgme-cdefec02b385dcf3302e47d380812c3450e8713c.tar.gz
gpgme-cdefec02b385dcf3302e47d380812c3450e8713c.zip
gpgme-config cleanups and --host option
gpgme-config.in: Add option --host. Change options --cflags and --libs to collapse duplicate include and lib dirs. Try to put extra libs at the end. Note that gpgme.m4 has not yet been extended.
Diffstat (limited to 'src/gpgme-config.in')
-rw-r--r--src/gpgme-config.in96
1 files changed, 64 insertions, 32 deletions
diff --git a/src/gpgme-config.in b/src/gpgme-config.in
index 33ab456a..db8c7ef0 100644
--- a/src/gpgme-config.in
+++ b/src/gpgme-config.in
@@ -11,14 +11,16 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
-includedir=@includedir@
-libdir=@libdir@
# 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@"
@@ -55,6 +57,7 @@ Options:
[--exec-prefix]
[--version]
[--api-version]
+ [--host]
[--libs]
[--cflags]
[--get-gpg]
@@ -101,46 +104,75 @@ while test $# -gt 0; do
echo "@GPGME_CONFIG_API_VERSION@"
exit 0
;;
+ --host)
+ echo "@GPGME_CONFIG_HOST@"
+ exit 0
+ ;;
--cflags)
- if test "x$includedir" != "x/usr/include" -a "x$includedir" != "x/include"; then
- output="$output -I$includedir"
- fi
+ result=
+ tmp_c=
+ tmp_g=
case "$thread_module" in
- pthread)
- output="$output $cflags_pthread"
- ;;
- pth)
- output="$output $cflags_pth"
- ;;
+ pthread) tmp_c="$cflags_pthread" ;;
+ pth) tmp_c="$cflags_pth" ;;
esac
- output="$output $assuan_cflags $gpg_error_cflags"
- if test "x$with_glib" = "xyes"; then
- output="$output $glib_cflags"
- fi
- ;;
+ 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)
- if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/lib"; then
- output="$output -L$libdir"
- fi
+ result=
+ tmp_x=
case "$thread_module" in
- pthread)
- output="$output -lgpgme-pthread $libs_pthread"
- ;;
- pth)
- output="$output -lgpgme-pth $libs_pth"
- ;;
+ pthread) tmp_l="-lgpgme-pthread"; tmp_x="$libs_pthread" ;;
+ pth) tmp_l="-lgpgme-pth"; tmp_x="$libs_pth" ;;
*)
- if test "x$with_glib" = "xyes"; then
- output="$output -lgpgme-glib"
+ if test "x$with_glib" = "xyes" ; then
+ tmp_l="-lgpgme-glib"
+ tmp_x="$libs_glib"
else
- output="$output -lgpgme"
+ tmp_l="-lgpgme"
fi
;;
esac
- output="$output $assuan_libs $gpg_error_libs"
- if test "x$with_glib" = "xyes"; then
- output="$output $glib_cflags"
- fi
+ 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