mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-08-05 23:35:48 +03:00
745 lines
20 KiB
Plaintext
745 lines
20 KiB
Plaintext
dnl Process this file with autoconf to produce a configuration script.
|
|
AC_PREREQ(2.63)
|
|
|
|
m4_define([MAJOR_VERSION], [1])
|
|
m4_define([MINOR_VERSION], [1])
|
|
m4_define([MICRO_VERSION], [35])
|
|
|
|
AC_INIT([libxslt], [MAJOR_VERSION.MINOR_VERSION.MICRO_VERSION])
|
|
AC_CONFIG_SRCDIR([libxslt/xslt.c])
|
|
AC_CONFIG_HEADERS(config.h)
|
|
AC_CANONICAL_HOST
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
dnl
|
|
dnl libxslt is the main part of the package
|
|
dnl libexslt is an extension
|
|
dnl
|
|
LIBXSLT_MAJOR_VERSION=MAJOR_VERSION
|
|
LIBXSLT_MINOR_VERSION=MINOR_VERSION
|
|
LIBXSLT_MICRO_VERSION=MICRO_VERSION
|
|
LIBEXSLT_MAJOR_VERSION=0
|
|
LIBEXSLT_MINOR_VERSION=8
|
|
LIBEXSLT_MICRO_VERSION=20
|
|
LIBXML_REQUIRED_VERSION=2.6.27
|
|
|
|
|
|
LIBXSLT_VERSION=$LIBXSLT_MAJOR_VERSION.$LIBXSLT_MINOR_VERSION.$LIBXSLT_MICRO_VERSION
|
|
LIBXSLT_VERSION_INFO=`expr $LIBXSLT_MAJOR_VERSION + $LIBXSLT_MINOR_VERSION`:$LIBXSLT_MICRO_VERSION:$LIBXSLT_MINOR_VERSION
|
|
|
|
LIBXSLT_VERSION_NUMBER=`expr $LIBXSLT_MAJOR_VERSION \* 10000 + $LIBXSLT_MINOR_VERSION \* 100 + $LIBXSLT_MICRO_VERSION`
|
|
LIBXSLT_MAJOR_MINOR_VERSION=$LIBXSLT_MAJOR_VERSION.$LIBXSLT_MINOR_VERSION
|
|
|
|
if test -d .git ; then
|
|
extra=`git describe | sed 's+LIBXSLT[[0-9.]]*-++'`
|
|
echo extra=$extra
|
|
if test "$extra" != ""
|
|
then
|
|
LIBXSLT_VERSION_EXTRA="-GIT$extra"
|
|
LIBEXSLT_VERSION_EXTRA="-GIT$extra"
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(LIBXSLT_MAJOR_VERSION)
|
|
AC_SUBST(LIBXSLT_MINOR_VERSION)
|
|
AC_SUBST(LIBXSLT_MICRO_VERSION)
|
|
AC_SUBST(LIBXSLT_VERSION)
|
|
AC_SUBST(LIBXSLT_VERSION_INFO)
|
|
AC_SUBST(LIBXSLT_VERSION_NUMBER)
|
|
AC_SUBST(LIBXSLT_VERSION_EXTRA)
|
|
AC_SUBST(LIBXSLT_MAJOR_MINOR_VERSION)
|
|
|
|
dnl
|
|
dnl libexslt is an extension library
|
|
dnl
|
|
|
|
LIBEXSLT_VERSION=$LIBEXSLT_MAJOR_VERSION.$LIBEXSLT_MINOR_VERSION.$LIBEXSLT_MICRO_VERSION
|
|
LIBEXSLT_VERSION_INFO=`expr $LIBEXSLT_MAJOR_VERSION + $LIBEXSLT_MINOR_VERSION`:$LIBEXSLT_MICRO_VERSION:$LIBEXSLT_MINOR_VERSION
|
|
|
|
LIBEXSLT_VERSION_NUMBER=`expr $LIBEXSLT_MAJOR_VERSION \* 10000 + $LIBEXSLT_MINOR_VERSION \* 100 + $LIBEXSLT_MICRO_VERSION`
|
|
|
|
AC_SUBST(LIBEXSLT_MAJOR_VERSION)
|
|
AC_SUBST(LIBEXSLT_MINOR_VERSION)
|
|
AC_SUBST(LIBEXSLT_MICRO_VERSION)
|
|
AC_SUBST(LIBEXSLT_VERSION)
|
|
AC_SUBST(LIBEXSLT_VERSION_INFO)
|
|
AC_SUBST(LIBEXSLT_VERSION_NUMBER)
|
|
AC_SUBST(LIBEXSLT_VERSION_EXTRA)
|
|
|
|
AM_INIT_AUTOMAKE([foreign])
|
|
|
|
# AM_MAINTAINER_MODE
|
|
|
|
# Support silent build rules, requires at least automake-1.11. Disable
|
|
# by either passing --disable-silent-rules to configure or passing V=1
|
|
# to make
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
|
|
dnl
|
|
dnl Specific dir for HTML output ?
|
|
dnl
|
|
|
|
AC_ARG_WITH(html-dir, AS_HELP_STRING([--with-html-dir=path],
|
|
[path to base html directory, default $datadir/doc/html]),
|
|
[HTML_DIR=$withval], [HTML_DIR='$(datadir)/doc'])
|
|
|
|
AC_ARG_WITH(html-subdir, AS_HELP_STRING([--with-html-subdir=path],
|
|
[directory used under html-dir, default $PACKAGE-$VERSION/html]),
|
|
[test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"],
|
|
[HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
|
|
|
|
AC_SUBST(HTML_DIR)
|
|
|
|
AC_ARG_ENABLE(rebuild-docs,
|
|
[ --enable-rebuild-docs[[=yes/no]] rebuild some generated docs [[default=no]]])
|
|
if test "$enable_rebuild_docs" = "yes" -a "$srcdir" != "."; then
|
|
AC_MSG_ERROR([cannot rebuild docs when builddir != srcdir])
|
|
fi
|
|
AM_CONDITIONAL([REBUILD_DOCS], [test "$enable_rebuild_docs" = "yes"])
|
|
|
|
dnl
|
|
dnl Check the environment
|
|
dnl
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_INSTALL
|
|
AC_PROG_CPP
|
|
AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint)
|
|
AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
AC_HEADER_STDC
|
|
|
|
LT_INIT(win32-dll)
|
|
|
|
|
|
AC_CHECK_HEADERS(sys/types.h sys/time.h stdlib.h unistd.h string.h)
|
|
|
|
dnl
|
|
dnl if the system support linker version scripts for symbol versioning
|
|
dnl then add it
|
|
dnl
|
|
AC_MSG_CHECKING([how to pass version script to the linker ($LD)])
|
|
VERSION_SCRIPT_FLAGS=none
|
|
if $LD --help 2>&1 | grep "version-script" >/dev/null 2>/dev/null; then
|
|
VERSION_SCRIPT_FLAGS=-Wl,--version-script=
|
|
elif $LD --help 2>&1 | grep "M mapfile" >/dev/null 2>/dev/null; then
|
|
VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
|
|
fi
|
|
AC_MSG_RESULT([$VERSION_SCRIPT_FLAGS])
|
|
AC_SUBST(VERSION_SCRIPT_FLAGS)
|
|
AM_CONDITIONAL([USE_VERSION_SCRIPT], [test "$VERSION_SCRIPT_FLAGS" != none])
|
|
|
|
dnl Look for pthread.h, needed for testThreads
|
|
case $host in
|
|
*-mingw*) ;;
|
|
*)
|
|
WITH_THREADS=0
|
|
THREAD_LIBS=""
|
|
AC_CHECK_HEADER(pthread.h,
|
|
AC_CHECK_LIB(pthread, pthread_join,[
|
|
AC_DEFINE([HAVE_LIBPTHREAD], [], [Define if pthread library is there (-lpthread)])
|
|
AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there])
|
|
WITH_THREADS="1"
|
|
THREAD_LIBS="-lpthread"]))
|
|
;;
|
|
esac
|
|
|
|
AC_SUBST(WITH_THREADS)
|
|
AC_SUBST(THREAD_LIBS)
|
|
|
|
dnl
|
|
dnl Detect supported locale
|
|
dnl
|
|
|
|
AC_CHECK_HEADERS([locale.h xlocale.h])
|
|
AC_CHECK_FUNCS([strxfrm_l])
|
|
|
|
dnl
|
|
dnl Math detection
|
|
dnl
|
|
|
|
AC_CHECK_HEADERS(ieeefp.h nan.h math.h fp_class.h float.h)
|
|
AC_CHECK_HEADERS(sys/timeb.h time.h sys/stat.h sys/select.h stdarg.h)
|
|
AC_CHECK_HEADERS(errno.h)
|
|
AC_CHECK_FUNCS(stat _stat)
|
|
AC_CHECK_FUNC(pow, , AC_CHECK_LIB(m, pow,
|
|
[M_LIBS="-lm"; AC_DEFINE([HAVE_POW],[], [Define if pow is there])]))
|
|
|
|
AC_CHECK_FUNC(floor, , AC_CHECK_LIB(m, floor,
|
|
[M_LIBS="-lm"; AC_DEFINE([HAVE_FLOOR],[], [Define if floor is there])]))
|
|
|
|
AC_CHECK_FUNC(fabs, , AC_CHECK_LIB(m, fabs,
|
|
[M_LIBS="-lm"; AC_DEFINE([HAVE_FABS],[], [Define if fabs is there])]))
|
|
|
|
|
|
AC_CHECK_FUNCS(gettimeofday)
|
|
AC_CHECK_FUNCS(localtime localtime_r time gmtime gmtime_r ftime)
|
|
|
|
dnl Checking the standard string functions availability
|
|
AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
|
|
NEED_TRIO=1)
|
|
|
|
dnl Checking for POSIX timers
|
|
AC_CHECK_FUNCS(clock_gettime, [], [
|
|
AC_CHECK_LIB(rt, clock_gettime, [
|
|
AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
|
|
EXTRA_LIBS="$EXTRA_LIBS -lrt"
|
|
])
|
|
])
|
|
|
|
dnl
|
|
dnl Check for trio string functions
|
|
dnl
|
|
|
|
if test "${NEED_TRIO}" = "1" ; then
|
|
echo Reusing trio library for string functions
|
|
WITH_TRIO=1
|
|
else
|
|
WITH_TRIO=0
|
|
fi
|
|
AC_SUBST(WITH_TRIO)
|
|
|
|
dnl
|
|
dnl Some packages need to be checked against version numbers so we
|
|
dnl define a function here for later use
|
|
dnl
|
|
AC_DEFUN([VERSION_TO_NUMBER],
|
|
[`$1 | sed -e 's/libxml //' | awk 'BEGIN { FS = "."; } { printf "%d", ([$]1 * 1000 + [$]2) * 1000 + [$]3;}'`])
|
|
|
|
dnl
|
|
dnl Perl is just needed for generating some data for XSLtmark
|
|
dnl
|
|
|
|
AC_CHECK_PROG(PERL, perl, perl, false)
|
|
AM_CONDITIONAL(WITH_PERL, test "$PERL" != "false")
|
|
|
|
dnl
|
|
dnl check for python
|
|
dnl
|
|
|
|
PYTHON_VERSION=
|
|
PYTHON_INCLUDES=
|
|
PYTHON_SITE_PACKAGES=
|
|
PYTHON_TESTS=
|
|
pythondir=
|
|
AC_ARG_WITH(python,
|
|
[ --with-python[[=DIR]] build Python bindings if found])
|
|
AC_ARG_WITH(python_install_dir,
|
|
[ --with-python-install-dir=DIR
|
|
install Python bindings in DIR])
|
|
if test "$with_python" != "no" ; then
|
|
if test -x "$with_python/bin/python"
|
|
then
|
|
echo Found python in $with_python/bin/python
|
|
PYTHON="$with_python/bin/python"
|
|
else
|
|
if test -x "$with_python/python.exe"
|
|
then
|
|
echo Found python in $with_python/python.exe
|
|
PYTHON="$with_python/python.exe"
|
|
else
|
|
if test -x "$with_python"
|
|
then
|
|
echo Found python in $with_python
|
|
PYTHON="$with_python"
|
|
else
|
|
if test -x "$PYTHON"
|
|
then
|
|
echo Found python in environment PYTHON=$PYTHON
|
|
with_python=`$PYTHON -c "import sys; print(sys.exec_prefix)"`
|
|
else
|
|
AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
if test "$PYTHON" != ""
|
|
then
|
|
PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
|
|
PYTHON_INCLUDES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"`
|
|
# does not work as it produce a /usr/lib/python path instead of/usr/lib64/python
|
|
#
|
|
# PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
|
|
echo Found Python version $PYTHON_VERSION
|
|
LIBXML2_PYTHON=`$PYTHON -c "import sys
|
|
try:
|
|
import libxml2
|
|
sys.stdout.write('1')
|
|
except:
|
|
sys.stdout.write('0')
|
|
"`
|
|
if test "$LIBXML2_PYTHON" = "1"
|
|
then
|
|
echo Found libxml2-python module
|
|
else
|
|
echo Warning: Missing libxml2-python
|
|
fi
|
|
fi
|
|
if test "$PYTHON_VERSION" != "" -a "$PYTHON_INCLUDES" = ""
|
|
then
|
|
if test -r $with_python/include/python$PYTHON_VERSION/Python.h
|
|
then
|
|
PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
|
|
else
|
|
if test -r $prefix/include/python$PYTHON_VERSION/Python.h
|
|
then
|
|
PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
|
|
else
|
|
if test -r /usr/include/python$PYTHON_VERSION/Python.h
|
|
then
|
|
PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
|
|
else
|
|
if test -r $with_python/include/Python.h
|
|
then
|
|
PYTHON_INCLUDES=$with_python/include
|
|
else
|
|
echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
if test "$with_python_install_dir" != ""
|
|
then
|
|
PYTHON_SITE_PACKAGES="$with_python_install_dir"
|
|
fi
|
|
if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = ""
|
|
then
|
|
if test -d $libdir/python$PYTHON_VERSION/site-packages
|
|
then
|
|
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
|
|
else
|
|
if test -d $with_python/lib/site-packages
|
|
then
|
|
PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
|
|
else
|
|
PYTHON_SITE_PACKAGES=$($PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_python_lib(True,False,"${exec_prefix}"))')
|
|
fi
|
|
fi
|
|
fi
|
|
pythondir='$(PYTHON_SITE_PACKAGES)'
|
|
PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
|
|
else
|
|
PYTHON=
|
|
fi
|
|
AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
|
|
if test "$PYTHON_INCLUDES" != ""
|
|
then
|
|
PYTHON_SUBDIR=python
|
|
else
|
|
PYTHON_SUBDIR=
|
|
fi
|
|
AC_SUBST(pythondir)
|
|
AC_SUBST(PYTHON_SUBDIR)
|
|
AC_SUBST(PYTHON_LIBS)
|
|
|
|
AC_ARG_WITH(crypto, [ --with-crypto Add crypto support to exslt (on)])
|
|
WITH_CRYPTO=0
|
|
CRYPTO_TESTDIR=
|
|
if test "$with_crypto" = "no" ; then
|
|
echo Disabling crypto support
|
|
LIBGCRYPT_CFLAGS=""
|
|
LIBGCRYPT_LIBS=""
|
|
else
|
|
case $host in
|
|
*-mingw*)
|
|
dnl Use only native crypto-API for mingw* hosts
|
|
dnl TODO: to implement --with-crypto=foo to allow switch between
|
|
dnl crypto libraries
|
|
WITH_CRYPTO=1
|
|
CRYPTO_TESTDIR=crypto
|
|
;;
|
|
*)
|
|
AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
|
|
if test "$LIBGCRYPT_CONFIG" != "no" ; then
|
|
LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version`
|
|
if test VERSION_TO_NUMBER(echo $LIBGCRYPT_VERSION) -lt VERSION_TO_NUMBER(echo "1.1.42")
|
|
then
|
|
LIBGCRYPT_CFLAGS=""
|
|
LIBGCRYPT_LIBS=""
|
|
echo 'gcrypt library version < 1.1.42 - Crypto extensions will not be available.'
|
|
else
|
|
LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --cflags`
|
|
LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --libs`
|
|
AC_DEFINE(HAVE_GCRYPT, 1, [Define if gcrypt library is available.])
|
|
echo 'Crypto extensions will be available.'
|
|
WITH_CRYPTO=1
|
|
CRYPTO_TESTDIR=crypto
|
|
fi
|
|
else
|
|
LIBGCRYPT_CFLAGS=""
|
|
LIBGCRYPT_LIBS=""
|
|
echo 'Crypto extensions will not be available. Install libgcrypt and reconfigure to make available.'
|
|
fi
|
|
esac
|
|
fi
|
|
AC_SUBST(WITH_CRYPTO)
|
|
AC_SUBST(CRYPTO_TESTDIR)
|
|
AC_SUBST(LIBGCRYPT_CFLAGS)
|
|
AC_SUBST(LIBGCRYPT_LIBS)
|
|
|
|
dnl
|
|
dnl Debug for DV (-Wunreachable-code)
|
|
dnl
|
|
if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XSLT" ]] || \
|
|
[[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomesvn/libxslt" ]]
|
|
then
|
|
if test "${with_mem_debug}" = "" ;
|
|
then
|
|
with_mem_debug="yes"
|
|
fi
|
|
CFLAGS="-Wall -g -O -ansi -pedantic -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat=2 -Wmissing-format-attribute -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline "
|
|
fi
|
|
|
|
AC_ARG_WITH(debug, [ --with-debug Add the debugging code (on)])
|
|
if test "$with_debug" = "no" ; then
|
|
echo Disabling debug support
|
|
WITH_XSLT_DEBUG=0
|
|
else
|
|
WITH_XSLT_DEBUG=1
|
|
fi
|
|
AC_SUBST(WITH_XSLT_DEBUG)
|
|
|
|
AC_ARG_WITH(mem_debug, [ --with-mem-debug Add the memory debugging module (off)])
|
|
if test "$with_mem_debug" = "yes" ; then
|
|
echo Enabling memory debug support
|
|
WITH_MEM_DEBUG=1
|
|
else
|
|
WITH_MEM_DEBUG=0
|
|
fi
|
|
AC_SUBST(WITH_MEM_DEBUG)
|
|
|
|
dnl
|
|
dnl Is debugger support requested
|
|
dnl
|
|
AC_ARG_WITH(debugger, [ --with-debugger Add the debugging support (on)])
|
|
if test "$with_debugger" = "no" ; then
|
|
echo Disabling debugger
|
|
WITH_DEBUGGER=0
|
|
else
|
|
echo Enabling debugger
|
|
WITH_DEBUGGER=1
|
|
AC_DEFINE([WITH_DEBUGGER],[], [Define if debugging support is enabled])
|
|
fi
|
|
AC_SUBST(WITH_DEBUGGER)
|
|
|
|
dnl
|
|
dnl Is profiler support requested
|
|
dnl
|
|
AC_ARG_WITH(profiler, [ --with-profiler Add the profiling support (on)])
|
|
if test "$with_profiler" = "no" ; then
|
|
echo Disabling profiler
|
|
WITH_PROFILER=0
|
|
else
|
|
echo Enabling profiler
|
|
WITH_PROFILER=1
|
|
AC_DEFINE([WITH_PROFILER],[], [Define if profiling support is enabled])
|
|
fi
|
|
AC_SUBST(WITH_PROFILER)
|
|
|
|
dnl
|
|
dnl The following new parameters were added to offer
|
|
dnl the ability to specify the location of the libxml
|
|
dnl library during linking and compilation.
|
|
dnl
|
|
dnl original work - Mathieu Lacage 30/03/2000
|
|
dnl some tweaking - David Härdeman 30/10/2001
|
|
dnl
|
|
|
|
LIBXML_CONFIG_PREFIX=""
|
|
LIBXML_SRC=""
|
|
|
|
AC_ARG_WITH(libxml-prefix,
|
|
[ --with-libxml-prefix=[PFX] Specify location of libxml config],
|
|
LIBXML_CONFIG_PREFIX=$withval
|
|
)
|
|
|
|
AC_ARG_WITH(libxml-include-prefix,
|
|
[ --with-libxml-include-prefix=[PFX] Specify location of libxml headers],
|
|
LIBXML_CFLAGS="-I$withval"
|
|
)
|
|
|
|
AC_ARG_WITH(libxml-libs-prefix,
|
|
[ --with-libxml-libs-prefix=[PFX] Specify location of libxml libs],
|
|
LIBXML_LIBS="-L$withval"
|
|
)
|
|
|
|
AC_ARG_WITH(libxml-src,
|
|
[ --with-libxml-src=[DIR] For libxml thats not installed yet (sets all three above)],
|
|
LIBXML_SRC="$withval"
|
|
)
|
|
AC_SUBST(LIBXML_SRC)
|
|
|
|
dnl
|
|
dnl where is xml2-config
|
|
dnl
|
|
|
|
AC_SUBST(LIBXML_REQUIRED_VERSION)
|
|
if test "x$LIBXML_CONFIG_PREFIX" != "x"
|
|
then
|
|
AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false], [${LIBXML_CONFIG_PREFIX}/bin])
|
|
else
|
|
AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false])
|
|
fi
|
|
|
|
dnl
|
|
dnl imported from libxml2, c.f. #77827
|
|
dnl
|
|
if test "${GCC}" != "yes" ; then
|
|
case "${host}" in
|
|
*-*-hpux* )
|
|
CFLAGS="${CFLAGS} -Wp,-H30000"
|
|
;;
|
|
*-dec-osf* )
|
|
CFLAGS="${CFLAGS} -ieee"
|
|
;;
|
|
esac
|
|
else
|
|
CFLAGS="${CFLAGS} -Wall -Wextra -Wformat=2 -Wmissing-format-attribute -Wshadow"
|
|
case "${host}" in
|
|
alpha*-*-linux* )
|
|
CFLAGS="${CFLAGS} -mieee"
|
|
;;
|
|
alpha*-*-osf* )
|
|
CFLAGS="${CFLAGS} -mieee"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
dnl
|
|
dnl Check which type of library to build. Default to building shared and static.
|
|
dnl
|
|
|
|
build_shared_libs="yes"
|
|
build_static_libs="yes"
|
|
xml_config_dynamic=
|
|
|
|
if test "$enable_shared" = "no"; then
|
|
build_shared_libs="no"
|
|
fi
|
|
|
|
if test "$enable_static" = "no"; then
|
|
build_static_libs="no"
|
|
fi
|
|
|
|
if test "$build_shared_libs" = "no" -a "$build_static_libs" = "no"; then
|
|
build_static_libs="yes"
|
|
fi
|
|
|
|
dnl
|
|
dnl Override other variables if LIBXML_SRC is set
|
|
dnl
|
|
|
|
if test "x$LIBXML_SRC" != "x"; then
|
|
CWD=`pwd`
|
|
if cd $LIBXML_SRC; then
|
|
LIBXML_SRC=`pwd`
|
|
XML_CONFIG="${LIBXML_SRC}/xml2-config"
|
|
LIBXML_CFLAGS="-I${LIBXML_SRC}/include"
|
|
if test "$build_static_libs" = "no"; then
|
|
if $XML_CONFIG --help | grep -q '\--dynamic'; then
|
|
xml_config_dynamic=--dynamic
|
|
fi
|
|
fi
|
|
LIBXML_LIBS="-L${LIBXML_SRC} `$XML_CONFIG --libs $xml_config_dynamic`"
|
|
WITH_MODULES="`$XML_CONFIG --modules`"
|
|
cd $CWD
|
|
else
|
|
AC_MSG_ERROR([libxml source dir not found (${LIBXML_SRC}), typo?])
|
|
fi
|
|
fi
|
|
|
|
dnl
|
|
dnl Try pkg-config first if nothing is set
|
|
dnl
|
|
|
|
if test "x$LIBXML_CONFIG_PREFIX" = "x" -a "x$LIBXML_LIBS" = "x"; then
|
|
if test "$build_static_libs" = "no"; then
|
|
PKG_CHECK_MODULES([LIBXML], [libxml-2.0 >= $LIBXML_REQUIRED_VERSION], [
|
|
WITH_MODULES="`$PKG_CONFIG --variable=modules libxml-2.0`"
|
|
], [ ])
|
|
else
|
|
PKG_CHECK_MODULES_STATIC([LIBXML], [libxml-2.0 >= $LIBXML_REQUIRED_VERSION],
|
|
[ ], [ ])
|
|
fi
|
|
fi
|
|
|
|
dnl
|
|
dnl make sure xml2-config is executable,
|
|
dnl test version and init our variables
|
|
dnl
|
|
|
|
if test "x$LIBXML_LIBS" = "x" && ${XML_CONFIG} --libs > /dev/null 2>&1
|
|
then
|
|
AC_MSG_CHECKING(for libxml libraries >= $LIBXML_REQUIRED_VERSION)
|
|
XMLVERS=`$XML_CONFIG --version`
|
|
if test VERSION_TO_NUMBER(echo $XMLVERS) -ge VERSION_TO_NUMBER(echo $LIBXML_REQUIRED_VERSION); then
|
|
AC_MSG_RESULT($XMLVERS found)
|
|
else
|
|
AC_MSG_ERROR(Version $XMLVERS found. You need at least libxml2 $LIBXML_REQUIRED_VERSION for this version of libxslt)
|
|
fi
|
|
|
|
if test "$build_static_libs" = "no"; then
|
|
if $XML_CONFIG --help | grep -q '\--dynamic'; then
|
|
xml_config_dynamic=--dynamic
|
|
fi
|
|
fi
|
|
LIBXML_LIBS="`$XML_CONFIG --libs $xml_config_dynamic`"
|
|
LIBXML_CFLAGS="`$XML_CONFIG --cflags`"
|
|
WITH_MODULES="`$XML_CONFIG --modules`"
|
|
fi
|
|
|
|
if test "x$LIBXML_LIBS" = "x"
|
|
then
|
|
AC_MSG_ERROR([Could not find libxml2 anywhere.])
|
|
fi
|
|
|
|
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(CPPFLAGS)
|
|
AC_SUBST(LDFLAGS)
|
|
|
|
AC_ARG_WITH(plugins,
|
|
[ --with-plugins Add plugin extension support (on)])
|
|
if test "$with_plugins" = ""
|
|
then
|
|
with_plugins=yes
|
|
fi
|
|
|
|
AC_MSG_CHECKING([whether shared libraries will be built (required for plugins)])
|
|
if test "$build_shared_libs" = "no" -a "$with_plugins" = "yes"; then
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_WARN([Disabling plugin support.])
|
|
AC_MSG_WARN([Plugins require that shared libraries be built.])
|
|
with_plugins=no
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
fi
|
|
|
|
if test "$with_plugins" = "yes" ; then
|
|
AC_MSG_CHECKING([libxml2 module support])
|
|
if test "${WITH_MODULES}" = "1"; then
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
WITH_MODULES="0"
|
|
fi
|
|
else
|
|
WITH_MODULES="0"
|
|
fi
|
|
|
|
AC_SUBST(WITH_MODULES)
|
|
AM_CONDITIONAL(WITH_MODULES, test "$WITH_MODULES" = "1")
|
|
|
|
dnl
|
|
dnl setup default module path
|
|
dnl
|
|
expanded_libdir=$(
|
|
test "x$prefix" = xNONE && prefix="$ac_default_prefix"
|
|
test "x$exec_prefix" = xNONE && exec_prefix="$prefix"
|
|
while test "$libdir_old" != "$libdir"; do
|
|
libdir_old="$libdir"
|
|
eval libdir="$libdir"
|
|
done
|
|
echo "$libdir"
|
|
)
|
|
LIBXSLT_DEFAULT_PLUGINS_PATH="$expanded_libdir/libxslt-plugins"
|
|
AC_SUBST(LIBXSLT_DEFAULT_PLUGINS_PATH)
|
|
|
|
case "$host" in
|
|
*-*-cygwin*|*-*-mingw*)
|
|
LDFLAGS="$LDFLAGS -no-undefined"
|
|
;;
|
|
esac
|
|
|
|
|
|
AC_SUBST(XSLTPROCDV)
|
|
AC_SUBST(PYTHONSODV)
|
|
AC_SUBST(XML_CONFIG)
|
|
AC_SUBST(LIBXML_LIBS)
|
|
AC_SUBST(LIBXML_CFLAGS)
|
|
AC_SUBST(PYTHON)
|
|
AC_SUBST(PYTHON_VERSION)
|
|
AC_SUBST(PYTHON_INCLUDES)
|
|
AC_SUBST(PYTHON_SITE_PACKAGES)
|
|
|
|
XSLT_LIBDIR='-L${libdir}'
|
|
XSLT_INCLUDEDIR='-I${includedir}'
|
|
XSLT_LIBS="-lxslt $LIBXML_LIBS"
|
|
XSLT_PRIVATE_LIBS="$M_LIBS"
|
|
AC_SUBST(XSLT_LIBDIR)
|
|
AC_SUBST(XSLT_INCLUDEDIR)
|
|
AC_SUBST(XSLT_LIBS)
|
|
AC_SUBST(XSLT_PRIVATE_LIBS)
|
|
|
|
EXSLT_LIBDIR='-L${libdir}'
|
|
EXSLT_INCLUDEDIR='-I${includedir}'
|
|
EXSLT_PRIVATE_LIBS="$XSLT_PRIVATE_LIBS $LIBGCRYPT_LIBS"
|
|
AC_SUBST(EXSLT_LIBDIR)
|
|
AC_SUBST(EXSLT_INCLUDEDIR)
|
|
AC_SUBST(EXSLT_PRIVATE_LIBS)
|
|
|
|
AC_SUBST(EXTRA_LIBS)
|
|
|
|
AC_SUBST(M_LIBS)
|
|
|
|
dnl for the spec file
|
|
RELDATE=`date +'%a %b %e %Y'`
|
|
AC_SUBST(RELDATE)
|
|
|
|
rm -f COPYING.LIB COPYING 2>/dev/null && $LN_S $srcdir/Copyright COPYING
|
|
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
libxslt.pc
|
|
libexslt.pc
|
|
libxslt-config.cmake
|
|
libxslt/Makefile
|
|
libxslt/xsltconfig.h
|
|
libexslt/Makefile
|
|
libexslt/exsltconfig.h
|
|
xsltproc/Makefile
|
|
python/Makefile
|
|
python/tests/Makefile
|
|
tests/Makefile
|
|
tests/docs/Makefile
|
|
tests/REC1/Makefile
|
|
tests/REC2/Makefile
|
|
tests/REC/Makefile
|
|
tests/general/Makefile
|
|
tests/reports/Makefile
|
|
tests/extensions/Makefile
|
|
tests/namespaces/Makefile
|
|
tests/keys/Makefile
|
|
tests/numbers/Makefile
|
|
tests/documents/Makefile
|
|
tests/xmlspec/Makefile
|
|
tests/multiple/Makefile
|
|
tests/xinclude/Makefile
|
|
tests/XSLTMark/Makefile
|
|
tests/docbook/Makefile
|
|
tests/exslt/Makefile
|
|
tests/exslt/common/Makefile
|
|
tests/exslt/functions/Makefile
|
|
tests/exslt/math/Makefile
|
|
tests/exslt/saxon/Makefile
|
|
tests/exslt/sets/Makefile
|
|
tests/exslt/strings/Makefile
|
|
tests/exslt/date/Makefile
|
|
tests/exslt/dynamic/Makefile
|
|
tests/exslt/crypto/Makefile
|
|
tests/plugins/Makefile
|
|
tests/fuzz/Makefile
|
|
doc/Makefile
|
|
doc/devhelp/Makefile
|
|
doc/EXSLT/devhelp/Makefile
|
|
xslt-config
|
|
libxslt.spec
|
|
])
|
|
AC_CONFIG_LINKS([tests/fuzz/xpath.xml:tests/fuzz/xpath.xml])
|
|
AC_CONFIG_LINKS([tests/fuzz/xslt.xml:tests/fuzz/xslt.xml])
|
|
|
|
AC_OUTPUT
|