mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2024-12-27 03:21:26 +03:00
c480c4ea56
* configure.in doc/* libxml.spec.in: preparing release of libxml2-2.6.3, updated and regenerated the docs. Daniel
1061 lines
26 KiB
Plaintext
1061 lines
26 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
AC_PREREQ(2.2)
|
|
AC_INIT(entities.c)
|
|
AM_CONFIG_HEADER(config.h)
|
|
AC_CANONICAL_HOST
|
|
|
|
LIBXML_MAJOR_VERSION=2
|
|
LIBXML_MINOR_VERSION=6
|
|
LIBXML_MICRO_VERSION=3
|
|
LIBXML_MICRO_VERSION_SUFFIX=
|
|
LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
|
|
LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
|
|
|
|
LIBXML_VERSION_NUMBER=`expr $LIBXML_MAJOR_VERSION \* 10000 + $LIBXML_MINOR_VERSION \* 100 + $LIBXML_MICRO_VERSION`
|
|
|
|
AC_SUBST(LIBXML_MAJOR_VERSION)
|
|
AC_SUBST(LIBXML_MINOR_VERSION)
|
|
AC_SUBST(LIBXML_MICRO_VERSION)
|
|
AC_SUBST(LIBXML_VERSION)
|
|
AC_SUBST(LIBXML_VERSION_INFO)
|
|
AC_SUBST(LIBXML_VERSION_NUMBER)
|
|
|
|
VERSION=${LIBXML_VERSION}
|
|
|
|
AM_INIT_AUTOMAKE(libxml2, $VERSION)
|
|
|
|
AC_ARG_WITH(html-dir,
|
|
[ --with-html-dir=PATH path to installed docs ])
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_INSTALL
|
|
AC_PROG_CPP
|
|
AC_PATH_PROG(RM, rm, /bin/rm)
|
|
AC_PATH_PROG(MV, mv, /bin/mv)
|
|
AC_PATH_PROG(TAR, tar, /bin/tar)
|
|
|
|
dnl Make sure we have an ANSI compiler
|
|
AM_C_PROTOTYPES
|
|
test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
|
|
|
|
AC_LIBTOOL_WIN32_DLL
|
|
AM_PROG_LIBTOOL
|
|
|
|
# AM_MAINTAINER_MODE
|
|
|
|
dnl
|
|
dnl option to build a minimal libxml2 library
|
|
dnl
|
|
AC_ARG_WITH(minimum, [ --with-minimum build a minimally sized library (off)])
|
|
if test "$with_minimum" = "yes"
|
|
then
|
|
echo "Configuring for a minimal library"
|
|
fi
|
|
|
|
dnl Checks for zlib library.
|
|
_cppflags="${CPPFLAGS}"
|
|
_ldflags="${LDFLAGS}"
|
|
|
|
|
|
AC_ARG_WITH(zlib,
|
|
[ --with-zlib[[=DIR]] use libz in DIR],[
|
|
if test "$withval" != "no" -a "$withval" != "yes"; then
|
|
Z_DIR=$withval
|
|
CPPFLAGS="${CPPFLAGS} -I$withval/include"
|
|
LDFLAGS="${LDFLAGS} -L$withval/lib"
|
|
fi
|
|
])
|
|
if test "$with_minimum" = "yes" -a "$with_zlib" = ""
|
|
then
|
|
with_zlib=no
|
|
fi
|
|
if test "$with_zlib" = "no"; then
|
|
echo "Disabling compression support"
|
|
else
|
|
AC_CHECK_HEADERS(zlib.h,
|
|
AC_CHECK_LIB(z, gzread,[
|
|
AC_DEFINE([HAVE_LIBZ], [], [Have compression library])
|
|
if test "x${Z_DIR}" != "x"; then
|
|
Z_CFLAGS="-I${Z_DIR}/include"
|
|
Z_LIBS="-L${Z_DIR}/lib -lz"
|
|
[case ${host} in
|
|
*-*-solaris*)
|
|
Z_LIBS="-L${Z_DIR}/lib -R${Z_DIR}/lib -lz"
|
|
;;
|
|
esac]
|
|
else
|
|
Z_LIBS="-lz"
|
|
fi]))
|
|
fi
|
|
|
|
AC_SUBST(Z_CFLAGS)
|
|
AC_SUBST(Z_LIBS)
|
|
|
|
CPPFLAGS=${_cppflags}
|
|
LDFLAGS=${_ldflags}
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS([fcntl.h])
|
|
AC_CHECK_HEADERS([unistd.h])
|
|
AC_CHECK_HEADERS([ctype.h])
|
|
AC_CHECK_HEADERS([dirent.h])
|
|
AC_CHECK_HEADERS([errno.h])
|
|
AC_CHECK_HEADERS([malloc.h])
|
|
AC_CHECK_HEADERS([stdarg.h])
|
|
AC_CHECK_HEADERS([sys/stat.h])
|
|
AC_CHECK_HEADERS([sys/types.h])
|
|
AC_CHECK_HEADERS([time.h])
|
|
AC_CHECK_HEADERS([ansidecl.h])
|
|
AC_CHECK_HEADERS([ieeefp.h])
|
|
AC_CHECK_HEADERS([nan.h])
|
|
AC_CHECK_HEADERS([math.h])
|
|
AC_CHECK_HEADERS([limits.h])
|
|
AC_CHECK_HEADERS([fp_class.h])
|
|
AC_CHECK_HEADERS([float.h])
|
|
AC_CHECK_HEADERS([stdlib.h])
|
|
AC_CHECK_HEADERS([sys/socket.h], [], [],
|
|
[#if HAVE_SYS_TYPES_H
|
|
# include <sys/types.h>
|
|
# endif
|
|
])
|
|
AC_CHECK_HEADERS([netinet/in.h], [], [],
|
|
[#if HAVE_SYS_TYPES_H
|
|
# include <sys/types.h>
|
|
# endif
|
|
])
|
|
AC_CHECK_HEADERS([arpa/inet.h], [], [],
|
|
[#if HAVE_SYS_TYPES_H
|
|
# include <sys/types.h>
|
|
# endif
|
|
#if HAVE_ARPA_INET_H
|
|
# include <arpa/inet.h>
|
|
# endif
|
|
])
|
|
AC_CHECK_HEADERS([netdb.h])
|
|
AC_CHECK_HEADERS([sys/time.h])
|
|
AC_CHECK_HEADERS([sys/select.h])
|
|
AC_CHECK_HEADERS([sys/mman.h])
|
|
AC_CHECK_HEADERS([sys/timeb.h])
|
|
AC_CHECK_HEADERS([signal.h])
|
|
AC_CHECK_HEADERS([arpa/nameser.h], [], [],
|
|
[#if HAVE_SYS_TYPES_H
|
|
# include <sys/types.h>
|
|
# endif
|
|
])
|
|
AC_CHECK_HEADERS([resolv.h], [], [],
|
|
[#if HAVE_SYS_TYPES_H
|
|
# include <sys/types.h>
|
|
# endif
|
|
#if HAVE_NETINET_IN_H
|
|
# include <netinet/in.h>
|
|
# endif
|
|
#if HAVE_ARPA_NAMESER_H
|
|
# include <arpa/nameser.h>
|
|
# endif
|
|
])
|
|
|
|
dnl Specific dir for HTML output ?
|
|
if test "x$with_html_dir" = "x" ; then
|
|
HTML_DIR='$(prefix)/doc'
|
|
else
|
|
HTML_DIR=$with_html_dir
|
|
fi
|
|
|
|
AC_SUBST(HTML_DIR)
|
|
|
|
dnl Checks for library functions.
|
|
AC_FUNC_STRFTIME
|
|
AC_CHECK_FUNCS(strdup strndup strerror)
|
|
AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
|
|
AC_CHECK_FUNCS(strftime localtime gettimeofday ftime)
|
|
AC_CHECK_FUNCS(stat _stat signal)
|
|
|
|
dnl Checking the standard string functions availability
|
|
AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
|
|
NEED_TRIO=1)
|
|
|
|
dnl Checks for inet libraries:
|
|
AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
|
|
AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
|
|
AC_CHECK_FUNC(connect, , AC_CHECK_LIB(inet, connect))
|
|
|
|
dnl Determine what socket length (socklen_t) data type is
|
|
AC_MSG_CHECKING([for type of socket length (socklen_t)])
|
|
AC_TRY_COMPILE2([
|
|
#include <stddef.h>
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>],[
|
|
(void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[
|
|
AC_MSG_RESULT(socklen_t *)
|
|
SOCKLEN_T=socklen_t],[
|
|
AC_TRY_COMPILE2([
|
|
#include <stddef.h>
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>],[
|
|
(void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)],[
|
|
AC_MSG_RESULT(size_t *)
|
|
SOCKLEN_T=size_t],[
|
|
AC_TRY_COMPILE2([
|
|
#include <stddef.h>
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>],[
|
|
(void)getsockopt (1, 1, 1, NULL, (int *)NULL)],[
|
|
AC_MSG_RESULT(int *)
|
|
SOCKLEN_T=int],[
|
|
AC_MSG_WARN(could not determine)])])])
|
|
AC_DEFINE_UNQUOTED(SOCKLEN_T, $SOCKLEN_T, [Determine what socket length (socklen_t) data type is])
|
|
|
|
dnl ***********************Checking for availability of IPv6*******************
|
|
|
|
AC_MSG_CHECKING([whether to enable IPv6])
|
|
AC_ARG_ENABLE(ipv6, [ --enable-ipv6=[yes/no] enables compilation of IPv6 code],, enable_ipv6=yes)
|
|
if test "$with_minimum" = "yes"
|
|
then
|
|
enable_ipv6=no
|
|
fi
|
|
if test $enable_ipv6 = yes; then
|
|
have_ipv6=no
|
|
AC_TRY_COMPILE([
|
|
#include <sys/socket.h>
|
|
#include <sys/types.h>], [
|
|
struct sockaddr_storage ss;
|
|
socket(AF_INET6, SOCK_STREAM, 0)
|
|
],
|
|
have_ipv6=yes,
|
|
have_ipv6=no
|
|
)
|
|
AC_MSG_RESULT($have_ipv6)
|
|
|
|
if test $have_ipv6 = yes; then
|
|
AC_DEFINE([SUPPORT_IP6], [], [Support for IPv6])
|
|
|
|
have_getaddrinfo=no
|
|
AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes)
|
|
if test $have_getaddrinfo != yes; then
|
|
for lib in bsd socket inet; do
|
|
AC_CHECK_LIB($lib, getaddrinfo, [LIBS="$LIBS -l$lib";have_getaddrinfo=yes;break])
|
|
done
|
|
fi
|
|
|
|
if test $have_getaddrinfo = yes; then
|
|
AC_DEFINE([HAVE_GETADDRINFO], [], [Define if getaddrinfo is there])
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
dnl ******************************End IPv6 checks******************************
|
|
|
|
dnl Checks for isnan in libm if not in libc
|
|
AC_CHECK_FUNC(isnan, AC_DEFINE([HAVE_ISNAN],[], [Define if isnan is there]) , AC_CHECK_LIB(m, isnan,
|
|
[AC_DEFINE([HAVE_ISNAN],[], [Define if isnan is there])]))
|
|
|
|
AC_CHECK_FUNC(isinf, AC_DEFINE([HAVE_ISINF], [], [Define if isinf is there]) , AC_CHECK_LIB(m, isinf,
|
|
[AC_DEFINE([HAVE_ISINF], [], [Define if isinf is there])]))
|
|
|
|
XML_LIBDIR='-L${libdir}'
|
|
XML_INCLUDEDIR='-I${includedir}/libxml2'
|
|
|
|
dnl
|
|
dnl Extra flags
|
|
dnl
|
|
XML_CFLAGS=""
|
|
RDL_LIBS=""
|
|
|
|
AC_ARG_WITH(fexceptions,
|
|
[ --with-fexceptions add GCC flag -fexceptions for C++ exceptions (off)])
|
|
if test "$with_minimum" = "yes" -a "$with_fexceptions" = ""
|
|
then
|
|
with_fexceptions=no
|
|
fi
|
|
dnl
|
|
dnl Workaround for native compilers
|
|
dnl HP : http://bugs.gnome.org/db/31/3163.html
|
|
dnl DEC : Enable NaN/Inf
|
|
dnl
|
|
if test "${GCC}" != "yes" ; then
|
|
case "${host}" in
|
|
*-*-hpux* )
|
|
CFLAGS="${CFLAGS} -Wp,-H30000"
|
|
;;
|
|
*-dec-osf* )
|
|
CFLAGS="${CFLAGS} -ieee"
|
|
;;
|
|
alpha*-*-linux* )
|
|
CFLAGS="${CFLAGS} -ieee"
|
|
;;
|
|
esac
|
|
else
|
|
if test "$with_fexceptions" = "yes"
|
|
then
|
|
#
|
|
# Not activated by default because this inflates the code size
|
|
# Used to allow propagation of C++ exceptions through the library
|
|
#
|
|
CFLAGS="${CFLAGS} -fexceptions"
|
|
fi
|
|
|
|
CFLAGS="${CFLAGS} -Wall"
|
|
case "${host}" in
|
|
alpha*-*-linux* )
|
|
CFLAGS="${CFLAGS} -mieee"
|
|
;;
|
|
alpha*-*-osf* )
|
|
CFLAGS="${CFLAGS} -mieee"
|
|
;;
|
|
esac
|
|
fi
|
|
case ${host} in
|
|
*-*-solaris*)
|
|
XML_LIBDIR="${XML_LIBDIR} -R${libdir}"
|
|
;;
|
|
hppa*-hp-mpeix)
|
|
NEED_TRIO=1
|
|
;;
|
|
esac
|
|
|
|
|
|
dnl
|
|
dnl check for python
|
|
dnl
|
|
|
|
PYTHON=
|
|
PYTHON_VERSION=
|
|
PYTHON_INCLUDES=
|
|
PYTHON_SITE_PACKAGES=
|
|
pythondir=
|
|
AC_ARG_WITH(python,
|
|
[ --with-python[[=DIR]] build Python bindings if found])
|
|
if test "$with_minimum" = "yes" -a "$with_python" = ""
|
|
then
|
|
with_python=no
|
|
fi
|
|
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"
|
|
then
|
|
echo Found python in $with_python
|
|
PYTHON="$with_python"
|
|
else
|
|
AC_PATH_PROG(PYTHON, python python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
|
|
fi
|
|
fi
|
|
if test "$PYTHON" != ""
|
|
then
|
|
PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
|
|
echo Found Python version $PYTHON_VERSION
|
|
fi
|
|
if test "$PYTHON_VERSION" != ""
|
|
then
|
|
if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
|
|
-d $with_python/lib/python$PYTHON_VERSION/site-packages
|
|
then
|
|
PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
|
|
PYTHON_SITE_PACKAGES=$with_python/lib/python$PYTHON_VERSION/site-packages
|
|
else
|
|
if test -r $prefix/include/python$PYTHON_VERSION/Python.h
|
|
then
|
|
PYTHON_INCLUDES='$(prefix)/include/python$(PYTHON_VERSION)'
|
|
PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
|
|
else
|
|
if test -r /usr/include/python$PYTHON_VERSION/Python.h
|
|
then
|
|
PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
|
|
PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
|
|
else
|
|
echo could not find python$PYTHON_VERSION/Python.h
|
|
fi
|
|
fi
|
|
if ! test -d "$PYTHON_SITE_PACKAGES"
|
|
then
|
|
PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
|
|
fi
|
|
fi
|
|
fi
|
|
if test "$with_python" != ""
|
|
then
|
|
pythondir='$(PYTHON_SITE_PACKAGES)'
|
|
else
|
|
pythondir='$(libdir)/python${PYTHON_VERSION}/site-packages'
|
|
fi
|
|
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)
|
|
|
|
dnl
|
|
dnl Tester makes use of readline if present
|
|
dnl
|
|
_cppflags="${CPPFLAGS}"
|
|
_ldflags="${LDFLAGS}"
|
|
|
|
AC_ARG_WITH(readline,
|
|
[ --with-readline=DIR use readline in DIR],[
|
|
if test "$withval" != "no" -a "$withval" != "yes"; then
|
|
RDL_DIR=$withval
|
|
CPPFLAGS="${CPPFLAGS} -I$withval/include"
|
|
LDFLAGS="${LDFLAGS} -L$withval/lib"
|
|
fi
|
|
])
|
|
if test "$with_minimum" = "yes" -a "$with_readline" = ""
|
|
then
|
|
with_readline=no
|
|
fi
|
|
|
|
dnl
|
|
dnl specific tests to setup DV's devel environment with debug etc ...
|
|
dnl (-Wunreachable-code)
|
|
dnl
|
|
if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ]] || \
|
|
[[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomecvs/xmltest" ]]
|
|
then
|
|
if test "$with_minimum" != "yes"
|
|
then
|
|
if test "${with_mem_debug}" = "" ; then
|
|
with_mem_debug="yes"
|
|
fi
|
|
if test "${with_docbook}" = "" ; then
|
|
with_docbook="yes"
|
|
fi
|
|
fi
|
|
CFLAGS="-g -O -pedantic -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls "
|
|
STATIC_BINARIES="-static"
|
|
dnl -Wcast-qual -ansi
|
|
else
|
|
STATIC_BINARIES=
|
|
fi
|
|
AC_SUBST(STATIC_BINARIES)
|
|
|
|
dnl
|
|
dnl Check for trio string functions
|
|
dnl
|
|
|
|
if test "${NEED_TRIO}" = "1" ; then
|
|
echo Adding trio library for string functions
|
|
WITH_TRIO=1
|
|
else
|
|
WITH_TRIO=0
|
|
fi
|
|
AM_CONDITIONAL(WITH_TRIO_SOURCES, test "${NEED_TRIO}" = "1")
|
|
AC_SUBST(WITH_TRIO)
|
|
|
|
dnl
|
|
dnl Allow to enable/disable various pieces
|
|
dnl
|
|
|
|
THREAD_LIBS=""
|
|
WITH_THREADS=0
|
|
THREAD_CFLAGS=""
|
|
TEST_THREADS=""
|
|
THREADS_W32=""
|
|
|
|
AC_ARG_WITH(threads,
|
|
[ --with-threads add multithread support(on)])
|
|
if test "$with_minimum" = "yes" -a "$with_threads" = ""
|
|
then
|
|
with_threads=no
|
|
fi
|
|
if test "$with_threads" = "no" ; then
|
|
echo Disabling multithreaded support
|
|
else
|
|
echo Enabling multithreaded support
|
|
|
|
AC_CHECK_HEADER(pthread.h,
|
|
AC_CHECK_LIB(pthread, pthread_join,[
|
|
THREAD_LIBS="-lpthread"
|
|
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"]))
|
|
case $host_os in
|
|
*mingw32*) WITH_THREADS="1"
|
|
THREADS_W32="Win32"
|
|
THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS"
|
|
;;
|
|
esac
|
|
if test "$WITH_THREADS" = "1" ; then
|
|
THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT"
|
|
TEST_THREADS="Threadtests"
|
|
fi
|
|
fi
|
|
AC_ARG_WITH(thread-alloc,
|
|
[ --with-thread-alloc add per-thread memory(off)])
|
|
if test "$with_minimum" = "yes" -a "$with_thread_alloc" = ""
|
|
then
|
|
with_thread_alloc=no
|
|
fi
|
|
if test "$with_threads_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
|
|
THREAD_CFLAGS="$THREAD_CFLAGS -DLIBXML_THREAD_ALLOC_ENABLED"
|
|
fi
|
|
|
|
AC_SUBST(THREAD_LIBS)
|
|
AC_SUBST(WITH_THREADS)
|
|
AC_SUBST(THREAD_CFLAGS)
|
|
AC_SUBST(TEST_THREADS)
|
|
AC_SUBST(THREADS_W32)
|
|
|
|
AC_ARG_WITH(history,
|
|
[ --with-history add history support to xmllint shell(off)])
|
|
if test "$with_minimum" = "yes" -a "$with_history" = ""
|
|
then
|
|
with_history=no
|
|
fi
|
|
if test "$with_history" = "yes" ; then
|
|
echo Enabling xmllint shell history
|
|
dnl check for terminal library. this is a very cool solution
|
|
dnl from octave's configure.in
|
|
unset tcap
|
|
for termlib in ncurses curses termcap terminfo termlib; do
|
|
AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
|
|
test -n "$tcap" && break
|
|
done
|
|
|
|
AC_CHECK_HEADER(readline/history.h,
|
|
AC_CHECK_LIB(history, append_history,[
|
|
RDL_LIBS="-lhistory"
|
|
AC_DEFINE([HAVE_LIBHISTORY], [], [Define if history library is there (-lhistory)])]))
|
|
AC_CHECK_HEADER(readline/readline.h,
|
|
AC_CHECK_LIB(readline, readline,[
|
|
RDL_LIBS="-lreadline $RDL_LIBS $tcap"
|
|
AC_DEFINE([HAVE_LIBREADLINE], [], [Define if readline library is there (-lreadline)])], , $tcap))
|
|
if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
|
|
CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
|
|
RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
|
|
else
|
|
CPPFLAGS=${_cppflags}
|
|
fi
|
|
LDFLAGS=${_ldflags}
|
|
fi
|
|
|
|
AC_ARG_WITH(output,
|
|
[ --with-output add the serialization support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_output" = ""
|
|
then
|
|
with_output=no
|
|
fi
|
|
if test "$with_output" = "no" ; then
|
|
echo Disabling serialization/saving support
|
|
WITH_OUTPUT=0
|
|
else
|
|
WITH_OUTPUT=1
|
|
fi
|
|
AC_SUBST(WITH_OUTPUT)
|
|
|
|
AC_ARG_WITH(tree,
|
|
[ --with-tree add the DOM like tree manipulation APIs (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_tree" = ""
|
|
then
|
|
with_tree=no
|
|
fi
|
|
if test "$with_tree" = "no" ; then
|
|
echo Disabling DOM like tree manipulation APIs
|
|
WITH_TREE=0
|
|
else
|
|
WITH_TREE=1
|
|
fi
|
|
AC_SUBST(WITH_TREE)
|
|
|
|
AC_ARG_WITH(ftp,
|
|
[ --with-ftp add the FTP support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_ftp" = ""
|
|
then
|
|
with_ftp=no
|
|
fi
|
|
if test "$with_ftp" = "no" ; then
|
|
echo Disabling FTP support
|
|
WITH_FTP=0
|
|
FTP_OBJ=
|
|
else
|
|
WITH_FTP=1
|
|
FTP_OBJ=nanoftp.o
|
|
fi
|
|
AC_SUBST(WITH_FTP)
|
|
AC_SUBST(FTP_OBJ)
|
|
|
|
AC_ARG_WITH(http,
|
|
[ --with-http add the HTTP support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_http" = ""
|
|
then
|
|
with_http=no
|
|
fi
|
|
if test "$with_http" = "no" ; then
|
|
echo Disabling HTTP support
|
|
WITH_HTTP=0
|
|
HTTP_OBJ=
|
|
else
|
|
WITH_HTTP=1
|
|
HTTP_OBJ=nanohttp.o
|
|
fi
|
|
AC_SUBST(WITH_HTTP)
|
|
AC_SUBST(HTTP_OBJ)
|
|
|
|
AC_ARG_WITH(legacy,
|
|
[ --with-legacy add deprecated APIs for compatibility (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_legacy" = ""
|
|
then
|
|
with_legacy=no
|
|
fi
|
|
if test "$with_legacy" = "no" ; then
|
|
echo Disabling deprecated APIs
|
|
WITH_LEGACY=0
|
|
else
|
|
WITH_LEGACY=1
|
|
fi
|
|
AC_SUBST(WITH_LEGACY)
|
|
|
|
AC_ARG_WITH(reader,
|
|
[ --with-reader add the xmlReader parsing interface (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_reader" = ""
|
|
then
|
|
with_reader=no
|
|
fi
|
|
if test "$with_reader" = "no" ; then
|
|
echo Disabling the xmlReader parsing interface
|
|
WITH_READER=0
|
|
READER_TEST=
|
|
else
|
|
WITH_READER=1
|
|
READER_TEST=Readertests
|
|
fi
|
|
AC_SUBST(WITH_READER)
|
|
AC_SUBST(READER_TEST)
|
|
|
|
AC_ARG_WITH(pattern,
|
|
[ --with-pattern add the xmlPattern selection interface (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_pattern" = ""
|
|
then
|
|
with_pattern=no
|
|
fi
|
|
if test "$with_pattern" = "no" ; then
|
|
echo Disabling the xmlPattern parsing interface
|
|
WITH_PATTERN=0
|
|
PATTERN_TEST=
|
|
else
|
|
WITH_PATTERN=1
|
|
PATTERN_TEST=Patterntests
|
|
fi
|
|
AC_SUBST(WITH_PATTERN)
|
|
AC_SUBST(PATTERN_TEST)
|
|
|
|
AC_ARG_WITH(writer,
|
|
[ --with-writer add the xmlWriter saving interface (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_writer" = ""
|
|
then
|
|
with_writer=no
|
|
fi
|
|
if test "$with_writer" = "no" ; then
|
|
echo Disabling the xmlWriter saving interface
|
|
WITH_WRITER=0
|
|
# WRITER_TEST=
|
|
else
|
|
WITH_WRITER=1
|
|
# WRITER_TEST=Writertests
|
|
fi
|
|
AC_SUBST(WITH_WRITER)
|
|
#AC_SUBST(WRITER_TEST)
|
|
|
|
AC_ARG_WITH(sax1,
|
|
[ --with-sax1 add the older SAX1 interface (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_sax1" = ""
|
|
then
|
|
with_sax1=no
|
|
fi
|
|
if test "$with_sax1" = "no" ; then
|
|
echo Disabling the older SAX1 interface
|
|
WITH_SAX1=0
|
|
TEST_SAX=
|
|
else
|
|
WITH_SAX1=1
|
|
TEST_SAX=SAXtests
|
|
fi
|
|
AC_SUBST(WITH_SAX1)
|
|
AC_SUBST(TEST_SAX)
|
|
|
|
AC_ARG_WITH(push,
|
|
[ --with-push add the PUSH parser interfaces (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_push" = ""
|
|
then
|
|
with_push=no
|
|
fi
|
|
if test "$with_push" = "no" ; then
|
|
echo Disabling the PUSH parser interfaces
|
|
WITH_PUSH=0
|
|
TEST_PUSH=
|
|
else
|
|
WITH_PUSH=1
|
|
TEST_PUSH="XMLPushtests"
|
|
fi
|
|
AC_SUBST(WITH_PUSH)
|
|
AC_SUBST(TEST_PUSH)
|
|
|
|
AC_ARG_WITH(html,
|
|
[ --with-html add the HTML support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_html" = ""
|
|
then
|
|
with_html=no
|
|
fi
|
|
if test "$with_html" = "no" ; then
|
|
echo Disabling HTML support
|
|
WITH_HTML=0
|
|
HTML_OBJ=
|
|
TEST_HTML=
|
|
else
|
|
WITH_HTML=1
|
|
HTML_OBJ="HTMLparser.o HTMLtree.o"
|
|
TEST_HTML=HTMLtests
|
|
if test "$with_push" != "no" ; then
|
|
TEST_PHTML=HTMLPushtests
|
|
else
|
|
TEST_PHTML=
|
|
fi
|
|
fi
|
|
AC_SUBST(WITH_HTML)
|
|
AC_SUBST(HTML_OBJ)
|
|
AC_SUBST(TEST_HTML)
|
|
AC_SUBST(TEST_PHTML)
|
|
|
|
AC_ARG_WITH(valid,
|
|
[ --with-valid add the DTD validation support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_valid" = ""
|
|
then
|
|
with_valid=no
|
|
fi
|
|
if test "$with_valid" = "no" ; then
|
|
echo Disabling DTD validation support
|
|
WITH_VALID=0
|
|
TEST_VALID=
|
|
TEST_VTIME=
|
|
else
|
|
WITH_VALID=1
|
|
TEST_VALID=Validtests
|
|
TEST_VTIME=VTimingtests
|
|
fi
|
|
AC_SUBST(WITH_VALID)
|
|
AC_SUBST(TEST_VALID)
|
|
AC_SUBST(TEST_VTIME)
|
|
|
|
AC_ARG_WITH(catalog,
|
|
[ --with-catalog add the Catalog support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_catalog" = ""
|
|
then
|
|
with_catalog=no
|
|
fi
|
|
if test "$with_catalog" = "no" ; then
|
|
echo Disabling Catalog support
|
|
WITH_CATALOG=0
|
|
CATALOG_OBJ=
|
|
TEST_CATALOG=
|
|
else
|
|
WITH_CATALOG=1
|
|
CATALOG_OBJ="catalog.o"
|
|
TEST_CATALOG=Catatests
|
|
fi
|
|
AC_SUBST(WITH_CATALOG)
|
|
AC_SUBST(CATALOG_OBJ)
|
|
AC_SUBST(TEST_CATALOG)
|
|
|
|
AC_ARG_WITH(docbook,
|
|
[ --with-docbook add Docbook SGML support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_docbook" = ""
|
|
then
|
|
with_docbook=no
|
|
fi
|
|
if test "$with_docbook" = "no" ; then
|
|
echo Disabling Docbook support
|
|
WITH_DOCB=0
|
|
DOCB_OBJ=
|
|
else
|
|
WITH_DOCB=1
|
|
DOCB_OBJ="DOCBparser.o"
|
|
fi
|
|
AC_SUBST(WITH_DOCB)
|
|
AC_SUBST(DOCB_OBJ)
|
|
|
|
|
|
AC_ARG_WITH(xpath,
|
|
[ --with-xpath add the XPATH support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_xpath" = ""
|
|
then
|
|
with_xpath=no
|
|
fi
|
|
if test "$with_xpath" = "no" ; then
|
|
echo Disabling XPATH support
|
|
with_xptr="no"
|
|
with_c14n="no"
|
|
with_xinclude="no"
|
|
WITH_XPATH=0
|
|
XPATH_OBJ=
|
|
TEST_XPATH=
|
|
else
|
|
WITH_XPATH=1
|
|
XPATH_OBJ=xpath.o
|
|
TEST_XPATH=XPathtests
|
|
fi
|
|
AC_SUBST(WITH_XPATH)
|
|
AC_SUBST(XPATH_OBJ)
|
|
AC_SUBST(TEST_XPATH)
|
|
|
|
AC_ARG_WITH(xptr,
|
|
[ --with-xptr add the XPointer support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_xptr" = ""
|
|
then
|
|
with_xptr=no
|
|
fi
|
|
if test "$with_xptr" = "no" ; then
|
|
echo Disabling XPointer support
|
|
WITH_XPTR=0
|
|
XPTR_OBJ=
|
|
TEST_XPTR=
|
|
else
|
|
WITH_XPTR=1
|
|
XPTR_OBJ=xpointer.o
|
|
TEST_XPTR=XPtrtests
|
|
fi
|
|
AC_SUBST(WITH_XPTR)
|
|
AC_SUBST(XPTR_OBJ)
|
|
AC_SUBST(TEST_XPTR)
|
|
|
|
AC_ARG_WITH(c14n,
|
|
[ --with-c14n add the Canonicalization support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_c14n" = ""
|
|
then
|
|
with_c14n=no
|
|
fi
|
|
if test "$with_c14n" = "no" ; then
|
|
echo Disabling C14N support
|
|
WITH_C14N=0
|
|
C14N_OBJ=
|
|
TEST_C14N=
|
|
else
|
|
WITH_C14N=1
|
|
C14N_OBJ="c14n.c"
|
|
TEST_C14N=C14Ntests
|
|
fi
|
|
AC_SUBST(WITH_C14N)
|
|
AC_SUBST(C14N_OBJ)
|
|
AC_SUBST(TEST_C14N)
|
|
|
|
AC_ARG_WITH(xinclude,
|
|
[ --with-xinclude add the XInclude support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_xinclude" = ""
|
|
then
|
|
with_xinclude=no
|
|
fi
|
|
if test "$with_xinclude" = "no" ; then
|
|
echo Disabling XInclude support
|
|
WITH_XINCLUDE=0
|
|
XINCLUDE_OBJ=
|
|
with_xinclude="no"
|
|
TEST_XINCLUDE=
|
|
else
|
|
WITH_XINCLUDE=1
|
|
XINCLUDE_OBJ=xinclude.o
|
|
TEST_XINCLUDE=XIncludetests
|
|
fi
|
|
AC_SUBST(WITH_XINCLUDE)
|
|
AC_SUBST(XINCLUDE_OBJ)
|
|
AC_SUBST(TEST_XINCLUDE)
|
|
|
|
WITH_ICONV=0
|
|
AC_ARG_WITH(iconv,
|
|
[ --with-iconv[[=DIR]] add ICONV support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_iconv" = ""
|
|
then
|
|
with_iconv=no
|
|
fi
|
|
if test "$with_iconv" = "no" ; then
|
|
echo Disabling ICONV support
|
|
else
|
|
if test "$with_iconv" != "yes" -a "$with_iconv" != "" ; then
|
|
CPPFLAGS="${CPPFLAGS} -I$with_iconv/include"
|
|
# Export this since our headers include iconv.h
|
|
XML_INCLUDEDIR="${XML_INCLUDEDIR} -I$with_iconv/include"
|
|
ICONV_LIBS="-L$with_iconv/lib"
|
|
fi
|
|
|
|
AC_CHECK_HEADER(iconv.h,
|
|
AC_MSG_CHECKING(for iconv)
|
|
AC_TRY_LINK([#include <stdlib.h>
|
|
#include <iconv.h>],[
|
|
iconv_t cd = iconv_open ("","");
|
|
iconv (cd, NULL, NULL, NULL, NULL);],[
|
|
AC_MSG_RESULT(yes)
|
|
WITH_ICONV=1],[
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_CHECKING(for iconv in -liconv)
|
|
|
|
_ldflags="${LDFLAGS}"
|
|
_libs="${LIBS}"
|
|
LDFLAGS="${LDFLAGS} ${ICONV_LIBS}"
|
|
LIBS="${LIBS} -liconv"
|
|
|
|
AC_TRY_LINK([#include <stdlib.h>
|
|
#include <iconv.h>],[
|
|
iconv_t cd = iconv_open ("","");
|
|
iconv (cd, NULL, NULL, NULL, NULL);],[
|
|
AC_MSG_RESULT(yes)
|
|
WITH_ICONV=1
|
|
ICONV_LIBS="${ICONV_LIBS} -liconv"
|
|
LIBS="${_libs}"
|
|
LDFLAGS="${_ldflags}"],[
|
|
AC_MSG_RESULT(no)
|
|
LIBS="${_libs}"
|
|
LDFLAGS="${_ldflags}"])]))
|
|
fi
|
|
case "$host" in
|
|
*mingw*) M_LIBS=""
|
|
;;
|
|
*) M_LIBS="-lm"
|
|
;;
|
|
esac
|
|
XML_LIBS="-lxml2 $Z_LIBS $THREAD_LIBS $ICONV_LIBS $M_LIBS $LIBS"
|
|
XML_LIBTOOLLIBS="libxml2.la"
|
|
AC_SUBST(WITH_ICONV)
|
|
|
|
WITH_ISO8859X=1
|
|
AC_ARG_WITH(iso8859x,
|
|
[ --with-iso8859x add ISO8859X support if no iconv (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_iso8859x" = ""
|
|
then
|
|
with_iso8859x=no
|
|
fi
|
|
if test "$WITH_ICONV" != "1" ; then
|
|
if test "$with_iso8859x" = "no" ; then
|
|
echo Disabling ISO8859X support
|
|
WITH_ISO8859X=0
|
|
fi
|
|
fi
|
|
AC_SUBST(WITH_ISO8859X)
|
|
|
|
AC_ARG_WITH(schemas,
|
|
[ --with-schemas add Relax-NG and experimental Schemas support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_schemas" = ""
|
|
then
|
|
with_schemas=no
|
|
fi
|
|
if test "$with_schemas" = "no" ; then
|
|
echo "Disabled Schemas/Relax-NG support"
|
|
WITH_SCHEMAS=0
|
|
TEST_SCHEMAS=
|
|
else
|
|
echo "Enabled Schemas/Relax-NG support"
|
|
WITH_SCHEMAS=1
|
|
TEST_SCHEMAS="Schemastests Relaxtests"
|
|
with_regexps=yes
|
|
fi
|
|
AC_SUBST(WITH_SCHEMAS)
|
|
AC_SUBST(TEST_SCHEMAS)
|
|
|
|
AC_ARG_WITH(regexps,
|
|
[ --with-regexps add Regular Expressions support (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_regexps" = ""
|
|
then
|
|
with_regexps=no
|
|
fi
|
|
if test "$with_regexps" = "no" ; then
|
|
echo Disabling Regexps support
|
|
WITH_REGEXPS=0
|
|
TEST_REGEXPS=
|
|
else
|
|
WITH_REGEXPS=1
|
|
TEST_REGEXPS="Regexptests Automatatests"
|
|
fi
|
|
AC_SUBST(WITH_REGEXPS)
|
|
AC_SUBST(TEST_REGEXPS)
|
|
|
|
AC_ARG_WITH(debug,
|
|
[ --with-debug add the debugging module (on)])
|
|
if test "$with_minimum" = "yes" -a "$with_debug" = ""
|
|
then
|
|
with_debug=no
|
|
fi
|
|
if test "$with_debug" = "no" ; then
|
|
echo Disabling DEBUG support
|
|
WITH_DEBUG=0
|
|
DEBUG_OBJ=
|
|
TEST_DEBUG=
|
|
else
|
|
WITH_DEBUG=1
|
|
DEBUG_OBJ=debugXML.o
|
|
TEST_DEBUG=Scripttests
|
|
fi
|
|
AC_SUBST(WITH_DEBUG)
|
|
AC_SUBST(DEBUG_OBJ)
|
|
AC_SUBST(TEST_DEBUG)
|
|
|
|
AC_ARG_WITH(mem_debug,
|
|
[ --with-mem-debug add the memory debugging module (off)])
|
|
if test "$with_minimum" = "yes" -a "$with_mem_debug" = ""
|
|
then
|
|
with_mem_debug=no
|
|
fi
|
|
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)
|
|
|
|
|
|
WIN32_EXTRA_LIBADD=
|
|
WIN32_EXTRA_LDFLAGS=
|
|
case "$host" in
|
|
*-*-mingw*)
|
|
CPPFLAGS="$CPPFLAGS -DWIN32"
|
|
WIN32_EXTRA_LIBADD="-lws2_32"
|
|
WIN32_EXTRA_LDFLAGS="-no-undefined"
|
|
AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])
|
|
AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around])
|
|
AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around])
|
|
;;
|
|
esac
|
|
AC_SUBST(WIN32_EXTRA_LIBADD)
|
|
AC_SUBST(WIN32_EXTRA_LDFLAGS)
|
|
|
|
AC_SUBST(CPPFLAGS)
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(XML_CFLAGS)
|
|
|
|
AC_SUBST(XML_LIBDIR)
|
|
AC_SUBST(XML_LIBS)
|
|
AC_SUBST(XML_LIBTOOLLIBS)
|
|
AC_SUBST(ICONV_LIBS)
|
|
AC_SUBST(XML_INCLUDEDIR)
|
|
AC_SUBST(HTML_DIR)
|
|
AC_SUBST(HAVE_ISNAN)
|
|
AC_SUBST(HAVE_ISINF)
|
|
AC_SUBST(PYTHON)
|
|
AC_SUBST(PYTHON_VERSION)
|
|
AC_SUBST(PYTHON_INCLUDES)
|
|
AC_SUBST(PYTHON_SITE_PACKAGES)
|
|
|
|
AC_SUBST(M_LIBS)
|
|
AC_SUBST(RDL_LIBS)
|
|
|
|
dnl for the spec file
|
|
RELDATE=`date +'%a %b %e %Y'`
|
|
AC_SUBST(RELDATE)
|
|
|
|
rm -f COPYING.LIB COPYING
|
|
ln -s Copyright COPYING
|
|
|
|
AC_OUTPUT(libxml2.spec:libxml.spec.in Makefile include/Makefile
|
|
include/libxml/Makefile doc/Makefile doc/examples/Makefile
|
|
example/Makefile python/Makefile python/tests/Makefile
|
|
include/libxml/xmlversion.h xml2-config libxml-2.0.pc
|
|
libxml-2.0-uninstalled.pc xml2Conf.sh python/setup.py)
|
|
|
|
chmod +x xml2-config xml2Conf.sh python/setup.py
|