helly Sat Feb 1 13:59:59 2003 EDT
Modified files:
/php4/ext/dba config.m4 dba_cdb.c dba_dbm.c dba_gdbm.c
Log:
- unify configure mechanisms (include file handling)
- fix dbm
- allow dbm to be based on gdbm
Index: php4/ext/dba/config.m4
diff -u php4/ext/dba/config.m4:1.41 php4/ext/dba/config.m4:1.42
--- php4/ext/dba/config.m4:1.41 Fri Jan 31 15:06:44 2003
+++ php4/ext/dba/config.m4 Sat Feb 1 13:59:59 2003
@@ -1,11 +1,11 @@
dnl
-dnl $Id: config.m4,v 1.41 2003/01/31 20:06:44 helly Exp $
+dnl $Id: config.m4,v 1.42 2003/02/01 18:59:59 helly Exp $
dnl
dnl Suppose we need FlatFile if no support or only CDB is used.
AC_DEFUN(PHP_DBA_STD_BEGIN,[
- unset THIS_INCLUDE THIS_INC_DIR THIS_LIBS THIS_LFLAGS THIS_PREFIX THIS_RESULT
+ unset THIS_INCLUDE THIS_LIBS THIS_LFLAGS THIS_PREFIX THIS_RESULT
])
AC_DEFUN(PHP_TEMP_LDFLAGS,[
@@ -35,11 +35,8 @@
dnl Attach THIS_x to DBA_x
AC_DEFUN(PHP_DBA_STD_ATTACH,[
- if test -n "$THIS_INC_DIR" -a "$THIS_PREFIX" != "/usr"; then
- PHP_ADD_INCLUDE($THIS_INC_DIR)
- fi
PHP_ADD_LIBRARY_WITH_PATH($THIS_LIBS, $THIS_LFLAGS, DBA_SHARED_LIBADD)
- unset THIS_INCLUDE THIS_INC_DIR THIS_LIBS THIS_LFLAGS THIS_PREFIX
+ unset THIS_INCLUDE THIS_LIBS THIS_LFLAGS THIS_PREFIX
])
dnl Print the result message
@@ -76,7 +73,6 @@
if test -f "$i/include/gdbm.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/gdbm.h
- THIS_INC_DIR=$i/include
break
fi
done
@@ -85,6 +81,7 @@
unset ac_cv_lib_gdbm_gdbm_open
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB(gdbm, gdbm_open, [
+ AC_DEFINE_UNQUOTED(GDBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
AC_DEFINE(DBA_GDBM, 1, [ ])
THIS_LIBS=gdbm
break
@@ -116,10 +113,10 @@
done
if test -n "$THIS_INCLUDE"; then
- AC_DEFINE_UNQUOTED(NDBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
for LIB in ndbm db1 c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB($LIB, dbm_open, [
+ AC_DEFINE_UNQUOTED(NDBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
AC_DEFINE(DBA_NDBM,1, [ ])
THIS_LIBS=$LIB
break
@@ -301,15 +298,26 @@
if test -f "$i/include/dbm.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/dbm.h
- THIS_INC_DIR=$i/include
break
+ elif test -f "$i/include/gdbm/dbm.h"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/gdbm/dbm.h
fi
done
if test -n "$THIS_INCLUDE"; then
- for LIB in db1 dbm c; do
+ for LIB in gdbm dbm c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB($LIB, dbminit, [
+ AC_MSG_CHECKING(for DBM using GDBM)
+ AC_DEFINE_UNQUOTED(DBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
+ if test "$LIB" = "gdbm"; then
+ AC_DEFINE_UNQUOTED(DBM_VERSION, "GDBM", [ ])
+ AC_MSG_RESULT(yes)
+ else
+ AC_DEFINE_UNQUOTED(DBM_VERSION, "DBM", [ ])
+ AC_MSG_RESULT(no)
+ fi
AC_DEFINE(DBA_DBM,1,[ ])
THIS_LIBS=$LIB
break
@@ -344,7 +352,6 @@
if test -f "$i/include/cdb.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/cdb.h
- THIS_INC_DIR=$i/include
break
fi
done
@@ -353,6 +360,7 @@
for LIB in cdb c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB($LIB, cdb_read, [
+ AC_DEFINE_UNQUOTED(CDB_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
AC_DEFINE(DBA_CDB,1,[ ])
THIS_LIBS=$LIB
break
Index: php4/ext/dba/dba_cdb.c
diff -u php4/ext/dba/dba_cdb.c:1.26 php4/ext/dba/dba_cdb.c:1.27
--- php4/ext/dba/dba_cdb.c:1.26 Tue Dec 31 11:06:24 2002
+++ php4/ext/dba/dba_cdb.c Sat Feb 1 13:59:59 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_cdb.c,v 1.26 2002/12/31 16:06:24 sebastian Exp $ */
+/* $Id: dba_cdb.c,v 1.27 2003/02/01 18:59:59 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -35,12 +35,13 @@
#include <fcntl.h>
#if DBA_CDB_BUILTIN
-#include "libcdb/cdb.h"
-#include "libcdb/cdb_make.h"
-#include "libcdb/uint32.h"
+# include "libcdb/cdb.h"
+# include "libcdb/cdb_make.h"
+# include "libcdb/uint32.h"
#else
-#include <cdb.h>
-#include <uint32.h>
+# ifdef CDB_INCLUDE_FILE
+# include CDB_INCLUDE_FILE
+# endif
#endif
#define CDB_INFO \
Index: php4/ext/dba/dba_dbm.c
diff -u php4/ext/dba/dba_dbm.c:1.25 php4/ext/dba/dba_dbm.c:1.26
--- php4/ext/dba/dba_dbm.c:1.25 Tue Dec 31 11:06:24 2002
+++ php4/ext/dba/dba_dbm.c Sat Feb 1 13:59:59 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_dbm.c,v 1.25 2002/12/31 16:06:24 sebastian Exp $ */
+/* $Id: dba_dbm.c,v 1.26 2003/02/01 18:59:59 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -27,7 +27,12 @@
#if DBA_DBM
#include "php_dbm.h"
-#include <dbm.h>
+#ifdef DBM_INCLUDE_FILE
+#include DBM_INCLUDE_FILE
+#endif
+#if DBA_GDBM
+#include "php_gdbm.h"
+#endif
#include <unistd.h>
#include <sys/types.h>
@@ -108,6 +113,14 @@
datum gval;
DBM_GKEY;
+
+ if (mode == 1) { /* insert */
+ gval = fetch(gkey);
+ if(gval.dptr) {
+ return FAILURE;
+ }
+ }
+
gval.dptr = (char *) val;
gval.dsize = vallen;
@@ -179,7 +192,13 @@
DBA_INFO_FUNC(dbm)
{
- return estrdup("DBM");
+#if DBA_GDBM
+ if (!strcmp(DBM_VERSION, "GDBM"))
+ {
+ return dba_info_gdbm(hnd, info TSRMLS_CC);
+ }
+#endif
+ return estrdup(DBM_VERSION);
}
#endif
Index: php4/ext/dba/dba_gdbm.c
diff -u php4/ext/dba/dba_gdbm.c:1.19 php4/ext/dba/dba_gdbm.c:1.20
--- php4/ext/dba/dba_gdbm.c:1.19 Tue Dec 31 11:06:24 2002
+++ php4/ext/dba/dba_gdbm.c Sat Feb 1 13:59:59 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba_gdbm.c,v 1.19 2002/12/31 16:06:24 sebastian Exp $ */
+/* $Id: dba_gdbm.c,v 1.20 2003/02/01 18:59:59 helly Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -27,7 +27,9 @@
#if DBA_GDBM
#include "php_gdbm.h"
-#include <gdbm.h>
+#ifdef GDBM_INCLUDE_FILE
+#include GDBM_INCLUDE_FILE
+#endif
#define GDBM_DATA dba_gdbm_data *dba = info->dbf
#define GDBM_GKEY datum gkey; gkey.dptr = (char *) key; gkey.dsize = keylen
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php