diff options
author | Gergely Madarász <gorgo@php.net> | 1999-09-03 17:13:53 +0000 |
---|---|---|
committer | Gergely Madarász <gorgo@php.net> | 1999-09-03 17:13:53 +0000 |
commit | bc53807a174e4adca69bc507240f38853842ba98 (patch) | |
tree | d5aedc4d1b1cc0b8c8a74bb4dbdf4693b63ce1b4 /ext/mysql | |
parent | 9a17e7b6f5a6c4d355083b21d884abf7511ed990 (diff) | |
download | php-git-bc53807a174e4adca69bc507240f38853842ba98.tar.gz |
Enabled shared build of mysql module
Diffstat (limited to 'ext/mysql')
-rw-r--r-- | ext/mysql/Makefile.am | 15 | ||||
-rw-r--r-- | ext/mysql/config.m4 | 43 | ||||
-rw-r--r-- | ext/mysql/mysql.c | 4 |
3 files changed, 52 insertions, 10 deletions
diff --git a/ext/mysql/Makefile.am b/ext/mysql/Makefile.am index 4176f7e764..4ab985db5b 100644 --- a/ext/mysql/Makefile.am +++ b/ext/mysql/Makefile.am @@ -1,6 +1,15 @@ # $Id$ -INCLUDES=@INCLUDES@ -I@top_srcdir@ -I@top_srcdir@/libzend -noinst_LIBRARIES=libphpext_mysql.a -libphpext_mysql_a_SOURCES=mysql.c +phplibdir=$(libdir)/php +SRC=mysql.c +INCLUDES=@INCLUDES@ @MYSQL_INCLUDE@ -I@top_srcdir@ -I@top_srcdir@/libzend +noinst_LIBRARIES=@MYSQL_STATIC@ +EXTRA_LIBRARIES=libphpext_mysql.a +libphpext_mysql_a_SOURCES=$(SRC) +phplib_LTLIBRARIES=@MYSQL_SHARED@ +EXTRA_LTLIBRARIES=mysql.la +mysql_la_SOURCES=$(SRC) +mysql_la_LIBADD=@MYSQL_LFLAGS@ -lmysqlclient +mysql_la_LDFLAGS=-avoid-version -module -rpath $(phplibdir) +EXTRA_LIBS= diff --git a/ext/mysql/config.m4 b/ext/mysql/config.m4 index 7727ed09fb..bce0671fd5 100644 --- a/ext/mysql/config.m4 +++ b/ext/mysql/config.m4 @@ -4,13 +4,32 @@ AC_MSG_CHECKING(for MySQL support) AC_ARG_WITH(mysql, [ --with-mysql[=DIR] Include MySQL support. DIR is the MySQL base install directory, defaults to searching through - a number of common places for the MySQL files.], + a number of common places for the MySQL files. + Set DIR to "shared" to build as a dl, or "shared,DIR" + to build as a dl and still specify DIR.], [ + case $withval in + shared) + shared=yes + withval=yes + ;; + shared,*) + shared=yes + withval=`echo $withval | sed -e 's/^shared,//'` + ;; + *) + shared=no + ;; + esac if test "$withval" != "no"; then if test "$withval" = "yes"; then if test -f /usr/include/mysql/mysql.h; then MYSQL_INCDIR=/usr/include/mysql - MYSQL_LIBDIR=/usr/lib/mysql + if test -d /usr/lib/mysql; then + MYSQL_LIBDIR=/usr/lib/mysql + else + MYSQL_LIBDIR=/usr/lib + fi elif test -f /usr/include/mysql.h; then MYSQL_INCDIR=/usr/include MYSQL_LIBDIR=/usr/lib @@ -42,11 +61,17 @@ AC_ARG_WITH(mysql, MYSQL_INCLUDE=-I$MYSQL_INCDIR AC_DEFINE(HAVE_MYSQL) - AC_MSG_RESULT(yes) - - AC_ADD_LIBRARY_WITH_PATH(mysqlclient, $MYSQL_LIBDIR) - AC_ADD_INCLUDE($MYSQL_INCDIR) - PHP_EXTENSION(mysql) + if test "$shared" = "yes"; then + AC_MSG_RESULT(yes (shared)) + MYSQL_LFLAGS="-L$MYSQL_LIBDIR" + MYSQL_SHARED="mysql.la" + else + AC_MSG_RESULT(yes (static)) + AC_ADD_LIBRARY_WITH_PATH(mysqlclient, $MYSQL_LIBDIR) + AC_ADD_INCLUDE($MYSQL_INCDIR) + MYSQL_STATIC="libphpext_mysql.a" + fi + PHP_EXTENSION(mysql, $shared) dnl check for errmsg.h, which isn't installed by some versions of 3.21 old_CPPFLAGS="$CPPFLAGS" @@ -60,3 +85,7 @@ AC_ARG_WITH(mysql, ],[ AC_MSG_RESULT(no) ]) +AC_SUBST(MYSQL_STATIC) +AC_SUBST(MYSQL_SHARED) +AC_SUBST(MYSQL_INCLUDE) +AC_SUBST(MYSQL_LFLAGS) diff --git a/ext/mysql/mysql.c b/ext/mysql/mysql.c index ff66ba7483..ce8545a2e4 100644 --- a/ext/mysql/mysql.c +++ b/ext/mysql/mysql.c @@ -24,6 +24,10 @@ * ? Safe mode implementation */ +#ifdef PIC +# define COMPILE_DL 1 +#endif + #if COMPILE_DL #include "dl/phpdl.h" #endif |