From 7420cf22bc3dd7d2086421ee1b9659bc9ef559ed Mon Sep 17 00:00:00 2001 From: =?utf8?q?Johannes=20Schl=C3=BCter?= Date: Tue, 6 Sep 2011 16:38:22 +0000 Subject: [PATCH] - Fix bug #55609 (mysqlnd cannot be built shared) # 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 | 9 ++++++--- ext/mysqlnd/php_mysqlnd.c | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ext/mysqlnd/config9.m4 b/ext/mysqlnd/config9.m4 index d335a2af6c..1152dbce26 100644 --- a/ext/mysqlnd/config9.m4 +++ b/ext/mysqlnd/config9.m4 @@ -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 diff --git a/ext/mysqlnd/php_mysqlnd.c b/ext/mysqlnd/php_mysqlnd.c index e687d1fc40..7147e6f4a7 100644 --- a/ext/mysqlnd/php_mysqlnd.c +++ b/ext/mysqlnd/php_mysqlnd.c @@ -366,6 +366,11 @@ zend_module_entry mysqlnd_module_entry = { }; /* }}} */ +/* {{{ COMPILE_DL_MYSQLND */ +#ifdef COMPILE_DL_MYSQLND +ZEND_GET_MODULE(mysqlnd) +#endif +/* }}} */ /* * Local variables: -- 2.40.0