]> granicus.if.org Git - php/commitdiff
- do not enable an ext when a lib/header fails
authorPierre Joye <pajoye@php.net>
Mon, 23 Jun 2008 18:40:29 +0000 (18:40 +0000)
committerPierre Joye <pajoye@php.net>
Mon, 23 Jun 2008 18:40:29 +0000 (18:40 +0000)
- use MESSAGE in mysql*
- use correct CFLAGS for ext/libxml headers

12 files changed:
ext/dom/config.w32
ext/exif/config.w32
ext/libxml/config.w32
ext/mysql/config.w32
ext/mysqli/config.w32
ext/odbc/config.w32
ext/pdo_odbc/config.w32
ext/pdo_sqlite/config.w32
ext/simplexml/config.w32
ext/soap/config.w32
ext/sockets/config.w32
ext/xml/config.w32

index 382587ff6e3758b7f8bf83e16ca4d3d9e05380ac..8fba39336adc23308d7166808059f3c6e63e10bd 100644 (file)
@@ -3,20 +3,24 @@
 
 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 ");
-       }
-       ADD_EXTENSION_DEP('dom', 'libxml');
-}
+if (PHP_DOM == "yes") {
+       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"
+       }
+}
index 3ac0108f2d0069ca9b5fc117f0f063d09e5bbda7..38466c809cfb2631b1d69b44519e233d481b96c5 100644 (file)
@@ -4,7 +4,11 @@
 ARG_ENABLE("exif", "exif", "no");
 
 if (PHP_EXIF == "yes") {
-       EXTENSION("exif", "exif.c");
-       AC_DEFINE('HAVE_EXIF', 1, 'Have exif');
-       ADD_EXTENSION_DEP('exif', 'mbstring');
+       if (ADD_EXTENSION_DEP('exif', 'mbstring')) {
+               EXTENSION("exif", "exif.c");
+               AC_DEFINE('HAVE_EXIF', 1, 'Have exif');
+       } else {
+               WARNING("exif support can't be enabled, libxml is not enabled")
+               PHP_EXIF = "no"
+       }
 }
index 5ba19a3e7bc75a89809b0fcab507b2ea9352e3c9..331e6de98e940d1e8500430b15a8a725968394cc 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,11 +15,8 @@ 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"
        }
 }
-
-
index 7d202b1d1e3c96cb47e5559e4a26c915fb07212a..2a929b41654879dfb2deadd3e087c042c5dc488d 100644 (file)
@@ -4,19 +4,23 @@
 ARG_WITH("mysql", "MySQL support", "no");
 
 if (PHP_MYSQL != "no") {
-       if (PHP_MYSQL == "yes" || PHP_MYSQL == "mysqlnd") {
+       if ((PHP_MYSQL == "yes" || PHP_MYSQL == "mysqlnd")) {
                AC_DEFINE('MYSQL_USE_MYSQLND', 1, 'Using MySQL native driver');
-               ADD_EXTENSION_DEP('mysql', 'mysqlnd', true);
-               EXTENSION("mysql", "php_mysql.c");
-               AC_DEFINE('HAVE_MYSQL', 1, 'Have MySQL library');
-               STDOUT.WriteLine("INFO: mysqlnd build");
+               if (!ADD_EXTENSION_DEP('mysql', 'mysqlnd', true)) {
+                       PHP_MYSQL = "no";
+                       WARNING("mysql not enabled; mysqlnd is not enabled");
+               } else {
+                       EXTENSION("mysql", "php_mysql.c");
+                       AC_DEFINE('HAVE_MYSQL', 1, 'Have MySQL library');
+                       MESSAGE("\tusing mysqlnd build");
+               }
        } else if (PHP_MYSQL != "") {
                if (CHECK_LIB("libmysql.lib", "mysql", PHP_MYSQL) &&
                        CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_MYSQL",
                        PHP_MYSQL + "\\include;" + PHP_PHP_BUILD + "\\include\\mysql;" + PHP_MYSQL)) {
                        EXTENSION("mysql", "php_mysql.c");
                        AC_DEFINE('HAVE_MYSQL', 1, 'Have MySQL library');
-                       STDOUT.WriteLine("INFO: libmysql build");
+                       MESSAGE("\tusing libmysql");
                } else {
                        WARNING("mysql not enabled; libraries and headers not found");
                }
index e7c418999a70c730c01af5ad6cbafc3e589c6063..8ea72a06db080d3618347d9f96185d3cebbf23b6 100644 (file)
@@ -26,7 +26,7 @@ if (PHP_MYSQLI != "no") {
                AC_DEFINE('MYSQLI_USE_MYSQLND', 1, 'Using MySQL native driver');
                AC_DEFINE('HAVE_MYSQLILIB', 1, 'Have MySQLi library');
                ADD_EXTENSION_DEP('mysqli', 'mysqlnd', true);
-               STDOUT.WriteLine("INFO: mysqlnd build");
+               MESSAGE("\tmysqlnd build");
        } else {
                if (CHECK_LIB("libmysql.lib", "mysqli", PHP_MYSQLI) &&
                        CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_MYSQLI", PHP_MYSQLI + 
@@ -34,9 +34,10 @@ if (PHP_MYSQLI != "no") {
                                                                                "\\include\\mysql;" + PHP_MYSQLI)) {
                        EXTENSION("mysqli", mysqli_source);
                        AC_DEFINE('HAVE_MYSQLILIB', 1, 'Have MySQLi library');
-                       STDOUT.WriteLine("INFO: libmysql build");
+                       MESSAGE("\tlibmysql build");
                } else {
                        WARNING("mysqli not enabled; libraries and headers not found");
+                       PHP_MYSQLI = "no"
                }
        }
 }
index 2ff2a069984019824914f50b8e624b10310c5efa..2395ddcb7667208a09c7afe4b23faf9833e9d132 100644 (file)
@@ -4,9 +4,13 @@
 ARG_ENABLE("odbc", "ODBC support", "yes");
 
 if (PHP_ODBC == "yes") {
-       EXTENSION("odbc", "php_odbc.c");
-       AC_DEFINE("HAVE_UODBC", 1, "ODBC support");
-       ADD_FLAG('LIBS_ODBC', 'odbc32.lib odbccp32.lib');
-}
-
-
+       if (CHECK_LIB("odbc32.lib", "odbc") && CHECK_LIB("odbccp32.lib", "odbc")
+       && CHECK_HEADER_ADD_INCLUDE("sql.h", "CFLAGS_ODBC")
+       && CHECK_HEADER_ADD_INCLUDE("sqlext.h", "CFLAGS_ODBC")) {
+               EXTENSION("odbc", "php_odbc.c");
+               AC_DEFINE("HAVE_UODBC", 1, "ODBC support");
+       } else {
+               WARNING("odbc support can't be enabled, libraries or header are missing (SDK)")
+               PHP_ODBC = "no"
+       }
+}
\ No newline at end of file
index 72e897234482062ce988dfb41cb3ae106077e537..dcdb99e4ad78e1ecebb507be46578489172fd120 100755 (executable)
@@ -9,11 +9,10 @@ if (PHP_PDO_ODBC != "no") {
        && CHECK_HEADER_ADD_INCLUDE('sqlext.h', 'CFLAGS_PDO_ODBC')) {
 
                EXTENSION("pdo_odbc", "pdo_odbc.c odbc_driver.c odbc_stmt.c");
-               //ADD_FLAG('CFLAGS_PDO_ODBC', "/I ..\\pecl");
                ADD_EXTENSION_DEP('pdo_odbc', 'pdo');
 
        } else {
-               WARNING("pdo_odbc support can't be enabled, header or library are missing (SDK)")
+               WARNING("pdo_odbc support can't be enabled, headers or libraries are missing (SDK)")
                PHP_LIBXML = "no"
        }
 }
index 0493c05a8115ffee50ab91557272daf6e70b73e8..967147cedd267272ac2bc01832e7594d4eb6b0be 100644 (file)
@@ -32,12 +32,12 @@ if (PHP_PDO_SQLITE != "no") {
 
 ARG_WITH("pdo-sqlite-external", "for pdo_sqlite support from an external dll", "no");
 if (PHP_PDO_SQLITE_EXTERNAL != "no") {
-       if (    CHECK_HEADER_ADD_INCLUDE("sqlite3.h", "CFLAGS_PDO_SQLITE_EXTERNAL", PHP_PDO_SQLITE_EXTERNAL + ";" + PHP_PHP_BUILD + "\\include\\sqlite3") &&
-       CHECK_LIB("sqlite3-import.lib", "pdo_sqlite_external", PHP_PDO_SQLITE_EXTERNAL + ";" + PHP_PHP_BUILD + "\\lib")) {
+       if (CHECK_HEADER_ADD_INCLUDE("sqlite3.h", "CFLAGS_PDO_SQLITE_EXTERNAL", PHP_PDO_SQLITE_EXTERNAL + ";" + PHP_PHP_BUILD + "\\include\\sqlite3") &&
+       CHECK_LIB("sqlite3-import.lib", "pdo_sqlite_external", PHP_PDO_SQLITE_EXTERNAL + ";" + PHP_PHP_BUILD + "\\lib")
+       && ADD_EXTENSION_DEP('pdo_sqlite_external', 'pdo') ) {
                EXTENSION("pdo_sqlite_external", "pdo_sqlite.c sqlite_driver.c sqlite_statement.c", null, "/I" + configure_module_dirname, null, "ext\\pdo_sqlite_external");
-               ADD_EXTENSION_DEP('pdo_sqlite_external', 'pdo');
        } else {
-               WARNING("pdo-sqlite-external support can't be enabled, iconv or libxml are missing")
+               WARNING("pdo-sqlite-external support can't be enabled, libraries or headers are missing")
                PHP_PDO_SQLITE_EXTERNAL = "no"
        }
 }
index 26a87f1c145f96d9d82cf063eed33c5b4be8ca8d..a16b842787edb1bf321a1734ebc919d6ab71e19a 100644 (file)
@@ -3,14 +3,16 @@
 
 ARG_WITH("simplexml", "Simple XML support", "yes");
 
-if (PHP_SIMPLEXML == "yes" && PHP_LIBXML == "yes") {
+if (PHP_SIMPLEXML == "yes" && PHP_LIBXML == "yes"
+       &&      ADD_EXTENSION_DEP('simplexml', 'libxml')) {
        EXTENSION("simplexml", "simplexml.c");
        AC_DEFINE("HAVE_SIMPLEXML", 1, "Simple XML support");
        if (!PHP_SIMPLEXML_SHARED) {
                ADD_FLAG("CFLAGS_SIMPLEXML", "/D LIBXML_STATIC");
        }
-       ADD_EXTENSION_DEP('simplexml', 'libxml');
-       ADD_EXTENSION_DEP('simplexml', 'spl', true);
+       if (!ADD_EXTENSION_DEP('simplexml', 'spl', true)) {
+               MESSAGE("\tSPL support in simplexml disabled");
+       }
 }
 
 
index 048fd70ca133215bce38733fa2512e55153b27cc..5e239551228ffa35835566e093403bc57f59c1a3 100644 (file)
@@ -4,12 +4,16 @@
 ARG_ENABLE("soap", "SOAP support", "no");
 
 if (PHP_SOAP != "no" && PHP_LIBXML == "yes") {
-       EXTENSION('soap', 'soap.c php_encoding.c php_http.c php_packet_soap.c php_schema.c php_sdl.c php_xml.c');
-       AC_DEFINE('HAVE_PHP_SOAP', 1, "SOAP support");
+       if (ADD_EXTENSION_DEP('soap', 'libxml')) {
+               EXTENSION('soap', 'soap.c php_encoding.c php_http.c php_packet_soap.c php_schema.c php_sdl.c php_xml.c');
+               AC_DEFINE('HAVE_PHP_SOAP', 1, "SOAP support");
 
-       if (!PHP_SOAP_SHARED) {
-               ADD_FLAG('CFLAGS_SOAP', "/D LIBXML_STATIC ");
+               if (!PHP_SOAP_SHARED) {
+                       ADD_FLAG('CFLAGS_SOAP', "/D LIBXML_STATIC ");
+               }
+       } else {
+                       WARNING("soap not enabled, libxml not found");
+                       PHP_SOAP = "no"
        }
-       ADD_EXTENSION_DEP('soap', 'libxml');
 }
 
index 587b9a1b127ff855ff77f64273022fd2c37f48be..3e44356fe791623e216f922713ed254aa4523981 100644 (file)
@@ -4,8 +4,8 @@
 ARG_ENABLE("sockets", "SOCKETS support", "no");
 
 if (PHP_SOCKETS != "no") {
-
-       if (CHECK_LIB("ws2_32.lib", "sockets", PHP_SOCKETS)) {
+       if (CHECK_LIB("ws2_32.lib", "sockets", PHP_SOCKETS)
+       && CHECK_HEADER_ADD_INCLUDE("winsock.h", "CFLAGS_SOCKETS")) {
                EXTENSION('sockets', 'sockets.c php_sockets_win.c');
                AC_DEFINE('HAVE_SOCKETS', 1);
        } else {
index 2d07f7f175b9c842faa1276184b845e89b402c31..ed0352701b819355dd2cc11d14ffde7fa7d53adb 100644 (file)
@@ -3,11 +3,16 @@
 
 ARG_WITH("xml", "XML support", "yes");
 
-if (PHP_XML == "yes" && PHP_LIBXML == "yes") {
-       EXTENSION("xml", "xml.c compat.c");
-       AC_DEFINE("HAVE_XML", 1, "XML support");
-       if (!PHP_XML_SHARED) {
-               ADD_FLAG("CFLAGS_XML", "/D LIBXML_STATIC ");
+if (PHP_XML == "yes") {
+       if (PHP_LIBXML == "yes"
+       && ADD_EXTENSION_DEP('xml', 'libxml')) {
+               EXTENSION("xml", "xml.c compat.c");
+               AC_DEFINE("HAVE_XML", 1, "XML support");
+               if (!PHP_XML_SHARED) {
+                       ADD_FLAG("CFLAGS_XML", "/D LIBXML_STATIC ");
+               }
+       } else {
+               WARNING("xml support can't be enabled, libraries or headers are missing")
+               PHP_ZLIB = "no"
        }
-       ADD_EXTENSION_DEP('xml', 'libxml');
-}
+}
\ No newline at end of file