Fixed missing thread libs in output of 'yaz-config --lalibs threads'.
[yaz-moved-to-github.git] / yaz-config.in
index 70241cb..5eba756 100644 (file)
@@ -1,7 +1,149 @@
 #!/bin/sh
-# yaz-config for source tree
+# $Id: yaz-config.in,v 1.30 2007-04-18 18:46:37 adam Exp $
+yazprefix=@prefix@
+yaz_echo_cflags=no
+yaz_echo_libs=no
+yaz_echo_help=no
+yaz_echo_source=yes
+yaz_echo_lalibs=no
+yaz_echo_comp=no
+yaz_src_root=@YAZ_SRC_ROOT@
+yaz_build_root=@YAZ_BUILD_ROOT@
+PTHREAD_LIBS="@PTHREAD_LIBS@"
+PTHREAD_CFLAGS="@PTHREAD_CFLAGS@"
+
+yazextralibs="@LIBS@"
 YAZVERSION=@VERSION@
-YAZBIN="@YAZ_SRC_ROOT@/bin"
-YAZTAB="@YAZ_SRC_ROOT@/tab"
-YAZLIB="-L@YAZ_SRC_ROOT@/lib/.libs -lyaz"
-YAZINC="-I@YAZ_SRC_ROOT@/include"
+
+usage()
+{
+    cat <<EOF
+Usage: yaz-config [OPTIONS] [LIBRARIES]
+Options:
+       [--prefix[=DIR]]
+       [--version]
+       [--libs]
+       [--lalibs]
+       [--cflags]
+       [--comp]
+Libraries:
+       threads
+EOF
+       exit $1
+}
+
+while test $# -gt 0; do
+    case "$1" in
+       -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+       *) optarg= ;;
+    esac
+    
+    case $1 in
+       --prefix=*)
+           yazprefix=$optarg
+           ;;
+       --prefix)
+           echo $yazprefix
+           exit 0
+           ;;
+       --version)
+           echo $YAZVERSION
+           exit 0
+           ;;
+       --cflags)
+           yaz_echo_cflags=yes
+           ;;
+       --libs)
+           yaz_echo_libs=yes
+           ;;
+       --lalibs)
+           yaz_echo_lalibs=yes
+           ;;
+       --comp)
+           yaz_echo_comp=yes
+           ;;
+       threads)
+           lib_thread=yes
+           ;;
+       server)
+           lib_thread=yes
+           lib_server=yes
+           ;;
+       static)
+           lib_static=yes
+           ;;
+       -*)
+           yaz_echo_help=yes
+           ;;
+    esac
+    shift
+done
+
+lyaz="-lyaz"
+if test "$lib_server" = "yes"; then
+    lyaz="-lyaz_server $lyaz"
+fi
+
+YAZINC="@YAZ_CONFIG_CFLAGS@"
+
+if test "$yaz_echo_source" = "yes"; then
+    YAZBIN=${yaz_build_root}/bin
+
+    if test "$lib_static" = "yes"; then
+        YAZLIB="${yaz_build_root}/src/.libs/libyaz.a"
+        if test "$lib_server" = "yes"; then
+           YAZLIB="${yaz_build_root}/src/.libs/libyaz_server.a $YAZLIB"
+        fi
+    else
+        YAZLIB="-L${yaz_build_root}/src/.libs $lyaz"
+    fi
+    YAZLIB="$YAZLIB $yazextralibs"
+
+    YAZLALIB="${yaz_build_root}/src/libyaz.la"
+    if test "$lib_server" = "yes"; then
+       YAZLALIB="${yaz_build_root}/src/libyaz_server.la $YAZLALIB"
+    fi
+    YAZLALIB="$YAZLALIB $yazextralibs"
+
+    YAZINC="-I${yaz_src_root}/include $YAZINC"
+    YAZCOMP=${yaz_src_root}/util/yaz-asncomp
+else
+    YAZBIN=${yazprefix}/bin
+    YAZCOMP=${yazprefix}/bin/yaz-asncomp
+
+    if test "$yazprefix" != "/usr"; then
+       YAZLIB="-L$yazprefix/lib"
+    fi
+    YAZLIB="$YAZLIB $lyaz $yazextralibs"
+    YAZLALIB=$YAZLIB
+    if test "$yazprefix" != "/usr"; then
+       YAZINC="-I$yazprefix/include $YAZINC"
+    fi
+fi
+
+if test "$lib_thread" = "yes"; then
+    YAZINC="$PTHREAD_CFLAGS $YAZINC"
+    YAZLIB="$YAZLIB $PTHREAD_LIBS"
+    YAZLALIB="$YAZLALIB $PTHREAD_LIBS"
+fi
+
+if test "$yaz_echo_help" = "yes"; then
+    usage 1 1>&2
+fi
+if test "$yaz_echo_cflags" = "yes"; then
+    echo $YAZINC
+fi
+if test "$yaz_echo_libs" = "yes"; then
+    echo $YAZLIB
+fi
+if test "$yaz_echo_lalibs" = "yes"; then
+    echo $YAZLALIB
+fi
+if test "$yaz_echo_comp" = "yes"; then
+    echo $YAZCOMP
+fi
+# Local Variables:
+# mode:shell-script
+# sh-indentation: 2
+# sh-basic-offset: 4
+# End: