Annotation of pkgsrc/mk/bsd.pkg.use.mk, Revision 1.1.2.3
1.1.2.1 tv 1: # $NetBSD$
2: #
3: # Turn USE_* macros into proper depedency logic. Included near the top of
4: # bsd.pkg.mk, after bsd.prefs.mk.
5:
6: ############################################################################
7: # ${PREFIX} selection
8: ############################################################################
9:
10: .if defined(USE_IMAKE)
11: INSTALL_TARGET+= ${NO_INSTALL_MANPAGES:D:Uinstall.man}
12: PREPEND_PATH+= ${X11BASE}/bin
13: USE_X11BASE?= implied
14: PLIST_SUBST+= IMAKE_MAN_SOURCE_PATH=${IMAKE_MAN_SOURCE_PATH}
15: PLIST_SUBST+= IMAKE_MAN_DIR=${IMAKE_MAN_DIR}
16: PLIST_SUBST+= IMAKE_LIBMAN_DIR=${IMAKE_LIBMAN_DIR}
17: PLIST_SUBST+= IMAKE_KERNMAN_DIR=${IMAKE_KERNMAN_DIR}
18: PLIST_SUBST+= IMAKE_FILEMAN_DIR=${IMAKE_FILEMAN_DIR}
19: PLIST_SUBST+= IMAKE_MISCMAN_DIR=${IMAKE_MISCMAN_DIR}
20: PLIST_SUBST+= IMAKE_MAN_SUFFIX=${IMAKE_MAN_SUFFIX}
21: PLIST_SUBST+= IMAKE_LIBMAN_SUFFIX=${IMAKE_LIBMAN_SUFFIX}
22: PLIST_SUBST+= IMAKE_KERNMAN_SUFFIX=${IMAKE_KERNMAN_SUFFIX}
23: PLIST_SUBST+= IMAKE_FILEMAN_SUFFIX=${IMAKE_FILEMAN_SUFFIX}
24: PLIST_SUBST+= IMAKE_MISCMAN_SUFFIX=${IMAKE_MISCMAN_SUFFIX}
25: PLIST_SUBST+= IMAKE_MANNEWSUFFIX=${IMAKE_MANNEWSUFFIX}
26: . if !empty(USE_BUILDLINK3:M[yY][eE][sS])
27: MAKE_FLAGS+= CC="${CC}" CXX="${CXX}"
28: . endif
29: .endif
30:
31: .if defined(USE_X11BASE)
32: MTREE_FILE?= ${PKGSRCDIR}/mk/${OPSYS}.x11.dist
33: USE_X11?= implied
34: .endif
35:
36: .if ${PKG_INSTALLATION_TYPE} == "pkgviews"
37: PREFIX= ${DEPOTBASE}/${PKGNAME}
38: NO_MTREE= yes
39: .elif ${PKG_INSTALLATION_TYPE} == "overwrite"
40: . if defined(INSTALLATION_PREFIX)
41: PREFIX= ${INSTALLATION_PREFIX}
42: . elif defined(USE_X11BASE)
43: PREFIX= ${X11PREFIX}
44: . elif defined(USE_CROSSBASE)
45: PREFIX= ${CROSSBASE}
46: NO_MTREE= yes
47: . else
48: PREFIX= ${LOCALBASE}
49: . endif
50: .endif
51:
52: .if (${PKG_INSTALLATION_TYPE} == "pkgviews") && defined(INSTALLATION_PREFIX)
53: PKG_SKIP_REASON= "INSTALLATION_PREFIX can't be used in a pkgviews package"
54: .endif
55:
56: ############################################################################
57: # General settings
58: ############################################################################
59:
60: ### BUILD_USES_MSGFMT
61:
62: .if defined(BUILD_USES_MSGFMT) && \
63: (!exists(/usr/bin/msgfmt) || ${_USE_GNU_GETTEXT} == "yes")
64: BUILD_DEPENDS+= gettext>=0.10.35nb1:../../devel/gettext
65: .endif
66:
67: ### PKG_USE_KERBEROS
68:
69: .if defined(PKG_USE_KERBEROS)
70: CRYPTO?= uses Kerberos encryption code
71: BUILD_DEFS+= KERBEROS
72: .endif
73:
74: ### USE_DIRS
75:
76: USE_DIRS?= # empty
77: .if !empty(USE_DIRS) && ${PKG_INSTALLATION_TYPE} == "overwrite"
78: . include "../../mk/dirs.mk"
79: .endif
80:
81: ### USE_FORTRAN
82:
83: .if defined(USE_FORTRAN)
84: . if !exists(/usr/bin/f77)
85: PKG_FC?= f2c-f77
86: . endif
87: # it is anticipated that once /usr/bin/f77 is more stable that the following
88: # default will be changed to f77. However, in the case where there is no
89: # /usr/bin/f77, the default will remain as f2c-f77.
90: .for __tmp__ in 1.[5-9]* [2-9].*
91: . if ${MACHINE_PLATFORM:MNetBSD-${__tmp__}-*} != ""
92: PKG_FC?= f77
93: . endif # MACHINE_PLATFORM
94: .endfor # __tmp__
95: PKG_FC?= f2c-f77
96: . if (${PKG_FC} == "f2c-f77")
97: # this is a DEPENDS not BUILD_DEPENDS because of the
98: # shared Fortran libs
99: . if !empty(USE_BUILDLINK3:M[yY][eE][sS])
100: . include "../../lang/f2c/buildlink3.mk"
101: . else
102: DEPENDS+= f2c>=20001205nb3:../../lang/f2c
103: . endif
104: . endif
105: FC= ${PKG_FC}
106: F77= ${PKG_FC}
107: CONFIGURE_ENV+= F77="${F77}"
108: CONFIGURE_ENV+= FFLAGS="${FFLAGS:M*}"
109: MAKE_ENV+= F77="${F77}"
110: MAKE_ENV+= FC="${FC}"
111: .endif
112:
113: ### USE_LIBTOOL, PKG_[SH]LIBTOOL
114:
115: #
116: # PKG_LIBTOOL is the path to the libtool script installed by libtool-base.
117: # _LIBTOOL is the path the libtool used by the build, which could be the
118: # path to a libtool wrapper script.
119: # LIBTOOL is the publicly-readable variable that should be used by
120: # Makefiles to invoke the proper libtool.
121: #
122: PKG_LIBTOOL?= ${LOCALBASE}/bin/libtool
123: PKG_SHLIBTOOL?= ${LOCALBASE}/bin/shlibtool
124: _LIBTOOL?= ${PKG_LIBTOOL}
125: _SHLIBTOOL?= ${PKG_SHLIBTOOL}
126: LIBTOOL?= ${PKG_LIBTOOL}
127: SHLIBTOOL?= ${PKG_SHLIBTOOL}
128: .if defined(USE_LIBTOOL)
1.1.2.3 ! tv 129: . if defined(USE_FORTRAN)
! 130: LIBTOOL_REQD?= 1.5.10nb7
! 131: . endif
! 132: LIBTOOL_REQD?= 1.5.10nb1
! 133: BUILD_DEPENDS+= libtool-base>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-base
1.1.2.1 tv 134: CONFIGURE_ENV+= LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
135: MAKE_ENV+= LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
136: LIBTOOL_OVERRIDE?= libtool */libtool */*/libtool
137: .endif
138:
139: ### USE_MAKEINFO, INFO_FILES
140:
141: INFO_FILES?= # empty
142: USE_MAKEINFO?= no
143:
144: .if !empty(INFO_FILES) || empty(USE_MAKEINFO:M[nN][oO])
145: . include "../../mk/texinfo.mk"
146: .endif
147:
148: ### USE_PERL5, PERL5_REQD
149:
150: # Distill the PERL5_REQD list into a single _PERL5_REQD value that is the
151: # highest version of Perl required.
152: #
153: PERL5_REQD+= 5.0
154: PERL5_REQD+= ${_OPSYS_PERL_REQD}
155:
156: _PERL5_STRICTEST_REQD?= none
157: .for _version_ in ${PERL5_REQD}
158: . for _pkg_ in perl-${_version_}
159: . if ${_PERL5_STRICTEST_REQD} == "none"
160: _PERL5_PKG_SATISFIES_DEP= YES
161: . for _vers_ in ${PERL5_REQD}
162: . if !empty(_PERL5_PKG_SATISFIES_DEP:M[yY][eE][sS])
163: _PERL5_PKG_SATISFIES_DEP!= \
164: if ${PKG_ADMIN} pmatch 'perl>=${_vers_}' ${_pkg_} 2>/dev/null; then \
165: ${ECHO} "YES"; \
166: else \
167: ${ECHO} "NO"; \
168: fi
169: . endif
170: . endfor
171: . if !empty(_PERL5_PKG_SATISFIES_DEP:M[yY][eE][sS])
172: _PERL5_STRICTEST_REQD= ${_version_}
173: . endif
174: . endif
175: . endfor
176: .endfor
177: _PERL5_REQD= ${_PERL5_STRICTEST_REQD}
178:
179: # Convert USE_PERL5 to be two-valued: either "build" or "run" to denote
180: # whether we want a build-time or run-time dependency on perl.
181: #
182: .if defined(USE_PERL5)
183: . if (${USE_PERL5} == "build")
184: _PERL5_DEPMETHOD= BUILD_DEPENDS
185: . else
186: USE_PERL5:= run
187: _PERL5_DEPMETHOD= DEPENDS
188: . endif
189: _PERL5_DEPENDS= {perl>=${_PERL5_REQD},perl-thread>=${_PERL5_REQD}}
190: PERL5_PKGSRCDIR?= ../../lang/perl58
191: . if !defined(BUILDLINK_DEPENDS.perl)
192: ${_PERL5_DEPMETHOD}+= ${_PERL5_DEPENDS}:${PERL5_PKGSRCDIR}
193: . endif
194: .endif
195:
196: .if defined(USE_PERL5) && (${USE_PERL5} == "run")
197: . if !defined(PERL5_SITELIB) || !defined(PERL5_SITEARCH) || !defined(PERL5_ARCHLIB)
198: . if exists(${PERL5})
199: PERL5_SITELIB!= eval `${PERL5} -V:installsitelib 2>/dev/null`; \
200: ${ECHO} $${installsitelib}
201: PERL5_SITEARCH!= eval `${PERL5} -V:installsitearch 2>/dev/null`; \
202: ${ECHO} $${installsitearch}
203: PERL5_ARCHLIB!= eval `${PERL5} -V:installarchlib 2>/dev/null`; \
204: ${ECHO} $${installarchlib}
205: . if ${PKG_INSTALLATION_TYPE} == "overwrite"
206: _PERL5_PREFIX!= eval `${PERL5} -V:prefix 2>/dev/null`; \
207: ${ECHO} $${prefix}
208: PERL5_SITELIB:= ${PERL5_SITELIB:S/^${_PERL5_PREFIX}/${LOCALBASE}/}
209: PERL5_SITEARCH:= ${PERL5_SITEARCH:S/^${_PERL5_PREFIX}/${LOCALBASE}/}
210: PERL5_ARCHLIB:= ${PERL5_ARCHLIB:S/^${_PERL5_PREFIX}/${LOCALBASE}/}
211: MAKEFLAGS+= PERL5_SITELIB=${PERL5_SITELIB:Q}
212: MAKEFLAGS+= PERL5_SITEARCH=${PERL5_SITEARCH:Q}
213: MAKEFLAGS+= PERL5_ARCHLIB=${PERL5_ARCHLIB:Q}
214: . endif # PKG_INSTALLATION_TYPE == "overwrite"
215: . endif # exists($PERL5)
216: . endif # !defined(PERL5_*)
217: .endif # USE_PERL5 == run
218:
219: .if defined(PERL5_SITELIB)
220: PLIST_SUBST+= PERL5_SITELIB=${PERL5_SITELIB:S/^${LOCALBASE}\///}
221: .endif
222: .if defined(PERL5_SITEARCH)
223: PLIST_SUBST+= PERL5_SITEARCH=${PERL5_SITEARCH:S/^${LOCALBASE}\///}
224: .endif
225: .if defined(PERL5_ARCHLIB)
226: PLIST_SUBST+= PERL5_ARCHLIB=${PERL5_ARCHLIB:S/^${LOCALBASE}\///}
227: .endif
228:
229: ### USE_RMAN
230:
231: # Check if we got "rman" with XFree86, for packages that need "rman".
232: .if defined(USE_RMAN)
233: . if !exists(${X11BASE}/bin/rman)
234: DEPENDS+= rman-3.0.9:../../textproc/rman
235: RMAN?= ${LOCALBASE}/bin/rman
236: . else
237: RMAN?= ${X11BASE}/bin/rman
238: . endif
239: .endif
240:
241: ### USE_X11
242:
243: .if defined(USE_X11)
244: X11_LDFLAGS+= ${COMPILER_RPATH_FLAG}${X11BASE}/lib${LIBABISUFFIX}
245: X11_LDFLAGS+= -L${X11BASE}/lib${LIBABISUFFIX}
246: . if !empty(USE_BUILDLINK3:M[nN][oO])
247: LDFLAGS+= ${X11_LDFLAGS}
248: . endif
249: .endif
250:
251: ### USE_XPKGWEDGE
252:
253: .if defined(USE_X11BASE) && !empty(USE_XPKGWEDGE:M[yY][eE][sS])
254: BUILD_DEPENDS+= xpkgwedge>=${_XPKGWEDGE_REQD:U1.5}:../../pkgtools/xpkgwedge
255: .endif
CVSweb <webmaster@jp.NetBSD.org>