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"
+ }
+}
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"
+ }
}
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"
}
}
-
-
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");
}
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 +
"\\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"
}
}
}
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
&& 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"
}
}
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"
}
}
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");
+ }
}
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');
}
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 {
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