]> granicus.if.org Git - php/commitdiff
- MFB: do not enable libxml or dom when a dep/header/lib is missing
authorPierre Joye <pajoye@php.net>
Tue, 15 Jul 2008 16:47:40 +0000 (16:47 +0000)
committerPierre Joye <pajoye@php.net>
Tue, 15 Jul 2008 16:47:40 +0000 (16:47 +0000)
ext/dom/config.w32
ext/libxml/config.w32

index 382587ff6e3758b7f8bf83e16ca4d3d9e05380ac..edc2fc267e9163ee9d8eb0d17f89257792985ce6 100644 (file)
@@ -4,19 +4,23 @@
 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');
 }
 
 
index bfac5c839a354745e0cf5ed678e611c61f5fa227..6996374312aa5a56201a0335d393e7877693b78e 100644 (file)
@@ -6,7 +6,8 @@ ARG_WITH("libxml", "LibXML support", "yes");
 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");
@@ -14,7 +15,9 @@ if (PHP_LIBXML == "yes") {
                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"
        }
 }