#! /bin/sh prefix="/usr" package="xmlsec1" exec_prefix="${prefix}" exec_prefix_set=no libdir="${exec_prefix}/lib" usage() { cat <&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 ;; --libdir=*) libdir=$optarg ;; --libdir) echo $libdir ;; --version) echo 1.2.22 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" fi ;; default) the_crypto_flags=" -DXMLSEC_OPENSSL_100=1 -DXMLSEC_CRYPTO_OPENSSL=1" the_crypto_libs="-lssl -lcrypto " the_xmlsec_crypto_lib="-lxmlsec1-openssl" ;; openssl) if test "0" = "0" ; then the_crypto_flags=" -DXMLSEC_OPENSSL_100=1 -DXMLSEC_CRYPTO_OPENSSL=1" 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="-I/usr/include/p11-kit-1 -DXMLSEC_CRYPTO_GNUTLS=1" 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=1L" 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 -I/usr/include/nspr -DXMLSEC_CRYPTO_NSS=1" the_crypto_libs="-lplds4 -lplc4 -lnspr4 -lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4 " 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__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1 $the_xml_flags $the_xslt_flags $the_crypto_flags" the_libs="$the_libs -L${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 ;; *) # add it to output other_flags="$other_flags $i" ;; esac ;; esac done ord_libs= for i in $rev_libs; do case " $ord_libs " in *\ $i\ *) # already there ;; *) # add it to output in reverse order ord_libs="$i $ord_libs" ;; esac done echo $other_flags $ord_libs exit 0