]> git.ipfire.org Git - thirdparty/lldpd.git/blob - m4/xml2.m4
travis: only enable sanitizers on Linux
[thirdparty/lldpd.git] / m4 / xml2.m4
1 #
2 # lldp_CHECK_XML2
3 #
4
5
6 AC_DEFUN([lldp_CHECK_XML2], [
7 if test x"$with_xml" != x"no"; then
8 PKG_CHECK_MODULES([XML2], [libxml-2.0], [
9 dnl Found through pkg-config
10 AC_DEFINE_UNQUOTED([USE_XML], 1, [Define to indicate to enable XML support])
11 with_xml=yes
12 ],[
13 dnl Fallback to xml2-config
14 AC_PATH_TOOL([XML2_CONFIG], [xml2-config], [no])
15 if test x"$XML2_CONFIG" = x"no"; then
16 dnl No luck
17 if test x"$with_xml" = x"yes"; then
18 AC_MSG_FAILURE([*** no libxml2 support found])
19 fi
20 with_xml=no
21 else
22 dnl Check that it's working as expected
23 XML2_LIBS=`${XML2_CONFIG} --libs`
24 XML2_CFLAGS=`${XML2_CONFIG} --cflags`
25
26 _save_flags="$CFLAGS"
27 _save_libs="$LIBS"
28 CFLAGS="$CFLAGS ${XML2_CFLAGS}"
29 LIBS="$LIBS ${XML2_LIBS}"
30 AC_MSG_CHECKING([whether libxml-2 work as expected])
31 AC_LINK_IFELSE([AC_LANG_PROGRAM([
32 @%:@include <libxml/encoding.h>
33 @%:@include <libxml/xmlwriter.h>
34 ],[
35 xmlDocPtr doc;
36 xmlTextWriterPtr xw = xmlNewTextWriterDoc(&doc, 0);
37 return (xw != NULL);
38 ])],[
39 AC_MSG_RESULT(yes)
40 AC_SUBST([XML2_LIBS])
41 AC_SUBST([XML2_CFLAGS])
42 AC_DEFINE_UNQUOTED([USE_XML], 1, [Define to indicate to enable XML support])
43 with_xml=yes
44 ],[
45 AC_MSG_RESULT(no)
46 if test x"$with_xml" = x"yes"; then
47 AC_MSG_FAILURE([*** libxml2 not working as expected])
48 fi
49 with_xml=no
50 ])
51 CFLAGS="$_save_flags"
52 LIBS="$_save_libs"
53 fi
54 ])
55 fi
56 ])