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