]> 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

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

index d335a2af6cd2f747cc93b2a30aca8deb67eeabac..1152dbce26972ba2539c314332107b07a7ba4dba 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_alloc.c mysqlnd_bt.c mysqlnd_charset.c mysqlnd_wireprotocol.c \
                    mysqlnd_loaddata.c mysqlnd_net.c \
@@ -28,12 +31,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 e687d1fc407fb5b6a995ce6ab53a53c259d398e9..7147e6f4a7373c9436a1e7733ef04256487dbdd7 100644 (file)
@@ -366,6 +366,11 @@ zend_module_entry mysqlnd_module_entry = {
 };
 /* }}} */
 
+/* {{{ COMPILE_DL_MYSQLND */
+#ifdef COMPILE_DL_MYSQLND
+ZEND_GET_MODULE(mysqlnd)
+#endif
+/* }}} */
 
 /*
  * Local variables: