forked from openkylin/xmlsec1
282 lines
5.5 KiB
Bash
282 lines
5.5 KiB
Bash
#! /bin/sh
|
|
|
|
prefix="@prefix@"
|
|
package="@PACKAGE@"
|
|
exec_prefix="@exec_prefix@"
|
|
exec_prefix_set=no
|
|
libdir="@libdir@"
|
|
|
|
usage()
|
|
{
|
|
cat <<EOF
|
|
Usage: $package-config [OPTION]...
|
|
|
|
Known values for OPTION are:
|
|
|
|
--cflags print pre-processor and compiler flags
|
|
--libs print library linking information
|
|
--prefix print the default XMLSEC prefix folder
|
|
--exec-prefix print the default XMLSEC executable prefix folder
|
|
--libdir print the default XMLSEC libraries folder
|
|
--crypto print the default crypto library name
|
|
--prefix=DIR change XMLSEC prefix folder
|
|
--exec-prefix=DIR change XMLSEC executable prefix folder
|
|
--libdir=DIR change XMLSEC libraries folder
|
|
--crypto=LIB configure with XMLSEC crypto library (one of the
|
|
following: none default openssl nss gnutls gcrypt)
|
|
--help display this help and exit
|
|
--version output version information
|
|
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
|
|
;;
|
|
|
|
--libdir=*)
|
|
libdir=$optarg
|
|
;;
|
|
|
|
--libdir)
|
|
echo $libdir
|
|
;;
|
|
|
|
--version)
|
|
echo @VERSION@
|
|
exit 0
|
|
;;
|
|
|
|
--crypto)
|
|
echo @XMLSEC_DEFAULT_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"
|
|
fi
|
|
;;
|
|
|
|
default)
|
|
the_crypto_flags="@XMLSEC_CRYPTO_CFLAGS@"
|
|
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@"
|
|
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@"
|
|
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@L"
|
|
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@"
|
|
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${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
|
|
;;
|
|
*)
|
|
# 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
|