diff options
Diffstat (limited to 'ext/xml/config.m4')
-rw-r--r-- | ext/xml/config.m4 | 55 |
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 |