From 32114b57f35763e613cac0bd0dd4ff7fa98d2c3b Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Wed, 29 May 2019 23:09:43 +1000 Subject: [PATCH] Use a common setup macro to detect the Expat library Closes GH-4221. --- build/php.m4 | 14 ++++++++++++++ ext/xml/config.m4 | 7 +------ ext/xmlrpc/config.m4 | 29 ++++++++--------------------- 3 files changed, 23 insertions(+), 27 deletions(-) diff --git a/build/php.m4 b/build/php.m4 index da0db4bd1c..63670108ff 100644 --- a/build/php.m4 +++ b/build/php.m4 @@ -2064,6 +2064,20 @@ AC_DEFUN([PHP_SETUP_LIBXML], [ $2 ]) +dnl +dnl PHP_SETUP_EXPAT([shared-add]) +dnl +dnl Common setup macro for expat. +dnl +AC_DEFUN([PHP_SETUP_EXPAT], [ + PKG_CHECK_MODULES([EXPAT], [expat]) + + PHP_EVAL_INCLINE($EXPAT_CFLAGS) + PHP_EVAL_LIBLINE($EXPAT_LIBS, $1) + + AC_DEFINE(HAVE_LIBEXPAT, 1, [ ]) +]) + dnl ---------------------------------------------------------------------------- dnl Misc. macros dnl ---------------------------------------------------------------------------- diff --git a/ext/xml/config.m4 b/ext/xml/config.m4 index 838972204c..208f9e4c16 100644 --- a/ext/xml/config.m4 +++ b/ext/xml/config.m4 @@ -27,12 +27,7 @@ if test "$PHP_XML" != "no"; then PHP_ADD_EXTENSION_DEP(xml, libxml) ]) else - PKG_CHECK_MODULES([EXPAT], [expat]) - - PHP_EVAL_INCLINE($EXPAT_CFLAGS) - PHP_EVAL_LIBLINE($EXPAT_LIBS, XML_SHARED_LIBADD) - - AC_DEFINE(HAVE_LIBEXPAT, 1, [ ]) + PHP_SETUP_EXPAT([XML_SHARED_LIBADD]) fi PHP_NEW_EXTENSION(xml, xml.c $xml_extra_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) diff --git a/ext/xmlrpc/config.m4 b/ext/xmlrpc/config.m4 index 3ea2d6bd06..c341131297 100644 --- a/ext/xmlrpc/config.m4 +++ b/ext/xmlrpc/config.m4 @@ -1,12 +1,12 @@ PHP_ARG_WITH([xmlrpc], - [for XMLRPC-EPI support], + [whether to build with XMLRPC-EPI support], [AS_HELP_STRING([[--with-xmlrpc[=DIR]]], [Include XMLRPC-EPI support])]) -PHP_ARG_WITH([libexpat-dir], - [libexpat dir for XMLRPC-EPI], - [AS_HELP_STRING([--with-libexpat-dir=DIR], - [XMLRPC-EPI: libexpat dir for XMLRPC-EPI (deprecated)])], +PHP_ARG_WITH([expat], + [whether to build with expat support], + [AS_HELP_STRING([--with-expat], + [XMLRPC-EPI: use expat instead of libxml2])], [no], [no]) @@ -24,9 +24,9 @@ if test "$PHP_XMLRPC" != "no"; then AC_DEFINE(HAVE_XMLRPC,1,[ ]) dnl - dnl Default to libxml2 if --with-libexpat-dir is not used + dnl Default to libxml2 if --with-expat is not specified. dnl - if test "$PHP_LIBEXPAT_DIR" = "no"; then + if test "$PHP_EXPAT" = "no"; then if test "$PHP_LIBXML" = "no"; then AC_MSG_ERROR([XML-RPC extension requires LIBXML extension, add --with-libxml]) @@ -39,20 +39,7 @@ if test "$PHP_XMLRPC" != "no"; then fi ]) else - testval=no - for i in $PHP_LIBEXPAT_DIR $XMLRPC_DIR /usr/local /usr; do - if test -f $i/$PHP_LIBDIR/libexpat.a || test -f $i/$PHP_LIBDIR/libexpat.$SHLIB_SUFFIX_NAME; then - AC_DEFINE(HAVE_LIBEXPAT,1,[ ]) - PHP_ADD_LIBRARY_WITH_PATH(expat, $i/$PHP_LIBDIR, XMLRPC_SHARED_LIBADD) - PHP_ADD_INCLUDE($i/include) - testval=yes - break - fi - done - - if test "$testval" = "no"; then - AC_MSG_ERROR([XML-RPC support requires libexpat. Use --with-libexpat-dir= (deprecated!)]) - fi + PHP_SETUP_EXPAT([XMLRPC_SHARED_LIBADD]) fi dnl if iconv is shared or missing then we should build iconv ourselves -- 2.50.1