Home | History | Annotate | Download | only in src
      1 dnl Process this file with autoconf to produce a configure script.
      2 AC_INIT(entities.c)
      3 AM_CONFIG_HEADER(config.h)
      4 AC_CONFIG_MACRO_DIR([m4])
      5 AC_CANONICAL_HOST
      6 
      7 LIBXML_MAJOR_VERSION=2
      8 LIBXML_MINOR_VERSION=7
      9 LIBXML_MICRO_VERSION=7
     10 LIBXML_MICRO_VERSION_SUFFIX=
     11 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
     12 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
     13 
     14 LIBXML_VERSION_NUMBER=`expr $LIBXML_MAJOR_VERSION \* 10000 + $LIBXML_MINOR_VERSION \* 100 + $LIBXML_MICRO_VERSION`
     15 
     16 if test -f CVS/Entries ; then
     17   extra=`grep ChangeLog CVS/Entries | grep -v LIBXML | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
     18   echo extra=$extra
     19   if test "$extra" != ""
     20   then
     21       LIBXML_VERSION_EXTRA="-CVS$extra"
     22   fi
     23 else if test -d .svn ; then
     24   extra=`svn info | grep Revision | sed 's+Revision: ++'`
     25   echo extra=$extra
     26   if test "$extra" != ""
     27   then
     28       LIBXML_VERSION_EXTRA="-SVN$extra"
     29   fi
     30 else if test -d .git ; then
     31   extra=`git describe | sed 's+LIBXML[[0-9.]]*-++'`
     32   echo extra=$extra
     33   if test "$extra" != ""
     34   then
     35       LIBXML_VERSION_EXTRA="-GIT$extra"
     36   fi
     37 fi
     38 fi
     39 fi
     40 AC_SUBST(LIBXML_MAJOR_VERSION)
     41 AC_SUBST(LIBXML_MINOR_VERSION)
     42 AC_SUBST(LIBXML_MICRO_VERSION)
     43 AC_SUBST(LIBXML_VERSION)
     44 AC_SUBST(LIBXML_VERSION_INFO)
     45 AC_SUBST(LIBXML_VERSION_NUMBER)
     46 AC_SUBST(LIBXML_VERSION_EXTRA)
     47 
     48 VERSION=${LIBXML_VERSION}
     49 
     50 AM_INIT_AUTOMAKE(libxml2, $VERSION)
     51 
     52 dnl Checks for programs.
     53 AC_PROG_CC
     54 AC_PROG_INSTALL
     55 AC_PROG_CPP
     56 AC_PATH_PROG(RM, rm, /bin/rm)
     57 AC_PATH_PROG(MV, mv, /bin/mv)
     58 AC_PATH_PROG(TAR, tar, /bin/tar)
     59 AC_PATH_PROG(PERL, perl, /usr/bin/perl)
     60 AC_PATH_PROG(WGET, wget, /usr/bin/wget)
     61 AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint)
     62 AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
     63 
     64 dnl Make sure we have an ANSI compiler
     65 AM_C_PROTOTYPES
     66 test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
     67 
     68 AC_LIBTOOL_WIN32_DLL
     69 AM_PROG_LIBTOOL
     70 
     71 dnl
     72 dnl if the system support linker version scripts for symbol versioning
     73 dnl then add it
     74 dnl
     75 VERSION_SCRIPT_FLAGS=
     76 # lt_cv_prog_gnu_ld is from libtool 2.+
     77 if test "$lt_cv_prog_gnu_ld" = yes; then
     78   VERSION_SCRIPT_FLAGS=-Wl,--version-script=
     79 else
     80   case $host in
     81   *-*-sunos*) VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,";;
     82   esac
     83 fi
     84 AC_SUBST(VERSION_SCRIPT_FLAGS)
     85 AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"])
     86 
     87 dnl
     88 dnl We process the AC_ARG_WITH first so that later we can modify
     89 dnl some of them to try to prevent impossible combinations.  This
     90 dnl also allows up so alphabetize the choices
     91 dnl
     92 
     93 dnl
     94 dnl zlib option might change flags, so we save them initially
     95 dnl
     96 _cppflags="${CPPFLAGS}"
     97 _ldflags="${LDFLAGS}"
     98 
     99 AC_ARG_WITH(c14n,
    100 [  --with-c14n             add the Canonicalization support (on)])
    101 AC_ARG_WITH(catalog,
    102 [  --with-catalog          add the Catalog support (on)])
    103 AC_ARG_WITH(debug,
    104 [  --with-debug            add the debugging module (on)])
    105 AC_ARG_WITH(docbook,
    106 [  --with-docbook          add Docbook SGML support (on)])
    107 AC_ARG_WITH(fexceptions,
    108 [  --with-fexceptions      add GCC flag -fexceptions for C++ exceptions (off)])
    109 AC_ARG_WITH(ftp,
    110 [  --with-ftp              add the FTP support (on)])
    111 AC_ARG_WITH(history,
    112 [  --with-history          add history support to xmllint shell(off)])
    113 AC_ARG_WITH(html,
    114 [  --with-html             add the HTML support (on)])
    115 dnl Specific dir for HTML output ?
    116 AC_ARG_WITH(html-dir, AC_HELP_STRING([--with-html-dir=path],
    117             [path to base html directory, default $datadir/doc/html]),
    118             [HTML_DIR=$withval], [HTML_DIR='$(datadir)/doc'])
    119 
    120 AC_ARG_WITH(html-subdir, AC_HELP_STRING([--with-html-subdir=path],
    121             [directory used under html-dir, default $PACKAGE-$VERSION/html]),
    122             [test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"],
    123             [HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
    124 AC_SUBST(HTML_DIR)
    125 AC_ARG_WITH(http,
    126 [  --with-http             add the HTTP support (on)])
    127 AC_ARG_WITH(iconv,
    128 [  --with-iconv[[=DIR]]      add ICONV support (on)])
    129 AC_ARG_WITH(iso8859x,
    130 [  --with-iso8859x         add ISO8859X support if no iconv (on)])
    131 AC_ARG_WITH(legacy,
    132 [  --with-legacy           add deprecated APIs for compatibility (on)])
    133 AC_ARG_WITH(mem_debug,
    134 [  --with-mem-debug        add the memory debugging module (off)])
    135 AC_ARG_WITH(minimum,
    136 [  --with-minimum          build a minimally sized library (off)])
    137 AC_ARG_WITH(output,
    138 [  --with-output           add the serialization support (on)])
    139 AC_ARG_WITH(pattern,
    140 [  --with-pattern          add the xmlPattern selection interface (on)])
    141 AC_ARG_WITH(push,
    142 [  --with-push             add the PUSH parser interfaces (on)])
    143 AC_ARG_WITH(python,
    144 [  --with-python[[=DIR]]     build Python bindings if found])
    145 AC_ARG_WITH(reader,
    146 [  --with-reader           add the xmlReader parsing interface (on)])
    147 AC_ARG_WITH(readline,
    148 [  --with-readline=DIR     use readline in DIR],[
    149   if test "$withval" != "no" -a "$withval" != "yes"; then
    150     RDL_DIR=$withval
    151     CPPFLAGS="${CPPFLAGS} -I$withval/include"
    152     LDFLAGS="${LDFLAGS} -L$withval/lib"
    153   fi
    154 ])
    155 AC_ARG_WITH(regexps,
    156 [  --with-regexps          add Regular Expressions support (on)])
    157 AC_ARG_WITH(run_debug,
    158 [  --with-run-debug        add the runtime debugging module (off)])
    159 AC_ARG_WITH(sax1,
    160 [  --with-sax1             add the older SAX1 interface (on)])
    161 AC_ARG_WITH(schemas,
    162 [  --with-schemas          add Relax-NG and Schemas support (on)])
    163 AC_ARG_WITH(schematron,
    164 [  --with-schematron       add Schematron support (on)])
    165 AC_ARG_WITH(threads,
    166 [  --with-threads          add multithread support(on)])
    167 AC_ARG_WITH(thread-alloc,
    168 [  --with-thread-alloc     add per-thread memory(off)])
    169 AC_ARG_WITH(tree,
    170 [  --with-tree             add the DOM like tree manipulation APIs (on)])
    171 AC_ARG_WITH(valid,
    172 [  --with-valid            add the DTD validation support (on)])
    173 AC_ARG_WITH(writer,
    174 [  --with-writer           add the xmlWriter saving interface (on)])
    175 AC_ARG_WITH(xinclude,
    176 [  --with-xinclude         add the XInclude support (on)])
    177 AC_ARG_WITH(xpath,
    178 [  --with-xpath            add the XPATH support (on)])
    179 AC_ARG_WITH(xptr,
    180 [  --with-xptr             add the XPointer support (on)])
    181 AC_ARG_WITH(modules,
    182 [  --with-modules          add the dynamic modules support (on)])
    183 AC_ARG_WITH(zlib,
    184 [  --with-zlib[[=DIR]]       use libz in DIR],[
    185   if test "$withval" != "no" -a "$withval" != "yes"; then
    186     Z_DIR=$withval
    187     CPPFLAGS="${CPPFLAGS} -I$withval/include"
    188     LDFLAGS="${LDFLAGS} -L$withval/lib"
    189   fi
    190 ])
    191 AC_ARG_WITH(coverage,
    192 [  --with-coverage         build for code coverage with GCC (off)])
    193 
    194 AC_ARG_ENABLE(rebuild-docs,
    195 [  --enable-rebuild-docs[[=yes/no]]  rebuild some generated docs [[default=yes]]])
    196 AM_CONDITIONAL([REBUILD_DOCS], [test "$enable_rebuild_docs" = "no"])
    197 
    198 dnl
    199 dnl hard dependancies on options
    200 dnl
    201 if test "$with_schemas" = "yes"
    202 then
    203     with_pattern=yes
    204     with_regexps=yes
    205 fi
    206 if test "$with_schematron" = "yes"
    207 then
    208     with_pattern=yes
    209     with_xpath=yes
    210 fi
    211 if test "$with_reader" = "yes"
    212 then
    213     with_push=yes
    214 fi
    215 if test "$with_xptr" = "yes"
    216 then
    217     with_xpath=yes
    218 fi
    219 dnl
    220 dnl option to build a minimal libxml2 library
    221 dnl
    222 if test "$with_minimum" = "yes"
    223 then
    224     echo "Configuring for a minimal library"
    225     if test "$with_c14n" = ""
    226     then
    227       with_c14n=no
    228     fi
    229     if test "$with_catalog" = ""
    230     then
    231       with_catalog=no
    232     fi
    233     echo So far so good!
    234     if test "$with_debug" = ""
    235     then
    236       with_debug=no
    237     fi
    238     if test "$with_docbook" = ""
    239     then
    240       with_docbook=no
    241     fi
    242     if test "$with_fexceptions" = ""
    243     then
    244       with_fexceptions=no
    245     fi
    246     if test "$with_ftp" = ""
    247     then
    248       with_ftp=no 
    249     fi
    250     if test "$with_history" = ""
    251     then
    252       with_history=no
    253     fi
    254     if test "$with_html" = ""
    255     then
    256       with_html=no
    257     fi
    258     if test "$with_http" = ""
    259     then
    260       with_http=no 
    261     fi
    262     if test "$with_iconv" = ""
    263     then
    264       with_iconv=no
    265     fi
    266     if test "$with_iso8859x" = ""
    267     then
    268       with_iso8859x=no
    269     fi
    270     if test "$with_legacy" = ""
    271     then
    272       with_legacy=no
    273     fi
    274     if test "$with_mem_debug" = ""
    275     then 
    276       with_mem_debug=no
    277     fi
    278     if test "$with_output" = ""
    279     then
    280       with_output=no
    281     fi
    282     if test "$with_pattern" = ""
    283     then
    284       with_pattern=no
    285     fi
    286     if test "$with_push" = ""
    287     then
    288       with_push=no
    289     fi
    290     if test "$with_python" = ""
    291     then
    292       with_python=no
    293     fi
    294     if test "$with_reader" = ""
    295     then
    296       with_reader=no
    297     fi
    298     if test "$with_readline" = ""
    299     then
    300       with_readline=no
    301     fi
    302     if test "$with_regexps" = ""
    303     then
    304       with_regexps=no
    305     fi
    306     if test "$with_run_debug" = ""
    307     then
    308       with_run_debug=no
    309     fi
    310     if test "$with_sax1" = ""
    311     then
    312       with_sax1=no
    313     fi
    314     if test "$with_schemas" = ""
    315     then
    316       with_schemas=no
    317     fi
    318     if test "$with_schematron" = ""
    319     then
    320       with_schematron=no
    321     fi
    322     if test "$with_threads" = ""
    323     then
    324       with_threads=no
    325     fi
    326     if test "$with_thread_alloc" = ""
    327     then
    328       with_thread_alloc=no
    329    fi
    330     if test "$with_tree" = ""
    331     then
    332       with_tree=no
    333     fi
    334     if test "$with_valid" = ""
    335     then
    336       with_valid=no
    337     fi
    338     if test "$with_writer" = ""
    339     then
    340       with_writer=no
    341     fi
    342     if test "$with_xinclude" = ""
    343     then
    344       with_xinclude=no
    345     fi
    346     if test "$with_xpath" = ""
    347     then
    348       with_xpath=no
    349     fi
    350     if test "$with_xptr" = ""
    351     then
    352       with_xptr=no
    353     fi
    354     if test "$with_zlib" = ""
    355     then
    356       with_zlib=no
    357     fi
    358     if test "$with_modules" = ""
    359     then
    360       with_modules=no
    361     fi
    362 fi
    363 
    364 echo Checking zlib
    365 
    366 dnl Checks for zlib library.
    367 
    368 WITH_ZLIB=0
    369 if test "$with_zlib" = "no"; then
    370     echo "Disabling compression support"
    371 else
    372     AC_CHECK_HEADERS(zlib.h,
    373 	AC_CHECK_LIB(z, gzread,[
    374 	    AC_DEFINE([HAVE_LIBZ], [1], [Have compression library])
    375 	    WITH_ZLIB=1
    376 	    if test "x${Z_DIR}" != "x"; then
    377 		Z_CFLAGS="-I${Z_DIR}/include"
    378 		Z_LIBS="-L${Z_DIR}/lib -lz"
    379 		[case ${host} in
    380 		    *-*-solaris*)
    381 			Z_LIBS="-L${Z_DIR}/lib -R${Z_DIR}/lib -lz"
    382 			;;
    383 		esac]
    384 	    else
    385 		Z_LIBS="-lz"
    386 	    fi]))
    387 fi
    388 
    389 AC_SUBST(Z_CFLAGS)
    390 AC_SUBST(Z_LIBS)
    391 AC_SUBST(WITH_ZLIB)
    392 
    393 CPPFLAGS=${_cppflags}
    394 LDFLAGS=${_ldflags}
    395 
    396 echo Checking headers
    397 
    398 dnl Checks for header files.
    399 AC_HEADER_DIRENT
    400 AC_HEADER_STDC
    401 AC_CHECK_HEADERS([fcntl.h])
    402 AC_CHECK_HEADERS([unistd.h])
    403 AC_CHECK_HEADERS([ctype.h])
    404 AC_CHECK_HEADERS([dirent.h])
    405 AC_CHECK_HEADERS([errno.h])
    406 AC_CHECK_HEADERS([malloc.h])
    407 AC_CHECK_HEADERS([stdarg.h])
    408 AC_CHECK_HEADERS([sys/stat.h])
    409 AC_CHECK_HEADERS([sys/types.h])
    410 AC_CHECK_HEADERS([stdint.h])
    411 AC_CHECK_HEADERS([inttypes.h.h])
    412 AC_CHECK_HEADERS([time.h])
    413 AC_CHECK_HEADERS([ansidecl.h])
    414 AC_CHECK_HEADERS([ieeefp.h])
    415 AC_CHECK_HEADERS([nan.h])
    416 AC_CHECK_HEADERS([math.h])
    417 AC_CHECK_HEADERS([limits.h])
    418 AC_CHECK_HEADERS([fp_class.h])
    419 AC_CHECK_HEADERS([float.h])
    420 AC_CHECK_HEADERS([stdlib.h])
    421 AC_CHECK_HEADERS([sys/socket.h], [], [],
    422 [#if HAVE_SYS_TYPES_H
    423 # include <sys/types.h>
    424 # endif
    425 ])
    426 AC_CHECK_HEADERS([netinet/in.h], [], [],
    427 [#if HAVE_SYS_TYPES_H
    428 # include <sys/types.h>
    429 # endif
    430 ])
    431 AC_CHECK_HEADERS([arpa/inet.h], [], [],
    432 [#if HAVE_SYS_TYPES_H
    433 # include <sys/types.h>
    434 # endif
    435 #if HAVE_ARPA_INET_H
    436 # include <arpa/inet.h>
    437 # endif
    438 ])
    439 AC_CHECK_HEADERS([netdb.h])
    440 AC_CHECK_HEADERS([sys/time.h])
    441 AC_CHECK_HEADERS([sys/select.h])
    442 AC_CHECK_HEADERS([poll.h])
    443 AC_CHECK_HEADERS([sys/mman.h])
    444 AC_CHECK_HEADERS([sys/timeb.h])
    445 AC_CHECK_HEADERS([signal.h])
    446 AC_CHECK_HEADERS([arpa/nameser.h], [], [],
    447 [#if HAVE_SYS_TYPES_H
    448 # include <sys/types.h>
    449 # endif
    450 ])
    451 AC_CHECK_HEADERS([resolv.h], [], [],
    452 [#if HAVE_SYS_TYPES_H
    453 # include <sys/types.h>
    454 # endif
    455 #if HAVE_NETINET_IN_H
    456 # include <netinet/in.h>
    457 # endif
    458 #if HAVE_ARPA_NAMESER_H
    459 # include <arpa/nameser.h>
    460 # endif
    461 ])
    462 AC_CHECK_HEADERS([dl.h])
    463 AC_CHECK_HEADERS([dlfcn.h])
    464 
    465 
    466 echo Checking libraries
    467 
    468 dnl Checks for library functions.
    469 AC_FUNC_STRFTIME
    470 AC_CHECK_FUNCS(strdup strndup strerror)
    471 AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
    472 AC_CHECK_FUNCS(strftime localtime gettimeofday ftime)
    473 AC_CHECK_FUNCS(stat _stat signal)
    474 
    475 dnl Checking the standard string functions availability
    476 AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
    477                NEED_TRIO=1)
    478 
    479 dnl Checking for va_copy availability
    480 AC_MSG_CHECKING([for va_copy])
    481 AC_TRY_LINK([#include <stdarg.h>
    482 va_list ap1,ap2;], [va_copy(ap1,ap2);],
    483 have_va_copy=yes,
    484 have_va_copy=no)
    485 AC_MSG_RESULT($have_va_copy)
    486 if test x"$have_va_copy" = x"yes"; then
    487     AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
    488 else
    489     AC_MSG_CHECKING([for __va_copy])
    490     AC_TRY_LINK([#include <stdarg.h>
    491     va_list ap1,ap2;], [__va_copy(ap1,ap2);],
    492     have___va_copy=yes,
    493     have___va_copy=no)
    494     AC_MSG_RESULT($have___va_copy)
    495     if test x"$have___va_copy" = x"yes"; then
    496         AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
    497     fi
    498 fi
    499 
    500 dnl Checks for inet libraries:
    501 AC_SEARCH_LIBS(gethostent, [nsl])
    502 AC_SEARCH_LIBS(setsockopt, [socket net network])
    503 AC_SEARCH_LIBS(connect, [inet])
    504 
    505 dnl Determine what socket length (socklen_t) data type is
    506 AC_MSG_CHECKING([for type of socket length (socklen_t)])
    507 AC_TRY_COMPILE2([
    508 #include <stddef.h>
    509 #include <sys/types.h>
    510 #include <sys/socket.h>],[
    511 (void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[
    512   AC_MSG_RESULT(socklen_t *)
    513   XML_SOCKLEN_T=socklen_t],[
    514   AC_TRY_COMPILE2([
    515 #include <stddef.h>
    516 #include <sys/types.h>
    517 #include <sys/socket.h>],[
    518 (void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)],[
    519     AC_MSG_RESULT(size_t *)
    520     XML_SOCKLEN_T=size_t],[
    521     AC_TRY_COMPILE2([
    522 #include <stddef.h>
    523 #include <sys/types.h>
    524 #include <sys/socket.h>],[
    525 (void)getsockopt (1, 1, 1, NULL, (int *)NULL)],[
    526       AC_MSG_RESULT(int *)
    527       XML_SOCKLEN_T=int],[
    528       AC_MSG_WARN(could not determine)
    529       XML_SOCKLEN_T="int"])])])
    530 AC_DEFINE_UNQUOTED(XML_SOCKLEN_T, $XML_SOCKLEN_T, [Determine what socket length (socklen_t) data type is])
    531 
    532 dnl ***********************Checking for availability of IPv6*******************
    533 
    534 AC_MSG_CHECKING([whether to enable IPv6])
    535 AC_ARG_ENABLE(ipv6, [  --enable-ipv6[[=yes/no]]  enables compilation of IPv6 code [[default=yes]]],, enable_ipv6=yes)
    536 if test "$with_minimum" = "yes"
    537 then
    538     enable_ipv6=no
    539 fi
    540 if test $enable_ipv6 = yes; then
    541   have_ipv6=no
    542   AC_TRY_COMPILE([
    543     #include <sys/types.h>
    544     #include <sys/socket.h>
    545     ], [
    546     struct sockaddr_storage ss;
    547     socket(AF_INET6, SOCK_STREAM, 0)
    548     ],
    549     have_ipv6=yes,
    550     have_ipv6=no
    551   )
    552   AC_MSG_RESULT($have_ipv6)
    553 
    554   if test $have_ipv6 = yes; then
    555     AC_DEFINE([SUPPORT_IP6], [], [Support for IPv6])
    556     have_broken_ss_family=no
    557 
    558     dnl *********************************************************************
    559     dnl on some platforms (like AIX 5L), the structure sockaddr doesn't have
    560     dnl a ss_family member, but rather __ss_family. Let's detect that
    561     dnl and define the HAVE_BROKEN_SS_FAMILY when we are on one of these
    562     dnl platforms.  However, we should only do this if ss_family is not
    563     dnl present.
    564     dnl ********************************************************************
    565     AC_MSG_CHECKING([struct sockaddr::ss_family])
    566     AC_TRY_COMPILE([
    567       #include <sys/types.h>
    568       #include <sys/socket.h>
    569       ], [
    570       struct sockaddr_storage ss ;
    571       ss.ss_family = 0 ;
    572       ],
    573       have_ss_family=yes,
    574       have_ss_family=no
    575     )
    576     AC_MSG_RESULT($have_ss_family)
    577     if test x$have_ss_family = xno ; then
    578       AC_MSG_CHECKING([broken struct sockaddr::ss_family])
    579       AC_TRY_COMPILE([
    580         #include <sys/types.h>
    581         #include <sys/socket.h>
    582         ], [
    583         struct sockaddr_storage ss ;
    584         ss.__ss_family = 0 ;
    585         ],
    586         have_broken_ss_family=yes,
    587         have_broken_ss_family=no
    588       )
    589       AC_MSG_RESULT($have_broken_ss_family)
    590       if test x$have_broken_ss_family = xyes ; then
    591         AC_DEFINE(HAVE_BROKEN_SS_FAMILY, [],
    592 	  [Whether struct sockaddr::__ss_family exists]) 
    593         AC_DEFINE(ss_family, __ss_family,
    594 	  [ss_family is not defined here, use __ss_family instead])
    595       else
    596         AC_MSG_WARN(ss_family and __ss_family not found)
    597       fi
    598     fi
    599 
    600     have_getaddrinfo=no
    601     AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes)
    602     if test $have_getaddrinfo != yes; then
    603       for lib in bsd socket inet; do
    604         AC_CHECK_LIB($lib, getaddrinfo, [LIBS="$LIBS -l$lib";have_getaddrinfo=yes;break])
    605       done
    606     fi
    607 
    608     if test $have_getaddrinfo = yes; then
    609       AC_DEFINE([HAVE_GETADDRINFO], [], [Define if getaddrinfo is there])
    610     fi
    611   fi
    612 fi 
    613 
    614 dnl ******************************End IPv6 checks******************************
    615 
    616 dnl Checks for isnan in libm if not in libc
    617 AC_CHECK_FUNC(isnan, AC_DEFINE([HAVE_ISNAN],[], [Define if isnan is there]) , AC_CHECK_LIB(m, isnan,
    618   [AC_DEFINE([HAVE_ISNAN],[], [Define if isnan is there])]))
    619 
    620 AC_CHECK_FUNC(isinf, AC_DEFINE([HAVE_ISINF], [], [Define if isinf is there]) , AC_CHECK_LIB(m, isinf,
    621   [AC_DEFINE([HAVE_ISINF], [], [Define if isinf is there])]))
    622 
    623 XML_LIBDIR='-L${libdir}'
    624 XML_INCLUDEDIR='-I${includedir}/libxml2'
    625 
    626 dnl
    627 dnl Extra flags
    628 dnl
    629 XML_CFLAGS=""
    630 RDL_LIBS=""
    631 
    632 dnl
    633 dnl Workaround for native compilers
    634 dnl  HP  : http://bugs.gnome.org/db/31/3163.html
    635 dnl  DEC : Enable NaN/Inf
    636 dnl
    637 if test "${GCC}" != "yes" ; then
    638     case "${host}" in
    639           hppa*-*-hpux* )
    640 	       CFLAGS="${CFLAGS} -Wp,-H30000"
    641 	       ;;
    642           *-dec-osf* )
    643                CFLAGS="${CFLAGS} -ieee"
    644                ;;
    645 	  alpha*-*-linux* )
    646 	       CFLAGS="${CFLAGS} -ieee"
    647 	       ;;
    648     esac
    649 else
    650     if test "$with_fexceptions" = "yes"
    651     then
    652         #
    653 	# Not activated by default because this inflates the code size
    654 	# Used to allow propagation of C++ exceptions through the library
    655 	#
    656 	CFLAGS="${CFLAGS} -fexceptions"
    657     fi
    658        
    659     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" 
    660     case "${host}" in
    661           alpha*-*-linux* )
    662 	       CFLAGS="${CFLAGS} -mieee"
    663 	       ;;
    664 	  alpha*-*-osf* )
    665 	       CFLAGS="${CFLAGS} -mieee"
    666 	       ;;
    667     esac
    668 fi
    669 case ${host} in
    670     *-*-solaris*)
    671         XML_LIBDIR="${XML_LIBDIR} -R${libdir}"
    672         ;;
    673     hppa*-hp-mpeix)
    674         NEED_TRIO=1
    675 	;;
    676     *-*-mingw* | *-*-cygwin* | *-*-msvc* )
    677         # If the host is Windows, and shared libraries are disabled, we
    678         # need to add -DLIBXML_STATIC to CFLAGS in order for linking to
    679         # work properly (without it, xmlexports.h would force the use of
    680         # DLL imports, which obviously aren't present in a static
    681         # library).
    682         if test "x$enable_shared" = "xno"; then
    683             XML_CFLAGS="$XML_CFLAGS -DLIBXML_STATIC"
    684             CFLAGS="$CFLAGS -DLIBXML_STATIC"
    685         fi
    686         ;;
    687 esac
    688 
    689 
    690 dnl
    691 dnl check for python
    692 dnl
    693 
    694 PYTHON_VERSION=
    695 PYTHON_INCLUDES=
    696 PYTHON_SITE_PACKAGES=
    697 PYTHON_TESTS=
    698 pythondir=
    699 if test "$with_python" != "no" ; then
    700     if test -x "$with_python/bin/python"
    701     then
    702         echo Found python in $with_python/bin/python
    703         PYTHON="$with_python/bin/python"
    704     else
    705 	if test -x "$with_python"
    706 	then
    707 	    echo Found python in $with_python
    708 	    PYTHON="$with_python"
    709 	else
    710 	    if test -x "$PYTHON"
    711 	    then
    712 	        echo Found python in environment PYTHON=$PYTHON
    713 		with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
    714 	    else
    715 		AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
    716 	    fi
    717 	fi
    718     fi
    719     if test "$PYTHON" != ""
    720     then
    721         PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
    722 	echo Found Python version $PYTHON_VERSION
    723     fi
    724     if test "$PYTHON_VERSION" != ""
    725     then
    726 	if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
    727 	   -d $with_python/lib/python$PYTHON_VERSION/site-packages
    728 	then
    729 	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
    730 	    PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
    731 	else
    732 	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
    733 	    then
    734 	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
    735 	        PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
    736 	    else
    737 		if test -r /usr/include/python$PYTHON_VERSION/Python.h
    738 		then
    739 		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
    740 	            PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
    741 		else
    742 		    echo could not find python$PYTHON_VERSION/Python.h
    743 		fi
    744 	    fi
    745 	    if test ! -d "$PYTHON_SITE_PACKAGES"
    746 	    then
    747 		    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
    748 	    fi
    749 	fi
    750 	PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
    751     fi
    752     if test "$with_python" != ""
    753     then
    754         pythondir='$(PYTHON_SITE_PACKAGES)'
    755     else
    756         pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
    757     fi
    758 else
    759     PYTHON=
    760 fi
    761 AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
    762 if test "$PYTHON_INCLUDES" != ""
    763 then
    764     PYTHON_SUBDIR=python
    765 else
    766     PYTHON_SUBDIR=
    767 fi
    768 AC_SUBST(pythondir)
    769 AC_SUBST(PYTHON_SUBDIR)
    770 AC_SUBST(PYTHON_LIBS)
    771 
    772 dnl check for dso support
    773 WITH_MODULES=0
    774 TEST_MODULES=
    775 
    776 if test "$with_modules" != "no" ; then
    777  case "$host" in
    778   *-*-cygwin*)
    779   MODULE_EXTENSION=".dll"
    780   AC_CHECK_LIB(cygwin, dlopen, [
    781     WITH_MODULES=1
    782     MODULE_PLATFORM_LIBS=
    783     AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
    784   ])
    785   ;;
    786   *-*-mingw*)
    787   MODULE_EXTENSION=".dll"
    788   WITH_MODULES=1
    789   ;;
    790   *)
    791   AC_CHECK_FUNC(shl_load, libxml_have_shl_load=yes, [
    792     AC_CHECK_LIB(dld, shl_load, [
    793       MODULE_PLATFORM_LIBS="-ldld"
    794       libxml_have_shl_load=yes], [
    795       AC_CHECK_FUNC(dlopen, libxml_have_dlopen=yes, [
    796         AC_CHECK_LIB(dl, dlopen, [
    797           MODULE_PLATFORM_LIBS="-ldl"
    798           libxml_have_dlopen=yes])])])])
    799 
    800   if test "${libxml_have_shl_load}" = "yes"; then
    801     MODULE_EXTENSION=".sl"
    802     WITH_MODULES=1
    803     AC_DEFINE([HAVE_SHLLOAD], [], [Have shl_load based dso])
    804   fi
    805  
    806   if test "${libxml_have_dlopen}" = "yes"; then
    807     case "${host}" in
    808       *-*-hpux* )
    809 	MODULE_EXTENSION=".sl"
    810 	;;
    811       * )
    812 	MODULE_EXTENSION=".so"
    813 	;;
    814     esac
    815 
    816     WITH_MODULES=1
    817     AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
    818   fi
    819  ;;
    820  esac
    821 fi
    822 
    823 if test "${WITH_MODULES}" = "1"; then
    824   TEST_MODULES="ModuleTests"
    825 fi  
    826 
    827 AC_SUBST(WITH_MODULES)
    828 AC_SUBST(MODULE_PLATFORM_LIBS)
    829 AC_SUBST(MODULE_EXTENSION)
    830 AC_SUBST(TEST_MODULES)
    831 
    832 dnl
    833 dnl Tester makes use of readline if present
    834 dnl
    835 
    836 dnl
    837 dnl specific tests to setup DV and Bill's devel environments with debug etc ...
    838 dnl (-Wunreachable-code)
    839 dnl
    840 if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ]] || \
    841    [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/home/veillard/libxml2" ]] || \
    842    [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomesvn/libxml2" ]]
    843    then
    844     if test "$with_minimum" != "yes"
    845     then
    846 	if test "${with_mem_debug}" = "" ; then
    847 	    echo Activating memory debugging
    848 	    with_mem_debug="yes"
    849 	    with_run_debug="yes"
    850 	fi
    851 	if test "${with_docbook}" = "" ; then
    852 	    with_docbook="yes"
    853 	fi
    854     fi
    855     if test "${GCC}" = "yes" ; then
    856     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"
    857     fi
    858     STATIC_BINARIES="-static"
    859 dnl -Wcast-qual -ansi
    860 else
    861     STATIC_BINARIES=
    862 fi
    863 AC_SUBST(STATIC_BINARIES)
    864 
    865 dnl
    866 dnl Check for trio string functions
    867 dnl
    868 
    869 if test "${NEED_TRIO}" = "1" ; then
    870     echo Adding trio library for string functions
    871     WITH_TRIO=1
    872 else    
    873     WITH_TRIO=0
    874 fi
    875 AM_CONDITIONAL(WITH_TRIO_SOURCES, test "${NEED_TRIO}" = "1")
    876 AC_SUBST(WITH_TRIO)
    877 
    878 dnl
    879 dnl Allow to enable/disable various pieces
    880 dnl
    881 echo Checking configuration requirements
    882 
    883 dnl
    884 dnl Thread-related stuff
    885 dnl
    886 THREAD_LIBS=""
    887 BASE_THREAD_LIBS=""
    888 WITH_THREADS=0
    889 THREAD_CFLAGS=""
    890 TEST_THREADS=""
    891 THREADS_W32=""
    892 
    893 if test "$with_threads" = "no" ; then
    894     echo Disabling multithreaded support
    895 else
    896     echo Enabling multithreaded support
    897     dnl Use pthread by default
    898     if test "$with_threads" = "pthread" || test "$with_threads" = "" || test "$with_threads" = "yes" ; then
    899         AC_CHECK_HEADER(pthread.h,
    900 	    AC_CHECK_LIB(pthread, pthread_join,[
    901 	       THREAD_LIBS="-lpthread"
    902 	       AC_DEFINE([HAVE_LIBPTHREAD], [], [Define if pthread library is there (-lpthread)])
    903 	       AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there])
    904 	       WITH_THREADS="1"]))
    905     fi
    906     case $host_os in
    907        *mingw32*) if test "$THREAD_LIBS" != "-lpthread"; then
    908                WITH_THREADS="1"
    909                THREADS_W32="Win32"
    910 	       THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS"
    911            fi
    912        ;;
    913        *cygwin*) THREAD_LIBS=""
    914        ;;
    915        *beos*) WITH_THREADS="1"
    916 	   THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
    917        ;;
    918        *linux*)
    919            if test "${GCC}" = "yes" ; then
    920 	       GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`
    921 	       GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'`
    922 	       GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[[0-9]]*\.++' | sed 's+\..*++'`
    923 	       if test "${THREAD_LIBS}" = "-lpthread" ; then
    924 	           if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null
    925 		   then
    926 		       THREAD_LIBS=""
    927 		       BASE_THREAD_LIBS="-lpthread"
    928 		   else
    929 		   if expr ${GCC_MAJOR} \> 3 > /dev/null
    930 		   then
    931 		       THREAD_LIBS=""
    932 		       BASE_THREAD_LIBS="-lpthread"
    933 		   else
    934 		       echo old GCC disabling weak symbols for pthread
    935 		   fi
    936 		   fi
    937 	       fi
    938 	   fi
    939        ;;
    940     esac
    941     if test "$WITH_THREADS" = "1" ; then
    942 	THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT"
    943 	TEST_THREADS="Threadtests"
    944     fi
    945 fi
    946 if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
    947     THREAD_CFLAGS="$THREAD_CFLAGS -DLIBXML_THREAD_ALLOC_ENABLED"
    948 fi
    949 
    950 AC_SUBST(THREAD_LIBS)
    951 AC_SUBST(BASE_THREAD_LIBS)
    952 AC_SUBST(WITH_THREADS)
    953 AC_SUBST(THREAD_CFLAGS)
    954 AC_SUBST(TEST_THREADS)
    955 AC_SUBST(THREADS_W32)
    956 
    957 dnl
    958 dnl xmllint shell history
    959 dnl
    960 if test "$with_history" = "yes" ; then
    961     echo Enabling xmllint shell history
    962     dnl check for terminal library. this is a very cool solution
    963     dnl from octave's configure.in
    964     unset tcap
    965     for termlib in ncurses curses termcap terminfo termlib; do
    966 	AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
    967 	test -n "$tcap" && break
    968     done
    969 
    970     AC_CHECK_HEADER(readline/history.h,
    971 	AC_CHECK_LIB(history, append_history,[
    972 	   RDL_LIBS="-lhistory"
    973 	   AC_DEFINE([HAVE_LIBHISTORY], [], [Define if history library is there (-lhistory)])]))
    974     AC_CHECK_HEADER(readline/readline.h,
    975 	AC_CHECK_LIB(readline, readline,[
    976 	   RDL_LIBS="-lreadline $RDL_LIBS $tcap"
    977 	   AC_DEFINE([HAVE_LIBREADLINE], [], [Define if readline library is there (-lreadline)])], , $tcap))
    978     if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
    979 	CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
    980 	RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
    981     fi
    982 fi
    983 
    984 dnl
    985 dnl Tree functions
    986 dnl
    987 if test "$with_tree" = "no" ; then
    988     echo Disabling DOM like tree manipulation APIs
    989     WITH_TREE=0
    990 else    
    991     WITH_TREE=1
    992 fi
    993 AC_SUBST(WITH_TREE)
    994 
    995 if test "$with_ftp" = "no" ; then
    996     echo Disabling FTP support
    997     WITH_FTP=0
    998     FTP_OBJ=
    999 else    
   1000     WITH_FTP=1
   1001     FTP_OBJ=nanoftp.o
   1002 fi
   1003 AC_SUBST(WITH_FTP)
   1004 AC_SUBST(FTP_OBJ)
   1005 
   1006 if test "$with_http" = "no" ; then
   1007     echo Disabling HTTP support
   1008     WITH_HTTP=0
   1009     HTTP_OBJ=
   1010 else    
   1011     WITH_HTTP=1
   1012     HTTP_OBJ=nanohttp.o
   1013 fi
   1014 AC_SUBST(WITH_HTTP)
   1015 AC_SUBST(HTTP_OBJ)
   1016 
   1017 if test "$with_legacy" = "no" ; then
   1018     echo Disabling deprecated APIs
   1019     WITH_LEGACY=0
   1020 else    
   1021     WITH_LEGACY=1
   1022 fi
   1023 AC_SUBST(WITH_LEGACY)
   1024 
   1025 if test "$with_reader" = "no" ; then
   1026     echo Disabling the xmlReader parsing interface
   1027     WITH_READER=0
   1028     READER_TEST=
   1029 else    
   1030     WITH_READER=1
   1031     READER_TEST=Readertests
   1032     if test "$with_push" = "no" ; then
   1033         echo xmlReader requires Push interface - enabling it
   1034 	with_push=yes
   1035     fi
   1036 fi
   1037 AC_SUBST(WITH_READER)
   1038 AC_SUBST(READER_TEST)
   1039 
   1040 if test "$with_writer" = "no" ; then
   1041     echo Disabling the xmlWriter saving interface
   1042     WITH_WRITER=0
   1043 #    WRITER_TEST=
   1044 else    
   1045     WITH_WRITER=1
   1046 #    WRITER_TEST=Writertests
   1047     if test "$with_push" = "no" ; then
   1048         echo xmlWriter requires Push interface - enabling it
   1049 	with_push=yes
   1050     fi
   1051     if test "$with_output" = "no" ; then
   1052         echo xmlWriter requires Output interface - enabling it
   1053 	with_output=yes
   1054     fi
   1055 fi
   1056 AC_SUBST(WITH_WRITER)
   1057 #AC_SUBST(WRITER_TEST)
   1058 
   1059 if test "$with_pattern" = "no" ; then
   1060     echo Disabling the xmlPattern parsing interface
   1061     WITH_PATTERN=0
   1062     TEST_PATTERN=
   1063 else    
   1064     WITH_PATTERN=1
   1065     TEST_PATTERN=Patterntests
   1066 fi
   1067 AC_SUBST(WITH_PATTERN)
   1068 AC_SUBST(TEST_PATTERN)
   1069 
   1070 if test "$with_sax1" = "no" ; then
   1071     echo Disabling the older SAX1 interface
   1072     WITH_SAX1=0
   1073     TEST_SAX=
   1074 else    
   1075     WITH_SAX1=1
   1076     TEST_SAX=SAXtests
   1077 fi
   1078 AC_SUBST(WITH_SAX1)
   1079 AC_SUBST(TEST_SAX)
   1080 
   1081 if test "$with_push" = "no" ; then
   1082     echo Disabling the PUSH parser interfaces
   1083     WITH_PUSH=0
   1084     TEST_PUSH=
   1085 else    
   1086     WITH_PUSH=1
   1087     TEST_PUSH="XMLPushtests"
   1088 fi
   1089 AC_SUBST(WITH_PUSH)
   1090 AC_SUBST(TEST_PUSH)
   1091 
   1092 if test "$with_html" = "no" ; then
   1093     echo Disabling HTML support
   1094     WITH_HTML=0
   1095     HTML_OBJ=
   1096     TEST_HTML=
   1097 else    
   1098     WITH_HTML=1
   1099     HTML_OBJ="HTMLparser.o HTMLtree.o"
   1100     TEST_HTML=HTMLtests
   1101     if test "$with_push" != "no" ; then
   1102         TEST_PHTML=HTMLPushtests
   1103     else
   1104         TEST_PHTML=
   1105     fi
   1106 fi
   1107 AC_SUBST(WITH_HTML)
   1108 AC_SUBST(HTML_OBJ)
   1109 AC_SUBST(TEST_HTML)
   1110 AC_SUBST(TEST_PHTML)
   1111 
   1112 if test "$with_valid" = "no" ; then
   1113     echo Disabling DTD validation support
   1114     WITH_VALID=0
   1115     TEST_VALID=
   1116     TEST_VTIME=
   1117 else    
   1118     WITH_VALID=1
   1119     TEST_VALID=Validtests
   1120     TEST_VTIME=VTimingtests
   1121 fi
   1122 AC_SUBST(WITH_VALID)
   1123 AC_SUBST(TEST_VALID)
   1124 AC_SUBST(TEST_VTIME)
   1125 
   1126 if test "$with_catalog" = "no" ; then
   1127     echo Disabling Catalog support
   1128     WITH_CATALOG=0
   1129     CATALOG_OBJ=
   1130     TEST_CATALOG=
   1131 else    
   1132     WITH_CATALOG=1
   1133     CATALOG_OBJ="catalog.o"
   1134     TEST_CATALOG=Catatests
   1135 fi
   1136 AC_SUBST(WITH_CATALOG)
   1137 AC_SUBST(CATALOG_OBJ)
   1138 AC_SUBST(TEST_CATALOG)
   1139 
   1140 if test "$with_docbook" = "no" ; then
   1141     echo Disabling Docbook support
   1142     WITH_DOCB=0
   1143     DOCB_OBJ=
   1144 else    
   1145     WITH_DOCB=1
   1146     DOCB_OBJ="DOCBparser.o"
   1147 fi
   1148 AC_SUBST(WITH_DOCB)
   1149 AC_SUBST(DOCB_OBJ)
   1150 
   1151 
   1152 if test "$with_xptr" = "no" ; then
   1153     echo Disabling XPointer support
   1154     WITH_XPTR=0
   1155     XPTR_OBJ=
   1156     TEST_XPTR=
   1157 else    
   1158     WITH_XPTR=1
   1159     XPTR_OBJ=xpointer.o
   1160     TEST_XPTR=XPtrtests
   1161     if test "$with_xpath" = "no" ; then
   1162         echo XPointer requires XPath support - enabling it
   1163 	with_xpath=yes
   1164     fi
   1165 fi
   1166 AC_SUBST(WITH_XPTR)
   1167 AC_SUBST(XPTR_OBJ)
   1168 AC_SUBST(TEST_XPTR)
   1169 
   1170 if test "$with_c14n" = "no" ; then
   1171     echo Disabling C14N support
   1172     WITH_C14N=0
   1173     C14N_OBJ=
   1174     TEST_C14N=
   1175 else    
   1176     WITH_C14N=1
   1177     C14N_OBJ="c14n.c"
   1178     TEST_C14N=C14Ntests
   1179     if test "$with_xpath" = "no" ; then
   1180         echo C14N requires XPath support - enabling it
   1181 	with_xpath=yes
   1182     fi
   1183 fi
   1184 AC_SUBST(WITH_C14N)
   1185 AC_SUBST(C14N_OBJ)
   1186 AC_SUBST(TEST_C14N)
   1187 
   1188 if test "$with_xinclude" = "no" ; then
   1189     echo Disabling XInclude support
   1190     WITH_XINCLUDE=0
   1191     XINCLUDE_OBJ=
   1192     with_xinclude="no"
   1193     TEST_XINCLUDE=
   1194 else    
   1195     WITH_XINCLUDE=1
   1196     XINCLUDE_OBJ=xinclude.o
   1197     TEST_XINCLUDE=XIncludetests
   1198     if test "$with_xpath" = "no" ; then
   1199         echo XInclude requires XPath support - enabling it
   1200 	with_xpath=yes
   1201     fi
   1202 fi
   1203 AC_SUBST(WITH_XINCLUDE)
   1204 AC_SUBST(XINCLUDE_OBJ)
   1205 AC_SUBST(TEST_XINCLUDE)
   1206 
   1207 if test "$with_xpath" = "no" ; then
   1208     echo Disabling XPATH support
   1209     WITH_XPATH=0
   1210     XPATH_OBJ=
   1211     TEST_XPATH=
   1212 else    
   1213     WITH_XPATH=1
   1214     XPATH_OBJ=xpath.o
   1215     TEST_XPATH=XPathtests
   1216 fi
   1217 AC_SUBST(WITH_XPATH)
   1218 AC_SUBST(XPATH_OBJ)
   1219 AC_SUBST(TEST_XPATH)
   1220 
   1221 dnl
   1222 dnl output functions
   1223 dnl
   1224 if test "$with_output" = "no" ; then
   1225     echo Disabling serialization/saving support
   1226     WITH_OUTPUT=0
   1227 else    
   1228     WITH_OUTPUT=1
   1229 fi
   1230 AC_SUBST(WITH_OUTPUT)
   1231 
   1232 WITH_ICONV=0
   1233 if test "$with_iconv" = "no" ; then
   1234     echo Disabling ICONV support
   1235 else
   1236     if test "$with_iconv" != "yes" -a "$with_iconv" != "" ; then
   1237 	CPPFLAGS="${CPPFLAGS} -I$with_iconv/include"
   1238 	# Export this since our headers include iconv.h
   1239 	XML_INCLUDEDIR="${XML_INCLUDEDIR} -I$with_iconv/include"
   1240 	ICONV_LIBS="-L$with_iconv/lib"
   1241     fi
   1242 
   1243     AC_CHECK_HEADER(iconv.h,
   1244 	AC_MSG_CHECKING(for iconv)
   1245 	AC_TRY_LINK([#include <stdlib.h>
   1246 #include <iconv.h>],[
   1247 iconv_t cd = iconv_open ("","");
   1248 iconv (cd, NULL, NULL, NULL, NULL);],[
   1249 	    AC_MSG_RESULT(yes)
   1250 	    WITH_ICONV=1],[
   1251 	    AC_MSG_RESULT(no)
   1252 	    AC_MSG_CHECKING(for iconv in -liconv)
   1253 
   1254 	    _ldflags="${LDFLAGS}"
   1255 	    _libs="${LIBS}"
   1256 	    LDFLAGS="${LDFLAGS} ${ICONV_LIBS}"
   1257 	    LIBS="${LIBS} -liconv"
   1258 
   1259 	    AC_TRY_LINK([#include <stdlib.h>
   1260 #include <iconv.h>],[
   1261 iconv_t cd = iconv_open ("","");
   1262 iconv (cd, NULL, NULL, NULL, NULL);],[
   1263 		AC_MSG_RESULT(yes)
   1264 		WITH_ICONV=1
   1265 		ICONV_LIBS="${ICONV_LIBS} -liconv"
   1266 		LIBS="${_libs}"
   1267 		LDFLAGS="${_ldflags}"],[
   1268 		AC_MSG_RESULT(no)
   1269 		LIBS="${_libs}"
   1270 		LDFLAGS="${_ldflags}"])]))
   1271 
   1272 	if test "$WITH_ICONV" = "1" ; then
   1273 		AC_MSG_CHECKING([for iconv declaration])
   1274 		AC_CACHE_VAL(xml_cv_iconv_arg2, [
   1275 			AC_TRY_COMPILE([#include <stdlib.h>
   1276 #include <iconv.h>
   1277 extern
   1278 #ifdef __cplusplus
   1279 "C"
   1280 #endif
   1281 #if defined(__STDC__) || defined(__cplusplus)
   1282 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
   1283 #else
   1284 size_t iconv();
   1285 #endif
   1286 ], [], xml_cv_iconv_arg2="", xml_cv_iconv_arg2="const")])
   1287 
   1288 		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);"
   1289 		AC_MSG_RESULT([${xml_xxx:-
   1290 	}$xml_cv_iconv_decl])
   1291 		AC_DEFINE_UNQUOTED(ICONV_CONST, $xml_cv_iconv_arg2,
   1292 			[Define as const if the declaration of iconv() needs const.])
   1293 	fi
   1294 fi
   1295 case "$host" in
   1296 	*mingw*) M_LIBS=""
   1297 	;;
   1298 	*beos*) M_LIBS=""
   1299 	;;
   1300         *haiku*) M_LIBS=""
   1301         ;;
   1302 	*) M_LIBS="-lm"
   1303 	;;
   1304 esac
   1305 XML_LIBS="-lxml2 $Z_LIBS $THREAD_LIBS $ICONV_LIBS $M_LIBS $LIBS"
   1306 XML_LIBTOOLLIBS="libxml2.la"
   1307 AC_SUBST(WITH_ICONV)
   1308 
   1309 WITH_ISO8859X=1
   1310 if test "$WITH_ICONV" != "1" ; then
   1311 if test "$with_iso8859x" = "no" ; then
   1312     echo Disabling ISO8859X support
   1313     WITH_ISO8859X=0
   1314 fi
   1315 fi
   1316 AC_SUBST(WITH_ISO8859X)
   1317 
   1318 if test "$with_schematron" = "no" ; then
   1319     echo "Disabling Schematron support"
   1320     WITH_SCHEMATRON=0
   1321     TEST_SCHEMATRON=
   1322 else    
   1323     echo "Enabled Schematron support"
   1324     WITH_SCHEMATRON=1
   1325     TEST_SCHEMATRON="Schematrontests"
   1326     with_xpath=yes
   1327     with_pattern=yes
   1328 fi
   1329 AC_SUBST(WITH_SCHEMATRON)
   1330 AC_SUBST(TEST_SCHEMATRON)
   1331 
   1332 if test "$with_schemas" = "no" ; then
   1333     echo "Disabling Schemas/Relax-NG support"
   1334     WITH_SCHEMAS=0
   1335     TEST_SCHEMAS=
   1336 else    
   1337     echo "Enabled Schemas/Relax-NG support"
   1338     WITH_SCHEMAS=1
   1339     TEST_SCHEMAS="Schemastests Relaxtests"
   1340     if test "$PYTHON_INCLUDES" != "" ; then
   1341         PYTHON_TESTS="$PYTHON_TESTS RelaxNGPythonTests SchemasPythonTests"
   1342     fi
   1343     with_regexps=yes
   1344 fi
   1345 AC_SUBST(WITH_SCHEMAS)
   1346 AC_SUBST(TEST_SCHEMAS)
   1347 
   1348 if test "$with_regexps" = "no" ; then
   1349     echo Disabling Regexps support
   1350     WITH_REGEXPS=0
   1351     TEST_REGEXPS=
   1352 else    
   1353     WITH_REGEXPS=1
   1354     TEST_REGEXPS="Regexptests Automatatests"
   1355 fi
   1356 AC_SUBST(WITH_REGEXPS)
   1357 AC_SUBST(TEST_REGEXPS)
   1358 
   1359 if test "$with_debug" = "no" ; then
   1360     echo Disabling DEBUG support
   1361     WITH_DEBUG=0
   1362     DEBUG_OBJ=
   1363     TEST_DEBUG=
   1364 else    
   1365     WITH_DEBUG=1
   1366     DEBUG_OBJ=debugXML.o
   1367     TEST_DEBUG=Scripttests
   1368 fi
   1369 AC_SUBST(WITH_DEBUG)
   1370 AC_SUBST(DEBUG_OBJ)
   1371 AC_SUBST(TEST_DEBUG)
   1372 
   1373 if test "$with_mem_debug" = "yes" ; then
   1374     if test "$with_thread_alloc" = "yes" ; then
   1375         echo Disabling memory debug - cannot use mem-debug with thread-alloc!
   1376 	WITH_MEM_DEBUG=0
   1377     else
   1378         echo Enabling memory debug support
   1379         WITH_MEM_DEBUG=1
   1380     fi
   1381 else    
   1382     WITH_MEM_DEBUG=0
   1383 fi
   1384 AC_SUBST(WITH_MEM_DEBUG)
   1385 
   1386 if test "$with_run_debug" = "yes" ; then
   1387     echo Enabling runtime debug support
   1388     WITH_RUN_DEBUG=1
   1389 else    
   1390     WITH_RUN_DEBUG=0
   1391 fi
   1392 AC_SUBST(WITH_RUN_DEBUG)
   1393 
   1394 WIN32_EXTRA_LIBADD=
   1395 WIN32_EXTRA_LDFLAGS=
   1396 CYGWIN_EXTRA_LDFLAGS=
   1397 CYGWIN_EXTRA_PYTHON_LIBADD=
   1398 case "$host" in
   1399  *-*-mingw*)
   1400  CPPFLAGS="$CPPFLAGS -DWIN32"
   1401  WIN32_EXTRA_LIBADD="-lws2_32"
   1402  WIN32_EXTRA_LDFLAGS="-no-undefined"
   1403  AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])
   1404  AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around])
   1405  AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around])
   1406  ;;
   1407  *-*-cygwin*)
   1408  CYGWIN_EXTRA_LDFLAGS="-no-undefined"
   1409  if test "${PYTHON}" != ""
   1410  then
   1411    CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
   1412  fi
   1413  ;;
   1414 esac
   1415 AC_SUBST(WIN32_EXTRA_LIBADD)
   1416 AC_SUBST(WIN32_EXTRA_LDFLAGS)
   1417 AC_SUBST(CYGWIN_EXTRA_LDFLAGS)
   1418 AC_SUBST(CYGWIN_EXTRA_PYTHON_LIBADD)
   1419 
   1420 if test "$with_coverage" = "yes" -a "${GCC}" = "yes"
   1421 then
   1422     echo Enabling code coverage for GCC
   1423     CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
   1424     LDFLAGS="$LDFLAGS -fprofile-arcs -ftest-coverage"
   1425 else
   1426     echo Disabling code coverage for GCC
   1427 fi
   1428 
   1429 AC_SUBST(CPPFLAGS)
   1430 AC_SUBST(CFLAGS)
   1431 AC_SUBST(LDFLAGS)
   1432 AC_SUBST(XML_CFLAGS)
   1433 
   1434 AC_SUBST(XML_LIBDIR)
   1435 AC_SUBST(XML_LIBS)
   1436 AC_SUBST(XML_LIBTOOLLIBS)
   1437 AC_SUBST(ICONV_LIBS)
   1438 AC_SUBST(XML_INCLUDEDIR)
   1439 AC_SUBST(HTML_DIR)
   1440 AC_SUBST(HAVE_ISNAN)
   1441 AC_SUBST(HAVE_ISINF)
   1442 AC_SUBST(PYTHON)
   1443 AC_SUBST(PYTHON_VERSION)
   1444 AC_SUBST(PYTHON_INCLUDES)
   1445 AC_SUBST(PYTHON_SITE_PACKAGES)
   1446 
   1447 AC_SUBST(M_LIBS)
   1448 AC_SUBST(RDL_LIBS)
   1449 
   1450 dnl for the spec file
   1451 RELDATE=`date +'%a %b %e %Y'`
   1452 AC_SUBST(RELDATE)
   1453 AC_SUBST(PYTHON_TESTS)
   1454 
   1455 rm -f COPYING.LIB COPYING
   1456 ln -s Copyright COPYING
   1457 
   1458 # keep on one line for cygwin c.f. #130896
   1459 AC_OUTPUT(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)
   1460 
   1461 chmod +x xml2-config python/setup.py
   1462 echo Done configuring
   1463