ARG_WITH("dom", "DOM support", "yes");
if (PHP_DOM == "yes" && PHP_LIBXML == "yes") {
- EXTENSION("dom", "php_dom.c attr.c document.c domerrorhandler.c \
- domstringlist.c domexception.c namelist.c processinginstruction.c \
- cdatasection.c documentfragment.c domimplementation.c element.c \
- node.c string_extend.c characterdata.c documenttype.c \
- domimplementationlist.c entity.c nodelist.c text.c comment.c \
- domconfiguration.c domimplementationsource.c entityreference.c \
- notation.c xpath.c dom_iterators.c typeinfo.c domerror.c \
- domlocator.c namednodemap.c userdatahandler.c");
- AC_DEFINE("HAVE_DOM", 1, "DOM support");
- if (!PHP_DOM_SHARED) {
- ADD_FLAG("CFLAGS_DOM", "/D LIBXML_STATIC ");
+ if (PHP_LIBXML == "yes" && ADD_EXTENSION_DEP('dom', 'libxml')) {
+ EXTENSION("dom", "php_dom.c attr.c document.c domerrorhandler.c \
+ domstringlist.c domexception.c namelist.c processinginstruction.c \
+ cdatasection.c documentfragment.c domimplementation.c element.c \
+ node.c string_extend.c characterdata.c documenttype.c \
+ domimplementationlist.c entity.c nodelist.c text.c comment.c \
+ domconfiguration.c domimplementationsource.c entityreference.c \
+ notation.c xpath.c dom_iterators.c typeinfo.c domerror.c \
+ domlocator.c namednodemap.c userdatahandler.c");
+ AC_DEFINE("HAVE_DOM", 1, "DOM support");
+ if (!PHP_DOM_SHARED) {
+ ADD_FLAG("CFLAGS_DOM", "/D LIBXML_STATIC ");
+ }
+ } else {
+ WARNING("dom support can't be enabled, libxml is not enabled")
+ PHP_DOM = "no"
}
- ADD_EXTENSION_DEP('dom', 'libxml');
}
if (PHP_LIBXML == "yes") {
if (CHECK_LIB("libxml2_a_dll.lib;libxml2_a.lib", "libxml") &&
CHECK_LIB("libiconv_a.lib;iconv_a.lib;libiconv.lib;iconv.lib", "libxml") &&
- CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS")) {
+ CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS_LIBXML") &&
+ ADD_EXTENSION_DEP('libxml', 'iconv')) {
EXTENSION("libxml", "libxml.c", false /* never shared */);
AC_DEFINE("HAVE_LIBXML", 1, "LibXML support");
if (!PHP_LIBXML_SHARED) {
ADD_DEF_FILE("ext\\libxml\\php_libxml2.def");
}
- ADD_EXTENSION_DEP('libxml', 'iconv');
+ } else {
+ WARNING("libxml support can't be enabled, iconv or libxml are missing")
+ PHP_LIBXML = "no"
}
}