summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure.ac50
-rw-r--r--src/Makefile.am7
2 files changed, 50 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac
index 0f149680b..0cc55b569 100755
--- a/configure.ac
+++ b/configure.ac
@@ -201,14 +201,50 @@ AC_MSG_ERROR([ *** Unable to find CURL library (http://curl.haxx.se/)]))
AC_CHECK_HEADERS([curl/curl.h], ,
AC_MSG_ERROR([ *** CURL library found but cannot find headers (http://curl.haxx.se/)]))
-if test -n "$PKG_CONFIG"; then
- LIBS="$LIBS `$PKG_CONFIG --libs libxml-2.0`"
- CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags libxml-2.0`"
+
+# select xml lib
+AC_ARG_ENABLE(libxml,
+ AC_HELP_STRING([--enable-libxml=ARG],
+ [xml libs: libxml (default), pugixml]),
+ [
+ xmllib="${enableval}"
+ ],
+ [
+ xmllib="libxml"
+ ]
+)
+
+case $xmllib in
+ "libxml")
+ AM_CONDITIONAL(ENABLE_LIBXML, true)
+ AM_CONDITIONAL(ENABLE_PUGIXML, false)
+ ;;
+ "pugixml")
+ AM_CONDITIONAL(ENABLE_LIBXML, false)
+ AM_CONDITIONAL(ENABLE_PUGIXML, true)
+ ;;
+ *)
+ AC_MSG_ERROR([[Wrong xml lib name]])
+ ;;
+esac
+
+if test "$xmllib" == "libxml"; then
+ if test -n "$PKG_CONFIG"; then
+ LIBS="$LIBS `$PKG_CONFIG --libs libxml-2.0`"
+ CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags libxml-2.0`"
+ fi
+ AC_CHECK_LIB([xml2], [xmlInitParser], ,
+ AC_MSG_ERROR([ *** Unable to find libxml2 library (http://xmlsoft.org/)]))
+ AC_CHECK_HEADERS([libxml/xmlreader.h], ,
+ AC_MSG_ERROR([ *** libxml2 library found but cannot find headers (http://xmlsoft.org/)]))
+fi
+
+if test "$xmllib" == "pugixml"; then
+ AC_CHECK_LIB([pugixml], [main], ,
+ AC_MSG_ERROR([ *** Unable to find pugixml library (http://pugixml.org/)]))
+ AC_CHECK_HEADERS([pugixml.hpp], ,
+ AC_MSG_ERROR([ *** pugixml library found but cannot find headers (http://pugixml.org/)]))
fi
-AC_CHECK_LIB([xml2], [xmlInitParser], ,
-AC_MSG_ERROR([ *** Unable to find libxml2 library (http://xmlsoft.org/)]))
-AC_CHECK_HEADERS([libxml/xmlreader.h], ,
-AC_MSG_ERROR([ *** libxml2 library found but cannot find headers (http://xmlsoft.org/)]))
AC_CHECK_LIB(png, png_write_info, ,
AC_MSG_ERROR([ *** Unable to find png library]))
diff --git a/src/Makefile.am b/src/Makefile.am
index a710feab7..88b8b768c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -13,6 +13,13 @@ manaplus_CXXFLAGS = -DPKG_DATADIR=\""$(pkgdatadir)/"\" \
-DLOCALEDIR=\""$(localedir)"\" \
-Wall
+if ENABLE_PUGIXML
+manaplus_CXXFLAGS += -DENABLE_PUGIXML
+endif
+if ENABLE_LIBXML
+manaplus_CXXFLAGS += -DENABLE_LIBXML
+endif
+
if ENABLE_PORTABLE
dyecmd_CXXFLAGS += -DENABLE_PORTABLE
manaplus_CXXFLAGS += -DENABLE_PORTABLE