php-src/ext/dba/config.m4

285 lines
7.0 KiB
Plaintext
Raw Normal View History

2001-11-30 19:00:13 +00:00
dnl
1999-07-21 15:12:32 +00:00
dnl $Id$
2001-11-30 19:00:13 +00:00
dnl
1999-07-21 15:12:32 +00:00
dnl Suppose we need FlatFile if no or only CDB is used.
AC_DEFUN(PHP_TEMP_LDFLAGS,[
old_LDFLAGS=$LDFLAGS
1999-07-21 15:12:32 +00:00
LDFLAGS="$1 $LDFLAGS"
$2
LDFLAGS=$old_LDFLAGS
1999-07-21 15:12:32 +00:00
])
dnl Assign INCLUDE/LFLAGS from PREFIX
AC_DEFUN(PHP_DBA_STD_ASSIGN,[
if test -n "$THIS_PREFIX" && test "$THIS_PREFIX" != "/usr"; then
2001-05-12 10:33:52 +00:00
THIS_INCLUDE=$THIS_PREFIX/include
THIS_LFLAGS=$THIS_PREFIX/lib
1999-07-21 15:12:32 +00:00
fi
])
dnl Standard check
AC_DEFUN(PHP_DBA_STD_CHECK,[
1999-07-21 15:12:32 +00:00
THIS_RESULT="yes"
if test "$THIS_PREFIX" != "/usr" -a "$THIS_INCLUDE" = ""; then
1999-07-21 15:12:32 +00:00
AC_MSG_ERROR(cannot find necessary header file(s))
fi
if test "$THIS_LIBS" = "" ; then
AC_MSG_ERROR(cannot find necessary library)
1999-07-21 15:12:32 +00:00
fi
])
dnl Attach THIS_x to DBA_x
AC_DEFUN(PHP_DBA_STD_ATTACH,[
PHP_ADD_INCLUDE($THIS_INCLUDE)
PHP_ADD_LIBRARY_WITH_PATH($THIS_LIBS, $THIS_LFLAGS, DBA_SHARED_LIBADD)
2001-05-12 10:33:52 +00:00
unset THIS_INCLUDE THIS_LIBS THIS_LFLAGS THIS_PREFIX
1999-07-21 15:12:32 +00:00
])
dnl Print the result message
AC_DEFUN(AC_DBA_STD_RESULT,[
if test "$THIS_RESULT" = "yes" -o "$THIS_RESULT" = "builtin"; then
1999-07-21 15:12:32 +00:00
HAVE_DBA=1
AC_MSG_RESULT($THIS_RESULT)
1999-07-21 15:12:32 +00:00
else
AC_MSG_RESULT(no)
fi
2001-05-12 10:33:52 +00:00
unset THIS_RESULT
1999-07-21 15:12:32 +00:00
])
2000-05-02 03:38:26 +00:00
PHP_ARG_ENABLE(dba,whether to enable DBA,
[ --enable-dba Build DBA with builtin modules])
1999-07-21 15:12:32 +00:00
AC_ARG_WITH(gdbm,
[ --with-gdbm[=DIR] Include GDBM support],[
if test "$withval" != "no"; then
for i in /usr/local /usr $withval; do
if test -f "$i/include/gdbm.h"; then
THIS_PREFIX="$i"
fi
done
unset ac_cv_lib_gdbm_gdbm_open
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
2001-05-12 10:33:52 +00:00
AC_CHECK_LIB(gdbm, gdbm_open, [AC_DEFINE(DBA_GDBM, 1, [ ]) THIS_LIBS=gdbm])
1999-07-21 15:12:32 +00:00
])
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
1999-07-21 15:12:32 +00:00
fi
])
AC_MSG_CHECKING(for GDBM support)
AC_DBA_STD_RESULT
AC_ARG_WITH(ndbm,
[ --with-ndbm[=DIR] Include NDBM support],[
if test "$withval" != "no"; then
for i in /usr/local /usr $withval; do
if test -f "$i/include/db1/ndbm.h" ; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
NDBM_EXTRA=db1/ndbm.h
1999-07-21 15:12:32 +00:00
elif test -f "$i/include/ndbm.h" ; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
NDBM_EXTRA=ndbm.h
1999-07-21 15:12:32 +00:00
fi
done
if test "$NDBM_EXTRA" != ""; then
AC_DEFINE_UNQUOTED(NDBM_INCLUDE_FILE, "$NDBM_EXTRA", [ ])
1999-07-21 15:12:32 +00:00
fi
for LIB in db1 ndbm c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
2001-05-12 10:33:52 +00:00
AC_CHECK_LIB($LIB, dbm_open, [AC_DEFINE(DBA_NDBM,1, [ ]) THIS_LIBS=$LIB])
1999-07-21 15:12:32 +00:00
])
done
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
1999-07-21 15:12:32 +00:00
fi
])
AC_MSG_CHECKING(for NDBM support)
AC_DBA_STD_RESULT
AC_ARG_WITH(db2,
[ --with-db2[=DIR] Include Berkeley DB2 support],[
1999-07-21 15:12:32 +00:00
if test "$withval" != "no"; then
2001-06-28 15:16:28 +00:00
for i in /usr/local /usr /usr/BerkeleyDB $withval/BerkeleyDB $withval; do
1999-07-21 15:12:32 +00:00
if test -f "$i/db2/db.h"; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
DB2_EXTRA=db2
1999-07-21 15:12:32 +00:00
elif test -f "$i/include/db2/db.h"; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
DB2_EXTRA=db2/db.h
1999-07-21 15:12:32 +00:00
elif test -f "$i/include/db/db2.h"; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
DB2_EXTRA=db/db2.h
1999-07-21 15:12:32 +00:00
elif test -f "$i/include/db2.h"; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
DB2_EXTRA=db2.h
1999-07-21 15:12:32 +00:00
elif test -f "$i/include/db.h" ; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
DB2_EXTRA=db.h
1999-07-21 15:12:32 +00:00
fi
done
if test "$DB2_EXTRA" = "db2" ; then
DBA_INCLUDE="$DBA_INCLUDE -I$THIS_PREFIX/db2"
2001-05-12 10:33:52 +00:00
DB2_EXTRA=db.h
1999-07-21 15:12:32 +00:00
fi
if test -n "$DB2_EXTRA"; then
AC_DEFINE_UNQUOTED(DB2_INCLUDE_FILE, "$DB2_EXTRA", [ ])
1999-07-21 15:12:32 +00:00
fi
for LIB in db db2 c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
2001-05-12 10:33:52 +00:00
AC_CHECK_LIB($LIB, db_appinit, [AC_DEFINE(DBA_DB2,1,[ ]) THIS_LIBS=$LIB])
1999-07-21 15:12:32 +00:00
])
done
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
1999-07-21 15:12:32 +00:00
fi
])
AC_MSG_CHECKING(for Berkeley DB2 support)
1999-07-21 15:12:32 +00:00
AC_DBA_STD_RESULT
AC_ARG_WITH(db3,
[ --with-db3[=DIR] Include Berkeley DB3 support],[
if test "$withval" != "no"; then
for i in /usr/local /usr /usr/local/BerkeleyDB.3.0 $withval; do
if test -f "$i/db3/db.h"; then
THIS_PREFIX=$i
DB3_EXTRA=db3
elif test -f "$i/include/db3/db.h"; then
2002-03-15 11:26:47 +00:00
THIS_PREFIX=$i
DB3_EXTRA=db3/db.h
elif test -f "$i/include/db/db3.h"; then
THIS_PREFIX=$i
DB3_EXTRA=db/db3.h
elif test -f "$i/include/db3.h"; then
THIS_PREFIX=$i
DB3_EXTRA=db3.h
2002-09-11 16:17:33 +00:00
elif test -f "$i/include/db.h"; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
DB3_EXTRA=db.h
fi
done
if test -n "$DB3_EXTRA"; then
AC_DEFINE_UNQUOTED(DB3_INCLUDE_FILE, "$DB3_EXTRA", [ ])
fi
for LIB in db-3.1 db-3 db3 db; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
2001-05-12 10:33:52 +00:00
AC_CHECK_LIB($LIB, db_create, [AC_DEFINE(DBA_DB3,1,[ ]) THIS_LIBS=$LIB])
])
done
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
fi
])
AC_MSG_CHECKING(for Berkeley DB3 support)
AC_DBA_STD_RESULT
1999-07-21 15:12:32 +00:00
AC_ARG_WITH(dbm,
[ --with-dbm[=DIR] Include DBM support],[
if test "$withval" != "no"; then
1999-07-21 15:12:32 +00:00
for i in /usr/local /usr $withval; do
if test -f "$i/include/dbm.h" ; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
1999-07-21 15:12:32 +00:00
fi
done
for LIB in db1 dbm c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
2001-05-12 10:33:52 +00:00
AC_CHECK_LIB($LIB, dbminit, [AC_DEFINE(DBA_DBM,1,[ ]) THIS_LIBS=$LIB])
1999-07-21 15:12:32 +00:00
])
done
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
1999-07-21 15:12:32 +00:00
fi
])
AC_MSG_CHECKING(for DBM support)
AC_DBA_STD_RESULT
AC_DEFUN(PHP_DBA_BUILTIN_CDB,[
PHP_ADD_BUILD_DIR($ext_builddir/libcdb)
AC_DEFINE(DBA_CDB_BUILTIN, 1, [ ])
AC_DEFINE(DBA_CDB_MAKE, 1, [ ])
AC_DEFINE(DBA_CDB, 1, [ ])
cdb_sources="libcdb/cdb.c libcdb/cdb_make.c libcdb/uint32.c"
THIS_RESULT="builtin"
])
1999-07-21 15:12:32 +00:00
AC_ARG_WITH(cdb,
[ --with-cdb[=DIR] Include CDB support],[
if test "$withval" != "no"; then
PHP_DBA_BUILTIN_CDB
elif test "$withval" != "no"; then
1999-07-21 15:12:32 +00:00
for i in /usr/local /usr $withval; do
if test -f "$i/include/cdb.h" ; then
2001-05-12 10:33:52 +00:00
THIS_PREFIX=$i
1999-07-21 15:12:32 +00:00
fi
done
1999-07-21 15:12:32 +00:00
for LIB in cdb c; do
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib,[
AC_CHECK_LIB($LIB, cdb_read, [AC_DEFINE(DBA_CDB,1,[ ]) THIS_LIBS=$LIB])
1999-07-21 15:12:32 +00:00
])
done
PHP_DBA_STD_ASSIGN
PHP_DBA_STD_CHECK
PHP_DBA_STD_ATTACH
1999-07-21 15:12:32 +00:00
fi
],[
if test "$PHP_DBA" != "no"; then
PHP_DBA_BUILTIN_CDB
fi
1999-07-21 15:12:32 +00:00
])
AC_MSG_CHECKING(for CDB support)
AC_DBA_STD_RESULT
AC_DEFUN(PHP_DBA_BUILTIN_FLATFILE,[
PHP_ADD_BUILD_DIR($ext_builddir/libflatfile)
AC_DEFINE(DBA_FLATFILE, 1, [ ])
flat_sources="dba_flatfile.c libflatfile/flatfile.c"
THIS_RESULT="builtin"
])
dnl
dnl FlatFile check must be the last one.
dnl
AC_ARG_WITH(flatfile,
[ --with-flatfile Include FlatFile support],[
if test "$withval" != "no"; then
PHP_DBA_BUILTIN_FLATFILE
fi
],[
if test "$PHP_DBA" != "no"; then
PHP_DBA_BUILTIN_FLATFILE
fi
])
AC_MSG_CHECKING(for FlatFile support)
AC_DBA_STD_RESULT
1999-07-21 15:12:32 +00:00
AC_MSG_CHECKING(whether to enable DBA interface)
if test "$HAVE_DBA" = "1"; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_DBA, 1, [ ])
PHP_NEW_EXTENSION(dba, dba.c dba_cdb.c dba_db2.c dba_dbm.c dba_gdbm.c dba_ndbm.c dba_db3.c $cdb_sources $flat_sources, $ext_shared)
2000-05-02 03:38:26 +00:00
PHP_SUBST(DBA_SHARED_LIBADD)
1999-07-21 15:12:32 +00:00
else
AC_MSG_RESULT(no)
fi