From 318244e49dcb2544f64a1c80650552ba2d7f18ae Mon Sep 17 00:00:00 2001 From: Yegor Yefremov Date: Thu, 23 Jan 2014 09:04:37 +0100 Subject: [PATCH] Rename deprecated configure.in to configure.ac Automake 1.14 will likely drop support for the long-deprecated 'configure.in' name for the Autoconf input file. --- configure.ac | 1640 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.in | 1640 ---------------------------------------------------------- 2 files changed, 1640 insertions(+), 1640 deletions(-) create mode 100644 configure.ac delete mode 100644 configure.in diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..7374564 --- /dev/null +++ b/configure.ac @@ -0,0 +1,1640 @@ +dnl Process this file with autoconf to produce a configure script. +AC_PREREQ([2.63]) +AC_INIT +AC_CONFIG_SRCDIR([entities.c]) +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CANONICAL_HOST + +LIBXML_MAJOR_VERSION=2 +LIBXML_MINOR_VERSION=9 +LIBXML_MICRO_VERSION=1 +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` + +if test -f CVS/Entries ; then + extra=`grep ChangeLog CVS/Entries | grep -v LIBXML | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%` + echo extra=$extra + if test "$extra" != "" + then + LIBXML_VERSION_EXTRA="-CVS$extra" + fi +else if test -d .svn ; then + extra=`svn info | grep Revision | sed 's+Revision: ++'` + echo extra=$extra + if test "$extra" != "" + then + LIBXML_VERSION_EXTRA="-SVN$extra" + fi +else if test -d .git ; then + extra=`git describe 2>/dev/null | sed 's+LIBXML[[0-9.]]*-++'` + echo extra=$extra + if test "$extra" != "" + then + LIBXML_VERSION_EXTRA="-GIT$extra" + fi +fi +fi +fi +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) +AC_SUBST(LIBXML_VERSION_EXTRA) + +VERSION=${LIBXML_VERSION} + +AM_INIT_AUTOMAKE(libxml2, $VERSION) + +# 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 Checks for programs. +AC_PROG_CC +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MKDIR_P +AC_PROG_CPP +AC_PATH_PROG(MV, mv, /bin/mv) +AC_PATH_PROG(TAR, tar, /bin/tar) +AC_PATH_PROG(PERL, perl, /usr/bin/perl) +AC_PATH_PROG(WGET, wget, /usr/bin/wget) +AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint) +AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc) +PKG_PROG_PKG_CONFIG + +LT_INIT + +dnl +dnl if the system support linker version scripts for symbol versioning +dnl then add it +dnl +VERSION_SCRIPT_FLAGS= +# lt_cv_prog_gnu_ld is from libtool 2.+ +if test "$lt_cv_prog_gnu_ld" = yes; then + VERSION_SCRIPT_FLAGS=-Wl,--version-script= +else + case $host in + *-*-sunos*) VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,";; + esac +fi +AC_SUBST(VERSION_SCRIPT_FLAGS) +AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"]) + +dnl +dnl We process the AC_ARG_WITH first so that later we can modify +dnl some of them to try to prevent impossible combinations. This +dnl also allows up so alphabetize the choices +dnl + +dnl +dnl zlib option might change flags, so we save them initially +dnl +_cppflags="${CPPFLAGS}" +_libs="${LIBS}" + +AC_ARG_WITH(c14n, +[ --with-c14n add the Canonicalization support (on)]) +AC_ARG_WITH(catalog, +[ --with-catalog add the Catalog support (on)]) +AC_ARG_WITH(debug, +[ --with-debug add the debugging module (on)]) +AC_ARG_WITH(docbook, +[ --with-docbook add Docbook SGML support (on)]) +AC_ARG_WITH(fexceptions, +[ --with-fexceptions add GCC flag -fexceptions for C++ exceptions (off)]) +AC_ARG_WITH(ftp, +[ --with-ftp add the FTP support (on)]) +AC_ARG_WITH(history, +[ --with-history add history support to xmllint shell(off)]) +AC_ARG_WITH(html, +[ --with-html add the HTML support (on)]) +dnl Specific dir for HTML output ? +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_WITH(http, +[ --with-http add the HTTP support (on)]) +AC_ARG_WITH(iconv, +[ --with-iconv[[=DIR]] add ICONV support (on)]) +AC_ARG_WITH(icu, +[ --with-icu add ICU support (off)]) +AC_ARG_WITH(iso8859x, +[ --with-iso8859x add ISO8859X support if no iconv (on)]) +AC_ARG_WITH(legacy, +[ --with-legacy add deprecated APIs for compatibility (on)]) +AC_ARG_WITH(mem_debug, +[ --with-mem-debug add the memory debugging module (off)]) +AC_ARG_WITH(minimum, +[ --with-minimum build a minimally sized library (off)]) +AC_ARG_WITH(output, +[ --with-output add the serialization support (on)]) +AC_ARG_WITH(pattern, +[ --with-pattern add the xmlPattern selection interface (on)]) +AC_ARG_WITH(push, +[ --with-push add the PUSH parser interfaces (on)]) +AC_ARG_WITH(python, +[ --with-python[[=DIR]] build Python bindings if found]) +AC_ARG_WITH(reader, +[ --with-reader add the xmlReader parsing interface (on)]) +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" + LIBS="${LIBS} -L$withval/lib" + fi +]) +AC_ARG_WITH(regexps, +[ --with-regexps add Regular Expressions support (on)]) +AC_ARG_WITH(run_debug, +[ --with-run-debug add the runtime debugging module (off)]) +AC_ARG_WITH(sax1, +[ --with-sax1 add the older SAX1 interface (on)]) +AC_ARG_WITH(schemas, +[ --with-schemas add Relax-NG and Schemas support (on)]) +AC_ARG_WITH(schematron, +[ --with-schematron add Schematron support (on)]) +AC_ARG_WITH(threads, +[ --with-threads add multithread support(on)]) +AC_ARG_WITH(thread-alloc, +[ --with-thread-alloc add per-thread memory(off)]) +AC_ARG_WITH(tree, +[ --with-tree add the DOM like tree manipulation APIs (on)]) +AC_ARG_WITH(valid, +[ --with-valid add the DTD validation support (on)]) +AC_ARG_WITH(writer, +[ --with-writer add the xmlWriter saving interface (on)]) +AC_ARG_WITH(xinclude, +[ --with-xinclude add the XInclude support (on)]) +AC_ARG_WITH(xpath, +[ --with-xpath add the XPATH support (on)]) +AC_ARG_WITH(xptr, +[ --with-xptr add the XPointer support (on)]) +AC_ARG_WITH(modules, +[ --with-modules add the dynamic modules support (on)]) +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" + LIBS="${LIBS} -L$withval/lib" + fi +]) +AC_ARG_WITH(lzma, +[ --with-lzma[[=DIR]] use liblzma in DIR],[ + if test "$withval" != "no" -a "$withval" != "yes"; then + LZMA_DIR=$withval + CPPFLAGS="${CPPFLAGS} -I$withval/include" + LIBS="${LIBS} -L$withval/lib" + fi +]) +AC_ARG_WITH(coverage, +[ --with-coverage build for code coverage with GCC (off)]) + +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" -o "$USER" = "veillard"]) + +dnl +dnl hard dependancies on options +dnl +if test "$with_schemas" = "yes" +then + with_pattern=yes + with_regexps=yes +fi +if test "$with_schematron" = "yes" +then + with_pattern=yes + with_xpath=yes +fi +if test "$with_reader" = "yes" +then + with_push=yes +fi +if test "$with_xptr" = "yes" +then + with_xpath=yes +fi +dnl +dnl option to build a minimal libxml2 library +dnl +if test "$with_minimum" = "yes" +then + echo "Configuring for a minimal library" + if test "$with_c14n" = "" + then + with_c14n=no + fi + if test "$with_catalog" = "" + then + with_catalog=no + fi + echo So far so good! + if test "$with_debug" = "" + then + with_debug=no + fi + if test "$with_docbook" = "" + then + with_docbook=no + fi + if test "$with_fexceptions" = "" + then + with_fexceptions=no + fi + if test "$with_ftp" = "" + then + with_ftp=no + fi + if test "$with_history" = "" + then + with_history=no + fi + if test "$with_html" = "" + then + with_html=no + fi + if test "$with_http" = "" + then + with_http=no + fi + if test "$with_iconv" = "" + then + with_iconv=no + fi + if test "$with_iso8859x" = "" + then + with_iso8859x=no + fi + if test "$with_legacy" = "" + then + with_legacy=no + fi + if test "$with_mem_debug" = "" + then + with_mem_debug=no + fi + if test "$with_output" = "" + then + with_output=no + fi + if test "$with_pattern" = "" + then + with_pattern=no + fi + if test "$with_push" = "" + then + with_push=no + fi + if test "$with_python" = "" + then + with_python=no + fi + if test "$with_reader" = "" + then + with_reader=no + fi + if test "$with_readline" = "" + then + with_readline=no + fi + if test "$with_regexps" = "" + then + with_regexps=no + fi + if test "$with_run_debug" = "" + then + with_run_debug=no + fi + if test "$with_sax1" = "" + then + with_sax1=no + fi + if test "$with_schemas" = "" + then + with_schemas=no + fi + if test "$with_schematron" = "" + then + with_schematron=no + fi + if test "$with_threads" = "" + then + with_threads=no + fi + if test "$with_thread_alloc" = "" + then + with_thread_alloc=no + fi + if test "$with_tree" = "" + then + with_tree=no + fi + if test "$with_valid" = "" + then + with_valid=no + fi + if test "$with_writer" = "" + then + with_writer=no + fi + if test "$with_xinclude" = "" + then + with_xinclude=no + fi + if test "$with_xpath" = "" + then + with_xpath=no + fi + if test "$with_xptr" = "" + then + with_xptr=no + fi + if test "$with_zlib" = "" + then + with_zlib=no + fi + if test "$with_modules" = "" + then + with_modules=no + fi +fi + +echo Checking zlib + +dnl Checks for zlib library. + +WITH_ZLIB=0 +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], [1], [Have compression library]) + WITH_ZLIB=1 + 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) +AC_SUBST(WITH_ZLIB) + +echo Checking lzma + +dnl Checks for lzma library. + +WITH_LZMA=0 +if test "$with_lzma" = "no"; then + echo "Disabling compression support" +else + # Try pkg-config first so that static linking works. + # If this succeeeds, we ignore the WITH_LZMA directory. + PKG_CHECK_MODULES([LZMA],[liblzma], + [have_liblzma=yes], + [have_liblzma=no]) + + # If pkg-config failed, fall back to AC_CHECK_LIB. This + # will not pick up the necessary LIBS flags for liblzma's + # private dependencies, though, so static linking may fail. + if test "x$have_liblzma" = "xno"; then + AC_CHECK_HEADERS(lzma.h, + AC_CHECK_LIB(lzma, lzma_code,[ + have_liblzma=yes + if test "x${LZMA_DIR}" != "x"; then + LZMA_CFLAGS="-I${LZMA_DIR}/include" + LZMA_LIBS="-L${LZMA_DIR}/lib -llzma" + else + LZMA_LIBS="-llzma" + fi], + [have_liblzma=no])) + fi + + # Found the library via either method? + if test "x$have_liblzma" = "xyes"; then + AC_DEFINE([HAVE_LIBLZMA], [1], [Have compression library]) + WITH_LZMA=1 + fi +fi + +AC_SUBST(LZMA_CFLAGS) +AC_SUBST(LZMA_LIBS) +AC_SUBST(WITH_LZMA) + +CPPFLAGS=${_cppflags} +LIBS=${_libs} + +echo Checking headers + +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([stdint.h]) +AC_CHECK_HEADERS([inttypes.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 +# endif +]) +AC_CHECK_HEADERS([netinet/in.h], [], [], +[#if HAVE_SYS_TYPES_H +# include +# endif +]) +AC_CHECK_HEADERS([arpa/inet.h], [], [], +[#if HAVE_SYS_TYPES_H +# include +# endif +#if HAVE_ARPA_INET_H +# include +# endif +]) +AC_CHECK_HEADERS([netdb.h]) +AC_CHECK_HEADERS([sys/time.h]) +AC_CHECK_HEADERS([sys/select.h]) +AC_CHECK_HEADERS([poll.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 +# endif +]) +AC_CHECK_HEADERS([resolv.h], [], [], +[#if HAVE_SYS_TYPES_H +# include +# endif +#if HAVE_NETINET_IN_H +# include +# endif +#if HAVE_ARPA_NAMESER_H +# include +# endif +]) +AC_CHECK_HEADERS([dl.h]) +AC_CHECK_HEADERS([dlfcn.h]) + + +echo Checking types + +AC_TYPE_UINT32_T + + +echo Checking libraries + +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) +AC_CHECK_FUNCS(rand rand_r srand time) +AC_CHECK_FUNCS(isascii mmap munmap putenv) + +AH_VERBATIM([HAVE_MUNMAP_AFTER],[/* mmap() is no good without munmap() */ +#if defined(HAVE_MMAP) && !defined(HAVE_MUNMAP) +# undef /**/ HAVE_MMAP +#endif]) + +dnl Checking for va_copy availability +AC_MSG_CHECKING([for va_copy]) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +va_list ap1,ap2;]], [[va_copy(ap1,ap2);]])], +have_va_copy=yes, +have_va_copy=no) +AC_MSG_RESULT($have_va_copy) +if test x"$have_va_copy" = x"yes"; then + AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available]) +else + AC_MSG_CHECKING([for __va_copy]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include + va_list ap1,ap2;]], [[__va_copy(ap1,ap2);]])], + have___va_copy=yes, + have___va_copy=no) + AC_MSG_RESULT($have___va_copy) + if test x"$have___va_copy" = x"yes"; then + AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available]) + fi +fi + +dnl Checking whether va_list is an array type +AC_MSG_CHECKING([whether va_list is an array type]) +AC_TRY_COMPILE2([ +#include +void a(va_list * ap) {}],[ +va_list ap1, ap2; a(&ap1); ap2 = (va_list) ap1],[ + AC_MSG_RESULT(no)],[ + AC_MSG_RESULT(yes) + AC_DEFINE([VA_LIST_IS_ARRAY], [1],[Define if va_list is an array type])]) + +dnl Checks for inet libraries: +AC_SEARCH_LIBS(gethostent, [nsl]) +AC_SEARCH_LIBS(setsockopt, [socket net network]) +AC_SEARCH_LIBS(connect, [inet]) + +dnl Determine what socket length (socklen_t) data type is +AC_MSG_CHECKING([for type of socket length (socklen_t)]) +AC_TRY_COMPILE2([ +#include +#include +#include ],[ +(void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[ + AC_MSG_RESULT(socklen_t *) + XML_SOCKLEN_T=socklen_t],[ + AC_TRY_COMPILE2([ +#include +#include +#include ],[ +(void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)],[ + AC_MSG_RESULT(size_t *) + XML_SOCKLEN_T=size_t],[ + AC_TRY_COMPILE2([ +#include +#include +#include ],[ +(void)getsockopt (1, 1, 1, NULL, (int *)NULL)],[ + AC_MSG_RESULT(int *) + XML_SOCKLEN_T=int],[ + AC_MSG_WARN(could not determine) + XML_SOCKLEN_T="int"])])]) +AC_DEFINE_UNQUOTED(XML_SOCKLEN_T, $XML_SOCKLEN_T, [Determine what socket length (socklen_t) data type is]) + +dnl Checking if gethostbyname() argument is const. +AC_MSG_CHECKING([for const gethostbyname() argument]) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[(void)gethostbyname((const char *)"");]])], +have_gethostbyname_const_arg=yes, +have_gethostbyname_const_arg=no) +AC_MSG_RESULT($have_gethostbyname_const_arg) +if test x"$have_gethostbyname_const_arg" = x"yes"; then + AC_DEFINE([GETHOSTBYNAME_ARG_CAST], [], + [Type cast for the gethostbyname() argument]) +else + AC_DEFINE([GETHOSTBYNAME_ARG_CAST], [(char *)], + [Type cast for the gethostbyname() argument]) +fi + +dnl Checking if send() second argument is const. +AC_MSG_CHECKING([for const send() second argument]) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], + [[(void)send(1,(const char *)"",1,1);]])], +have_send_const_arg2=yes, +have_send_const_arg2=no) +AC_MSG_RESULT($have_send_const_arg2) +if test x"$have_send_const_arg2" = x"yes"; then + AC_DEFINE([SEND_ARG2_CAST], [], + [Type cast for the send() function 2nd arg]) +else + AC_DEFINE([SEND_ARG2_CAST], [(char *)], + [Type cast for the send() function 2nd arg]) +fi + +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 [[default=yes]]],, enable_ipv6=yes) +if test "$with_minimum" = "yes" +then + enable_ipv6=no +fi +if test $enable_ipv6 = yes; then + have_ipv6=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +# include +# include + ]], [[ + 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_broken_ss_family=no + + dnl ********************************************************************* + dnl on some platforms (like AIX 5L), the structure sockaddr doesn't have + dnl a ss_family member, but rather __ss_family. Let's detect that + dnl and define the HAVE_BROKEN_SS_FAMILY when we are on one of these + dnl platforms. However, we should only do this if ss_family is not + dnl present. + dnl ******************************************************************** + AC_MSG_CHECKING([struct sockaddr::ss_family]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +# include +# include + ]], [[ + struct sockaddr_storage ss ; + ss.ss_family = 0 ; + ]])], + have_ss_family=yes, + have_ss_family=no + ) + AC_MSG_RESULT($have_ss_family) + if test x$have_ss_family = xno ; then + AC_MSG_CHECKING([broken struct sockaddr::ss_family]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +# include +# include + ]], [[ + struct sockaddr_storage ss ; + ss.__ss_family = 0 ; + ]])], + have_broken_ss_family=yes, + have_broken_ss_family=no + ) + AC_MSG_RESULT($have_broken_ss_family) + if test x$have_broken_ss_family = xyes ; then + AC_DEFINE(HAVE_BROKEN_SS_FAMILY, [], + [Whether struct sockaddr::__ss_family exists]) + AC_DEFINE(ss_family, __ss_family, + [ss_family is not defined here, use __ss_family instead]) + else + AC_MSG_WARN(ss_family and __ss_family not found) + fi + fi + + 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="" + +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 + hppa*-*-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 + + # warnings we'd like to see + CFLAGS="${CFLAGS} -pedantic -W -Wformat -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" + # warnings we'd like to supress + CFLAGS="${CFLAGS} -Wno-long-long" + 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 + ;; + *-*-mingw* | *-*-cygwin* | *-*-msvc* ) + # If the host is Windows, and shared libraries are disabled, we + # need to add -DLIBXML_STATIC to CFLAGS in order for linking to + # work properly (without it, xmlexports.h would force the use of + # DLL imports, which obviously aren't present in a static + # library). + if test "x$enable_shared" = "xno"; then + XML_CFLAGS="$XML_CFLAGS -DLIBXML_STATIC" + CFLAGS="$CFLAGS -DLIBXML_STATIC" + fi + ;; +esac + + +dnl +dnl check for python +dnl + +PYTHON_VERSION= +PYTHON_INCLUDES= +PYTHON_SITE_PACKAGES= +PYTHON_TESTS= +pythondir= +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 + 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 "$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())"` + 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) + +dnl check for dso support +WITH_MODULES=0 +TEST_MODULES= + +if test "$with_modules" != "no" ; then + case "$host" in + *-*-cygwin*) + MODULE_EXTENSION=".dll" + AC_CHECK_LIB(cygwin, dlopen, [ + WITH_MODULES=1 + MODULE_PLATFORM_LIBS= + AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso]) + ]) + ;; + *-*-mingw*) + MODULE_EXTENSION=".dll" + WITH_MODULES=1 + ;; + *) + AC_CHECK_FUNC(shl_load, libxml_have_shl_load=yes, [ + AC_CHECK_LIB(dld, shl_load, [ + MODULE_PLATFORM_LIBS="-ldld" + libxml_have_shl_load=yes], [ + AC_CHECK_FUNC(dlopen, libxml_have_dlopen=yes, [ + AC_CHECK_LIB(dl, dlopen, [ + MODULE_PLATFORM_LIBS="-ldl" + libxml_have_dlopen=yes])])])]) + + if test "${libxml_have_shl_load}" = "yes"; then + MODULE_EXTENSION=".sl" + WITH_MODULES=1 + AC_DEFINE([HAVE_SHLLOAD], [], [Have shl_load based dso]) + fi + + if test "${libxml_have_dlopen}" = "yes"; then + case "${host}" in + *-*-hpux* ) + MODULE_EXTENSION=".sl" + ;; + * ) + MODULE_EXTENSION=".so" + ;; + esac + + WITH_MODULES=1 + AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso]) + fi + ;; + esac +fi + +if test "${WITH_MODULES}" = "1"; then + TEST_MODULES="ModuleTests" +fi + +AC_SUBST(WITH_MODULES) +AC_SUBST(MODULE_PLATFORM_LIBS) +AC_SUBST(MODULE_EXTENSION) +AC_SUBST(TEST_MODULES) + +dnl +dnl Tester makes use of readline if present +dnl + +dnl +dnl specific tests to setup DV and Bill's devel environments with debug etc ... +dnl (-Wunreachable-code) +dnl +if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ]] || \ + [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/home/veillard/libxml2" ]] || \ + [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomesvn/libxml2" ]] + then + if test "$with_minimum" != "yes" + then + if test "${with_mem_debug}" = "" ; then + echo Activating memory debugging + with_mem_debug="yes" + with_run_debug="yes" + fi + if test "${with_docbook}" = "" ; then + with_docbook="yes" + fi + fi + if test "${GCC}" = "yes" ; then + CFLAGS="-g -O -pedantic -W -Wformat -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 -Wall" + fi + 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 +echo Checking configuration requirements + +dnl +dnl Thread-related stuff +dnl +THREAD_LIBS="" +BASE_THREAD_LIBS="" +WITH_THREADS=0 +THREAD_CFLAGS="" +TEST_THREADS="" +THREADS_W32="" +WITH_THREAD_ALLOC=0 + +if test "$with_threads" = "no" ; then + echo Disabling multithreaded support +else + echo Enabling multithreaded support + + dnl Default to native threads on Win32 + case $host_os in + *mingw32*) if test "$with_threads" != "pthread" && test "$with_threads" != "no"; then + WITH_THREADS="1" + THREADS_W32="1" + THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS" + fi + ;; + esac + + dnl Use pthread by default in other cases + if test -z "$THREADS_W32"; then + if test "$with_threads" = "pthread" || test "$with_threads" = "" || test "$with_threads" = "yes" ; then + 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 is there]) + WITH_THREADS="1"])) + fi + fi + + case $host_os in + *cygwin*) THREAD_LIBS="" + ;; + *beos*) WITH_THREADS="1" + THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS" + ;; + *linux*) + if test "${GCC}" = "yes" ; then + GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'` + GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'` + GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[[0-9]]*\.++' | sed 's+\..*++'` + if test "${THREAD_LIBS}" = "-lpthread" ; then + if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null + then + THREAD_LIBS="" + BASE_THREAD_LIBS="-lpthread" + else + if expr ${GCC_MAJOR} \> 3 > /dev/null + then + THREAD_LIBS="" + BASE_THREAD_LIBS="-lpthread" + else + echo old GCC disabling weak symbols for pthread + fi + fi + fi + fi + ;; + esac + if test "$WITH_THREADS" = "1" ; then + THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT" + TEST_THREADS="Threadtests" + fi +fi +if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then + WITH_THREAD_ALLOC=1 +fi + +AC_SUBST(THREAD_LIBS) +AC_SUBST(BASE_THREAD_LIBS) +AC_SUBST(WITH_THREADS) +AC_SUBST(THREAD_CFLAGS) +AC_SUBST(TEST_THREADS) +AC_SUBST(WITH_THREAD_ALLOC) +AM_CONDITIONAL([THREADS_W32],[test -n "$THREADS_W32"]) + +dnl +dnl xmllint shell history +dnl +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" + fi +fi + +dnl +dnl Tree functions +dnl +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) + +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) + +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) + +if test "$with_legacy" = "no" ; then + echo Disabling deprecated APIs + WITH_LEGACY=0 +else + WITH_LEGACY=1 +fi +AC_SUBST(WITH_LEGACY) + +if test "$with_reader" = "no" ; then + echo Disabling the xmlReader parsing interface + WITH_READER=0 + READER_TEST= +else + WITH_READER=1 + READER_TEST=Readertests + if test "$with_push" = "no" ; then + echo xmlReader requires Push interface - enabling it + with_push=yes + fi +fi +AC_SUBST(WITH_READER) +AC_SUBST(READER_TEST) + +if test "$with_writer" = "no" ; then + echo Disabling the xmlWriter saving interface + WITH_WRITER=0 +# WRITER_TEST= +else + WITH_WRITER=1 +# WRITER_TEST=Writertests + if test "$with_push" = "no" ; then + echo xmlWriter requires Push interface - enabling it + with_push=yes + fi + if test "$with_output" = "no" ; then + echo xmlWriter requires Output interface - enabling it + with_output=yes + fi +fi +AC_SUBST(WITH_WRITER) +#AC_SUBST(WRITER_TEST) + +if test "$with_pattern" = "no" ; then + echo Disabling the xmlPattern parsing interface + WITH_PATTERN=0 + TEST_PATTERN= +else + WITH_PATTERN=1 + TEST_PATTERN=Patterntests +fi +AC_SUBST(WITH_PATTERN) +AC_SUBST(TEST_PATTERN) + +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) +AM_CONDITIONAL(WITH_SAX1_SOURCES, test "${WITH_TRIO}" = "1") +AC_SUBST(TEST_SAX) + +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) + +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) + +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) + +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) + +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) + + +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 + if test "$with_xpath" = "no" ; then + echo XPointer requires XPath support - enabling it + with_xpath=yes + fi +fi +AC_SUBST(WITH_XPTR) +AC_SUBST(XPTR_OBJ) +AC_SUBST(TEST_XPTR) + +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 + if test "$with_xpath" = "no" ; then + echo C14N requires XPath support - enabling it + with_xpath=yes + fi +fi +AC_SUBST(WITH_C14N) +AC_SUBST(C14N_OBJ) +AC_SUBST(TEST_C14N) + +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 + if test "$with_xpath" = "no" ; then + echo XInclude requires XPath support - enabling it + with_xpath=yes + fi +fi +AC_SUBST(WITH_XINCLUDE) +AC_SUBST(XINCLUDE_OBJ) +AC_SUBST(TEST_XINCLUDE) + +if test "$with_xpath" = "no" ; then + echo Disabling XPATH support + 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) + +dnl +dnl output functions +dnl +if test "$with_output" = "no" ; then + echo Disabling serialization/saving support + WITH_OUTPUT=0 +else + WITH_OUTPUT=1 +fi +AC_SUBST(WITH_OUTPUT) + +WITH_ICONV=0 +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_LINK_IFELSE([AC_LANG_PROGRAM([[#include +#include ]],[[ +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_LINK_IFELSE([AC_LANG_PROGRAM([[#include +#include ]],[[ +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}"])])) + + if test "$WITH_ICONV" = "1" ; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(xml_cv_iconv_arg2, [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +]], [])], xml_cv_iconv_arg2="", xml_cv_iconv_arg2="const")]) + + xml_cv_iconv_decl="extern size_t iconv (iconv_t cd, $xml_cv_iconv_arg2 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" + AC_MSG_RESULT([${xml_xxx:- + }$xml_cv_iconv_decl]) + AC_DEFINE_UNQUOTED(ICONV_CONST, $xml_cv_iconv_arg2, + [Define as const if the declaration of iconv() needs const.]) + fi +fi +case "$host" in + *mingw*) M_LIBS="" + ;; + *beos*) M_LIBS="" + ;; + *haiku*) 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_ICU=0 +ICU_LIBS="" +if test "$with_icu" != "yes" ; then + echo Disabling ICU support +else + ICU_CONFIG=icu-config + if ${ICU_CONFIG} --cflags >/dev/null 2>&1 + then + ICU_LIBS=`${ICU_CONFIG} --ldflags` + WITH_ICU=1 + echo Enabling ICU support + else + AC_MSG_ERROR([libicu config program icu-config not found]) + fi +fi +AC_SUBST(WITH_ICU) +AC_SUBST(ICU_LIBS) + +WITH_ISO8859X=1 +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) + +if test "$with_schematron" = "no" ; then + echo "Disabling Schematron support" + WITH_SCHEMATRON=0 + TEST_SCHEMATRON= +else + echo "Enabled Schematron support" + WITH_SCHEMATRON=1 + TEST_SCHEMATRON="Schematrontests" + with_xpath=yes + with_pattern=yes +fi +AC_SUBST(WITH_SCHEMATRON) +AC_SUBST(TEST_SCHEMATRON) + +if test "$with_schemas" = "no" ; then + echo "Disabling Schemas/Relax-NG support" + WITH_SCHEMAS=0 + TEST_SCHEMAS= +else + echo "Enabled Schemas/Relax-NG support" + WITH_SCHEMAS=1 + TEST_SCHEMAS="Schemastests Relaxtests" + if test "$PYTHON_INCLUDES" != "" ; then + PYTHON_TESTS="$PYTHON_TESTS RelaxNGPythonTests SchemasPythonTests" + fi + with_regexps=yes +fi +AC_SUBST(WITH_SCHEMAS) +AC_SUBST(TEST_SCHEMAS) + +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) + +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) + +if test "$with_mem_debug" = "yes" ; then + if test "$with_thread_alloc" = "yes" ; then + echo Disabling memory debug - cannot use mem-debug with thread-alloc! + WITH_MEM_DEBUG=0 + else + echo Enabling memory debug support + WITH_MEM_DEBUG=1 + fi +else + WITH_MEM_DEBUG=0 +fi +AC_SUBST(WITH_MEM_DEBUG) + +if test "$with_run_debug" = "yes" ; then + echo Enabling runtime debug support + WITH_RUN_DEBUG=1 +else + WITH_RUN_DEBUG=0 +fi +AC_SUBST(WITH_RUN_DEBUG) + +WIN32_EXTRA_LIBADD= +WIN32_EXTRA_LDFLAGS= +CYGWIN_EXTRA_LDFLAGS= +CYGWIN_EXTRA_PYTHON_LIBADD= +WIN32_EXTRA_PYTHON_LIBADD= +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]) + if test "${PYTHON}" != "" + then + WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)" + fi + ;; + *-*-cygwin*) + CYGWIN_EXTRA_LDFLAGS="-no-undefined" + if test "${PYTHON}" != "" + then + CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}" + fi + ;; +esac +AC_SUBST(WIN32_EXTRA_LIBADD) +AC_SUBST(WIN32_EXTRA_LDFLAGS) +AC_SUBST(WIN32_EXTRA_PYTHON_LIBADD) +AC_SUBST(CYGWIN_EXTRA_LDFLAGS) +AC_SUBST(CYGWIN_EXTRA_PYTHON_LIBADD) + +dnl Checking the standard string functions availability +dnl +dnl Note mingw* has C99 implementation that produce expected xml numbers +dnl if code use {v}snprintf functions. +dnl If you like to activate at run-time C99 compatible number output +dnl see release note for mingw runtime 3.15: +dnl http://sourceforge.net/project/shownotes.php?release_id=24832 +dnl +dnl Also *win32*config.h files redefine them for various MSC compilers. +dnl +dnl So do not redefine {v}snprintf to _{v}snprintf like follwing: +dnl AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around]) +dnl AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around]) +dnl and do not redefine those functions is C-source files. +dnl +AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,, + NEED_TRIO=1) + +if test "$with_coverage" = "yes" -a "${GCC}" = "yes" +then + echo Enabling code coverage for GCC + CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage" + LDFLAGS="$LDFLAGS -fprofile-arcs -ftest-coverage" +else + echo Disabling code coverage for GCC +fi + +AC_SUBST(CPPFLAGS) +AC_SUBST(CFLAGS) +AC_SUBST(LDFLAGS) +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) +AC_SUBST(PYTHON_TESTS) + +rm -f COPYING.LIB COPYING +ln -s $srcdir/Copyright COPYING + +# keep on one line for cygwin c.f. #130896 +AC_CONFIG_FILES([libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py]) +AC_OUTPUT + +chmod +x xml2-config python/setup.py +echo Done configuring diff --git a/configure.in b/configure.in deleted file mode 100644 index 7374564..0000000 --- a/configure.in +++ /dev/null @@ -1,1640 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_PREREQ([2.63]) -AC_INIT -AC_CONFIG_SRCDIR([entities.c]) -AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CANONICAL_HOST - -LIBXML_MAJOR_VERSION=2 -LIBXML_MINOR_VERSION=9 -LIBXML_MICRO_VERSION=1 -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` - -if test -f CVS/Entries ; then - extra=`grep ChangeLog CVS/Entries | grep -v LIBXML | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%` - echo extra=$extra - if test "$extra" != "" - then - LIBXML_VERSION_EXTRA="-CVS$extra" - fi -else if test -d .svn ; then - extra=`svn info | grep Revision | sed 's+Revision: ++'` - echo extra=$extra - if test "$extra" != "" - then - LIBXML_VERSION_EXTRA="-SVN$extra" - fi -else if test -d .git ; then - extra=`git describe 2>/dev/null | sed 's+LIBXML[[0-9.]]*-++'` - echo extra=$extra - if test "$extra" != "" - then - LIBXML_VERSION_EXTRA="-GIT$extra" - fi -fi -fi -fi -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) -AC_SUBST(LIBXML_VERSION_EXTRA) - -VERSION=${LIBXML_VERSION} - -AM_INIT_AUTOMAKE(libxml2, $VERSION) - -# 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 Checks for programs. -AC_PROG_CC -AC_PROG_INSTALL -AC_PROG_LN_S -AC_PROG_MKDIR_P -AC_PROG_CPP -AC_PATH_PROG(MV, mv, /bin/mv) -AC_PATH_PROG(TAR, tar, /bin/tar) -AC_PATH_PROG(PERL, perl, /usr/bin/perl) -AC_PATH_PROG(WGET, wget, /usr/bin/wget) -AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint) -AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc) -PKG_PROG_PKG_CONFIG - -LT_INIT - -dnl -dnl if the system support linker version scripts for symbol versioning -dnl then add it -dnl -VERSION_SCRIPT_FLAGS= -# lt_cv_prog_gnu_ld is from libtool 2.+ -if test "$lt_cv_prog_gnu_ld" = yes; then - VERSION_SCRIPT_FLAGS=-Wl,--version-script= -else - case $host in - *-*-sunos*) VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,";; - esac -fi -AC_SUBST(VERSION_SCRIPT_FLAGS) -AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"]) - -dnl -dnl We process the AC_ARG_WITH first so that later we can modify -dnl some of them to try to prevent impossible combinations. This -dnl also allows up so alphabetize the choices -dnl - -dnl -dnl zlib option might change flags, so we save them initially -dnl -_cppflags="${CPPFLAGS}" -_libs="${LIBS}" - -AC_ARG_WITH(c14n, -[ --with-c14n add the Canonicalization support (on)]) -AC_ARG_WITH(catalog, -[ --with-catalog add the Catalog support (on)]) -AC_ARG_WITH(debug, -[ --with-debug add the debugging module (on)]) -AC_ARG_WITH(docbook, -[ --with-docbook add Docbook SGML support (on)]) -AC_ARG_WITH(fexceptions, -[ --with-fexceptions add GCC flag -fexceptions for C++ exceptions (off)]) -AC_ARG_WITH(ftp, -[ --with-ftp add the FTP support (on)]) -AC_ARG_WITH(history, -[ --with-history add history support to xmllint shell(off)]) -AC_ARG_WITH(html, -[ --with-html add the HTML support (on)]) -dnl Specific dir for HTML output ? -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_WITH(http, -[ --with-http add the HTTP support (on)]) -AC_ARG_WITH(iconv, -[ --with-iconv[[=DIR]] add ICONV support (on)]) -AC_ARG_WITH(icu, -[ --with-icu add ICU support (off)]) -AC_ARG_WITH(iso8859x, -[ --with-iso8859x add ISO8859X support if no iconv (on)]) -AC_ARG_WITH(legacy, -[ --with-legacy add deprecated APIs for compatibility (on)]) -AC_ARG_WITH(mem_debug, -[ --with-mem-debug add the memory debugging module (off)]) -AC_ARG_WITH(minimum, -[ --with-minimum build a minimally sized library (off)]) -AC_ARG_WITH(output, -[ --with-output add the serialization support (on)]) -AC_ARG_WITH(pattern, -[ --with-pattern add the xmlPattern selection interface (on)]) -AC_ARG_WITH(push, -[ --with-push add the PUSH parser interfaces (on)]) -AC_ARG_WITH(python, -[ --with-python[[=DIR]] build Python bindings if found]) -AC_ARG_WITH(reader, -[ --with-reader add the xmlReader parsing interface (on)]) -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" - LIBS="${LIBS} -L$withval/lib" - fi -]) -AC_ARG_WITH(regexps, -[ --with-regexps add Regular Expressions support (on)]) -AC_ARG_WITH(run_debug, -[ --with-run-debug add the runtime debugging module (off)]) -AC_ARG_WITH(sax1, -[ --with-sax1 add the older SAX1 interface (on)]) -AC_ARG_WITH(schemas, -[ --with-schemas add Relax-NG and Schemas support (on)]) -AC_ARG_WITH(schematron, -[ --with-schematron add Schematron support (on)]) -AC_ARG_WITH(threads, -[ --with-threads add multithread support(on)]) -AC_ARG_WITH(thread-alloc, -[ --with-thread-alloc add per-thread memory(off)]) -AC_ARG_WITH(tree, -[ --with-tree add the DOM like tree manipulation APIs (on)]) -AC_ARG_WITH(valid, -[ --with-valid add the DTD validation support (on)]) -AC_ARG_WITH(writer, -[ --with-writer add the xmlWriter saving interface (on)]) -AC_ARG_WITH(xinclude, -[ --with-xinclude add the XInclude support (on)]) -AC_ARG_WITH(xpath, -[ --with-xpath add the XPATH support (on)]) -AC_ARG_WITH(xptr, -[ --with-xptr add the XPointer support (on)]) -AC_ARG_WITH(modules, -[ --with-modules add the dynamic modules support (on)]) -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" - LIBS="${LIBS} -L$withval/lib" - fi -]) -AC_ARG_WITH(lzma, -[ --with-lzma[[=DIR]] use liblzma in DIR],[ - if test "$withval" != "no" -a "$withval" != "yes"; then - LZMA_DIR=$withval - CPPFLAGS="${CPPFLAGS} -I$withval/include" - LIBS="${LIBS} -L$withval/lib" - fi -]) -AC_ARG_WITH(coverage, -[ --with-coverage build for code coverage with GCC (off)]) - -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" -o "$USER" = "veillard"]) - -dnl -dnl hard dependancies on options -dnl -if test "$with_schemas" = "yes" -then - with_pattern=yes - with_regexps=yes -fi -if test "$with_schematron" = "yes" -then - with_pattern=yes - with_xpath=yes -fi -if test "$with_reader" = "yes" -then - with_push=yes -fi -if test "$with_xptr" = "yes" -then - with_xpath=yes -fi -dnl -dnl option to build a minimal libxml2 library -dnl -if test "$with_minimum" = "yes" -then - echo "Configuring for a minimal library" - if test "$with_c14n" = "" - then - with_c14n=no - fi - if test "$with_catalog" = "" - then - with_catalog=no - fi - echo So far so good! - if test "$with_debug" = "" - then - with_debug=no - fi - if test "$with_docbook" = "" - then - with_docbook=no - fi - if test "$with_fexceptions" = "" - then - with_fexceptions=no - fi - if test "$with_ftp" = "" - then - with_ftp=no - fi - if test "$with_history" = "" - then - with_history=no - fi - if test "$with_html" = "" - then - with_html=no - fi - if test "$with_http" = "" - then - with_http=no - fi - if test "$with_iconv" = "" - then - with_iconv=no - fi - if test "$with_iso8859x" = "" - then - with_iso8859x=no - fi - if test "$with_legacy" = "" - then - with_legacy=no - fi - if test "$with_mem_debug" = "" - then - with_mem_debug=no - fi - if test "$with_output" = "" - then - with_output=no - fi - if test "$with_pattern" = "" - then - with_pattern=no - fi - if test "$with_push" = "" - then - with_push=no - fi - if test "$with_python" = "" - then - with_python=no - fi - if test "$with_reader" = "" - then - with_reader=no - fi - if test "$with_readline" = "" - then - with_readline=no - fi - if test "$with_regexps" = "" - then - with_regexps=no - fi - if test "$with_run_debug" = "" - then - with_run_debug=no - fi - if test "$with_sax1" = "" - then - with_sax1=no - fi - if test "$with_schemas" = "" - then - with_schemas=no - fi - if test "$with_schematron" = "" - then - with_schematron=no - fi - if test "$with_threads" = "" - then - with_threads=no - fi - if test "$with_thread_alloc" = "" - then - with_thread_alloc=no - fi - if test "$with_tree" = "" - then - with_tree=no - fi - if test "$with_valid" = "" - then - with_valid=no - fi - if test "$with_writer" = "" - then - with_writer=no - fi - if test "$with_xinclude" = "" - then - with_xinclude=no - fi - if test "$with_xpath" = "" - then - with_xpath=no - fi - if test "$with_xptr" = "" - then - with_xptr=no - fi - if test "$with_zlib" = "" - then - with_zlib=no - fi - if test "$with_modules" = "" - then - with_modules=no - fi -fi - -echo Checking zlib - -dnl Checks for zlib library. - -WITH_ZLIB=0 -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], [1], [Have compression library]) - WITH_ZLIB=1 - 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) -AC_SUBST(WITH_ZLIB) - -echo Checking lzma - -dnl Checks for lzma library. - -WITH_LZMA=0 -if test "$with_lzma" = "no"; then - echo "Disabling compression support" -else - # Try pkg-config first so that static linking works. - # If this succeeeds, we ignore the WITH_LZMA directory. - PKG_CHECK_MODULES([LZMA],[liblzma], - [have_liblzma=yes], - [have_liblzma=no]) - - # If pkg-config failed, fall back to AC_CHECK_LIB. This - # will not pick up the necessary LIBS flags for liblzma's - # private dependencies, though, so static linking may fail. - if test "x$have_liblzma" = "xno"; then - AC_CHECK_HEADERS(lzma.h, - AC_CHECK_LIB(lzma, lzma_code,[ - have_liblzma=yes - if test "x${LZMA_DIR}" != "x"; then - LZMA_CFLAGS="-I${LZMA_DIR}/include" - LZMA_LIBS="-L${LZMA_DIR}/lib -llzma" - else - LZMA_LIBS="-llzma" - fi], - [have_liblzma=no])) - fi - - # Found the library via either method? - if test "x$have_liblzma" = "xyes"; then - AC_DEFINE([HAVE_LIBLZMA], [1], [Have compression library]) - WITH_LZMA=1 - fi -fi - -AC_SUBST(LZMA_CFLAGS) -AC_SUBST(LZMA_LIBS) -AC_SUBST(WITH_LZMA) - -CPPFLAGS=${_cppflags} -LIBS=${_libs} - -echo Checking headers - -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([stdint.h]) -AC_CHECK_HEADERS([inttypes.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 -# endif -]) -AC_CHECK_HEADERS([netinet/in.h], [], [], -[#if HAVE_SYS_TYPES_H -# include -# endif -]) -AC_CHECK_HEADERS([arpa/inet.h], [], [], -[#if HAVE_SYS_TYPES_H -# include -# endif -#if HAVE_ARPA_INET_H -# include -# endif -]) -AC_CHECK_HEADERS([netdb.h]) -AC_CHECK_HEADERS([sys/time.h]) -AC_CHECK_HEADERS([sys/select.h]) -AC_CHECK_HEADERS([poll.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 -# endif -]) -AC_CHECK_HEADERS([resolv.h], [], [], -[#if HAVE_SYS_TYPES_H -# include -# endif -#if HAVE_NETINET_IN_H -# include -# endif -#if HAVE_ARPA_NAMESER_H -# include -# endif -]) -AC_CHECK_HEADERS([dl.h]) -AC_CHECK_HEADERS([dlfcn.h]) - - -echo Checking types - -AC_TYPE_UINT32_T - - -echo Checking libraries - -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) -AC_CHECK_FUNCS(rand rand_r srand time) -AC_CHECK_FUNCS(isascii mmap munmap putenv) - -AH_VERBATIM([HAVE_MUNMAP_AFTER],[/* mmap() is no good without munmap() */ -#if defined(HAVE_MMAP) && !defined(HAVE_MUNMAP) -# undef /**/ HAVE_MMAP -#endif]) - -dnl Checking for va_copy availability -AC_MSG_CHECKING([for va_copy]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include -va_list ap1,ap2;]], [[va_copy(ap1,ap2);]])], -have_va_copy=yes, -have_va_copy=no) -AC_MSG_RESULT($have_va_copy) -if test x"$have_va_copy" = x"yes"; then - AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available]) -else - AC_MSG_CHECKING([for __va_copy]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include - va_list ap1,ap2;]], [[__va_copy(ap1,ap2);]])], - have___va_copy=yes, - have___va_copy=no) - AC_MSG_RESULT($have___va_copy) - if test x"$have___va_copy" = x"yes"; then - AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available]) - fi -fi - -dnl Checking whether va_list is an array type -AC_MSG_CHECKING([whether va_list is an array type]) -AC_TRY_COMPILE2([ -#include -void a(va_list * ap) {}],[ -va_list ap1, ap2; a(&ap1); ap2 = (va_list) ap1],[ - AC_MSG_RESULT(no)],[ - AC_MSG_RESULT(yes) - AC_DEFINE([VA_LIST_IS_ARRAY], [1],[Define if va_list is an array type])]) - -dnl Checks for inet libraries: -AC_SEARCH_LIBS(gethostent, [nsl]) -AC_SEARCH_LIBS(setsockopt, [socket net network]) -AC_SEARCH_LIBS(connect, [inet]) - -dnl Determine what socket length (socklen_t) data type is -AC_MSG_CHECKING([for type of socket length (socklen_t)]) -AC_TRY_COMPILE2([ -#include -#include -#include ],[ -(void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[ - AC_MSG_RESULT(socklen_t *) - XML_SOCKLEN_T=socklen_t],[ - AC_TRY_COMPILE2([ -#include -#include -#include ],[ -(void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)],[ - AC_MSG_RESULT(size_t *) - XML_SOCKLEN_T=size_t],[ - AC_TRY_COMPILE2([ -#include -#include -#include ],[ -(void)getsockopt (1, 1, 1, NULL, (int *)NULL)],[ - AC_MSG_RESULT(int *) - XML_SOCKLEN_T=int],[ - AC_MSG_WARN(could not determine) - XML_SOCKLEN_T="int"])])]) -AC_DEFINE_UNQUOTED(XML_SOCKLEN_T, $XML_SOCKLEN_T, [Determine what socket length (socklen_t) data type is]) - -dnl Checking if gethostbyname() argument is const. -AC_MSG_CHECKING([for const gethostbyname() argument]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[(void)gethostbyname((const char *)"");]])], -have_gethostbyname_const_arg=yes, -have_gethostbyname_const_arg=no) -AC_MSG_RESULT($have_gethostbyname_const_arg) -if test x"$have_gethostbyname_const_arg" = x"yes"; then - AC_DEFINE([GETHOSTBYNAME_ARG_CAST], [], - [Type cast for the gethostbyname() argument]) -else - AC_DEFINE([GETHOSTBYNAME_ARG_CAST], [(char *)], - [Type cast for the gethostbyname() argument]) -fi - -dnl Checking if send() second argument is const. -AC_MSG_CHECKING([for const send() second argument]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include -#include ]], - [[(void)send(1,(const char *)"",1,1);]])], -have_send_const_arg2=yes, -have_send_const_arg2=no) -AC_MSG_RESULT($have_send_const_arg2) -if test x"$have_send_const_arg2" = x"yes"; then - AC_DEFINE([SEND_ARG2_CAST], [], - [Type cast for the send() function 2nd arg]) -else - AC_DEFINE([SEND_ARG2_CAST], [(char *)], - [Type cast for the send() function 2nd arg]) -fi - -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 [[default=yes]]],, enable_ipv6=yes) -if test "$with_minimum" = "yes" -then - enable_ipv6=no -fi -if test $enable_ipv6 = yes; then - have_ipv6=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -# include -# include - ]], [[ - 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_broken_ss_family=no - - dnl ********************************************************************* - dnl on some platforms (like AIX 5L), the structure sockaddr doesn't have - dnl a ss_family member, but rather __ss_family. Let's detect that - dnl and define the HAVE_BROKEN_SS_FAMILY when we are on one of these - dnl platforms. However, we should only do this if ss_family is not - dnl present. - dnl ******************************************************************** - AC_MSG_CHECKING([struct sockaddr::ss_family]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -# include -# include - ]], [[ - struct sockaddr_storage ss ; - ss.ss_family = 0 ; - ]])], - have_ss_family=yes, - have_ss_family=no - ) - AC_MSG_RESULT($have_ss_family) - if test x$have_ss_family = xno ; then - AC_MSG_CHECKING([broken struct sockaddr::ss_family]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -# include -# include - ]], [[ - struct sockaddr_storage ss ; - ss.__ss_family = 0 ; - ]])], - have_broken_ss_family=yes, - have_broken_ss_family=no - ) - AC_MSG_RESULT($have_broken_ss_family) - if test x$have_broken_ss_family = xyes ; then - AC_DEFINE(HAVE_BROKEN_SS_FAMILY, [], - [Whether struct sockaddr::__ss_family exists]) - AC_DEFINE(ss_family, __ss_family, - [ss_family is not defined here, use __ss_family instead]) - else - AC_MSG_WARN(ss_family and __ss_family not found) - fi - fi - - 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="" - -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 - hppa*-*-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 - - # warnings we'd like to see - CFLAGS="${CFLAGS} -pedantic -W -Wformat -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" - # warnings we'd like to supress - CFLAGS="${CFLAGS} -Wno-long-long" - 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 - ;; - *-*-mingw* | *-*-cygwin* | *-*-msvc* ) - # If the host is Windows, and shared libraries are disabled, we - # need to add -DLIBXML_STATIC to CFLAGS in order for linking to - # work properly (without it, xmlexports.h would force the use of - # DLL imports, which obviously aren't present in a static - # library). - if test "x$enable_shared" = "xno"; then - XML_CFLAGS="$XML_CFLAGS -DLIBXML_STATIC" - CFLAGS="$CFLAGS -DLIBXML_STATIC" - fi - ;; -esac - - -dnl -dnl check for python -dnl - -PYTHON_VERSION= -PYTHON_INCLUDES= -PYTHON_SITE_PACKAGES= -PYTHON_TESTS= -pythondir= -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 - 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 "$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())"` - 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) - -dnl check for dso support -WITH_MODULES=0 -TEST_MODULES= - -if test "$with_modules" != "no" ; then - case "$host" in - *-*-cygwin*) - MODULE_EXTENSION=".dll" - AC_CHECK_LIB(cygwin, dlopen, [ - WITH_MODULES=1 - MODULE_PLATFORM_LIBS= - AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso]) - ]) - ;; - *-*-mingw*) - MODULE_EXTENSION=".dll" - WITH_MODULES=1 - ;; - *) - AC_CHECK_FUNC(shl_load, libxml_have_shl_load=yes, [ - AC_CHECK_LIB(dld, shl_load, [ - MODULE_PLATFORM_LIBS="-ldld" - libxml_have_shl_load=yes], [ - AC_CHECK_FUNC(dlopen, libxml_have_dlopen=yes, [ - AC_CHECK_LIB(dl, dlopen, [ - MODULE_PLATFORM_LIBS="-ldl" - libxml_have_dlopen=yes])])])]) - - if test "${libxml_have_shl_load}" = "yes"; then - MODULE_EXTENSION=".sl" - WITH_MODULES=1 - AC_DEFINE([HAVE_SHLLOAD], [], [Have shl_load based dso]) - fi - - if test "${libxml_have_dlopen}" = "yes"; then - case "${host}" in - *-*-hpux* ) - MODULE_EXTENSION=".sl" - ;; - * ) - MODULE_EXTENSION=".so" - ;; - esac - - WITH_MODULES=1 - AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso]) - fi - ;; - esac -fi - -if test "${WITH_MODULES}" = "1"; then - TEST_MODULES="ModuleTests" -fi - -AC_SUBST(WITH_MODULES) -AC_SUBST(MODULE_PLATFORM_LIBS) -AC_SUBST(MODULE_EXTENSION) -AC_SUBST(TEST_MODULES) - -dnl -dnl Tester makes use of readline if present -dnl - -dnl -dnl specific tests to setup DV and Bill's devel environments with debug etc ... -dnl (-Wunreachable-code) -dnl -if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ]] || \ - [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/home/veillard/libxml2" ]] || \ - [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomesvn/libxml2" ]] - then - if test "$with_minimum" != "yes" - then - if test "${with_mem_debug}" = "" ; then - echo Activating memory debugging - with_mem_debug="yes" - with_run_debug="yes" - fi - if test "${with_docbook}" = "" ; then - with_docbook="yes" - fi - fi - if test "${GCC}" = "yes" ; then - CFLAGS="-g -O -pedantic -W -Wformat -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 -Wall" - fi - 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 -echo Checking configuration requirements - -dnl -dnl Thread-related stuff -dnl -THREAD_LIBS="" -BASE_THREAD_LIBS="" -WITH_THREADS=0 -THREAD_CFLAGS="" -TEST_THREADS="" -THREADS_W32="" -WITH_THREAD_ALLOC=0 - -if test "$with_threads" = "no" ; then - echo Disabling multithreaded support -else - echo Enabling multithreaded support - - dnl Default to native threads on Win32 - case $host_os in - *mingw32*) if test "$with_threads" != "pthread" && test "$with_threads" != "no"; then - WITH_THREADS="1" - THREADS_W32="1" - THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS" - fi - ;; - esac - - dnl Use pthread by default in other cases - if test -z "$THREADS_W32"; then - if test "$with_threads" = "pthread" || test "$with_threads" = "" || test "$with_threads" = "yes" ; then - 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 is there]) - WITH_THREADS="1"])) - fi - fi - - case $host_os in - *cygwin*) THREAD_LIBS="" - ;; - *beos*) WITH_THREADS="1" - THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS" - ;; - *linux*) - if test "${GCC}" = "yes" ; then - GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'` - GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'` - GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[[0-9]]*\.++' | sed 's+\..*++'` - if test "${THREAD_LIBS}" = "-lpthread" ; then - if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null - then - THREAD_LIBS="" - BASE_THREAD_LIBS="-lpthread" - else - if expr ${GCC_MAJOR} \> 3 > /dev/null - then - THREAD_LIBS="" - BASE_THREAD_LIBS="-lpthread" - else - echo old GCC disabling weak symbols for pthread - fi - fi - fi - fi - ;; - esac - if test "$WITH_THREADS" = "1" ; then - THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT" - TEST_THREADS="Threadtests" - fi -fi -if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then - WITH_THREAD_ALLOC=1 -fi - -AC_SUBST(THREAD_LIBS) -AC_SUBST(BASE_THREAD_LIBS) -AC_SUBST(WITH_THREADS) -AC_SUBST(THREAD_CFLAGS) -AC_SUBST(TEST_THREADS) -AC_SUBST(WITH_THREAD_ALLOC) -AM_CONDITIONAL([THREADS_W32],[test -n "$THREADS_W32"]) - -dnl -dnl xmllint shell history -dnl -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" - fi -fi - -dnl -dnl Tree functions -dnl -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) - -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) - -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) - -if test "$with_legacy" = "no" ; then - echo Disabling deprecated APIs - WITH_LEGACY=0 -else - WITH_LEGACY=1 -fi -AC_SUBST(WITH_LEGACY) - -if test "$with_reader" = "no" ; then - echo Disabling the xmlReader parsing interface - WITH_READER=0 - READER_TEST= -else - WITH_READER=1 - READER_TEST=Readertests - if test "$with_push" = "no" ; then - echo xmlReader requires Push interface - enabling it - with_push=yes - fi -fi -AC_SUBST(WITH_READER) -AC_SUBST(READER_TEST) - -if test "$with_writer" = "no" ; then - echo Disabling the xmlWriter saving interface - WITH_WRITER=0 -# WRITER_TEST= -else - WITH_WRITER=1 -# WRITER_TEST=Writertests - if test "$with_push" = "no" ; then - echo xmlWriter requires Push interface - enabling it - with_push=yes - fi - if test "$with_output" = "no" ; then - echo xmlWriter requires Output interface - enabling it - with_output=yes - fi -fi -AC_SUBST(WITH_WRITER) -#AC_SUBST(WRITER_TEST) - -if test "$with_pattern" = "no" ; then - echo Disabling the xmlPattern parsing interface - WITH_PATTERN=0 - TEST_PATTERN= -else - WITH_PATTERN=1 - TEST_PATTERN=Patterntests -fi -AC_SUBST(WITH_PATTERN) -AC_SUBST(TEST_PATTERN) - -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) -AM_CONDITIONAL(WITH_SAX1_SOURCES, test "${WITH_TRIO}" = "1") -AC_SUBST(TEST_SAX) - -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) - -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) - -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) - -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) - -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) - - -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 - if test "$with_xpath" = "no" ; then - echo XPointer requires XPath support - enabling it - with_xpath=yes - fi -fi -AC_SUBST(WITH_XPTR) -AC_SUBST(XPTR_OBJ) -AC_SUBST(TEST_XPTR) - -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 - if test "$with_xpath" = "no" ; then - echo C14N requires XPath support - enabling it - with_xpath=yes - fi -fi -AC_SUBST(WITH_C14N) -AC_SUBST(C14N_OBJ) -AC_SUBST(TEST_C14N) - -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 - if test "$with_xpath" = "no" ; then - echo XInclude requires XPath support - enabling it - with_xpath=yes - fi -fi -AC_SUBST(WITH_XINCLUDE) -AC_SUBST(XINCLUDE_OBJ) -AC_SUBST(TEST_XINCLUDE) - -if test "$with_xpath" = "no" ; then - echo Disabling XPATH support - 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) - -dnl -dnl output functions -dnl -if test "$with_output" = "no" ; then - echo Disabling serialization/saving support - WITH_OUTPUT=0 -else - WITH_OUTPUT=1 -fi -AC_SUBST(WITH_OUTPUT) - -WITH_ICONV=0 -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_LINK_IFELSE([AC_LANG_PROGRAM([[#include -#include ]],[[ -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_LINK_IFELSE([AC_LANG_PROGRAM([[#include -#include ]],[[ -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}"])])) - - if test "$WITH_ICONV" = "1" ; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL(xml_cv_iconv_arg2, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif -]], [])], xml_cv_iconv_arg2="", xml_cv_iconv_arg2="const")]) - - xml_cv_iconv_decl="extern size_t iconv (iconv_t cd, $xml_cv_iconv_arg2 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" - AC_MSG_RESULT([${xml_xxx:- - }$xml_cv_iconv_decl]) - AC_DEFINE_UNQUOTED(ICONV_CONST, $xml_cv_iconv_arg2, - [Define as const if the declaration of iconv() needs const.]) - fi -fi -case "$host" in - *mingw*) M_LIBS="" - ;; - *beos*) M_LIBS="" - ;; - *haiku*) 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_ICU=0 -ICU_LIBS="" -if test "$with_icu" != "yes" ; then - echo Disabling ICU support -else - ICU_CONFIG=icu-config - if ${ICU_CONFIG} --cflags >/dev/null 2>&1 - then - ICU_LIBS=`${ICU_CONFIG} --ldflags` - WITH_ICU=1 - echo Enabling ICU support - else - AC_MSG_ERROR([libicu config program icu-config not found]) - fi -fi -AC_SUBST(WITH_ICU) -AC_SUBST(ICU_LIBS) - -WITH_ISO8859X=1 -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) - -if test "$with_schematron" = "no" ; then - echo "Disabling Schematron support" - WITH_SCHEMATRON=0 - TEST_SCHEMATRON= -else - echo "Enabled Schematron support" - WITH_SCHEMATRON=1 - TEST_SCHEMATRON="Schematrontests" - with_xpath=yes - with_pattern=yes -fi -AC_SUBST(WITH_SCHEMATRON) -AC_SUBST(TEST_SCHEMATRON) - -if test "$with_schemas" = "no" ; then - echo "Disabling Schemas/Relax-NG support" - WITH_SCHEMAS=0 - TEST_SCHEMAS= -else - echo "Enabled Schemas/Relax-NG support" - WITH_SCHEMAS=1 - TEST_SCHEMAS="Schemastests Relaxtests" - if test "$PYTHON_INCLUDES" != "" ; then - PYTHON_TESTS="$PYTHON_TESTS RelaxNGPythonTests SchemasPythonTests" - fi - with_regexps=yes -fi -AC_SUBST(WITH_SCHEMAS) -AC_SUBST(TEST_SCHEMAS) - -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) - -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) - -if test "$with_mem_debug" = "yes" ; then - if test "$with_thread_alloc" = "yes" ; then - echo Disabling memory debug - cannot use mem-debug with thread-alloc! - WITH_MEM_DEBUG=0 - else - echo Enabling memory debug support - WITH_MEM_DEBUG=1 - fi -else - WITH_MEM_DEBUG=0 -fi -AC_SUBST(WITH_MEM_DEBUG) - -if test "$with_run_debug" = "yes" ; then - echo Enabling runtime debug support - WITH_RUN_DEBUG=1 -else - WITH_RUN_DEBUG=0 -fi -AC_SUBST(WITH_RUN_DEBUG) - -WIN32_EXTRA_LIBADD= -WIN32_EXTRA_LDFLAGS= -CYGWIN_EXTRA_LDFLAGS= -CYGWIN_EXTRA_PYTHON_LIBADD= -WIN32_EXTRA_PYTHON_LIBADD= -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]) - if test "${PYTHON}" != "" - then - WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)" - fi - ;; - *-*-cygwin*) - CYGWIN_EXTRA_LDFLAGS="-no-undefined" - if test "${PYTHON}" != "" - then - CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}" - fi - ;; -esac -AC_SUBST(WIN32_EXTRA_LIBADD) -AC_SUBST(WIN32_EXTRA_LDFLAGS) -AC_SUBST(WIN32_EXTRA_PYTHON_LIBADD) -AC_SUBST(CYGWIN_EXTRA_LDFLAGS) -AC_SUBST(CYGWIN_EXTRA_PYTHON_LIBADD) - -dnl Checking the standard string functions availability -dnl -dnl Note mingw* has C99 implementation that produce expected xml numbers -dnl if code use {v}snprintf functions. -dnl If you like to activate at run-time C99 compatible number output -dnl see release note for mingw runtime 3.15: -dnl http://sourceforge.net/project/shownotes.php?release_id=24832 -dnl -dnl Also *win32*config.h files redefine them for various MSC compilers. -dnl -dnl So do not redefine {v}snprintf to _{v}snprintf like follwing: -dnl AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around]) -dnl AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around]) -dnl and do not redefine those functions is C-source files. -dnl -AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,, - NEED_TRIO=1) - -if test "$with_coverage" = "yes" -a "${GCC}" = "yes" -then - echo Enabling code coverage for GCC - CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage" - LDFLAGS="$LDFLAGS -fprofile-arcs -ftest-coverage" -else - echo Disabling code coverage for GCC -fi - -AC_SUBST(CPPFLAGS) -AC_SUBST(CFLAGS) -AC_SUBST(LDFLAGS) -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) -AC_SUBST(PYTHON_TESTS) - -rm -f COPYING.LIB COPYING -ln -s $srcdir/Copyright COPYING - -# keep on one line for cygwin c.f. #130896 -AC_CONFIG_FILES([libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py]) -AC_OUTPUT - -chmod +x xml2-config python/setup.py -echo Done configuring -- 1.8.1.2