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