| 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]) | |
| AM_MAINTAINER_MODE([enable]) | |
| AC_CONFIG_MACRO_DIR([m4]) | |
| AC_CANONICAL_HOST | |
| LIBXML_MAJOR_VERSION=2 | |
| LIBXML_MINOR_VERSION=9 | |
| LIBXML_MICRO_VERSION=4 | |
| 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(python_install_dir, | |
| [ --with-python-install-dir=DIR | |
| install Python bindings in DIR]) | |
| 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" | |
| LDFLAGS="${LDFLAGS} -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" | |
| LDFLAGS="${LDFLAGS} -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" | |
| LDFLAGS="${LDFLAGS} -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_tree=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 | |
| # Try pkg-config first so that static linking works. | |
| # If this succeeeds, we ignore the WITH_ZLIB directory. | |
| PKG_CHECK_MODULES([Z],[zlib], | |
| [have_libz=yes], | |
| [have_libz=no]) | |
| if test "x$have_libz" = "xno"; then | |
| AC_CHECK_HEADERS(zlib.h, | |
| AC_CHECK_LIB(z, gzread,[ | |
| have_libz=yes | |
| 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], | |
| [have_libz=no]) | |
| ) | |
| else | |
| # we still need to check for zlib.h header | |
| AC_CHECK_HEADERS([zlib.h]) | |
| fi | |
| # Found the library via either method? | |
| if test "x$have_libz" = "xyes"; then | |
| AC_DEFINE([HAVE_LIBZ], [1], [Have compression library]) | |
| WITH_ZLIB=1 | |
| 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]) | |
| ) | |
| else | |
| # we still need to check for lzma,h header | |
| AC_CHECK_HEADERS([lzma.h]) | |
| 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 <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([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 <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 | |
| ]) | |
| 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 <stdarg.h> | |
| 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 <stdarg.h> | |
| 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 <stdarg.h> | |
| 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 <stddef.h> | |
| #include <sys/types.h> | |
| #include <sys/socket.h>],[ | |
| (void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[ | |
| AC_MSG_RESULT(socklen_t *) | |
| XML_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 *) | |
| XML_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 *) | |
| 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 <netdb.h>]], | |
| [[(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 <sys/types.h> | |
| #include <sys/socket.h>]], | |
| [[(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 <sys/types.h> | |
| # include <sys/socket.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_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 <sys/types.h> | |
| # include <sys/socket.h> | |
| ]], [[ | |
| 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 <sys/types.h> | |
| # include <sys/socket.h> | |
| ]], [[ | |
| 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 -Wno-format-extra-args -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -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 "$with_python_install_dir" != "" | |
| then | |
| PYTHON_SITE_PACKAGES="$with_python_install_dir" | |
| fi | |
| if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = "" | |
| then | |
| if test -d $libdir/python$PYTHON_VERSION/site-packages | |
| then | |
| PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages | |
| else | |
| if test -d $with_python/lib/site-packages | |
| then | |
| PYTHON_SITE_PACKAGES=$with_python/lib/site-packages | |
| else | |
| PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"` | |
| 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 -Wno-format-extra-args -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -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 <pthread.h> 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_xptr" = "" -a "$with_xpath" = "no" ; then | |
| with_xptr=no | |
| fi | |
| if test "$with_schematron" = "" -a "$with_xpath" = "no" ; then | |
| with_schematron=no | |
| fi | |
| 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 | |
| with_schematron=yes | |
| fi | |
| AC_SUBST(WITH_SCHEMATRON) | |
| AC_SUBST(TEST_SCHEMATRON) | |
| 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 <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_LINK_IFELSE([AC_LANG_PROGRAM([[#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}"])])) | |
| 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 <stdlib.h> | |
| #include <iconv.h> | |
| 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 | |
| AC_SUBST(WITH_ICONV) | |
| WITH_ICU=0 | |
| ICU_LIBS="" | |
| if test "$with_icu" != "yes" ; then | |
| echo Disabling ICU support | |
| else | |
| # Try pkg-config first so that static linking works. | |
| # If this succeeeds, we ignore the WITH_ICU directory. | |
| PKG_CHECK_MODULES([ICU],[icu-i18n], | |
| [have_libicu=yes], | |
| [have_libicu=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_libicu" = "xno"; then | |
| ICU_CONFIG=icu-config | |
| if ${ICU_CONFIG} --cflags >/dev/null 2>&1 | |
| then | |
| ICU_LIBS=`${ICU_CONFIG} --ldflags` | |
| have_libicu=yes | |
| echo Enabling ICU support | |
| else | |
| if test "$with_icu" != "yes" -a "$with_iconv" != "" ; then | |
| CPPFLAGS="${CPPFLAGS} -I$with_icu" | |
| # Export this since our headers include icu.h | |
| XML_INCLUDEDIR="${XML_INCLUDEDIR} -I$with_icu" | |
| fi | |
| AC_CHECK_HEADER(unicode/ucnv.h, | |
| AC_MSG_CHECKING(for icu) | |
| AC_TRY_LINK([#include <unicode/ucnv.h>],[ | |
| UConverter *utf = ucnv_open("UTF-8", NULL);],[ | |
| AC_MSG_RESULT(yes) | |
| have_libicu=yes],[ | |
| AC_MSG_RESULT(no) | |
| AC_MSG_CHECKING(for icu in -licucore) | |
| _ldflags="${LDFLAGS}" | |
| _libs="${LIBS}" | |
| LDFLAGS="${LDFLAGS} ${ICU_LIBS}" | |
| LIBS="${LIBS} -licucore" | |
| AC_TRY_LINK([#include <unicode/ucnv.h>],[ | |
| UConverter *utf = ucnv_open("UTF-8", NULL);],[ | |
| AC_MSG_RESULT(yes) | |
| have_libicu=yes | |
| ICU_LIBS="${ICU_LIBS} -licucore" | |
| LIBS="${_libs}" | |
| LDFLAGS="${_ldflags}"],[ | |
| AC_MSG_RESULT(no) | |
| LIBS="${_libs}" | |
| LDFLAGS="${_ldflags}"])])) | |
| fi | |
| fi | |
| # Found the library via either method? | |
| if test "x$have_libicu" = "xyes"; then | |
| WITH_ICU=1 | |
| fi | |
| fi | |
| XML_LIBS="-lxml2 $Z_LIBS $LZMA_LIBS $THREAD_LIBS $ICONV_LIBS $ICU_LIBS $M_LIBS $LIBS" | |
| XML_LIBTOOLLIBS="libxml2.la" | |
| AC_SUBST(WITH_ICU) | |
| 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_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(ICU_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 libxml-2.0.pc libxml-2.0-uninstalled.pc libxml2-config.cmake]) | |
| AC_CONFIG_FILES([python/setup.py], [chmod +x python/setup.py]) | |
| AC_CONFIG_FILES([xml2-config], [chmod +x xml2-config]) | |
| AC_OUTPUT | |
| echo Done configuring |