List:Commits« Previous MessageNext Message »
From:kboortz Date:June 17 2007 5:15pm
Subject:PHP mysqlnd svn commit: r378 - trunk/php5/ext/mysqli
View as plain text  
Author: kboortz
Date: 2007-06-17 17:15:40 +0200 (Sun, 17 Jun 2007)
New Revision: 378

Modified:
   trunk/php5/ext/mysqli/config.w32
Log:
Made build with --enable-mysqlnd to compile and link with VS 2003 .Net

Modified: trunk/php5/ext/mysqli/config.w32
===================================================================
--- trunk/php5/ext/mysqli/config.w32	2007-06-17 01:51:21 UTC (rev 377)
+++ trunk/php5/ext/mysqli/config.w32	2007-06-17 15:15:40 UTC (rev 378)
@@ -1,14 +1,64 @@
 // $Id: config.w32,v 1.7 2005/06/05 19:25:01 wez Exp $
 // vim:ft=javascript
 
+// Note: The extension name is "mysqli", you enable it with "--with-mysqli".
+// The "--enable-mysqlnd" tells to use "mysqli", if enabled, with the bundled
+// client library to connect to the MySQL server, i.e. no external MySQL
+// client library is needed to perform the build.
+
 ARG_WITH("mysqli", "MySQLi support", "no");
+ARG_ENABLE("mysqlnd", "MySQLi with mysqlnd support", "no");
 
 if (PHP_MYSQLI != "no") {
-	if (CHECK_LIB("libmysql.lib", "mysqli", PHP_MYSQLI) &&
-			CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_MYSQLI", PHP_MYSQLI + "\\include;" +
PHP_PHP_BUILD + "\\include\\mysql;" + PHP_MYSQLI)) {
-		EXTENSION("mysqli", "mysqli.c mysqli_api.c mysqli_prop.c mysqli_nonapi.c mysqli_fe.c
mysqli_report.c mysqli_repl.c mysqli_driver.c mysqli_warning.c mysqli_exception.c
mysqli_embedded.c");
-		AC_DEFINE('HAVE_MYSQLILIB', 1, 'Have MySQLi library');
-	} else {
-		WARNING("mysqli not enabled; libraries and headers not found");
-	}
+
+  mysqli_source =
+        "mysqli.c " +
+        "mysqli_api.c " +
+        "mysqli_driver.c " +
+        "mysqli_embedded.c " +
+        "mysqli_exception.c " +
+        "mysqli_fe.c " +
+        "mysqli_nonapi.c " +
+        "mysqli_prop.c " +
+        "mysqli_report.c " +
+        "mysqli_warning.c";
+
+  if (PHP_MYSQLND == "no") {
+    if (CHECK_LIB("libmysql.lib", "mysqli", PHP_MYSQLI) &&
+        CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_MYSQLI", PHP_MYSQLI + 
+                                 "\\include;" + PHP_PHP_BUILD +
+                                 "\\include\\mysql;" + PHP_MYSQLI)) {
+      // No "mysqli_repl.c" when using "mysqlnd"
+      mysqli_extra_sources = "mysqli_repl.c";
+      EXTENSION("mysqli", mysqli_source + " " + mysqli_extra_sources);
+      AC_DEFINE('HAVE_MYSQLILIB', 1, 'Have MySQLi library');
+    } else {
+      WARNING("mysqli not enabled; libraries and headers not found");
+    }
+
+  } else {
+
+    mysqlnd_source = 
+        "mysqlnd.c " +
+//        "mysqlnd_alloc.c " +
+        "mysqlnd_charset.c " +
+        "mysqlnd_loaddata.c " +
+        "mysqlnd_palloc.c " +
+        "mysqlnd_ps.c " +
+        "mysqlnd_ps_codec.c " +
+        "mysqlnd_qcache.c " +
+        "mysqlnd_result.c " +
+        "mysqlnd_result_meta.c " +
+        "mysqlnd_statistics.c " +
+        "mysqlnd_wireprotocol.c";
+
+    EXTENSION("mysqli", mysqli_source);
+    // Specify that add "mysqlnd" sources, but use same object file
+    // directory as the "mysqli" sources
+    // FIXME the hard coded "ext/mysqli/mysqlnd" prevents pointing
+    // out sources in another directory? Like above: PHP_MYSQLI + "\\include;"
+    ADD_SOURCES("ext/mysqli/mysqlnd", mysqlnd_source, "mysqli");
+    AC_DEFINE('HAVE_MYSQLILIB', 1, 'Have MySQLi library');
+    AC_DEFINE('HAVE_MYSQLND'  , 1, 'MySQL native driver support enabled');
+  }
 }

Thread
PHP mysqlnd svn commit: r378 - trunk/php5/ext/mysqlikboortz17 Jun