• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/timemachine/gettext-0.17/gettext-tools/gnulib-m4/
1# libxml.m4 serial 4 (gettext-0.17)
2dnl Copyright (C) 2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9AC_DEFUN([gl_LIBXML],
10[
11  AC_REQUIRE([AM_ICONV_LINK])
12
13  AC_MSG_CHECKING([whether included libxml is requested])
14  AC_ARG_WITH([included-libxml],
15    [  --with-included-libxml  use the libxml2 included here],
16    [gl_cv_libxml_force_included=$withval],
17    [gl_cv_libxml_force_included=no])
18  AC_MSG_RESULT([$gl_cv_libxml_force_included])
19
20  gl_cv_libxml_use_included="$gl_cv_libxml_force_included"
21  LIBXML=
22  LTLIBXML=
23  INCXML=
24  if test "$gl_cv_libxml_use_included" != yes; then
25    dnl Figure out whether we can use a preinstalled libxml2, or have to use
26    dnl the included one.
27    AC_CACHE_VAL([gl_cv_libxml], [
28      gl_cv_libxml=no
29      gl_cv_LIBXML=
30      gl_cv_LTLIBXML=
31      gl_cv_INCXML=
32      gl_save_LIBS="$LIBS"
33      LIBS="$LIBS $LIBICONV"
34      dnl Search for libxml2 and define LIBXML2, LTLIBXML2 and INCXML2
35      dnl accordingly.
36      dnl Don't use xml2-config nor pkg-config, since it doesn't work when
37      dnl cross-compiling or when the C compiler in use is different from the
38      dnl one that built the library.
39      AC_LIB_LINKFLAGS_BODY([xml2])
40      LIBS="$gl_save_LIBS $LIBXML2 $LIBICONV"
41      AC_TRY_LINK([#include <libxml/xmlversion.h>],
42        [xmlCheckVersion (0);],
43        [gl_cv_libxml=yes
44         gl_cv_LIBXML="$LIBXML2 $LIBICONV"
45         gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"
46        ])
47      if test "$gl_cv_libxml" != yes; then
48        gl_save_CPPFLAGS="$CPPFLAGS"
49        CPPFLAGS="$CPPFLAGS $INCXML2"
50        AC_TRY_LINK([#include <libxml/xmlversion.h>],
51          [xmlCheckVersion (0);],
52          [gl_cv_libxml=yes
53           gl_cv_LIBXML="$LIBXML2 $LIBICONV"
54           gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"
55           gl_cv_INCXML="$INCXML2"
56          ])
57        if test "$gl_cv_libxml" != yes; then
58          dnl Often the include files are installed in /usr/include/libxml2.
59          AC_TRY_LINK([#include <libxml2/libxml/xmlversion.h>],
60            [xmlCheckVersion (0);],
61            [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlversion.h])
62             libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlversion_h" | sed -e 's,.libxml.xmlversion\.h$,,'`
63             if test -d "$libxml2_include_dir"; then
64               gl_cv_libxml=yes
65               gl_cv_LIBXML="$LIBXML2 $LIBICONV"
66               gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"
67               gl_cv_INCXML="-I$libxml2_include_dir"
68             fi
69            ])
70        fi
71        CPPFLAGS="$gl_save_CPPFLAGS"
72      fi
73      LIBS="$gl_save_LIBS"
74    ])
75    AC_MSG_CHECKING([for libxml])
76    AC_MSG_RESULT([$gl_cv_libxml])
77    if test $gl_cv_libxml = yes; then
78      LIBXML="$gl_cv_LIBXML"
79      LTLIBXML="$gl_cv_LTLIBXML"
80      INCXML="$gl_cv_INCXML"
81    else
82      gl_cv_libxml_use_included=yes
83    fi
84  fi
85  AC_SUBST([LIBXML])
86  AC_SUBST([LTLIBXML])
87  AC_SUBST([INCXML])
88  AC_MSG_CHECKING([whether to use the included libxml])
89  AC_MSG_RESULT([$gl_cv_libxml_use_included])
90
91  if test "$gl_cv_libxml_use_included" = yes; then
92    LIBXML_H=
93    LIBXML_H="$LIBXML_H libxml/DOCBparser.h"
94    LIBXML_H="$LIBXML_H libxml/HTMLparser.h"
95    LIBXML_H="$LIBXML_H libxml/HTMLtree.h"
96    LIBXML_H="$LIBXML_H libxml/SAX2.h"
97    LIBXML_H="$LIBXML_H libxml/SAX.h"
98    LIBXML_H="$LIBXML_H libxml/c14n.h"
99    LIBXML_H="$LIBXML_H libxml/catalog.h"
100    LIBXML_H="$LIBXML_H libxml/chvalid.h"
101    LIBXML_H="$LIBXML_H libxml/debugXML.h"
102    LIBXML_H="$LIBXML_H libxml/dict.h"
103    LIBXML_H="$LIBXML_H libxml/encoding.h"
104    LIBXML_H="$LIBXML_H libxml/entities.h"
105    LIBXML_H="$LIBXML_H libxml/globals.h"
106    LIBXML_H="$LIBXML_H libxml/hash.h"
107    LIBXML_H="$LIBXML_H libxml/list.h"
108    LIBXML_H="$LIBXML_H libxml/nanoftp.h"
109    LIBXML_H="$LIBXML_H libxml/nanohttp.h"
110    LIBXML_H="$LIBXML_H libxml/parser.h"
111    LIBXML_H="$LIBXML_H libxml/parserInternals.h"
112    LIBXML_H="$LIBXML_H libxml/pattern.h"
113    LIBXML_H="$LIBXML_H libxml/relaxng.h"
114    LIBXML_H="$LIBXML_H libxml/schemasInternals.h"
115    LIBXML_H="$LIBXML_H libxml/schematron.h"
116    LIBXML_H="$LIBXML_H libxml/threads.h"
117    LIBXML_H="$LIBXML_H libxml/tree.h"
118    LIBXML_H="$LIBXML_H libxml/uri.h"
119    LIBXML_H="$LIBXML_H libxml/valid.h"
120    LIBXML_H="$LIBXML_H libxml/xinclude.h"
121    LIBXML_H="$LIBXML_H libxml/xlink.h"
122    LIBXML_H="$LIBXML_H libxml/xmlIO.h"
123    LIBXML_H="$LIBXML_H libxml/xmlautomata.h"
124    LIBXML_H="$LIBXML_H libxml/xmlerror.h"
125    LIBXML_H="$LIBXML_H libxml/xmlexports.h"
126    LIBXML_H="$LIBXML_H libxml/xmlmemory.h"
127    LIBXML_H="$LIBXML_H libxml/xmlmodule.h"
128    LIBXML_H="$LIBXML_H libxml/xmlreader.h"
129    LIBXML_H="$LIBXML_H libxml/xmlregexp.h"
130    LIBXML_H="$LIBXML_H libxml/xmlsave.h"
131    LIBXML_H="$LIBXML_H libxml/xmlschemas.h"
132    LIBXML_H="$LIBXML_H libxml/xmlschemastypes.h"
133    LIBXML_H="$LIBXML_H libxml/xmlstring.h"
134    LIBXML_H="$LIBXML_H libxml/xmlunicode.h"
135    LIBXML_H="$LIBXML_H libxml/xmlversion.h"
136    LIBXML_H="$LIBXML_H libxml/xmlwriter.h"
137    LIBXML_H="$LIBXML_H libxml/xpath.h"
138    LIBXML_H="$LIBXML_H libxml/xpathInternals.h"
139    LIBXML_H="$LIBXML_H libxml/xpointer.h"
140    AC_CHECK_HEADERS([arpa/inet.h ctype.h dlfcn.h dl.h errno.h \
141                      fcntl.h float.h limits.h malloc.h math.h netdb.h \
142                      netinet/in.h signal.h stdlib.h string.h \
143                      strings.h sys/select.h sys/socket.h sys/stat.h \
144                      sys/time.h sys/types.h time.h unistd.h])
145    AC_CHECK_HEADERS([arpa/nameser.h], [], [], [
146      #if HAVE_SYS_TYPES_H
147      # include <sys/types.h>
148      #endif
149    ])
150    AC_CHECK_HEADERS([resolv.h], [], [], [
151      #if HAVE_SYS_TYPES_H
152      # include <sys/types.h>
153      #endif
154      #if HAVE_NETINET_IN_H
155      # include <netinet/in.h>
156      #endif 
157      #if HAVE_ARPA_NAMESER_H 
158      # include <arpa/nameser.h>
159      #endif
160    ])
161    AC_CHECK_FUNCS([dlopen getaddrinfo localtime shlload stat _stat strftime])
162    dnl This relies on the va_copy replacement from the stdarg module.
163    AC_DEFINE([VA_COPY], [va_copy],
164      [Define to a working va_copy macro or replacement.])
165    dnl Don't bother checking for pthread.h and other multithread facilities.
166    dnl Don't bother checking for zlib.h and how to link with libz.
167  else
168    LIBXML_H=
169  fi
170  AC_SUBST([LIBXML_H])
171
172  AM_CONDITIONAL([INCLUDED_LIBXML],
173    [test "$gl_cv_libxml_use_included" = yes])
174])
175