ARG_WITH("xmlrpc", "XMLRPC-EPI support", "no");
if (PHP_XMLRPC != "no") {
- CHECK_HEADER_ADD_INCLUDE("xmlrpc.h", "CFLAGS_XMLRPC", configure_module_dirname + "/libxmlrpc");
- 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");
- ADD_EXTENSION_DEP('xmlrpc', 'libxml');
+ if (CHECK_HEADER_ADD_INCLUDE("xmlrpc.h", "CFLAGS_XMLRPC", configure_module_dirname + "/libxmlrpc")
+ && CHECK_HEADER_ADD_INCLUDE("iconv.h", "CFLAGS")
+ && ADD_EXTENSION_DEP('xmlrpc', 'libxml')) {
+
+ 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");
+
+ } else {
+ WARNING("xmlrpc support can't be enabled, libraries or headers are missing")
+ PHP_XMLRPC = "no";
+ }
}