📄 dbm.m4
字号:
apu_db_version=4 fi])dnldnl APU_CHECK_DB44: is DB4.4 present?dnldnl if present: sets apu_db_header, apu_db_lib, and apu_db_versiondnlAC_DEFUN([APU_CHECK_DB44], [ places=$1 if test -z "$places"; then places="std /usr/local/BerkeleyDB.4.4 /boot/home/config" fi APU_CHECK_BERKELEY_DB("4", "4", "-1", "$places", "db44/db.h db4/db.h db.h", "db-4.4 db4-4.4 db44 db4 db" ) if test "$apu_have_db" = "1"; then apu_db_version=4 fi])dnldnl APU_CHECK_DB45: is DB4.5 present?dnldnl if present: sets apu_db_header, apu_db_lib, and apu_db_versiondnlAC_DEFUN([APU_CHECK_DB45], [ places=$1 if test -z "$places"; then places="std /usr/local/BerkeleyDB.4.5 /boot/home/config" fi APU_CHECK_BERKELEY_DB("4", "5", "-1", "$places", "db45/db.h db4/db.h db.h", "db-4.5 db4-4.5 db45 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 ;; db44) APU_CHECK_DB44("$check_places") if test "$apu_db_version" != "4"; then AC_MSG_ERROR(Berkeley db4 not found) fi ;; db45) APU_CHECK_DB44("$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_DB45("$all_places") if test "$apu_db_version" != "4"; then APU_CHECK_DB44("$all_places") if test "$apu_db_version" != "4"; then 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 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,db44,db45} ], [ 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, db44, db45]) fi requested="$withval" ], [ requested=default ]) dnl We don't pull in GDBM unless the user asks for it, since it's GPL 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 ]) 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. dnl dnl Note that we only do this if the user requested it, since the Sleepycat dnl license is viral and requires distribution of source along with programs dnl that use it. 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 ]) 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 ;; db44) apu_use_db=1 apu_default_dbm=db4 ;; db45) 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, db43, db44 db45]) ;; 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 + -