summaryrefslogtreecommitdiff
path: root/ext/xml/config.m4
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xml/config.m4')
-rw-r--r--ext/xml/config.m455
1 files changed, 47 insertions, 8 deletions
diff --git a/ext/xml/config.m4 b/ext/xml/config.m4
index c4c2de4aa6..481ee5d612 100644
--- a/ext/xml/config.m4
+++ b/ext/xml/config.m4
@@ -2,15 +2,54 @@ dnl
dnl $Id$
dnl
-PHP_ARG_ENABLE(xml,whether to enable XML support,
-[ --disable-xml Disable XML support using bundled expat lib], yes)
+AC_C_BIGENDIAN
-if test "$PHP_XML" = "yes"; then
- AC_DEFINE(HAVE_XML, 1, [ ])
+if test "$ac_cv_c_bigendian" = "yes"; then
+ order=4321
+else
+ order=1234
+fi
+
+PHP_ARG_WITH(xml,whether to enable XML support,
+[ --without-xml Disable XML support. Requires libxml2.], yes)
+
+PHP_ARG_WITH(libxml-dir, libxml install dir,
+[ --with-libxml-dir=DIR XML: libxml install prefix], no, no)
+
+PHP_ARG_WITH(expat-dir, libexpat install dir,
+[ --with-expat-dir=DIR XML: libexpat install prefix (deprecated)], no, no)
+
+if test "$PHP_XML" != "no"; then
+
+ if test "$PHP_XML" != "yes" && test -n "$PHP_LIBXML_DIR"; then
+ PHP_LIBXML_DIR=$PHP_XML
+ fi
+
+ PHP_SETUP_LIBXML(XML_SHARED_LIBADD, [
+ xml_sources="xml.c compat.c"
+ ], [
+ AC_MSG_ERROR(xml2-config not found. Use --with-libxml-dir=<DIR>)
+ ])
+
+ if test "$PHP_EXPAT_DIR" != "no"; then
+ AC_DEFINE(HAVE_LIBEXPAT, 1, [ ])
+ xml_sources="xml.c"
+
+ for i in $PHP_XML $PHP_EXPAT_DIR; do
+ if test -f "$i/lib/libexpat.a" -o -f "$i/lib/libexpat.$SHLIB_SUFFIX_NAME"; then
+ EXPAT_DIR=$i
+ fi
+ done
+
+ if test -z "$EXPAT_DIR"; then
+ AC_MSG_ERROR(not found. Please reinstall the expat distribution.)
+ fi
- if test "$PHP_BUNDLE_EXPAT" = "no" && test "$PHP_BUNDLE_LIBXML" = "no"; then
- AC_MSG_ERROR(xml support is enabled, however both xml libraries have been disabled.)
- fi
+ PHP_ADD_INCLUDE($EXPAT_DIR/include)
+ PHP_ADD_LIBRARY_WITH_PATH(expat, $EXPAT_DIR/lib, XML_SHARED_LIBADD)
+ fi
- PHP_NEW_EXTENSION(xml, compat.c xml.c, $ext_shared)
+ PHP_NEW_EXTENSION(xml, $xml_sources, $ext_shared)
+ PHP_SUBST(XML_SHARED_LIBADD)
+ AC_DEFINE(HAVE_XML, 1, [ ])
fi