summaryrefslogtreecommitdiff
path: root/mk/db1.builtin.mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk/db1.builtin.mk')
-rw-r--r--mk/db1.builtin.mk119
1 files changed, 60 insertions, 59 deletions
diff --git a/mk/db1.builtin.mk b/mk/db1.builtin.mk
index c92e9984895..4aef418388c 100644
--- a/mk/db1.builtin.mk
+++ b/mk/db1.builtin.mk
@@ -1,90 +1,91 @@
-# $NetBSD: db1.builtin.mk,v 1.10 2004/12/23 14:27:04 jlam Exp $
+# $NetBSD: db1.builtin.mk,v 1.11 2005/06/01 18:03:06 jlam Exp $
-.for _lib_ in db db1
-. if !defined(_BLNK_LIB_FOUND.${_lib_})
-_BLNK_LIB_FOUND.${_lib_}!= \
- if ${TEST} "`${ECHO} /usr/lib/lib${_lib_}.*`" != "/usr/lib/lib${_lib_}.*"; then \
- ${ECHO} "yes"; \
- elif ${TEST} "`${ECHO} /lib/lib${_lib_}.*`" != "/lib/lib${_lib_}.*"; then \
- ${ECHO} "yes"; \
- else \
- ${ECHO} "no"; \
- fi
-BUILDLINK_VARS+= _BLNK_LIB_FOUND.${_lib_}
-. endif
-.endfor
-.undef _lib_
+BUILTIN_PKG:= db1
-_DB_H_HEADERS= /usr/include/db.h /usr/include/db1/db.h
-
-.if !defined(IS_BUILTIN.db1)
-IS_BUILTIN.db1= no
+BUILTIN_FIND_LIBS:= db db1
+BUILTIN_FIND_FILES_VAR:= H_DB
+BUILTIN_FIND_FILES.H_DB= /usr/include/db.h /usr/include/db1/db.h
#
# The builtin Berkeley database library must support hash version 2 or
# else it doesn't support db-1.85 databases.
#
-_BLNK_NATIVE_DB1_OK= no
-. for _inc_ in ${_DB_H_HEADERS}
-. if exists(${_inc_})
-_BLNK_NATIVE_DB1_OK.${_inc_}!= \
- if ${GREP} -q "^\#define.*HASHVERSION.*2$$" ${_inc_}; then \
- ${ECHO} "yes"; \
- else \
- ${ECHO} "no"; \
- fi
-. endif
-_BLNK_NATIVE_DB1_OK+= ${_BLNK_NATIVE_DB1_OK.${_inc_}}
-. endfor
-. undef _inc_
-. if !empty(_BLNK_NATIVE_DB1_OK:M[yY][eE][sS])
-IS_BUILTIN.db1= yes
+BUILTIN_FIND_GREP.H_DB= ^\#define.*HASHVERSION.*2$$
+
+.include "../../mk/buildlink3/bsd.builtin.mk"
+
+###
+### Determine if there is a built-in implementation of the package and
+### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
+###
+.if !defined(IS_BUILTIN.db1)
+IS_BUILTIN.db1= no
+. if empty(H_DB:M${LOCALBASE}/*) && exists(${H_DB})
+IS_BUILTIN.db1= yes
. endif
-BUILDLINK_VARS+= IS_BUILTIN.db1
-.endif # IS_BUILTIN.db1
+.endif
+MAKEVARS+= IS_BUILTIN.db1
+###
+### Determine whether we should use the built-in implementation if it
+### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
+###
.if !defined(USE_BUILTIN.db1)
-USE_BUILTIN.db1?= ${IS_BUILTIN.db1}
-_INCOMPAT_DB1?= # empty
-. for _pattern_ in ${_INCOMPAT_DB1} ${INCOMPAT_DB1}
-. if !empty(MACHINE_PLATFORM:M${_pattern_})
+. if ${PREFER.db1} == "pkgsrc"
USE_BUILTIN.db1= no
+. else
+USE_BUILTIN.db1= ${IS_BUILTIN.db1}
+. if defined(BUILTIN_PKG.db1) && \
+ !empty(IS_BUILTIN.db1:M[yY][eE][sS])
+USE_BUILTIN.db1= yes
+. for _dep_ in ${BUILDLINK_DEPENDS.db1}
+. if !empty(USE_BUILTIN.db1:M[yY][eE][sS])
+USE_BUILTIN.db1!= \
+ if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.db1:Q}; then \
+ ${ECHO} yes; \
+ else \
+ ${ECHO} no; \
+ fi
+. endif
+. endfor
. endif
-. endfor
-. undef _pattern_
-BUILDLINK_VARS+= USE_BUILTIN.db1
-.endif # USE_BUILTIN.db1
+. endif # PREFER.db1
+.endif
+MAKEVARS+= USE_BUILTIN.db1
+###
+### The section below only applies if we are not including this file
+### solely to determine whether a built-in implementation exists.
+###
CHECK_BUILTIN.db1?= no
.if !empty(CHECK_BUILTIN.db1:M[nN][oO])
+
. if !empty(USE_BUILTIN.db1:M[yY][eE][sS])
BUILDLINK_PREFIX.db1= /usr
-. for _inc_ in ${_DB_H_HEADERS}
-. if exists(${_inc_})
-BUILDLINK_INCDIRS.db1?= ${_inc_:H:S/^${BUILDLINK_PREFIX.db1}\///}
-. endif
-. endfor
-. if !empty(_BLNK_LIB_FOUND.db:M[yY][eE][sS])
+. if exists(${H_DB})
+BUILDLINK_INCDIRS.db1?= ${H_DB:H:S/^${BUILDLINK_PREFIX.db1}\///}
+. endif
+. if !empty(BUILTIN_LIB_FOUND.db:M[yY][eE][sS])
BUILDLINK_LDADD.db1= -ldb
-. elif !empty(_BLNK_LIB_FOUND.db1:M[yY][eE][sS])
+. elif !empty(BUILTIN_LIB_FOUND.db1:M[yY][eE][sS])
BUILDLINK_LDADD.db1= -ldb1
BUILDLINK_TRANSFORM+= l:db:db1
. else
BUILDLINK_LDADD.db1= # empty
. endif
BUILDLINK_LIBS.db1= ${BUILDLINK_LDADD.db1}
+. endif
BUILDLINK_TARGETS+= buildlink-db1-db185-h
-. for _inc_ in ${_DB_H_HEADERS}
-. if !target(buildlink-db1-db185-h)
+. if !target(buildlink-db1-db185-h)
.PHONY: buildlink-db1-db185-h
buildlink-db1-db185-h:
${_PKG_SILENT}${_PKG_DEBUG} \
- if ${TEST} ! -f ${BUILDLINK_DIR}/include/db_185.h; then \
- ${MKDIR} -p ${BUILDLINK_DIR}/include; \
- ${LN} -fs ${_inc_} ${BUILDLINK_DIR}/include/db_185.h; \
+ src=${H_DB:Q}; \
+ dest=${BUILDLINK_DIR:Q}"/include/db_185.h"; \
+ if ${TEST} -f "$$src" -a ! -f "$$dest"; then \
+ ${MKDIR} `${DIRNAME} "$$dest"`; \
+ ${LN} -fs "$$src" "$$dest"; \
fi
-. endif
-. endfor
+. endif
-. endif # USE_BUILTIN.db1 == yes
.endif # CHECK_BUILTIN.db1