summaryrefslogtreecommitdiff
path: root/xmlsec1-config
diff options
context:
space:
mode:
Diffstat (limited to 'xmlsec1-config')
-rw-r--r--xmlsec1-config243
1 files changed, 243 insertions, 0 deletions
diff --git a/xmlsec1-config b/xmlsec1-config
new file mode 100644
index 00000000..ed59ce8c
--- /dev/null
+++ b/xmlsec1-config
@@ -0,0 +1,243 @@
+#! /bin/sh
+
+prefix="/usr"
+package="xmlsec1"
+exec_prefix="${prefix}"
+exec_prefix_set=no
+package_libdir="${exec_prefix}/lib"
+
+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 [ "z0" = "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 1.2.18
+ exit 0
+ ;;
+
+ --crypto)
+ echo openssl
+ exit 0
+ ;;
+
+ --help)
+ usage 0
+ ;;
+
+ --cflags)
+ cflags=true
+ ;;
+
+ --libs)
+ libs=true
+ ;;
+
+ *)
+ usage 1
+ ;;
+ esac
+ shift
+done
+
+#
+# Get LibXML2 settings
+#
+the_xml_flags="`xml2-config --cflags`"
+the_xml_libs="`xml2-config --libs`"
+
+#
+# Get LibXSLT settings
+#
+the_xslt_flags=""
+the_xslt_libs=""
+if test "0" = "0"; then
+ the_xslt_flags="`xslt-config --cflags`"
+ the_xslt_libs="`xslt-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 [ "z0" != "z1" ] ;
+ then
+ the_crypto_flags="-DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 -DXMLSEC_CRYPTO=\\\"openssl\\\""
+ fi
+ ;;
+
+default)
+ the_crypto_flags=" -DXMLSEC_OPENSSL_098=1 -DXMLSEC_CRYPTO_OPENSSL=1 -DXMLSEC_CRYPTO=\\\"openssl\\\""
+ the_crypto_libs="-lssl -lcrypto "
+ the_xmlsec_crypto_lib="-lxmlsec1-openssl"
+ ;;
+
+openssl)
+ if test "0" = "0"; then
+ the_crypto_flags=" -DXMLSEC_OPENSSL_098=1 -DXMLSEC_CRYPTO_OPENSSL=1 -DXMLSEC_CRYPTO=\\\"openssl\\\""
+ the_crypto_libs="-lssl -lcrypto "
+ the_xmlsec_crypto_lib="-lxmlsec1-openssl"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+gnutls)
+ if test "0" = "0"; then
+ the_crypto_flags=" -DXMLSEC_CRYPTO_GNUTLS=1 -DXMLSEC_CRYPTO=\\\"gnutls\\\""
+ the_crypto_libs="-lgnutls "
+ the_xmlsec_crypto_lib="-lxmlsec1-gnutls"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+gcrypt)
+ if test "0" = "0"; then
+ the_crypto_flags=" -DXMLSEC_CRYPTO_GCRYPT=1 -DXMLSEC_CRYPTO=\\\"gcrypt\\\""
+ the_crypto_libs=" -lgcrypt"
+ the_xmlsec_crypto_lib="-lxmlsec1-gcrypt"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+nss)
+ if test "0" = "0"; then
+ the_crypto_flags="-I/usr/include/nspr -I/usr/include/nss -DXMLSEC_CRYPTO_NSS=1 -DXMLSEC_CRYPTO=\\\"nss\\\""
+ the_crypto_libs="-lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl "
+ the_xmlsec_crypto_lib="-lxmlsec1-nss"
+ 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 -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_XKMS=1 -DXMLSEC_DL_LIBLTDL=1, -I${prefix}/include/xmlsec1 $the_xml_flags $the_xslt_flags $the_crypto_flags"
+the_libs="$the_libs -L${package_libdir} -lxmlsec1 -lltdl $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