From: Pierre Joye Date: Sun, 22 Jun 2008 23:17:22 +0000 (+0000) Subject: - really check for the dependency, libs and header and don't enable the ext if someth... X-Git-Tag: php-5.3.0alpha1~644 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=58fce3a86387f478a6aba9b124ea6fb797b1e643;p=php - really check for the dependency, libs and header and don't enable the ext if something is missing --- diff --git a/ext/pdo_odbc/config.w32 b/ext/pdo_odbc/config.w32 index d7cc443f17..72e8972344 100755 --- a/ext/pdo_odbc/config.w32 +++ b/ext/pdo_odbc/config.w32 @@ -4,12 +4,18 @@ ARG_WITH("pdo-odbc", "ODBC support for PDO", "no"); if (PHP_PDO_ODBC != "no") { - if (CHECK_LIB("odbc32.lib", "pdo_odbc") && CHECK_LIB("odbccp32.lib", "pdo_odbc")) { + if (CHECK_LIB("odbc32.lib", "pdo_odbc") && CHECK_LIB("odbccp32.lib", "pdo_odbc") + && CHECK_HEADER_ADD_INCLUDE('sql.h', 'CFLAGS_PDO_ODBC') + && CHECK_HEADER_ADD_INCLUDE('sqlext.h', 'CFLAGS_PDO_ODBC')) { + EXTENSION("pdo_odbc", "pdo_odbc.c odbc_driver.c odbc_stmt.c"); - CHECK_HEADER_ADD_INCLUDE('sql.h', 'CFLAGS_PDO_ODBC'); - CHECK_HEADER_ADD_INCLUDE('sqlext.h', 'CFLAGS_PDO_ODBC'); - ADD_FLAG('CFLAGS_PDO_ODBC', "/I ..\\pecl"); + //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)") + PHP_LIBXML = "no" } - ADD_EXTENSION_DEP('pdo_odbc', 'pdo'); } + diff --git a/ext/pdo_pgsql/config.w32 b/ext/pdo_pgsql/config.w32 index 833d3135ed..78228744b9 100644 --- a/ext/pdo_pgsql/config.w32 +++ b/ext/pdo_pgsql/config.w32 @@ -14,8 +14,8 @@ if (PHP_PDO_PGSQL != "no") { AC_DEFINE('HAVE_PDO_PGSQL', 1, 'Have PostgreSQL library'); ADD_FLAG('CFLAGS_PDO_PGSQL', "/D HAVE_PQPARAMETERSTATUS=1 /D HAVE_PQPROTOCOLVERSION=1 /D HAVE_PGTRANSACTIONSTATUS=1 /D HAVE_PQUNESCAPEBYTEA=1 /D HAVE_PQRESULTERRORFIELD=1 /D HAVE_PQESCAPE_CONN=1 /D HAVE_PQESCAPE_BYTEA_CONN=1"); + ADD_EXTENSION_DEP('pdo_pgsql', 'pdo'); } else { WARNING("pdo_pgsql not enabled; libraries and headers not found"); } - ADD_EXTENSION_DEP('pdo_pgsql', 'pdo'); } diff --git a/ext/pdo_sqlite/config.w32 b/ext/pdo_sqlite/config.w32 index 1b0f888427..0493c05a81 100644 --- a/ext/pdo_sqlite/config.w32 +++ b/ext/pdo_sqlite/config.w32 @@ -32,8 +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") { - 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"); - 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'); + 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")) { + 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") + PHP_PDO_SQLITE_EXTERNAL = "no" + } } diff --git a/ext/xml/config.w32 b/ext/xml/config.w32 index 08d25ffe57..2d07f7f175 100644 --- a/ext/xml/config.w32 +++ b/ext/xml/config.w32 @@ -11,5 +11,3 @@ if (PHP_XML == "yes" && PHP_LIBXML == "yes") { } ADD_EXTENSION_DEP('xml', 'libxml'); } - - diff --git a/ext/xmlrpc/config.w32 b/ext/xmlrpc/config.w32 index 8c399cd147..98ca179758 100644 --- a/ext/xmlrpc/config.w32 +++ b/ext/xmlrpc/config.w32 @@ -4,11 +4,19 @@ 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")) { + 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"); + + if (!ADD_EXTENSION_DEP('xmlrpc', 'libxml')) { + PHP_XMLRPC = "no"; + } + } else { + WARNING("xmlrpc support can't be enabled, libraries or headers are missing") + PHP_XMLRPC = "no"; + } }