summaryrefslogtreecommitdiff
path: root/xmlsec-config.in
diff options
context:
space:
mode:
Diffstat (limited to 'xmlsec-config.in')
-rw-r--r--xmlsec-config.in243
1 files changed, 243 insertions, 0 deletions
diff --git a/xmlsec-config.in b/xmlsec-config.in
new file mode 100644
index 00000000..cb46909b
--- /dev/null
+++ b/xmlsec-config.in
@@ -0,0 +1,243 @@
+#! /bin/sh
+
+prefix="@prefix@"
+package="@PACKAGE@"
+exec_prefix="@exec_prefix@"
+exec_prefix_set=no
+package_libdir="@libdir@"
+
+usage()
+{
+ cat <<EOF
+Usage: $package-config [OPTION]...
+
+Known values for OPTION are:
+
+ --prefix=DIR change XMLSEC prefix
+ --exec-prefix=DIR change XMLSEC executable prefix
+ --libs print library linking information
+ --cflags print pre-processor and compiler flags
+ --crypto print the default crypto library name
+ --help display this help and exit
+ --version output version information
+ --crypto=LIB configure with XMLSEC crypto library (one of the
+ following: none default openssl nss gnutls gcrypt)
+EOF
+
+ exit $1
+}
+
+
+#
+# first parse command line aruments
+#
+if [ $# -eq 0 ]
+then
+ usage 1 1>&2
+fi
+
+cflags=false
+libs=false
+if [ "z@XMLSEC_NO_CRYPTO_DYNAMIC_LOADING@" = "z1" ] ;
+then
+ crypto="default"
+else
+ crypto="none"
+fi
+
+while [ $# -gt 0 ]
+do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case "$1" in
+ --crypto=*)
+ crypto=$optarg
+ ;;
+
+ --prefix=*)
+ prefix=$optarg
+ if [ $exec_prefix_set = no ]
+ then
+ exec_prefix=$optarg
+ fi
+ ;;
+
+ --prefix)
+ echo $prefix
+ ;;
+
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ exec_prefix_set=yes
+ ;;
+
+ --exec-prefix)
+ echo $exec_prefix
+ ;;
+
+ --version)
+ echo @VERSION@
+ exit 0
+ ;;
+
+ --crypto)
+ echo @XMLSEC_CRYPTO@
+ exit 0
+ ;;
+
+ --help)
+ usage 0
+ ;;
+
+ --cflags)
+ cflags=true
+ ;;
+
+ --libs)
+ libs=true
+ ;;
+
+ *)
+ usage 1
+ ;;
+ esac
+ shift
+done
+
+#
+# Get LibXML2 settings
+#
+the_xml_flags="`@LIBXML_CONFIG@ --cflags`"
+the_xml_libs="`@LIBXML_CONFIG@ --libs`"
+
+#
+# Get LibXSLT settings
+#
+the_xslt_flags=""
+the_xslt_libs=""
+if test "@XMLSEC_NO_LIBXSLT@" = "0"; then
+ the_xslt_flags="`@LIBXSLT_CONFIG@ --cflags`"
+ the_xslt_libs="`@LIBXSLT_CONFIG@ --libs`"
+fi
+
+#
+# Get crypto library settings
+#
+the_crypto_flags=""
+the_crypto_libs=""
+the_xmlsec_crypto_lib=""
+case "$crypto" in
+none)
+ # no crypto, just the core xmlsec engine (useful when more
+ # than one crypto engine i sused by application)
+ if [ "z@XMLSEC_NO_CRYPTO_DYNAMIC_LOADING@" != "z1" ] ;
+ then
+ the_crypto_flags="-DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 -DXMLSEC_CRYPTO=\\\"@XMLSEC_CRYPTO@\\\""
+ fi
+ ;;
+
+default)
+ the_crypto_flags="@XMLSEC_CRYPTO_CFLAGS@ -DXMLSEC_CRYPTO=\\\"@XMLSEC_CRYPTO@\\\""
+ the_crypto_libs="@XMLSEC_CRYPTO_LIBS@"
+ the_xmlsec_crypto_lib="-l@XMLSEC_CRYPTO_LIB@"
+ ;;
+
+openssl)
+ if test "@XMLSEC_NO_OPENSSL@" = "0"; then
+ the_crypto_flags="@OPENSSL_CFLAGS@ -DXMLSEC_CRYPTO=\\\"openssl\\\""
+ the_crypto_libs="@OPENSSL_LIBS@"
+ the_xmlsec_crypto_lib="-l@OPENSSL_CRYPTO_LIB@"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+gnutls)
+ if test "@XMLSEC_NO_GNUTLS@" = "0"; then
+ the_crypto_flags="@GNUTLS_CFLAGS@ -DXMLSEC_CRYPTO=\\\"gnutls\\\""
+ the_crypto_libs="@GNUTLS_LIBS@"
+ the_xmlsec_crypto_lib="-l@GNUTLS_CRYPTO_LIB@"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+gcrypt)
+ if test "@XMLSEC_NO_GCRYPT@" = "0"; then
+ the_crypto_flags="@GCRYPT_CFLAGS@ -DXMLSEC_CRYPTO=\\\"gcrypt\\\""
+ the_crypto_libs="@GCRYPT_LIBS@"
+ the_xmlsec_crypto_lib="-l@GCRYPT_CRYPTO_LIB@"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+nss)
+ if test "@XMLSEC_NO_NSS@" = "0"; then
+ the_crypto_flags="@NSS_CFLAGS@ -DXMLSEC_CRYPTO=\\\"nss\\\""
+ the_crypto_libs="@NSS_LIBS@"
+ the_xmlsec_crypto_lib="-l@NSS_CRYPTO_LIB@"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+*)
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ ;;
+
+esac
+
+#
+# Assemble all the settings together
+#
+the_flags="$the_flags @XMLSEC_CORE_CFLAGS@ $the_xml_flags $the_xslt_flags $the_crypto_flags"
+the_libs="$the_libs -L${package_libdir} @XMLSEC_CORE_LIBS@ $the_xmlsec_crypto_lib -lxmlsec1 $the_xml_libs $the_xslt_libs $the_crypto_libs"
+
+if $cflags; then
+ all_flags="$the_flags"
+fi
+
+if $libs; then
+ all_flags="$all_flags $services $the_libs"
+fi
+
+if test -z "$all_flags" || test "x$all_flags" = "x "; then
+ exit 1
+fi
+
+# Straight out any possible duplicates, but be careful to
+# get `-lfoo -lbar -lbaz' for `-lfoo -lbaz -lbar -lbaz'
+other_flags=
+rev_libs=
+for i in $all_flags; do
+ case "$i" in
+ # a library, save it for later, in reverse order
+ -l*) rev_libs="$i $rev_libs" ;;
+ *)
+ case " $other_flags " in
+ *\ $i\ *) ;; # already there
+ *) other_flags="$other_flags $i" ;; # add it to output
+ esac ;;
+ esac
+done
+
+ord_libs=
+for i in $rev_libs; do
+ case " $ord_libs " in
+ *\ $i\ *) ;; # already there
+ *) ord_libs="$i $ord_libs" ;; # add it to output in reverse order
+ esac
+done
+
+echo $other_flags $ord_libs
+
+exit 0