Make #'eval-after-load DTRT for dumped lisp (Closes bug 183)
[sxemacs] / m4 / sxe-foreign.m4
1 dnl sxe-foreign.m4 -- Foreign languages
2
3 AC_DEFUN([SXE_LANG_CHECK_XML_CONFIG_BASED], [dnl
4         AC_MSG_CHECKING([checking again with xml2-config])
5         AC_MSG_RESULT([])
6
7         ## hopefully defines XML2_CONFIG
8         SXE_SEARCH_CONFIG_PROG([xml2-config])
9
10         if test "$have_xml2_config" = "no" -o -z "$XML2_CONFIG"; then
11                 AS_MESSAGE([*** xml2-config not found.])
12                 AS_MESSAGE([*** Cannot check for libxml2.])
13                 have_xml2_config=no
14                 XML2_CONFIG=
15         fi
16
17         AC_MSG_CHECKING([whether libxml2 is at least 2.0.0])
18         if test -n "$XML2_CONFIG"; then
19                 libxml2_cflags=`$XML2_CONFIG $xml_config_args --cflags`
20                 libxml2_libs=`$XML2_CONFIG $xml_config_args --libs`
21                 libxml2_version=`$XML2_CONFIG $xml_config_args --version`
22                 AC_MSG_RESULT([yes ($libxml2_version)])
23         else
24                 libxml2_version="uncertain"
25                 AC_MSG_RESULT([no ($libxml2_version)])
26                 have_libxml2_pkg="uncertain"
27         fi
28 ])dnl SXE_LANG_CHECK_XML_CONFIG_BASED
29
30 AC_DEFUN([SXE_LANG_CHECK_XML_INCLUDES], [dnl
31         ## assumes libxml2_cflags is defined
32         SXE_DUMP_LIBS
33         CPPFLAGS="$libxml2_cflags $CPPFLAGS"
34         SXE_CHECK_HEADERS([libxml/tree.h libxml/parser.h libxml/xmlreader.h libxml/xmlwriter.h])
35         SXE_RESTORE_LIBS
36 ])dnl SXE_LANG_CHECK_XML_INCLUDES
37
38 AC_DEFUN([SXE_LANG_CHECK_XML], [dnl
39         ## assumes $PKG_CONFIG is defined
40         ## arg #1: action on success
41         ## arg #2: action on failure
42         pushdef([SUCC], [$1])
43         pushdef([FAIL], [$2])
44
45         if test -z "$PKG_CONFIG"; then
46                 SXE_SEARCH_CONFIG_PROG([pkg-config])
47         fi
48
49         _SXE_CHECK_pkgconfig_based([libxml2], [libxml-2.0], [2.4.0])
50         if test "$have_libxml2_pkg" = "yes"; then
51                 SXE_LANG_CHECK_XML_INCLUDES
52         else
53                 ## try with xml2-config maybe?
54                 SXE_LANG_CHECK_XML_CONFIG_BASED
55                 SXE_LANG_CHECK_XML_INCLUDES
56         fi
57
58         dnl final check
59         AC_MSG_CHECKING([whether libxml2 provides what we need])
60         if test "$ac_cv_header_libxml_tree_h" = "yes" -a \
61                 "$ac_cv_header_libxml_parser_h" = "yes"; then
62                 have_libxml2="yes"
63                 LIBXML2_CPPFLAGS=$libxml2_cflags
64                 LIBXML2_LDFLAGS=$libxml2_libs
65                 SUCC
66         else
67                 have_libxml2="no"
68                 LIBXML2_CPPFLAGS=
69                 LIBXML2_LDFLAGS=
70                 FAIL
71         fi
72         AC_MSG_RESULT([$have_libxml2])
73         AC_SUBST([LIBXML2_CPPFLAGS])
74         AC_SUBST([LIBXML2_LDFLAGS])
75         popdef([FAIL])
76         popdef([SUCC])
77 ])dnl SXE_LANG_CHECK_XML
78
79 dnl sxe-foreign.m4