php-src/ext/simplexml/config.m4
Nikita Popov 4730b06f1d Make SimpleXMLElement a RecursiveIterator
Context: https://externals.io/message/108789

This essentially moves the functionality of SimpleXMLIterator into
SimpleXMLElement, and makes SimpleXMLIterator a no-op extension.

Ideally SimpleXMLElement would be an IteratorAggregate, whose
getIterator() method returns SimpleXMLIterator. However, because
SimpleXMLIterator extends SimpleXMLElement (and code depends on
this in non-trivial ways), this is not possible.

The only way to not keep SimpleXMLElement as a magic Traversable
(that implements neither Iterator nor IteratorAggregate) is to
move the SimpleXMLIterator functionality into it.

Closes GH-5234.
2020-06-24 15:09:21 +02:00

21 lines
695 B
Text

PHP_ARG_ENABLE([simplexml],
[whether to enable SimpleXML support],
[AS_HELP_STRING([--disable-simplexml],
[Disable SimpleXML support])],
[yes])
if test "$PHP_SIMPLEXML" != "no"; then
if test "$PHP_LIBXML" = "no"; then
AC_MSG_ERROR([SimpleXML extension requires LIBXML extension, add --with-libxml])
fi
PHP_SETUP_LIBXML(SIMPLEXML_SHARED_LIBADD, [
AC_DEFINE(HAVE_SIMPLEXML,1,[ ])
PHP_NEW_EXTENSION(simplexml, simplexml.c, $ext_shared)
PHP_INSTALL_HEADERS([ext/simplexml/php_simplexml.h ext/simplexml/php_simplexml_exports.h])
PHP_SUBST(SIMPLEXML_SHARED_LIBADD)
])
PHP_ADD_EXTENSION_DEP(simplexml, libxml)
PHP_ADD_EXTENSION_DEP(simplexml, spl, true)
fi