mirror of
https://github.com/php/php-src.git
synced 2025-01-15 00:05:02 +08:00
502b187ae8
Since we allow ext/xmlrpc to be built against a system libxmlrpc(-epi), we must not `efree` memory which has been allocated via `malloc`. To distinguish bundled and system libxmlrpc(-epi) we introduce the macro `HAVE_XMLRPC_BUNDLED` (analogous to how it is done by ext/gd). We deliberately keep the ugly `#ifdef`s, instead of tucking them away in an `XMLRPC_FREE()` macro, to not forget that it is a bad idea to fork and bundle a library, but to also allow building against an unpatched system lib.
22 lines
923 B
JavaScript
22 lines
923 B
JavaScript
// $Id$
|
|
// vim:ft=javascript
|
|
|
|
ARG_WITH("xmlrpc", "XMLRPC-EPI support", "no");
|
|
|
|
if (PHP_XMLRPC != "no") {
|
|
if (CHECK_HEADER_ADD_INCLUDE("xmlrpc.h", "CFLAGS_XMLRPC", configure_module_dirname + "/libxmlrpc")
|
|
&& CHECK_HEADER_ADD_INCLUDE("iconv.h", "CFLAGS_XMLRPC")
|
|
&& CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS_XMLRPC", PHP_PHP_BUILD + "\\include\\libxml2")
|
|
&& ADD_EXTENSION_DEP('xmlrpc', 'libxml')
|
|
&& ADD_EXTENSION_DEP('xmlrpc', 'xml')) {
|
|
EXTENSION('xmlrpc', 'xmlrpc-epi-php.c', PHP_XMLRPC_SHARED, "-DVERSION=\"0.50\"");
|
|
ADD_SOURCES(configure_module_dirname + "/libxmlrpc", "base64.c simplestring.c xml_to_dandarpc.c \
|
|
xmlrpc_introspection.c encodings.c system_methods.c xml_to_xmlrpc.c \
|
|
queue.c xml_element.c xmlrpc.c xml_to_soap.c", "xmlrpc");
|
|
AC_DEFINE("HAVE_XMLRPC_BUNDLED", 1);
|
|
} else {
|
|
WARNING("xmlrpc support can't be enabled, libraries or headers are missing")
|
|
PHP_XMLRPC = "no";
|
|
}
|
|
}
|