]> granicus.if.org Git - php/commitdiff
- Fix bug #55609 (mysqlnd cannot be built shared)
authorJohannes Schlüter <johannes@php.net>
Tue, 6 Sep 2011 16:38:22 +0000 (16:38 +0000)
committerJohannes Schlüter <johannes@php.net>
Tue, 6 Sep 2011 16:38:22 +0000 (16:38 +0000)
# This adds an option --enable-mysqlnd to explicitly built mysqlnd, like any
# other extension it can be used with =shared to build mysqlnd shared;
# mysqlnd will implicitly enabled when requested from another extension

NEWS
ext/mysqlnd/config9.m4
ext/mysqlnd/php_mysqlnd.c

diff --git a/NEWS b/NEWS
index 6e0f2d1931904d12b8b70324d75540967deb7462..7385e3955fda45934ec677d8f79440ea29835072 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,7 @@ PHP                                                                        NEWS
   mysqlnd is used). (Andrey)
 
 - mysqlnd
+  . Fixed bug #55609 (mysqlnd cannot be built shared). (Johannes)
   . Fixed bug #55067 (MySQL doesn't support compression - wrong config option).
     (Andrey)
 
index d38e9eba3c0619b8ae902ceafbe7af6ad683df79..35f2bd6456594de8321b13046046a911697db2d6 100644 (file)
@@ -2,6 +2,9 @@ dnl
 dnl $Id$
 dnl config.m4 for mysqlnd driver
 
+PHP_ARG_ENABLE(mysqlnd, whether to enable mysqlnd,
+  [  --enable-mysqlnd       Enable mysqlnd expliciely, will be done implicitly
+                         when required by other extensions], no, yes)
 
 PHP_ARG_ENABLE(mysqlnd_compression_support, whether to disable compressed protocol support in mysqlnd,
 [  --disable-mysqlnd-compression-support
@@ -13,7 +16,7 @@ if test -z "$PHP_ZLIB_DIR"; then
 fi
 
 dnl If some extension uses mysqlnd it will get compiled in PHP core
-if test "$PHP_MYSQLND_ENABLED" = "yes"; then
+if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes"; then
   mysqlnd_ps_sources="mysqlnd_ps.c mysqlnd_ps_codec.c"
   mysqlnd_base_sources="mysqlnd.c mysqlnd_charset.c mysqlnd_wireprotocol.c \
                    mysqlnd_loaddata.c mysqlnd_net.c mysqlnd_statistics.c \
@@ -27,12 +30,12 @@ if test "$PHP_MYSQLND_ENABLED" = "yes"; then
   AC_DEFINE([MYSQLND_SSL_SUPPORTED], 1, [Enable SSL support])
 
   mysqlnd_sources="$mysqlnd_base_sources $mysqlnd_ps_sources"
-  PHP_NEW_EXTENSION(mysqlnd, $mysqlnd_sources, no)
+  PHP_NEW_EXTENSION(mysqlnd, $mysqlnd_sources, $ext_shared)
   PHP_ADD_BUILD_DIR([ext/mysqlnd], 1)
   PHP_INSTALL_HEADERS([ext/mysqlnd/])
 fi
 
-if test "$PHP_MYSQLND_ENABLED" = "yes" || test "$PHP_MYSQLI" != "no"; then
+if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes" || test "$PHP_MYSQLI" != "no"; then
   PHP_ADD_BUILD_DIR([ext/mysqlnd], 1)
 
   dnl This creates a file so it has to be after above macros
index bba8d026d9325bd9ef7d70b4f614e61c1140dcca..eec15ca89c55b83de5b91257151e1d512b08050b 100644 (file)
@@ -299,6 +299,11 @@ zend_module_entry mysqlnd_module_entry = {
 };
 /* }}} */
 
+/* {{{ COMPILE_DL_MYSQLND */
+#ifdef COMPILE_DL_MYSQLND
+ZEND_GET_MODULE(mysqlnd)
+#endif
+/* }}} */
 
 /*
  * Local variables: