mirror of
https://github.com/php/php-src.git
synced 2024-12-04 07:14:10 +08:00
4730b06f1d
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.
30 lines
969 B
JavaScript
30 lines
969 B
JavaScript
// vim:ft=javascript
|
|
|
|
ARG_WITH("simplexml", "Simple XML support", "yes");
|
|
|
|
if (PHP_SIMPLEXML == "yes") {
|
|
if(PHP_LIBXML == "yes" &&
|
|
ADD_EXTENSION_DEP('simplexml', 'libxml') &&
|
|
CHECK_HEADER_ADD_INCLUDE("libxml/tree.h", "CFLAGS_SIMPLEXML", PHP_PHP_BUILD + "\\include\\libxml2")
|
|
) {
|
|
EXTENSION("simplexml", "simplexml.c");
|
|
AC_DEFINE("HAVE_SIMPLEXML", 1, "Simple XML support");
|
|
if (!PHP_SIMPLEXML_SHARED) {
|
|
ADD_FLAG("CFLAGS_SIMPLEXML", "/D LIBXML_STATIC");
|
|
} else {
|
|
if (!CHECK_LIB("libxml2.lib", "simplexml")) {
|
|
WARNING("simplexml support can't be enabled, libxml is not found")
|
|
}
|
|
}
|
|
|
|
if (!ADD_EXTENSION_DEP('simplexml', 'spl', true)) {
|
|
MESSAGE("\tSPL support in simplexml disabled");
|
|
}
|
|
ADD_FLAG("CFLAGS_SIMPLEXML", "/D PHP_SIMPLEXML_EXPORTS ");
|
|
PHP_INSTALL_HEADERS("ext/simplexml/", "php_simplexml.h php_simplexml_exports.h");
|
|
} else {
|
|
PHP_SIMPLEXML = "no";
|
|
WARNING("simplexml not enabled; libraries and headers not found");
|
|
}
|
|
}
|