]> granicus.if.org Git - php/commitdiff
Enabled shared build of mysql module
authorGergely Madarász <gorgo@php.net>
Fri, 3 Sep 1999 17:13:53 +0000 (17:13 +0000)
committerGergely Madarász <gorgo@php.net>
Fri, 3 Sep 1999 17:13:53 +0000 (17:13 +0000)
ext/mysql/Makefile.am
ext/mysql/config.m4
ext/mysql/mysql.c

index 4176f7e764b18e47d4d05e030d4a77548bfae481..4ab985db5be2c7291473e5661b2b557816aacb8e 100644 (file)
@@ -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=
index 7727ed09fbda496dc86182a7d20d5e4e1a59ab29..bce0671fd57d5106e05607f7c450800ec3cdecd4 100644 (file)
@@ -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)
index ff66ba7483f61fa47b02171423d113a7c8b0fe4d..ce8545a2e4f9ae90fed21ac371a39682a3c89be1 100644 (file)
  * ? Safe mode implementation
  */
 
+#ifdef PIC
+# define COMPILE_DL 1
+#endif
+
 #if COMPILE_DL
 #include "dl/phpdl.h"
 #endif