aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/gpgme-config.in96
2 files changed, 68 insertions, 32 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 07b62bdb..cf5a5efd 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2011-04-06 Werner Koch <[email protected]>
+ * 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.
+
* gpgme.h.in: Use INSERT__TYPEDEFS_FOR_GPGME_H to include platform
specific typedefs.
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