Index: Mk/bsd.database.mk =================================================================== RCS file: /home/ncvs/ports/Mk/bsd.database.mk,v retrieving revision 1.2 diff -u -r1.2 bsd.database.mk --- Mk/bsd.database.mk 11 Nov 2005 10:29:21 -0000 1.2 +++ Mk/bsd.database.mk 13 Nov 2005 12:00:59 -0000 @@ -52,6 +52,15 @@ # by the user via defined variable), try to find the # currently installed version. Fall back to default if # necessary (db41+). +# BROKEN_WITH_BDB - This variable can be defined when the port doesn't support +# one or more versions of Berkley DB. +# WITH_BDB_VER - User defined variable to set Berkely DB version. +# BDB_LIB_NAME - This variable is automatically set to the name of the +# Berkley DB library (default: db41) +# BDB_INCLUDE_DIR - This variable is automatically set to the location of +# the Berkley DB include directory. +# (default: ${LOCALBASE}/include/db41) +# ## # USE_SQLITE - Add dependency on sqlite library. Valid values are: # 3 and 2. If version is not specified directly then @@ -170,6 +179,13 @@ _DB_41P= 41 42 43 _DB_42P= 42 43 +.if defined(WITH_BDB_VER) +. if ${WITH_BDB_VER} == 4 +USE_BDB= 40 +. elif ${WITH_BDB_VER} != "yes" && ${WITH_BDB_VER} != 1 +USE_BDB= ${WITH_BDB_VER} +. endif +.endif _WANT_BDB_VER= ${USE_BDB} # Assume the default bdb version as 41 @@ -179,26 +195,24 @@ # Detect bdb version _FOUND= no +_BDB_BROKEN= no .for bdb in ${_DB_PORTS} .if ${_WANT_BDB_VER} == "${bdb}" && ${_FOUND} == "no" _MATCHED_DB_VER:= ${bdb:S/+//} . if ${_MATCHED_DB_VER} == "${bdb}" # USE_BDB is exactly specified -LIB_DEPENDS+= ${db${bdb}_DEPENDS} -_FOUND= yes +_FOUND= ${bdb} .else # USE_BDB is specified as VER+ . for db4 in ${_DB_${_MATCHED_DB_VER}P} . if exists(${db${db4}_FIND}) && ${_FOUND} == "no" -LIB_DEPENDS+= ${db${db4}_DEPENDS} -_FOUND= yes +_FOUND= ${db4} . endif . endfor . if ${_FOUND} == "no" # No existing db4 version is detected in system -LIB_DEPENDS+= ${db${_MATCHED_DB_VER}_DEPENDS} -_FOUND= yes +_FOUND= ${_MATCHED_DB_VER} . endif . endif .endif @@ -207,6 +221,31 @@ # USE_BDB is specified incorrectly, so mark this as IGNORE .if ${_FOUND} == "no" IGNORE= "Unknown bdb version: ${USE_BDB}" +.else +# Now check if we can use it +. if defined(BROKEN_WITH_BDB) +. for VER in ${BROKEN_WITH_BDB} +. if ${_FOUND} == "${VER}" +_BDB_BROKEN= yes +. endif +. endfor +. endif +. if ${_BDB_BROKEN} == "yes" +IGNORE= "Does not work with Berkley DB ${_FOUND} \(${BROKEN_WITH_BDB} not supported\)" +. else +# Now add the dependancy on Berkley DB ${_FOUND) version +LIB_DEPENDS+= ${db${_FOUND}_DEPENDS} +. if ${_FOUND} == 40 +BDB_LIB_NAME= db4 +BDB_INCLUDE_DIR= ${LOCALBASE}/include/db4 +. elif ${_FOUND} == 42 +BDB_LIB_NAME= db-4.2 +. elif ${_FOUND} == 43 +BDB_LIB_NAME= db-4.3 +. endif +BDB_LIB_NAME?= db${_FOUND} +BDB_INCLUDE_DIR?= ${LOCALBASE}/include/db${_FOUND} +. endif .endif .endif # USE_BDB