2005-04-14 Marcus Brinkmann <marcus@g10code.de>
[gpgme.git] / gpgme / gpgme-config.in
index fb7a6d7..81e599d 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/sh
-#    Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+# 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
 # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
-PGM=gpgme-config
-libs="@GPGME_CONFIG_LIBS@"
-cflags="@GPGME_CONFIG_CFLAGS@"
 prefix=@prefix@
 exec_prefix=@exec_prefix@
-includes=""
-libdirs=""
-exec_prefix_set=no
-echo_libs=no
-echo_cflags=no
-echo_prefix=no
-echo_exec_prefix=no
+includedir=@includedir@
+libdir=@libdir@
 
-gpg_error_cflags=@GPG_ERROR_CFLAGS@
-gpg_error_libs=@GPG_ERROR_LIBS@
+# Configure libgpg-error.
+gpg_error_cflags="@GPG_ERROR_CFLAGS@"
+gpg_error_libs="@GPG_ERROR_LIBS@"
 
+# Configure thread packages.
+thread_modules=""
+
+@HAVE_PTH_TRUE@thread_modules="$thread_modules pth"
+libs_pth="@PTH_LDFLAGS@ @PTH_LIBS@"
+cflags_pth="@PTH_CFLAGS@"
+
+@HAVE_PTHREAD_TRUE@thread_modules="$thread_modules pthread"
+libs_pthread="-lpthread"
+cflags_pthread=""
+
+output=""
 
 usage()
 {
-       cat <<EOF
-Usage: $PGM [OPTIONS]
+    cat <<EOF
+Usage: gpgme-config [OPTIONS]
 Options:
-       [--prefix[=DIR]]
-       [--exec-prefix[=DIR]]
+       [--thread={${thread_modules}}]
+       [--prefix]
+       [--exec-prefix]
        [--version]
+        [--api-version]
        [--libs]
        [--cflags]
 EOF
-       exit $1
+    exit $1
 }
 
 if test $# -eq 0; then
-       usage 1 1>&2
+    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
+       -*=*)
+           optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
+           ;;
+       *)
+           optarg=
+           ;;
+    esac
 
-  case $1 in
-    --prefix=*)
-      prefix=$optarg
-      if test $exec_prefix_set = no ; then
-       exec_prefix=$optarg
-      fi
-      ;;
-    --prefix)
-      echo_prefix=yes
-      ;;
-    --exec-prefix=*)
-      exec_prefix=$optarg
-      exec_prefix_set=yes
-      ;;
-    --exec-prefix)
-      echo_exec_prefix=yes
-      ;;
-    --version)
-      echo "@VERSION@"
-      exit 0
-      ;;
-    --cflags)
-      echo_cflags=yes
-      ;;
-    --libs)
-      echo_libs=yes
-      ;;
-    *)
-      usage 1 1>&2
-      ;;
-  esac
-  shift
+    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"
+           ;;
+        --version)
+            echo "@VERSION@"
+           exit 0
+           ;;
+        --api-version)
+           echo "@GPGME_CONFIG_API_VERSION@"
+           exit 0
+           ;;
+        --cflags)
+           if test "x$includedir" != "x/usr/include" -a "x$includedir" != "x/include"; then
+               output="$output -I$includedir"
+           fi
+           case "$thread_module" in
+               pthread)
+                   output="$output $cflags_pthread"
+                   ;;
+               pth)
+                   output="$output $cflags_pth"
+                   ;;
+           esac
+           output="$output $gpg_error_cflags"
+           ;;
+       --libs)
+           if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/lib"; then
+               output="$output -L$libdir"
+           fi
+           case "$thread_module" in
+               pthread)
+                   output="$output -lgpgme-pthread $libs_pthread"
+                   ;;
+               pth)
+                   output="$output -lgpgme-pth $libs_pth"
+                   ;;
+               *)
+                   output="$output -lgpgme"
+           esac
+           output="$output $gpg_error_libs"
+           ;;
+       --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
+           ;;
+       *)
+            usage 1 1>&2
+           ;;
+    esac
+    shift
 done
 
-if test "$echo_prefix" = "yes"; then
-    echo $prefix
-fi
-
-if test "$echo_exec_prefix" = "yes"; then
-    echo $exec_prefix
-fi
-
-if test "$echo_cflags" = "yes"; then
-    if test "@includedir@" != "/usr/include" ; then
-      includes="-I@includedir@"
-      for i in $cflags ; do
-       if test "$i" = "-I@includedir@" ; then
-         includes=""
-       fi
-      done
-    fi
-    echo $gpg_error_cflags $includes $cflags
-fi
-
-if test "$echo_libs" = "yes"; then
-    if test "@libdir@" != "/usr/lib" ; then
-      libdirs="-L@libdir@"
-      for i in $libs ; do
-       if test "$i" = "-L@libdir@" ; then
-         libdirs=""
-       fi
-      done
-    fi
-    echo $gpg_error_libs $libdirs $libs
-fi
-
+echo $output