📄 dbm.m4
字号:
dnl if present: sets apu_db_header, apu_db_lib, and apu_db_versiondnlAC_DEFUN(APU_CHECK_DB42, [ places=$1 if test -z "$places"; then places="std /usr/local/BerkeleyDB.4.2 /boot/home/config" fi APU_CHECK_BERKELEY_DB("4", "2", "-1", "$places", "db42/db.h db4/db.h db.h", "db-4.2 db4 db" ) if test "$apu_have_db" = "1"; then apu_db_version=4 fi])dnldnl APU_CHECK_DB43: is DB4.3 present?dnldnl if present: sets apu_db_header, apu_db_lib, and apu_db_versiondnlAC_DEFUN(APU_CHECK_DB43, [ places=$1 if test -z "$places"; then places="std /usr/local/BerkeleyDB.4.3 /boot/home/config" fi APU_CHECK_BERKELEY_DB("4", "3", "-1", "$places", "db43/db.h db4/db.h db.h", "db-4.3 db43 db4 db" ) if test "$apu_have_db" = "1"; then apu_db_version=4 fi])AC_DEFUN(APU_CHECK_DB, [ requested=$1 check_places=$2 case "$requested" in db) APU_CHECK_DB_ALL("$check_places") if test "$apu_have_db" = "0"; then AC_MSG_ERROR(Berkeley db requested, but not found) fi ;; db1) APU_CHECK_DB1("$check_places") if test "$apu_db_version" != "1"; then AC_MSG_ERROR(Berkeley db1 not found) fi ;; db185) APU_CHECK_DB185("$check_places") if test "$apu_db_version" != "185"; then AC_MSG_ERROR(Berkeley db185 not found) fi ;; db2) APU_CHECK_DB2("$check_places") if test "$apu_db_version" != "2"; then AC_MSG_ERROR(Berkeley db2 not found) fi ;; db3) APU_CHECK_DB3("$check_places") if test "$apu_db_version" != "3"; then AC_MSG_ERROR(Berkeley db3 not found) fi ;; db4) APU_CHECK_DB4("$check_places") if test "$apu_db_version" != "4"; then AC_MSG_ERROR(Berkeley db4 not found) fi ;; db41) APU_CHECK_DB41("$check_places") if test "$apu_db_version" != "4"; then AC_MSG_ERROR(Berkeley db4 not found) fi ;; db42) APU_CHECK_DB42("$check_places") if test "$apu_db_version" != "4"; then AC_MSG_ERROR(Berkeley db4 not found) fi ;; db43) APU_CHECK_DB43("$check_places") if test "$apu_db_version" != "4"; then AC_MSG_ERROR(Berkeley db4 not found) fi ;; default) APU_CHECK_DB_ALL("$check_places") ;; esac])dnldnl APU_CHECK_DB_ALL: Try all Berkeley DB versions, from 4.3 to 1.dnlAC_DEFUN(APU_CHECK_DB_ALL, [ all_places=$1 APU_CHECK_DB43("$all_places") if test "$apu_db_version" != "4"; then APU_CHECK_DB42("$all_places") if test "$apu_db_version" != "4"; then APU_CHECK_DB41("$all_places") if test "$apu_db_version" != "4"; then APU_CHECK_DB4("$all_places") if test "$apu_db_version" != "4"; then APU_CHECK_DB3("$all_places") if test "$apu_db_version" != "3"; then APU_CHECK_DB2("$all_places") if test "$apu_db_version" != "2"; then APU_CHECK_DB1("$all_places") if test "$apu_db_version" != "1"; then APU_CHECK_DB185("$all_places") fi fi fi fi fi fi fi AC_MSG_CHECKING(for Berkeley DB) if test "$apu_have_db" = "1"; then AC_MSG_RESULT(found db$apu_db_version) else AC_MSG_RESULT(not found) fi])dnldnl APU_CHECK_DBM: see what kind of DBM backend to use for apr_dbm.dnlAC_DEFUN(APU_CHECK_DBM, [ apu_use_sdbm=0 apu_use_ndbm=0 apu_use_gdbm=0 apu_use_db=0 dnl it's in our codebase apu_have_sdbm=1 apu_have_gdbm=0 apu_have_ndbm=0 apu_have_db=0 apu_db_header=db.h # default so apu_select_dbm.h is syntactically correct apu_db_version=0 AC_ARG_WITH(dbm, [ --with-dbm=DBM choose the DBM type to use. DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43} ], [ if test "$withval" = "yes"; then AC_MSG_ERROR([--with-dbm needs to specify a DBM type to use. One of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42, db43]) fi requested="$withval" ], [ requested=default ]) AC_ARG_WITH([gdbm], [ --with-gdbm=DIR specify GDBM location ], [ apu_have_gdbm=0 if test "$withval" = "yes"; then AC_CHECK_HEADER(gdbm.h, AC_CHECK_LIB(gdbm, gdbm_open, [apu_have_gdbm=1])) elif test "$withval" = "no"; then apu_have_gdbm=0 else CPPFLAGS="-I$withval/include" LIBS="-L$withval/lib " AC_MSG_CHECKING(checking for gdbm in $withval) AC_CHECK_HEADER(gdbm.h, AC_CHECK_LIB(gdbm, gdbm_open, [apu_have_gdbm=1])) if test "$apu_have_gdbm" != "0"; then APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include]) fi fi ], [ apu_have_gdbm=0 AC_CHECK_HEADER(gdbm.h, AC_CHECK_LIB(gdbm, gdbm_open, [apu_have_gdbm=1])) ]) AC_ARG_WITH([ndbm], [ --with-ndbm=PATH Find the NDBM header and library in \`PATH/include' and \`PATH/lib'. If PATH is of the form \`HEADER:LIB', then search for header files in HEADER, and the library in LIB. If you omit the \`=PATH' part completely, the configure script will search for NDBM in a number of standard places. ], [ apu_have_ndbm=0 if test "$withval" = "yes"; then AC_MSG_CHECKING(checking for ndbm in the usual places) apu_want_ndbm=1 NDBM_INC="" NDBM_LDFLAGS="" elif test "$withval" = "no"; then apu_want_ndbm=0 else apu_want_ndbm=1 case "$withval" in *":"*) NDBM_INC="-I`echo $withval |sed -e 's/:.*$//'`" NDBM_LDFLAGS="-L`echo $withval |sed -e 's/^.*://'`" AC_MSG_CHECKING(checking for ndbm includes with $NDBM_INC libs with $NDBM_LDFLAGS ) ;; *) NDBM_INC="-I$withval/include" NDBM_LDFLAGS="-L$withval/lib" AC_MSG_CHECKING(checking for ndbm includes in $withval) ;; esac fi save_cppflags="$CPPFLAGS" save_ldflags="$LDFLAGS" CPPFLAGS="$CPPFLAGS $NDBM_INC" LDFLAGS="$LDFLAGS $NDBM_LDFLAGS" dnl db_ndbm_open is what sleepcat's compatibility library actually has in it's lib if test "$apu_want_ndbm" != "0"; then AC_CHECK_HEADER(ndbm.h, AC_CHECK_LIB(c, dbm_open, [apu_have_ndbm=1;apu_ndbm_lib=c], AC_CHECK_LIB(dbm, dbm_open, [apu_have_ndbm=1;apu_ndbm_lib=dbm], AC_CHECK_LIB(db, dbm_open, [apu_have_ndbm=1;apu_ndbm_lib=db], AC_CHECK_LIB(db, __db_ndbm_open, [apu_have_ndbm=1;apu_ndbm_lib=db]) ) ) ) ) if test "$apu_have_ndbm" != "0"; then if test "$withval" != "yes"; then APR_ADDTO(APRUTIL_INCLUDES, [$NDBM_INC]) APR_ADDTO(APRUTIL_LDFLAGS, [$NDBM_LDFLAGS]) fi elif test "$withval" != "yes"; then AC_ERROR( NDBM not found in the specified directory) fi fi CPPFLAGS="$save_cppflags" LDFLAGS="$save_ldflags" ], [ dnl don't check it no one has asked us for it apu_have_ndbm=0 ]) if test -n "$apu_db_xtra_libs"; then saveddbxtralibs="$LIBS" LIBS="$apu_db_xtra_libs $LIBS" fi dnl We're going to try to find the highest version of Berkeley DB supported. AC_ARG_WITH([berkeley-db], [ --with-berkeley-db=PATH Find the Berkeley DB header and library in \`PATH/include' and \`PATH/lib'. If PATH is of the form \`HEADER:LIB', then search for header files in HEADER, and the library in LIB. If you omit the \`=PATH' part completely, the configure script will search for Berkeley DB in a number of standard places. ], [ if test "$withval" = "yes"; then apu_want_db=1 user_places="" elif test "$withval" = "no"; then apu_want_db=0 else apu_want_db=1 user_places="$withval" fi if test "$apu_want_db" != "0"; then APU_CHECK_DB($requested, $user_places) if test "$apu_have_db" = "0"; then AC_ERROR(Berkeley DB not found.) fi fi ],[ APU_CHECK_DB($requested, "") ]) if test -n "$apu_db_xtra_libs"; then LIBS="$saveddbxtralibs" fi case "$requested" in sdbm) apu_use_sdbm=1 apu_default_dbm=sdbm ;; gdbm) apu_use_gdbm=1 apu_default_dbm=gdbm ;; ndbm) apu_use_ndbm=1 apu_default_dbm=ndbm ;; db) apu_use_db=1 apu_default_dbm=db ;; db1) apu_use_db=1 apu_default_dbm=db1 ;; db185) apu_use_db=1 apu_default_dbm=db185 ;; db2) apu_use_db=1 apu_default_dbm=db2 ;; db3) apu_use_db=1 apu_default_dbm=db3 ;; db4) apu_use_db=1 apu_default_dbm=db4 ;; db41) apu_use_db=1 apu_default_dbm=db4 ;; db42) apu_use_db=1 apu_default_dbm=db4 ;; db43) apu_use_db=1 apu_default_dbm=db4 ;; default) dnl ### use more sophisticated DBMs for the default? apu_default_dbm="sdbm (default)" apu_use_sdbm=1 ;; *) AC_MSG_ERROR([--with-dbm=$look_for is an unknown DBM type. Use one of: sdbm, gdbm, ndbm, db, db1, db185, db2, db3, db4, db41, db42]) ;; esac dnl Yes, it'd be nice if we could collate the output in an order dnl so that the AC_MSG_CHECKING would be output before the actual dnl checks, but it isn't happening now. AC_MSG_CHECKING(for default DBM) AC_MSG_RESULT($apu_default_dbm) AC_SUBST(apu_use_sdbm) AC_SUBST(apu_use_gdbm) AC_SUBST(apu_use_ndbm) AC_SUBST(apu_use_db) AC_SUBST(apu_have_sdbm) AC_SUBST(apu_have_gdbm) AC_SUBST(apu_have_ndbm) AC_SUBST(apu_have_db) AC_SUBST(apu_db_header) AC_SUBST(apu_db_version) dnl Since we have already done the AC_CHECK_LIB tests, if we have it, dnl we know the library is there. if test "$apu_have_gdbm" = "1"; then APR_ADDTO(APRUTIL_EXPORT_LIBS,[-lgdbm]) APR_ADDTO(APRUTIL_LIBS,[-lgdbm]) fi if test "$apu_have_ndbm" = "1"; then APR_ADDTO(APRUTIL_EXPORT_LIBS,[-l$apu_ndbm_lib]) APR_ADDTO(APRUTIL_LIBS,[-l$apu_ndbm_lib]) fi if test "$apu_have_db" = "1"; then APR_ADDTO(APRUTIL_EXPORT_LIBS,[-l$apu_db_lib]) APR_ADDTO(APRUTIL_LIBS,[-l$apu_db_lib]) if test -n "apu_db_xtra_libs"; then APR_ADDTO(APRUTIL_EXPORT_LIBS,[$apu_db_xtra_libs]) APR_ADDTO(APRUTIL_LIBS,[$apu_db_xtra_libs]) fi fi])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -