Configure: check the xmlBufferDetach presence
[scilab.git] / scilab / m4 / libxml2.m4
1 dnl
2 dnl Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 dnl Copyright (C) INRIA - 2008 - Sylvestre Ledru
4 dnl 
5 dnl This file must be used under the terms of the CeCILL.
6 dnl This source file is licensed as described in the file COPYING, which
7 dnl you should have received as part of this distribution.  The terms
8 dnl are also available at    
9 dnl http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10 dnl
11 dnl libxml is mandatory in Scilab 
12 dnl When we check :
13 dnl * if the path is provided or that we have to find it ourself
14 dnl * if it is available
15 dnl * what are the compilation flags 
16 dnl * what are linking flags
17 AC_DEFUN([AC_LIBXML2], [
18
19 AC_ARG_WITH(libxml2,
20                 AC_HELP_STRING([--with-libxml2=PREFIX],[Set the path to your libxml2 installation]),
21                 [with_libxml2=$withval],
22                 [with_libxml2='yes']
23                 )
24
25 if test "$with_libxml2" != 'yes' -a "$with_libxml2" != 'no'; then
26    # Look if xml-config xml2_config (which provides cflags and ldflags) is available
27    AC_MSG_CHECKING([libxml2, for xml-config])
28    XML_CONFIG="$with_libxml2/bin/xml2-config" 
29         if test -x "$XML_CONFIG"; then
30                 AC_MSG_RESULT([$XML_CONFIG])
31         else
32                 AC_MSG_ERROR([Unable to find $XML_CONFIG. Please check the path you provided])
33                 fi
34 else
35                 AC_CHECK_PROGS(XML_CONFIG,xml2-config,no)
36                 if test "x$XML_CONFIG" = "xno"; then
37                                 AC_MSG_ERROR([Unable to find xml2-config in the path. Please check your installation of libxml2])
38                 fi
39 fi
40 saved_cflags=$CFLAGS
41 saved_LIBS="$LIBS"
42                 
43 XML_FLAGS=`$XML_CONFIG --cflags`
44 XML_LIBS=`$XML_CONFIG --libs`
45 XML_VERSION=`$XML_CONFIG --version`
46
47 CFLAGS="$CFLAGS $XML_FLAGS"
48 LIBS="$LIBS $XML_LIBS"
49
50 AC_CHECK_LIB([xml2], [xmlReaderForFile],
51                [],
52                [AC_MSG_ERROR([libxml2 : library missing. (Cannot find symbol xmlReaderForFile). Check if libxml2 is installed and if the version is correct])]
53                )
54 AC_CHECK_LIB([xml2], [xmlBufferDetach],
55                [],
56                [AC_MSG_ERROR([libxml2 : library missing. (Cannot find symbol xmlBufferDetach). Check if libxml2 is installed and if the version is correct])]
57                )
58
59 #AC_CHECK_HEADERS([libxml/xmlreader.h])
60 #AC_CHECK_HEADERS([libxml/parser.h])
61 #AC_CHECK_HEADERS([libxml/tree.h])
62
63 #AC_CHECK_HEADERS([libxml/xpath.h])
64 #AC_CHECK_HEADERS([libxml/xpathInternals.h])
65
66 CFLAGS=$saved_cflags
67 LIBS="$saved_LIBS"
68
69 AC_SUBST(XML_FLAGS)
70 AC_SUBST(XML_LIBS)
71 AC_SUBST(XML_VERSION)
72
73 AC_DEFINE_UNQUOTED([LIBXML_FLAGS],["$XML_FLAGS"],[libXML2 flags])
74 AC_DEFINE_UNQUOTED([LIBXML_LIBS],["$XML_LIBS"],[libXML2 library])
75
76 #CFLAGS="$CFLAGS $XML_FLAGS"
77 #AC_CHECK_LIB(xml2,xmlInitParserCtxt,,[AC_MSG_ERROR([libxml2 : library missing])])
78
79
80 #AC_CHECK_HEADERS([libxml/tree.h],,[AC_MSG_ERROR([libxml2 : library missing missing])]) 
81
82 # Gets compilation and library flags
83 ])