# $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=
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
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"
],[
AC_MSG_RESULT(no)
])
+AC_SUBST(MYSQL_STATIC)
+AC_SUBST(MYSQL_SHARED)
+AC_SUBST(MYSQL_INCLUDE)
+AC_SUBST(MYSQL_LFLAGS)