pullup 3232
[pkgsrcv2.git] / mk / db1.builtin.mk
1 # $NetBSD: db1.builtin.mk,v 1.20 2007/11/16 05:44:56 bjs Exp $
2
3 BUILTIN_PKG:=   db1
4
5 BUILTIN_FIND_LIBS:=             db1 db
6 BUILTIN_FIND_FILES_VAR:=        H_DB
7 BUILTIN_FIND_FILES.H_DB=        /usr/include/db1/db.h /usr/include/db.h
8 #
9 # The builtin Berkeley database library must support hash version 2 or
10 # else it doesn't support db-1.85 databases.
11 #
12 BUILTIN_FIND_GREP.H_DB= ^\#define.*HASHVERSION.*2$$
13
14 .include "buildlink3/bsd.builtin.mk"
15
16 ###
17 ### Determine if there is a built-in implementation of the package and
18 ### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
19 ###
20 .if !defined(IS_BUILTIN.db1)
21 IS_BUILTIN.db1= no
22 .  if empty(H_DB:M${LOCALBASE}/*) && exists(${H_DB})
23 IS_BUILTIN.db1= yes
24 .  endif
25 .endif
26 MAKEVARS+=      IS_BUILTIN.db1
27
28 ###
29 ### Determine whether we should use the built-in implementation if it
30 ### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
31 ###
32 .if !defined(USE_BUILTIN.db1)
33 # XXX
34 # XXX Until pkgsrc gets a databases/db1 package, we must always prefer the
35 # XXX native db1 package because the alternative doesn't yet exist.
36 # XXX
37 PREFER.db1=             native
38 .  if ${PREFER.db1} == "pkgsrc"
39 USE_BUILTIN.db1=        no
40 .  else
41 USE_BUILTIN.db1=        ${IS_BUILTIN.db1}
42 .    if defined(BUILTIN_PKG.db1) && !empty(IS_BUILTIN.db1:M[yY][eE][sS])
43 USE_BUILTIN.db1=        yes
44 .      for _dep_ in ${BUILDLINK_API_DEPENDS.db1}
45 .        if !empty(USE_BUILTIN.db1:M[yY][eE][sS])
46 USE_BUILTIN.db1!=                                                       \
47         if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.db1:Q}; then    \
48                 ${ECHO} yes;                                            \
49         else                                                            \
50                 ${ECHO} no;                                             \
51         fi
52 .        endif
53 .      endfor
54 .    endif
55 .  endif  # PREFER.db1
56 .endif
57 MAKEVARS+=      USE_BUILTIN.db1
58
59 ###
60 ### The section below only applies if we are not including this file
61 ### solely to determine whether a built-in implementation exists.
62 ###
63 CHECK_BUILTIN.db1?=     no
64 .if !empty(CHECK_BUILTIN.db1:M[nN][oO])
65
66 .  if !empty(USE_BUILTIN.db1:M[yY][eE][sS])
67 BUILDLINK_PREFIX.db1=   /usr
68 .    if exists(${H_DB})
69 BUILDLINK_INCDIRS.db1?= ${H_DB:H:S/^${BUILDLINK_PREFIX.db1}\///}
70 .    endif
71 .    if !empty(BUILTIN_LIB_FOUND.db1:M[yY][eE][sS])
72 BUILDLINK_LDADD.db1=    -ldb1
73 BUILDLINK_TRANSFORM+=   l:db:db1
74 .    elif !empty(BUILTIN_LIB_FOUND.db:M[yY][eE][sS])
75 BUILDLINK_LDADD.db1=    -ldb
76 .    else
77 BUILDLINK_LDADD.db1=    # empty
78 .    endif
79 BUILDLINK_LIBS.db1=     ${BUILDLINK_LDADD.db1}
80 .  endif
81
82 BUILDLINK_TARGETS+=     buildlink-db1-db185-h
83 .  if !target(buildlink-db1-db185-h)
84 .PHONY: buildlink-db1-db185-h
85 buildlink-db1-db185-h:
86         ${RUN}                                                          \
87         src=${H_DB:Q};                                                  \
88         dest=${BUILDLINK_DIR:Q}"/include/db_185.h";                     \
89         if ${TEST} -f "$$src" -a ! -f "$$dest"; then                    \
90                 ${MKDIR} `${DIRNAME} "$$dest"`;                         \
91                 ${LN} -fs "$$src" "$$dest";                             \
92         fi
93 .  endif
94
95 .endif  # CHECK_BUILTIN.db1