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