Annotation of pkgsrc/devel/zlib/buildlink3.mk, Revision 1.12
1.12 ! jlam 1: # $NetBSD: buildlink3.mk,v 1.11 2004/02/05 07:17:14 jlam Exp $
1.1 jlam 2:
3: BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
4: ZLIB_BUILDLINK3_MK:= ${ZLIB_BUILDLINK3_MK}+
5:
1.3 jlam 6: .include "../../mk/bsd.prefs.mk"
7:
1.2 jlam 8: .if !empty(ZLIB_BUILDLINK3_MK:M+)
1.3 jlam 9: BUILDLINK_PACKAGES+= zlib
1.6 jlam 10: BUILDLINK_DEPENDS.zlib+= zlib>=1.1.4nb1
1.1 jlam 11: BUILDLINK_PKGSRCDIR.zlib?= ../../devel/zlib
12: .endif # ZLIB_BUILDLINK3_MK
13:
14: BUILDLINK_CHECK_BUILTIN.zlib?= NO
15:
1.5 jlam 16: _ZLIB_H= /usr/include/zlib.h
17:
1.1 jlam 18: .if !defined(BUILDLINK_IS_BUILTIN.zlib)
19: BUILDLINK_IS_BUILTIN.zlib= NO
1.5 jlam 20: . if exists(${_ZLIB_H})
1.1 jlam 21: BUILDLINK_IS_BUILTIN.zlib= YES
22: . endif
23: .endif
24:
1.11 jlam 25: .if !empty(PREFER_PKGSRC:M[yY][eE][sS]) || \
26: !empty(PREFER_PKGSRC:Mzlib)
1.9 jlam 27: BUILDLINK_USE_BUILTIN.zlib= NO
28: .endif
29:
1.3 jlam 30: .if defined(USE_ZLIB)
31: BUILDLINK_USE_BUILTIN.zlib= NO
32: .endif
33:
1.1 jlam 34: .if !empty(BUILDLINK_CHECK_BUILTIN.zlib:M[yY][eE][sS])
1.3 jlam 35: BUILDLINK_USE_BUILTIN.zlib= YES
1.1 jlam 36: .endif
37:
1.3 jlam 38: .if !defined(BUILDLINK_USE_BUILTIN.zlib)
1.1 jlam 39: . if !empty(BUILDLINK_IS_BUILTIN.zlib:M[nN][oO])
1.3 jlam 40: BUILDLINK_USE_BUILTIN.zlib= NO
1.1 jlam 41: . else
1.3 jlam 42: BUILDLINK_USE_BUILTIN.zlib= YES
1.1 jlam 43: #
1.5 jlam 44: # Create an appropriate name for the built-in package distributed
45: # with the system. This package name can be used to check against
46: # BUILDLINK_DEPENDS.<pkg> to see if we need to install the pkgsrc
47: # version or if the built-in one is sufficient.
48: #
49: _ZLIB_VERSION!= \
50: ${AWK} '/\#define[ ]*ZLIB_VERSION/ { \
51: vers = $$3; \
52: gsub("\"", "", vers); \
53: print vers; \
54: } \
55: ' ${_ZLIB_H}
56: _ZLIB_PKG= zlib-${_ZLIB_VERSION}
57: #
58: # If the built-in zlib is 1.1.4, then check whether it has the security
59: # fix for CAN-2003-0107, which was a buffer overflow in the gzprintf
60: # function. If it does, then treat it as the equivalent of zlib-1.1.4nb1.
61: #
62: _HAVE_CAN_2003_0107_FIX= NetBSD-1.3[I-Z]*-* NetBSD-1.[456]*-*
63: _HAVE_CAN_2003_0107_FIX+= NetBSD-[2-9]*-* NetBSD-1[0-9]*-*
1.1 jlam 64: #
1.5 jlam 65: # XXX These patterns for {Free,Open}BSD are too permissive, but I'm not
66: # XXX sure which versions of those OSes provide secure versions of
67: # XXX zlib-1.1.4.
68: #
69: _HAVE_CAN_2003_0107_FIX+= FreeBSD-*-* OpenBSD-*-*
70: . if ${_ZLIB_VERSION} == "1.1.4"
71: . for _pattern_ in ${_HAVE_CAN_2003_0107_FIX}
72: . if !empty(MACHINE_PLATFORM:M${_pattern_})
73: _ZLIB_PKG= zlib-1.1.4nb1
74: . endif
75: . endfor
76: . endif
77:
1.6 jlam 78: BUILDLINK_USE_BUILTIN.zlib?= YES
79: . for _depend_ in ${BUILDLINK_DEPENDS.zlib}
80: . if !empty(BUILDLINK_USE_BUILTIN.zlib:M[yY][eE][sS])
1.5 jlam 81: BUILDLINK_USE_BUILTIN.zlib!= \
1.6 jlam 82: if ${PKG_ADMIN} pmatch '${_depend_}' ${_ZLIB_PKG}; then \
1.5 jlam 83: ${ECHO} "YES"; \
84: else \
85: ${ECHO} "NO"; \
86: fi
1.6 jlam 87: . endif
88: . endfor
1.1 jlam 89: . endif
1.12 ! jlam 90: MAKEFLAGS+= BUILDLINK_USE_BUILTIN.zlib=${BUILDLINK_USE_BUILTIN.zlib}
1.1 jlam 91: .endif
92:
1.3 jlam 93: .if !empty(BUILDLINK_USE_BUILTIN.zlib:M[nN][oO])
1.5 jlam 94: #
95: # If we depend on the package, depend on the latest version with a library
96: # major number bump.
97: #
1.8 grant 98: BUILDLINK_DEPENDS.zlib+= zlib>=1.2.1
1.2 jlam 99: . if !empty(BUILDLINK_DEPTH:M+)
1.1 jlam 100: BUILDLINK_DEPENDS+= zlib
101: . endif
102: .endif
103:
1.4 jlam 104: BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
CVSweb <webmaster@jp.NetBSD.org>