diff options
Diffstat (limited to 'ext/db/config.m4')
-rw-r--r-- | ext/db/config.m4 | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/ext/db/config.m4 b/ext/db/config.m4 new file mode 100644 index 0000000000..9aad420958 --- /dev/null +++ b/ext/db/config.m4 @@ -0,0 +1,47 @@ +dnl $Id$ +dnl config.m4 for extension db +dnl don't forget to call PHP_EXTENSION(db) + +divert(1) + +# Checks for libraries. +# Prefer gdbm, Berkeley DB and ndbm/dbm, in that order +AC_DEFUN(AC_PREFERRED_DB_LIB,[ + AC_CHECK_LIB(gdbm, gdbm_open,[AC_DEFINE(GDBM) DBM_TYPE=gdbm; DBM_LIB=-lgdbm], + [AC_CHECK_LIB(db, dbm_open,[AC_DEFINE(NDBM) DBM_TYPE=ndbm; DBM_LIB=-ldb], + [AC_CHECK_LIB(c, dbm_open,[AC_DEFINE(NDBM) DBM_TYPE=ndbm; DBM_LIB=], + [AC_CHECK_LIB(dbm, dbm_open,[AC_DEFINE(NDBM) DBM_TYPE=ndbm; DBM_LIB=-ldbm], + [DBM_TYPE=""])])])]) + AC_MSG_CHECKING([preferred dbm library]) + if test "a$DBM_TYPE" = a; then + AC_MSG_RESULT(none found) + AC_MSG_WARN(No dbm library found - using built-in flatfile support) + else + AC_MSG_RESULT($DBM_TYPE chosen) + fi + AC_SUBST(DBM_LIB) + AC_SUBST(DBM_TYPE) +]) + +AC_PREFERRED_DB_LIB + +divert(3) + +if test "$DBM_LIB" = "-lgdbm"; then + AC_CHECK_HEADER(gdbm.h, [ GDBM_INCLUDE="" ], [ + AC_MSG_RESULT("Try /usr/local/include/gdbm.h"); + AC_CHECK_HEADER(/usr/local/include/gdbm.h, [ GDBM_INCLUDE="-I/usr/local/include" ],[ + AC_MSG_RESULT("Try /opt/local/include/gdbm.h"); + AC_CHECK_HEADER(/opt/local/include/gdbm.h, [ GDBM_INCLUDE="-I/opt/local/include" ],[ + dnl if in /usr/pkg/include, do not add anything. See above. + AC_MSG_RESULT("Try /usr/pkg/include/gdbm.h"); + AC_CHECK_HEADER(/usr/pkg/include/gdbm.h, [ GDBM_INCLUDE="" ],[ + AC_MSG_RESULT("Giving up - You need to install gdbm.h somewhere"); + exit + ]) + ]) + ]) + ]) + INCLUDES="$INCLUDES $GDBM_INCLUDES" +dnl## AC_SUBST(GDBM_INCLUDE) +fi |