summaryrefslogtreecommitdiff
path: root/ext/dba
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2000-05-02 03:38:26 +0000
committerSascha Schumann <sas@php.net>2000-05-02 03:38:26 +0000
commitc3d4066b48425921c171bcdac18ea36347f1efae (patch)
treeb9130594862f737f18786c799dc2a7903c413243 /ext/dba
parentcf4863788ea22a856e5047212d2de78e64416534 (diff)
downloadphp-git-c3d4066b48425921c171bcdac18ea36347f1efae.tar.gz
Make dba compilable as shared module
Diffstat (limited to 'ext/dba')
-rw-r--r--ext/dba/Makefile.in2
-rw-r--r--ext/dba/config.m416
-rw-r--r--ext/dba/dba.c4
3 files changed, 19 insertions, 3 deletions
diff --git a/ext/dba/Makefile.in b/ext/dba/Makefile.in
index 75162fcebb..b26ec1b92b 100644
--- a/ext/dba/Makefile.in
+++ b/ext/dba/Makefile.in
@@ -2,5 +2,7 @@
LTLIBRARY_NAME = libdba.la
LTLIBRARY_SOURCES = dba.c dba_cdb.c dba_db2.c dba_dbm.c dba_gdbm.c \
dba_ndbm.c dba_db3.c
+LTLIBRARY_SHARED_NAME = dba.la
+LTLIBRARY_SHARED_LIBADD = $(DBA_SHARED_LIBADD)
include $(top_srcdir)/build/dynlib.mk
diff --git a/ext/dba/config.m4 b/ext/dba/config.m4
index d054d04ddf..62cba3218e 100644
--- a/ext/dba/config.m4
+++ b/ext/dba/config.m4
@@ -33,7 +33,15 @@ AC_DEFUN(AC_DBA_STD_CHECK,[
dnl Attach THIS_x to DBA_x
AC_DEFUN(AC_DBA_STD_ATTACH,[
AC_ADD_INCLUDE($THIS_INCLUDE)
- AC_ADD_LIBRARY_WITH_PATH($THIS_LIBS, $THIS_LFLAGS)
+ if test "$ext_shared" = "yes"; then
+ if test -z "$THIS_LFLAGS"; then
+ DBA_SHARED_LIBADD="$DBA_SHARED_LIBADD -l$THIS_LIBS"
+ else
+ DBA_SHARED_LIBADD="$DBA_SHARED_LIBADD -R$THIS_LFLAGS -L$THIS_LFLAGS -l$THIS_LIBS"
+ fi
+ else
+ AC_ADD_LIBRARY_WITH_PATH($THIS_LIBS, $THIS_LFLAGS)
+ fi
THIS_INCLUDE=""
THIS_LIBS=""
@@ -52,7 +60,8 @@ AC_DEFUN(AC_DBA_STD_RESULT,[
THIS_RESULT=""
])
-
+PHP_ARG_ENABLE(dba,whether to enable DBA,
+[ --enable-dba=shared Build DBA as a shared module])
AC_ARG_WITH(gdbm,
[ --with-gdbm[=DIR] Include GDBM support],[
@@ -230,7 +239,8 @@ AC_MSG_CHECKING(whether to enable DBA interface)
if test "$HAVE_DBA" = "1"; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_DBA, 1, [ ])
- PHP_EXTENSION(dba)
+ PHP_EXTENSION(dba,$ext_shared)
+ PHP_SUBST(DBA_SHARED_LIBADD)
else
AC_MSG_RESULT(no)
AC_DEFINE(HAVE_DBA, 0, [ ])
diff --git a/ext/dba/dba.c b/ext/dba/dba.c
index f60760be65..8d034b66b8 100644
--- a/ext/dba/dba.c
+++ b/ext/dba/dba.c
@@ -72,6 +72,10 @@ zend_module_entry dba_module_entry = {
STANDARD_MODULE_PROPERTIES
};
+#ifdef COMPILE_DL_DBA
+ZEND_GET_MODULE(dba)
+#endif
+
typedef struct dba_handler {
char *name;
int (*open)(dba_info *);