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