Sun Apr 28 13:21:47 2013 UTC ()
Introduce COMPILER_INCLUDE_DIRS, COMPILER_LIB_DIRS and SYSTEM_DEFAULT_RPATH.
default value are _OPSYS_INCLUDE_DIRS, _OPSYS_LIB_DIRS and _OPSYS_DEFAULT_RPATH,
defined in mk/platform/${OPSYS}.mk.
(maybe defined with compiler/development tools specific variables).


(obache)
diff -r1.335 -r1.336 pkgsrc/mk/bsd.prefs.mk

cvs diff -r1.335 -r1.336 pkgsrc/mk/bsd.prefs.mk (switch to unified diff)

--- pkgsrc/mk/bsd.prefs.mk 2013/04/03 13:45:49 1.335
+++ pkgsrc/mk/bsd.prefs.mk 2013/04/28 13:21:47 1.336
@@ -1,760 +1,764 @@ @@ -1,760 +1,764 @@
1# $NetBSD: bsd.prefs.mk,v 1.335 2013/04/03 13:45:49 obache Exp $ 1# $NetBSD: bsd.prefs.mk,v 1.336 2013/04/28 13:21:47 obache Exp $
2# 2#
3# This file includes the mk.conf file, which contains the user settings. 3# This file includes the mk.conf file, which contains the user settings.
4# 4#
5# Packages should include this file before any of the .if directives, as 5# Packages should include this file before any of the .if directives, as
6# well as before modifying variables like CFLAGS, LDFLAGS, and so on. 6# well as before modifying variables like CFLAGS, LDFLAGS, and so on.
7# Otherwise the behavior may be unexpected. 7# Otherwise the behavior may be unexpected.
8# 8#
9# When mk.conf is included by this file, the following variables are 9# When mk.conf is included by this file, the following variables are
10# defined: 10# defined:
11# 11#
12# ACCEPTABLE_LICENSES 12# ACCEPTABLE_LICENSES
13# This variable is set to the list of Open Source licenses. See 13# This variable is set to the list of Open Source licenses. See
14# mk/license.mk for details. 14# mk/license.mk for details.
15# 15#
16# MACHINE_PLATFORM 16# MACHINE_PLATFORM
17# The platform for which the packages are built. It has the form 17# The platform for which the packages are built. It has the form
18# ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH}. 18# ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH}.
19# 19#
20# NATIVE_MACHINE_PLATFORM 20# NATIVE_MACHINE_PLATFORM
21# The platform on which the packages are built. This is usually 21# The platform on which the packages are built. This is usually
22# the same as ${MACHINE_PLATFORM}, but can be different when 22# the same as ${MACHINE_PLATFORM}, but can be different when
23# cross-building packages. 23# cross-building packages.
24# 24#
25# PKGPATH 25# PKGPATH
26# The path of the package, relative to the pkgsrc top-level 26# The path of the package, relative to the pkgsrc top-level
27# directory. Typical values look like editors/emacs or 27# directory. Typical values look like editors/emacs or
28# misc/openoffice-bin. 28# misc/openoffice-bin.
29# 29#
30# Keywords: mk.conf user 30# Keywords: mk.conf user
31# 31#
32 32
33.if !defined(BSD_PKG_MK) 33.if !defined(BSD_PKG_MK)
34 34
35# Let mk.conf know that this is pkgsrc. 35# Let mk.conf know that this is pkgsrc.
36BSD_PKG_MK=1 36BSD_PKG_MK=1
37__PREFIX_SET__:=${PREFIX} 37__PREFIX_SET__:=${PREFIX}
38 38
39# Set PATH if not already set 39# Set PATH if not already set
40.if !defined(PATH) 40.if !defined(PATH)
41PATH=/bin:/usr/bin:/sbin:/usr/sbin 41PATH=/bin:/usr/bin:/sbin:/usr/sbin
42.endif 42.endif
43 43
44# Expand MAKE to a full path. 44# Expand MAKE to a full path.
45.if !defined(_MAKE) 45.if !defined(_MAKE)
46_MAKE:= ${MAKE} 46_MAKE:= ${MAKE}
47# allow for MAKE=./make and similar. 47# allow for MAKE=./make and similar.
48. if empty(_MAKE:M/*) && !empty(_MAKE:M*/*) && defined(PWD) && exists(${PWD}/${MAKE}) 48. if empty(_MAKE:M/*) && !empty(_MAKE:M*/*) && defined(PWD) && exists(${PWD}/${MAKE})
49_MAKE:= ${PWD}/${MAKE} 49_MAKE:= ${PWD}/${MAKE}
50. endif 50. endif
51. for _dir_ in ${PATH:C/\:/ /g} 51. for _dir_ in ${PATH:C/\:/ /g}
52. if empty(_MAKE:M/*) 52. if empty(_MAKE:M/*)
53. if exists(${_dir_}/${MAKE}) 53. if exists(${_dir_}/${MAKE})
54_MAKE:= ${_dir_}/${MAKE} 54_MAKE:= ${_dir_}/${MAKE}
55. endif 55. endif
56. endif 56. endif
57. endfor 57. endfor
58. if !empty(_MAKE:M/*) 58. if !empty(_MAKE:M/*)
59MAKEFLAGS+= _MAKE=${_MAKE:Q} 59MAKEFLAGS+= _MAKE=${_MAKE:Q}
60. endif 60. endif
61.endif 61.endif
62MAKE:= ${_MAKE} 62MAKE:= ${_MAKE}
63 63
64.if exists(/usr/bin/uname) 64.if exists(/usr/bin/uname)
65UNAME=/usr/bin/uname 65UNAME=/usr/bin/uname
66.elif exists(/bin/uname) 66.elif exists(/bin/uname)
67UNAME=/bin/uname 67UNAME=/bin/uname
68.else 68.else
69UNAME=echo Unknown 69UNAME=echo Unknown
70.endif 70.endif
71 71
72.if !defined(OPSYS) 72.if !defined(OPSYS)
73OPSYS:= ${:!${UNAME} -s!:S/-//g:S/\///g:C/^CYGWIN_.*$/Cygwin/} 73OPSYS:= ${:!${UNAME} -s!:S/-//g:S/\///g:C/^CYGWIN_.*$/Cygwin/}
74MAKEFLAGS+= OPSYS=${OPSYS:Q} 74MAKEFLAGS+= OPSYS=${OPSYS:Q}
75.endif 75.endif
76 76
77# OS_VARIANT is used to differentiate operating systems which have a common 77# OS_VARIANT is used to differentiate operating systems which have a common
78# basis but offer contrasting environments, for example Linux distributions 78# basis but offer contrasting environments, for example Linux distributions
79# or illumos forks. 79# or illumos forks.
80OS_VARIANT?= # empty 80OS_VARIANT?= # empty
81 81
82# The _CMD indirection allows code below to modify these values 82# The _CMD indirection allows code below to modify these values
83# without executing the commands at all. Later, recursed make 83# without executing the commands at all. Later, recursed make
84# invocations will skip these blocks entirely thanks to MAKEFLAGS. 84# invocations will skip these blocks entirely thanks to MAKEFLAGS.
85.if !defined(OS_VERSION) 85.if !defined(OS_VERSION)
86_OS_VERSION_CMD= ${UNAME} -r 86_OS_VERSION_CMD= ${UNAME} -r
87OS_VERSION= ${_OS_VERSION_CMD:sh} 87OS_VERSION= ${_OS_VERSION_CMD:sh}
88MAKEFLAGS+= OS_VERSION=${OS_VERSION:Q} 88MAKEFLAGS+= OS_VERSION=${OS_VERSION:Q}
89.endif 89.endif
90 90
91# Preload these for architectures not in all variations of bsd.own.mk, 91# Preload these for architectures not in all variations of bsd.own.mk,
92# which do not match their GNU names exactly. 92# which do not match their GNU names exactly.
93GNU_ARCH.arm26?= arm 93GNU_ARCH.arm26?= arm
94GNU_ARCH.arm32?= arm 94GNU_ARCH.arm32?= arm
95GNU_ARCH.i486?= i386 95GNU_ARCH.i486?= i386
96GNU_ARCH.i586?= i386 96GNU_ARCH.i586?= i386
97GNU_ARCH.i686?= i386 97GNU_ARCH.i686?= i386
98GNU_ARCH.m68000?= m68010 98GNU_ARCH.m68000?= m68010
99GNU_ARCH.mips?= mipsel 99GNU_ARCH.mips?= mipsel
100GNU_ARCH.sh3eb?= sh 100GNU_ARCH.sh3eb?= sh
101GNU_ARCH.sh3el?= shle 101GNU_ARCH.sh3el?= shle
102NATIVE_MACHINE_GNU_ARCH?= ${GNU_ARCH.${NATIVE_MACHINE_ARCH}:U${NATIVE_MACHINE_ARCH}} 102NATIVE_MACHINE_GNU_ARCH?= ${GNU_ARCH.${NATIVE_MACHINE_ARCH}:U${NATIVE_MACHINE_ARCH}}
103MACHINE_GNU_ARCH?= ${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}} 103MACHINE_GNU_ARCH?= ${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}}
104 104
105## If changes are made to how OS_VERSION is set below please keep 105## If changes are made to how OS_VERSION is set below please keep
106## "pkgsrc/pkgtools/osabi/INSTALL" in-sync. 106## "pkgsrc/pkgtools/osabi/INSTALL" in-sync.
107.if ${OPSYS} == "NetBSD" 107.if ${OPSYS} == "NetBSD"
108LOWER_OPSYS?= netbsd 108LOWER_OPSYS?= netbsd
109 109
110.elif ${OPSYS} == "AIX" 110.elif ${OPSYS} == "AIX"
111LOWER_ARCH!= _cpuid=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $$1 }'`; \ 111LOWER_ARCH!= _cpuid=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $$1 }'`; \
112 if /usr/sbin/lsattr -El $$_cpuid | grep ' POWER' >/dev/null 2>&1; then \ 112 if /usr/sbin/lsattr -El $$_cpuid | grep ' POWER' >/dev/null 2>&1; then \
113 echo rs6000; \ 113 echo rs6000; \
114 else \ 114 else \
115 echo powerpc; \ 115 echo powerpc; \
116 fi 116 fi
117MACHINE_ARCH?= ${LOWER_ARCH} 117MACHINE_ARCH?= ${LOWER_ARCH}
118. if exists(/usr/bin/oslevel) 118. if exists(/usr/bin/oslevel)
119_OS_VERSION!= /usr/bin/oslevel 119_OS_VERSION!= /usr/bin/oslevel
120. else 120. else
121_OS_VERSION!= echo `${UNAME} -v`.`${UNAME} -r` 121_OS_VERSION!= echo `${UNAME} -v`.`${UNAME} -r`
122. endif 122. endif
123OS_VERSION= ${_OS_VERSION:C/([0-9]*\.[0-9]*).*/\1/} 123OS_VERSION= ${_OS_VERSION:C/([0-9]*\.[0-9]*).*/\1/}
124LOWER_OPSYS_VERSUFFIX= ${_OS_VERSION} 124LOWER_OPSYS_VERSUFFIX= ${_OS_VERSION}
125LOWER_OPSYS?= aix 125LOWER_OPSYS?= aix
126LOWER_VENDOR?= ibm 126LOWER_VENDOR?= ibm
127 127
128.elif ${OPSYS} == "BSDOS" 128.elif ${OPSYS} == "BSDOS"
129LOWER_OPSYS?= bsdi 129LOWER_OPSYS?= bsdi
130 130
131.elif ${OPSYS} == "Cygwin" 131.elif ${OPSYS} == "Cygwin"
132LOWER_OPSYS?= cygwin 132LOWER_OPSYS?= cygwin
133LOWER_VENDOR?= pc 133LOWER_VENDOR?= pc
134. if !defined(LOWER_ARCH) 134. if !defined(LOWER_ARCH)
135LOWER_ARCH!= ${UNAME} -m | sed -e 's/i.86/i386/' 135LOWER_ARCH!= ${UNAME} -m | sed -e 's/i.86/i386/'
136. endif # !defined(LOWER_ARCH) 136. endif # !defined(LOWER_ARCH)
137_OS_VERSION!= ${UNAME} -r 137_OS_VERSION!= ${UNAME} -r
138OS_VERSION= ${_OS_VERSION:C/\(.*\)//} 138OS_VERSION= ${_OS_VERSION:C/\(.*\)//}
139OS_VARIANT!= ${UNAME} -s 139OS_VARIANT!= ${UNAME} -s
140 140
141.elif ${OPSYS} == "Darwin" 141.elif ${OPSYS} == "Darwin"
142LOWER_OPSYS?= darwin 142LOWER_OPSYS?= darwin
143.if empty(OS_VERSION:M[1-9].*.*) 143.if empty(OS_VERSION:M[1-9].*.*)
144# Automatically select the ABI under Mac OS X Snow Leopard. We don't 144# Automatically select the ABI under Mac OS X Snow Leopard. We don't
145# use this at the moment because too many third party programs don't 145# use this at the moment because too many third party programs don't
146# work with it. 146# work with it.
147# 147#
148# _SYSCTL_HW_OPTIONAL_X86_64!= /usr/sbin/sysctl -n hw.optional.x86_64 148# _SYSCTL_HW_OPTIONAL_X86_64!= /usr/sbin/sysctl -n hw.optional.x86_64
149# . if ${_SYSCTL_HW_OPTIONAL_X86_64} == "1" 149# . if ${_SYSCTL_HW_OPTIONAL_X86_64} == "1"
150# ABI= 64 150# ABI= 64
151# .else 151# .else
152# ABI= 32 152# ABI= 32
153#. endif 153#. endif
154ABI= 32 154ABI= 32
155LOWER_ARCH.32= i386 155LOWER_ARCH.32= i386
156LOWER_ARCH.64= x86_64 156LOWER_ARCH.64= x86_64
157LOWER_ARCH= ${LOWER_ARCH.${ABI}} 157LOWER_ARCH= ${LOWER_ARCH.${ABI}}
158.else 158.else
159LOWER_ARCH!= ${UNAME} -p 159LOWER_ARCH!= ${UNAME} -p
160.endif 160.endif
161MACHINE_ARCH= ${LOWER_ARCH} 161MACHINE_ARCH= ${LOWER_ARCH}
162MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q} 162MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
163LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/} 163LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/}
164LOWER_VENDOR?= apple 164LOWER_VENDOR?= apple
165 165
166.elif ${OPSYS} == "DragonFly" 166.elif ${OPSYS} == "DragonFly"
167OS_VERSION:= ${OS_VERSION:C/-.*$//} 167OS_VERSION:= ${OS_VERSION:C/-.*$//}
168LOWER_OPSYS?= dragonfly 168LOWER_OPSYS?= dragonfly
169LOWER_ARCH!= ${UNAME} -p 169LOWER_ARCH!= ${UNAME} -p
170. if ${LOWER_ARCH} == "amd64" 170. if ${LOWER_ARCH} == "amd64"
171MACHINE_ARCH= x86_64 171MACHINE_ARCH= x86_64
172. else 172. else
173MACHINE_ARCH= ${LOWER_ARCH} 173MACHINE_ARCH= ${LOWER_ARCH}
174. endif 174. endif
175MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q} 175MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
176LOWER_VENDOR?= pc 176LOWER_VENDOR?= pc
177 177
178.elif ${OPSYS} == "FreeBSD" 178.elif ${OPSYS} == "FreeBSD"
179OS_VERSION:= ${OS_VERSION:C/-.*$//} 179OS_VERSION:= ${OS_VERSION:C/-.*$//}
180LOWER_OPSYS?= freebsd 180LOWER_OPSYS?= freebsd
181LOWER_ARCH!= ${UNAME} -p 181LOWER_ARCH!= ${UNAME} -p
182. if ${LOWER_ARCH} == "amd64" 182. if ${LOWER_ARCH} == "amd64"
183MACHINE_ARCH= x86_64 183MACHINE_ARCH= x86_64
184. else 184. else
185MACHINE_ARCH= ${LOWER_ARCH} 185MACHINE_ARCH= ${LOWER_ARCH}
186. endif 186. endif
187MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q} 187MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
188LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/} 188LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/}
189. if ${LOWER_ARCH} == "i386" 189. if ${LOWER_ARCH} == "i386"
190LOWER_VENDOR?= pc 190LOWER_VENDOR?= pc
191. endif 191. endif
192LOWER_VENDOR?= unknown 192LOWER_VENDOR?= unknown
193 193
194.elif ${OPSYS} == "Haiku" 194.elif ${OPSYS} == "Haiku"
195LOWER_OPSYS?= haiku 195LOWER_OPSYS?= haiku
196. if ${MACHINE_ARCH} == "i386" 196. if ${MACHINE_ARCH} == "i386"
197LOWER_VENDOR?= pc 197LOWER_VENDOR?= pc
198. endif 198. endif
199 199
200.elif ${OPSYS} == "Interix" 200.elif ${OPSYS} == "Interix"
201LOWER_OPSYS?= interix 201LOWER_OPSYS?= interix
202LOWER_VENDOR?= pc 202LOWER_VENDOR?= pc
203. if exists(/usr/lib/libc.so.5.2) || exists(/usr/lib/x86/libc.so.5.2) 203. if exists(/usr/lib/libc.so.5.2) || exists(/usr/lib/x86/libc.so.5.2)
204LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/} 204LOWER_OPSYS_VERSUFFIX= ${LOWER_OS_VERSION:C/([0-9]*).*/\1/}
205. else 205. else
206LOWER_OPSYS_VERSUFFIX?= 3 206LOWER_OPSYS_VERSUFFIX?= 3
207. if exists(/usr/lib/libc.so.3.5) 207. if exists(/usr/lib/libc.so.3.5)
208OS_VERSION= 3.5 208OS_VERSION= 3.5
209. elif exists(/usr/lib/libc.so.3.1) 209. elif exists(/usr/lib/libc.so.3.1)
210OS_VERSION= 3.1 210OS_VERSION= 3.1
211. else 211. else
212OS_VERSION= 3.0 212OS_VERSION= 3.0
213. endif 213. endif
214. endif 214. endif
215 215
216.elif ${OPSYS} == "MirBSD" 216.elif ${OPSYS} == "MirBSD"
217LOWER_OPSYS?= mirbsd 217LOWER_OPSYS?= mirbsd
218LOWER_OS_VERSION= ${OS_VERSION} 218LOWER_OS_VERSION= ${OS_VERSION}
219LOWER_OPSYS_VERSUFFIX= ${OS_VERSION} 219LOWER_OPSYS_VERSUFFIX= ${OS_VERSION}
220LOWER_ARCH!= arch -s 220LOWER_ARCH!= arch -s
221LOWER_VENDOR?= unknown 221LOWER_VENDOR?= unknown
222MACHINE_ARCH= ${LOWER_ARCH} 222MACHINE_ARCH= ${LOWER_ARCH}
223MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q} 223MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
224 224
225.elif !empty(OPSYS:MIRIX*) 225.elif !empty(OPSYS:MIRIX*)
226LOWER_ARCH!= ${UNAME} -p 226LOWER_ARCH!= ${UNAME} -p
227LOWER_OPSYS?= irix 227LOWER_OPSYS?= irix
228LOWER_OPSYS_VERSUFFIX?= ${OS_VERSION} 228LOWER_OPSYS_VERSUFFIX?= ${OS_VERSION}
229LOWER_VENDOR?= sgi 229LOWER_VENDOR?= sgi
230 230
231.elif ${OPSYS} == "Linux" 231.elif ${OPSYS} == "Linux"
232OS_VERSION:= ${OS_VERSION:C/-.*$//} 232OS_VERSION:= ${OS_VERSION:C/-.*$//}
233LOWER_OPSYS?= linux 233LOWER_OPSYS?= linux
234. if !defined(LOWER_ARCH) 234. if !defined(LOWER_ARCH)
235LOWER_ARCH!= ${UNAME} -m | sed -e 's/i.86/i386/' -e 's/ppc/powerpc/' 235LOWER_ARCH!= ${UNAME} -m | sed -e 's/i.86/i386/' -e 's/ppc/powerpc/'
236. endif # !defined(LOWER_ARCH) 236. endif # !defined(LOWER_ARCH)
237MACHINE_ARCH= ${LOWER_ARCH} 237MACHINE_ARCH= ${LOWER_ARCH}
238MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q} 238MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
239. if exists(/etc/debian_version) 239. if exists(/etc/debian_version)
240LOWER_VENDOR?= debian 240LOWER_VENDOR?= debian
241. elif exists(/etc/mandrake-release) 241. elif exists(/etc/mandrake-release)
242LOWER_VENDOR?= mandrake 242LOWER_VENDOR?= mandrake
243. elif exists(/etc/redhat-version) 243. elif exists(/etc/redhat-version)
244LOWER_VENDOR?= redhat 244LOWER_VENDOR?= redhat
245. elif exists(/etc/slackware-version) 245. elif exists(/etc/slackware-version)
246LOWER_VENDOR?= slackware 246LOWER_VENDOR?= slackware
247. elif exists(/etc/ssdlinux_version) 247. elif exists(/etc/ssdlinux_version)
248LOWER_VENDOR?= ssd 248LOWER_VENDOR?= ssd
249. elif ${LOWER_ARCH} == "i386" 249. elif ${LOWER_ARCH} == "i386"
250LOWER_VENDOR?= pc 250LOWER_VENDOR?= pc
251. endif 251. endif
252LOWER_VENDOR?= unknown 252LOWER_VENDOR?= unknown
253 253
254.elif ${OPSYS} == "OSF1" 254.elif ${OPSYS} == "OSF1"
255LOWER_ARCH!= ${UNAME} -p 255LOWER_ARCH!= ${UNAME} -p
256MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q} 256MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
257MACHINE_ARCH?= ${LOWER_ARCH} 257MACHINE_ARCH?= ${LOWER_ARCH}
258OS_VERSION:= ${OS_VERSION:C/^V//} 258OS_VERSION:= ${OS_VERSION:C/^V//}
259LOWER_OPSYS?= osf1 259LOWER_OPSYS?= osf1
260LOWER_OPSYS_VERSUFFIX?= ${OS_VERSION} 260LOWER_OPSYS_VERSUFFIX?= ${OS_VERSION}
261LOWER_VENDOR?= dec 261LOWER_VENDOR?= dec
262 262
263.elif ${OPSYS} == "HPUX" 263.elif ${OPSYS} == "HPUX"
264OS_VERSION:= ${OS_VERSION:C/^B.//} 264OS_VERSION:= ${OS_VERSION:C/^B.//}
265.if ${MACHINE_ARCH} == "9000" 265.if ${MACHINE_ARCH} == "9000"
266MACHINE_ARCH= hppa 266MACHINE_ARCH= hppa
267.endif 267.endif
268LOWER_OPSYS?= hpux 268LOWER_OPSYS?= hpux
269LOWER_OPSYS_VERSUFFIX?= ${OS_VERSION} 269LOWER_OPSYS_VERSUFFIX?= ${OS_VERSION}
270LOWER_VENDOR?= hp 270LOWER_VENDOR?= hp
271 271
272.elif ${OPSYS} == "SunOS" 272.elif ${OPSYS} == "SunOS"
273ABI?= 32 273ABI?= 32
274. if ${MACHINE_ARCH} == "sparc" 274. if ${MACHINE_ARCH} == "sparc"
275SPARC_TARGET_ARCH?= sparcv7 275SPARC_TARGET_ARCH?= sparcv7
276. elif ${MACHINE_ARCH} == "sun4" 276. elif ${MACHINE_ARCH} == "sun4"
277MACHINE_ARCH= sparc 277MACHINE_ARCH= sparc
278SPARC_TARGET_ARCH?= sparcv7 278SPARC_TARGET_ARCH?= sparcv7
279. elif ${MACHINE_ARCH} == "i86pc" || ${MACHINE_ARCH} == "i86xpv" || ${MACHINE_ARCH} == "i386" 279. elif ${MACHINE_ARCH} == "i86pc" || ${MACHINE_ARCH} == "i86xpv" || ${MACHINE_ARCH} == "i386"
280LOWER_ARCH.32= i386 280LOWER_ARCH.32= i386
281LOWER_ARCH.64= x86_64 281LOWER_ARCH.64= x86_64
282LOWER_ARCH= ${LOWER_ARCH.${ABI}} 282LOWER_ARCH= ${LOWER_ARCH.${ABI}}
283MACHINE_ARCH= ${LOWER_ARCH} 283MACHINE_ARCH= ${LOWER_ARCH}
284. elif ${MACHINE_ARCH} == "unknown" 284. elif ${MACHINE_ARCH} == "unknown"
285. if !defined(LOWER_ARCH) 285. if !defined(LOWER_ARCH)
286LOWER_ARCH!= ${UNAME} -p 286LOWER_ARCH!= ${UNAME} -p
287. endif # !defined(LOWER_ARCH) 287. endif # !defined(LOWER_ARCH)
288MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q} 288MAKEFLAGS+= LOWER_ARCH=${LOWER_ARCH:Q}
289. endif 289. endif
290LOWER_VENDOR?= sun 290LOWER_VENDOR?= sun
291LOWER_OPSYS?= solaris 291LOWER_OPSYS?= solaris
292LOWER_OPSYS_VERSUFFIX= 2.${OS_VERSION:C/5.//} 292LOWER_OPSYS_VERSUFFIX= 2.${OS_VERSION:C/5.//}
293_UNAME_V!= ${UNAME} -v 293_UNAME_V!= ${UNAME} -v
294. if !empty(_UNAME_V:Mjoyent_*) 294. if !empty(_UNAME_V:Mjoyent_*)
295OS_VARIANT= SmartOS 295OS_VARIANT= SmartOS
296. endif 296. endif
297 297
298.elif ${OPSYS} == "Minix" 298.elif ${OPSYS} == "Minix"
299LOWER_VENDOR?= pc 299LOWER_VENDOR?= pc
300LOWER_OPSYS:= ${OPSYS:tl} 300LOWER_OPSYS:= ${OPSYS:tl}
301LDFLAGS+= -lcompat_minix -lminlib 301LDFLAGS+= -lcompat_minix -lminlib
302 302
303.elif !defined(LOWER_OPSYS) 303.elif !defined(LOWER_OPSYS)
304LOWER_OPSYS:= ${OPSYS:tl} 304LOWER_OPSYS:= ${OPSYS:tl}
305.endif 305.endif
306 306
307# Now commit the [LOWER_]OS_VERSION values computed above, eliding the :sh 307# Now commit the [LOWER_]OS_VERSION values computed above, eliding the :sh
308OS_VERSION:= ${OS_VERSION} 308OS_VERSION:= ${OS_VERSION}
309LOWER_OS_VERSION:= ${OS_VERSION:tl} 309LOWER_OS_VERSION:= ${OS_VERSION:tl}
310 310
311MAKEFLAGS+= LOWER_OPSYS=${LOWER_OPSYS:Q} 311MAKEFLAGS+= LOWER_OPSYS=${LOWER_OPSYS:Q}
312 312
313LOWER_VENDOR?= # empty ("arch--opsys") 313LOWER_VENDOR?= # empty ("arch--opsys")
314LOWER_ARCH?= ${MACHINE_GNU_ARCH} 314LOWER_ARCH?= ${MACHINE_GNU_ARCH}
315# Expand now as MACHINE_ARCH can be overriden in mk.conf and 315# Expand now as MACHINE_ARCH can be overriden in mk.conf and
316# LOWER_ARCH is typically derived from it. 316# LOWER_ARCH is typically derived from it.
317NATIVE_LOWER_ARCH:= ${LOWER_ARCH} 317NATIVE_LOWER_ARCH:= ${LOWER_ARCH}
318NATIVE_MACHINE_ARCH:= ${MACHINE_ARCH} 318NATIVE_MACHINE_ARCH:= ${MACHINE_ARCH}
319 319
320NATIVE_MACHINE_PLATFORM?= ${OPSYS}-${OS_VERSION}-${NATIVE_MACHINE_ARCH} 320NATIVE_MACHINE_PLATFORM?= ${OPSYS}-${OS_VERSION}-${NATIVE_MACHINE_ARCH}
321MACHINE_PLATFORM?= ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} 321MACHINE_PLATFORM?= ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH}
322NATIVE_MACHINE_GNU_PLATFORM?= ${NATIVE_MACHINE_GNU_ARCH}-${LOWER_VENDOR}-${LOWER_OPSYS:C/[0-9]//g}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX} 322NATIVE_MACHINE_GNU_PLATFORM?= ${NATIVE_MACHINE_GNU_ARCH}-${LOWER_VENDOR}-${LOWER_OPSYS:C/[0-9]//g}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}
323MACHINE_GNU_PLATFORM?= ${MACHINE_GNU_ARCH}-${LOWER_VENDOR}-${LOWER_OPSYS:C/[0-9]//g}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX} 323MACHINE_GNU_PLATFORM?= ${MACHINE_GNU_ARCH}-${LOWER_VENDOR}-${LOWER_OPSYS:C/[0-9]//g}${APPEND_ELF}${LOWER_OPSYS_VERSUFFIX}
324 324
325# Needed to prevent an "install:" target from being created in bsd.own.mk. 325# Needed to prevent an "install:" target from being created in bsd.own.mk.
326NEED_OWN_INSTALL_TARGET=no 326NEED_OWN_INSTALL_TARGET=no
327 327
328# This prevents default use of the cross-tool harness in the "src" tree, 328# This prevents default use of the cross-tool harness in the "src" tree,
329# in the odd possible case of someone extracting "pkgsrc" underneath "src". 329# in the odd possible case of someone extracting "pkgsrc" underneath "src".
330USETOOLS= no 330USETOOLS= no
331MAKE_ENV+= USETOOLS=no 331MAKE_ENV+= USETOOLS=no
332 332
333# Set this before <bsd.own.mk> does, since it doesn't know about Darwin 333# Set this before <bsd.own.mk> does, since it doesn't know about Darwin
334.if ${OPSYS} == "Darwin" 334.if ${OPSYS} == "Darwin"
335OBJECT_FMT?= Mach-O 335OBJECT_FMT?= Mach-O
336.endif 336.endif
337 337
338ACCEPTABLE_LICENSES?= ${DEFAULT_ACCEPTABLE_LICENSES} 338ACCEPTABLE_LICENSES?= ${DEFAULT_ACCEPTABLE_LICENSES}
339 339
340# Provide PKGPATH early on so that mk.conf can use it. 340# Provide PKGPATH early on so that mk.conf can use it.
341PKGPATH?= ${.CURDIR:C|.*/([^/]*/[^/]*)$|\1|} 341PKGPATH?= ${.CURDIR:C|.*/([^/]*/[^/]*)$|\1|}
342 342
343# Load the settings from MAKECONF, which is /etc/mk.conf by default. 343# Load the settings from MAKECONF, which is /etc/mk.conf by default.
344.include <bsd.own.mk> 344.include <bsd.own.mk>
345 345
346# /usr/share/mk/bsd.own.mk on NetBSD 1.3 does not define OBJECT_FMT 346# /usr/share/mk/bsd.own.mk on NetBSD 1.3 does not define OBJECT_FMT
347.if !empty(MACHINE_PLATFORM:MNetBSD-1.3*) 347.if !empty(MACHINE_PLATFORM:MNetBSD-1.3*)
348. if ${MACHINE_ARCH} == "alpha" || \ 348. if ${MACHINE_ARCH} == "alpha" || \
349 ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \ 349 ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
350 ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64" 350 ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64"
351OBJECT_FMT?= ELF 351OBJECT_FMT?= ELF
352. else 352. else
353OBJECT_FMT?= a.out 353OBJECT_FMT?= a.out
354. endif 354. endif
355# override what bootstrap-pkgsrc sets, which isn't right for NetBSD 355# override what bootstrap-pkgsrc sets, which isn't right for NetBSD
356# 1.4. 356# 1.4.
357# XXX other ELF platforms in 1.4 need to be added to here. 357# XXX other ELF platforms in 1.4 need to be added to here.
358.elif !empty(MACHINE_PLATFORM:MNetBSD-1.4*) 358.elif !empty(MACHINE_PLATFORM:MNetBSD-1.4*)
359. if ${MACHINE_ARCH} == "alpha" || \ 359. if ${MACHINE_ARCH} == "alpha" || \
360 ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \ 360 ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
361 ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64" 361 ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "sparc64"
362OBJECT_FMT= ELF 362OBJECT_FMT= ELF
363. else 363. else
364OBJECT_FMT= a.out 364OBJECT_FMT= a.out
365. endif 365. endif
366.endif 366.endif
367 367
368.if ${OPSYS} == "OpenBSD" 368.if ${OPSYS} == "OpenBSD"
369. if defined(ELF_TOOLCHAIN) && ${ELF_TOOLCHAIN} == "yes" 369. if defined(ELF_TOOLCHAIN) && ${ELF_TOOLCHAIN} == "yes"
370OBJECT_FMT?= ELF 370OBJECT_FMT?= ELF
371. else 371. else
372OBJECT_FMT?= a.out 372OBJECT_FMT?= a.out
373. endif 373. endif
374.elif ${OPSYS} == "DragonFly" 374.elif ${OPSYS} == "DragonFly"
375OBJECT_FMT= ELF 375OBJECT_FMT= ELF
376.elif ${OPSYS} == "MirBSD" 376.elif ${OPSYS} == "MirBSD"
377OBJECT_FMT= ELF 377OBJECT_FMT= ELF
378MKPROFILE= no 378MKPROFILE= no
379.elif ${OPSYS} == "AIX" 379.elif ${OPSYS} == "AIX"
380OBJECT_FMT= XCOFF 380OBJECT_FMT= XCOFF
381.elif ${OPSYS} == "OSF1" 381.elif ${OPSYS} == "OSF1"
382OBJECT_FMT= ECOFF 382OBJECT_FMT= ECOFF
383.elif ${OPSYS} == "HPUX" 383.elif ${OPSYS} == "HPUX"
384. if ${MACHINE_ARCH} == "ia64" || (defined(ABI) && ${ABI} == "64") 384. if ${MACHINE_ARCH} == "ia64" || (defined(ABI) && ${ABI} == "64")
385OBJECT_FMT= ELF 385OBJECT_FMT= ELF
386. else 386. else
387OBJECT_FMT= SOM 387OBJECT_FMT= SOM
388. endif 388. endif
389.elif ${OPSYS} == "Cygwin" 389.elif ${OPSYS} == "Cygwin"
390OBJECT_FMT= PE 390OBJECT_FMT= PE
391.endif 391.endif
392 392
393# Calculate depth 393# Calculate depth
394.if exists(${.CURDIR}/mk/bsd.pkg.mk) 394.if exists(${.CURDIR}/mk/bsd.pkg.mk)
395_PKGSRC_TOPDIR= ${.CURDIR} 395_PKGSRC_TOPDIR= ${.CURDIR}
396.elif exists(${.CURDIR}/../mk/bsd.pkg.mk) 396.elif exists(${.CURDIR}/../mk/bsd.pkg.mk)
397_PKGSRC_TOPDIR= ${.CURDIR}/.. 397_PKGSRC_TOPDIR= ${.CURDIR}/..
398.elif exists(${.CURDIR}/../../mk/bsd.pkg.mk) 398.elif exists(${.CURDIR}/../../mk/bsd.pkg.mk)
399_PKGSRC_TOPDIR= ${.CURDIR}/../.. 399_PKGSRC_TOPDIR= ${.CURDIR}/../..
400.endif 400.endif
401 401
402# include the defaults file 402# include the defaults file
403.include "${_PKGSRC_TOPDIR}/mk/defaults/mk.conf" 403.include "${_PKGSRC_TOPDIR}/mk/defaults/mk.conf"
404 404
405SHAREOWN?= ${DOCOWN} 405SHAREOWN?= ${DOCOWN}
406SHAREGRP?= ${DOCGRP} 406SHAREGRP?= ${DOCGRP}
407SHAREMODE?= ${DOCMODE} 407SHAREMODE?= ${DOCMODE}
408 408
409.if defined(PREFIX) && (${PREFIX} != ${__PREFIX_SET__}) 409.if defined(PREFIX) && (${PREFIX} != ${__PREFIX_SET__})
410.BEGIN: 410.BEGIN:
411 @${ECHO_MSG} "You CANNOT set PREFIX manually or in mk.conf. Set LOCALBASE or X11BASE" 411 @${ECHO_MSG} "You CANNOT set PREFIX manually or in mk.conf. Set LOCALBASE or X11BASE"
412 @${ECHO_MSG} "depending on your needs. See the pkg system documentation for more info." 412 @${ECHO_MSG} "depending on your needs. See the pkg system documentation for more info."
413 @${FALSE} 413 @${FALSE}
414.endif 414.endif
415 415
416# Load the OS-specific definitions for program variables. Default to loading 416# Load the OS-specific definitions for program variables. Default to loading
417# the NetBSD ones if an OS-specific file doesn't exist. 417# the NetBSD ones if an OS-specific file doesn't exist.
418.if exists(${_PKGSRC_TOPDIR}/mk/platform/${OPSYS}.mk) 418.if exists(${_PKGSRC_TOPDIR}/mk/platform/${OPSYS}.mk)
419. include "${_PKGSRC_TOPDIR}/mk/platform/${OPSYS}.mk" 419. include "${_PKGSRC_TOPDIR}/mk/platform/${OPSYS}.mk"
420.else 420.else
421. include "${_PKGSRC_TOPDIR}/mk/platform/NetBSD.mk" 421. include "${_PKGSRC_TOPDIR}/mk/platform/NetBSD.mk"
422PKG_FAIL_REASON+= "missing mk/platform/${OPSYS}.mk" 422PKG_FAIL_REASON+= "missing mk/platform/${OPSYS}.mk"
423.endif 423.endif
424 424
425PKGDIRMODE?= 755 425PKGDIRMODE?= 755
426 426
427# A meta-package is a package that does not have any files and whose 427# A meta-package is a package that does not have any files and whose
428# only purpose is to depend on other packages, giving that collection 428# only purpose is to depend on other packages, giving that collection
429# a simple name. 429# a simple name.
430# 430#
431# This variable must be set before including bsd.prefs.mk directly or 431# This variable must be set before including bsd.prefs.mk directly or
432# indirectly. 432# indirectly.
433# 433#
434# Keywords: meta meta-package META_PACKAGE 434# Keywords: meta meta-package META_PACKAGE
435# 435#
436.if defined(META_PACKAGE) 436.if defined(META_PACKAGE)
437PKG_DESTDIR_SUPPORT= user-destdir 437PKG_DESTDIR_SUPPORT= user-destdir
438NO_CONFIGURE= yes 438NO_CONFIGURE= yes
439NO_BUILD= yes 439NO_BUILD= yes
440DISTFILES= # none 440DISTFILES= # none
441PLIST_SRC= # none 441PLIST_SRC= # none
442CHECK_PERMS= no 442CHECK_PERMS= no
443USE_LANGUAGES= # empty 443USE_LANGUAGES= # empty
444do-patch: 444do-patch:
445 @${DO_NADA} 445 @${DO_NADA}
446do-install: 446do-install:
447 @${DO_NADA} 447 @${DO_NADA}
448.endif 448.endif
449 449
450# After 2011Q1, the default is to use DESTDIR. 450# After 2011Q1, the default is to use DESTDIR.
451USE_DESTDIR?= yes 451USE_DESTDIR?= yes
452# PKG_DESTDIR_SUPPORT can only be one of "none", "destdir", or "user-destdir". 452# PKG_DESTDIR_SUPPORT can only be one of "none", "destdir", or "user-destdir".
453PKG_DESTDIR_SUPPORT?= user-destdir 453PKG_DESTDIR_SUPPORT?= user-destdir
454 454
455.if ${PKG_DESTDIR_SUPPORT} == "none" || empty(USE_DESTDIR:M[Yy][Ee][Ss]) 455.if ${PKG_DESTDIR_SUPPORT} == "none" || empty(USE_DESTDIR:M[Yy][Ee][Ss])
456. if empty(USE_DESTDIR:M[Yy][Ee][Ss]) && empty(USE_DESTDIR:M[Nn][Oo]) 456. if empty(USE_DESTDIR:M[Yy][Ee][Ss]) && empty(USE_DESTDIR:M[Nn][Oo])
457PKG_FAIL_REASON+= "USE_DESTDIR must be either \`\`yes'' or \`\`no''" 457PKG_FAIL_REASON+= "USE_DESTDIR must be either \`\`yes'' or \`\`no''"
458. endif 458. endif
459_USE_DESTDIR= no 459_USE_DESTDIR= no
460.elif ${PKG_DESTDIR_SUPPORT} == "user-destdir" 460.elif ${PKG_DESTDIR_SUPPORT} == "user-destdir"
461_USE_DESTDIR= user-destdir 461_USE_DESTDIR= user-destdir
462.elif ${PKG_DESTDIR_SUPPORT} == "destdir" 462.elif ${PKG_DESTDIR_SUPPORT} == "destdir"
463_USE_DESTDIR= destdir 463_USE_DESTDIR= destdir
464.else 464.else
465PKG_FAIL_REASON+= "PKG_DESTDIR_SUPPORT must be \`\`none'', \`\`destdir'', or \`\`user-destdir''." 465PKG_FAIL_REASON+= "PKG_DESTDIR_SUPPORT must be \`\`none'', \`\`destdir'', or \`\`user-destdir''."
466.endif 466.endif
467 467
468# This stanza serves to warn the user; deciding to not build 468# This stanza serves to warn the user; deciding to not build
469# non-DESTDIR-capable packages when not in DESTDIR mode is above. 469# non-DESTDIR-capable packages when not in DESTDIR mode is above.
470.if ${PKG_DESTDIR_SUPPORT} == "none" 470.if ${PKG_DESTDIR_SUPPORT} == "none"
471WARNINGS+= "[bsd.prefs.mk] The package ${PKGNAME} is missing DESTDIR support." 471WARNINGS+= "[bsd.prefs.mk] The package ${PKGNAME} is missing DESTDIR support."
472.endif 472.endif
473 473
474# When using staged installation, everything gets installed into 474# When using staged installation, everything gets installed into
475# ${DESTDIR}${PREFIX} instead of ${PREFIX} directly. 475# ${DESTDIR}${PREFIX} instead of ${PREFIX} directly.
476# 476#
477.if ${_USE_DESTDIR} != "no" 477.if ${_USE_DESTDIR} != "no"
478DESTDIR= ${WRKDIR}/.destdir 478DESTDIR= ${WRKDIR}/.destdir
479. if ${_USE_DESTDIR} == "destdir" 479. if ${_USE_DESTDIR} == "destdir"
480_MAKE_PACKAGE_AS_ROOT= yes 480_MAKE_PACKAGE_AS_ROOT= yes
481_MAKE_CLEAN_AS_ROOT= yes 481_MAKE_CLEAN_AS_ROOT= yes
482_MAKE_INSTALL_AS_ROOT= yes 482_MAKE_INSTALL_AS_ROOT= yes
483. elif ${_USE_DESTDIR} == "user-destdir" 483. elif ${_USE_DESTDIR} == "user-destdir"
484_MAKE_PACKAGE_AS_ROOT= no 484_MAKE_PACKAGE_AS_ROOT= no
485_MAKE_CLEAN_AS_ROOT= no 485_MAKE_CLEAN_AS_ROOT= no
486_MAKE_INSTALL_AS_ROOT= no 486_MAKE_INSTALL_AS_ROOT= no
487. endif 487. endif
488.else 488.else
489DESTDIR= 489DESTDIR=
490.endif 490.endif
491 491
492_MAKE_CLEAN_AS_ROOT?= no 492_MAKE_CLEAN_AS_ROOT?= no
493# Whether to run the clean target as root. 493# Whether to run the clean target as root.
494_MAKE_INSTALL_AS_ROOT?= yes 494_MAKE_INSTALL_AS_ROOT?= yes
495# Whether to run the install target as root. 495# Whether to run the install target as root.
496_MAKE_PACKAGE_AS_ROOT?= yes 496_MAKE_PACKAGE_AS_ROOT?= yes
497# Whether to run the package target as root. 497# Whether to run the package target as root.
498 498
499# When cross-compilation support is requested, the following options 499# When cross-compilation support is requested, the following options
500# must be specified as well or guessable: 500# must be specified as well or guessable:
501# - MACHINE_ARCH is set to TARGET_ARCH if set. 501# - MACHINE_ARCH is set to TARGET_ARCH if set.
502# - CROSS_DESTDIR is guessed from MAKEOBJDIR and MACHINE_ARCH. 502# - CROSS_DESTDIR is guessed from MAKEOBJDIR and MACHINE_ARCH.
503# - PKG_DBDIR is expanded and prefixed with CROSS_DESTDIR 503# - PKG_DBDIR is expanded and prefixed with CROSS_DESTDIR
504# - DESTDIR support is required 504# - DESTDIR support is required
505# 505#
506# _CROSS_DESTDIR is set for internal use to avoid conditionalising 506# _CROSS_DESTDIR is set for internal use to avoid conditionalising
507# the use. 507# the use.
508 508
509.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) 509.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
510. if defined(TARGET_ARCH) 510. if defined(TARGET_ARCH)
511MACHINE_ARCH= ${TARGET_ARCH} 511MACHINE_ARCH= ${TARGET_ARCH}
512. endif 512. endif
513CROSS_DESTDIR?= ${MAKEOBJDIR}/destdir.${MACHINE_ARCH} 513CROSS_DESTDIR?= ${MAKEOBJDIR}/destdir.${MACHINE_ARCH}
514. if !exists(${CROSS_DESTDIR}/usr/include/stddef.h) 514. if !exists(${CROSS_DESTDIR}/usr/include/stddef.h)
515PKG_FAIL_REASON+= "The cross-compiling root ${CROSS_DESTDIR:Q} is incomplete" 515PKG_FAIL_REASON+= "The cross-compiling root ${CROSS_DESTDIR:Q} is incomplete"
516. else 516. else
517_CROSS_DESTDIR= ${CROSS_DESTDIR} 517_CROSS_DESTDIR= ${CROSS_DESTDIR}
518. endif 518. endif
519.endif 519.endif
520 520
521# Depends on MACHINE_ARCH override above 521# Depends on MACHINE_ARCH override above
522.if ${OPSYS} == "NetBSD" 522.if ${OPSYS} == "NetBSD"
523. if ${OBJECT_FMT} == "ELF" && \ 523. if ${OBJECT_FMT} == "ELF" && \
524 (${MACHINE_GNU_ARCH} == "arm" || \ 524 (${MACHINE_GNU_ARCH} == "arm" || \
525 ${MACHINE_ARCH} == "i386" || \ 525 ${MACHINE_ARCH} == "i386" || \
526 ${MACHINE_ARCH} == "m68k" || \ 526 ${MACHINE_ARCH} == "m68k" || \
527 ${MACHINE_ARCH} == "m68000" || \ 527 ${MACHINE_ARCH} == "m68000" || \
528 ${MACHINE_GNU_ARCH} == "sh" || \ 528 ${MACHINE_GNU_ARCH} == "sh" || \
529 ${MACHINE_GNU_ARCH} == "shle" || \ 529 ${MACHINE_GNU_ARCH} == "shle" || \
530 ${MACHINE_ARCH} == "sparc" || \ 530 ${MACHINE_ARCH} == "sparc" || \
531 ${MACHINE_ARCH} == "vax") 531 ${MACHINE_ARCH} == "vax")
532APPEND_ELF= elf 532APPEND_ELF= elf
533. endif 533. endif
534.endif 534.endif
535 535
536PKG_INSTALLATION_TYPES?= overwrite 536PKG_INSTALLATION_TYPES?= overwrite
537# This is a whitespace-separated list of installation types supported 537# This is a whitespace-separated list of installation types supported
538# by the package. 538# by the package.
539# 539#
540# *NOTE*: This variable *must* be set in the package Makefile *before* 540# *NOTE*: This variable *must* be set in the package Makefile *before*
541# the inclusion of bsd.prefs.mk. 541# the inclusion of bsd.prefs.mk.
542# 542#
543# Possible: any of: overwrite, pkgviews 543# Possible: any of: overwrite, pkgviews
544# Default: overwrite 544# Default: overwrite
545 545
546# Set the style of installation to be performed for the package. The 546# Set the style of installation to be performed for the package. The
547# funky make variable modifiers just select the first word of the value 547# funky make variable modifiers just select the first word of the value
548# stored in the referenced variable. 548# stored in the referenced variable.
549# 549#
550.for _pref_ in ${PKG_INSTALLATION_PREFS} 550.for _pref_ in ${PKG_INSTALLATION_PREFS}
551. if !empty(PKG_INSTALLATION_TYPES:M${_pref_}) 551. if !empty(PKG_INSTALLATION_TYPES:M${_pref_})
552PKG_INSTALLATION_TYPE?= ${PKG_INSTALLATION_TYPES:M${_pref_}:S/^/_pkginsttype_/1:M_pkginsttype_*:S/^_pkginsttype_//} 552PKG_INSTALLATION_TYPE?= ${PKG_INSTALLATION_TYPES:M${_pref_}:S/^/_pkginsttype_/1:M_pkginsttype_*:S/^_pkginsttype_//}
553. endif 553. endif
554.endfor 554.endfor
555PKG_INSTALLATION_TYPE?= none 555PKG_INSTALLATION_TYPE?= none
556 556
557# if the system is IPv6-ready, compile with IPv6 support turned on. 557# if the system is IPv6-ready, compile with IPv6 support turned on.
558.if empty(_OPSYS_HAS_INET6:M[nN][oO]) 558.if empty(_OPSYS_HAS_INET6:M[nN][oO])
559IPV6_READY= YES 559IPV6_READY= YES
560.else 560.else
561IPV6_READY= NO 561IPV6_READY= NO
562.endif 562.endif
563 563
564LOCALBASE?= /usr/pkg 564LOCALBASE?= /usr/pkg
565X11_TYPE?= modular 565X11_TYPE?= modular
566.if !empty(X11_TYPE:Mnative) 566.if !empty(X11_TYPE:Mnative)
567. if ${OPSYS} == "SunOS" 567. if ${OPSYS} == "SunOS"
568# On Solaris, we default to using OpenWindows for X11. 568# On Solaris, we default to using OpenWindows for X11.
569X11BASE?= /usr/openwin 569X11BASE?= /usr/openwin
570. elif ${OPSYS} == "Cygwin" || ${OPSYS} == "IRIX" || ${OPSYS} == "OSF1" || ${OPSYS} == "HPUX" 570. elif ${OPSYS} == "Cygwin" || ${OPSYS} == "IRIX" || ${OPSYS} == "OSF1" || ${OPSYS} == "HPUX"
571X11BASE?= /usr 571X11BASE?= /usr
572. elif !empty(MACHINE_PLATFORM:MDarwin-9.*-*) || \ 572. elif !empty(MACHINE_PLATFORM:MDarwin-9.*-*) || \
573 !empty(MACHINE_PLATFORM:MDarwin-10.*-*) || \ 573 !empty(MACHINE_PLATFORM:MDarwin-10.*-*) || \
574 !empty(MACHINE_PLATFORM:MDarwin-11.*-*) 574 !empty(MACHINE_PLATFORM:MDarwin-11.*-*)
575X11BASE?= /usr/X11 575X11BASE?= /usr/X11
576. elif !empty(MACHINE_PLATFORM:MDarwin-??.*-*) 576. elif !empty(MACHINE_PLATFORM:MDarwin-??.*-*)
577X11BASE?= /opt/X11 577X11BASE?= /opt/X11
578. elif ${OPSYS} == "NetBSD" && ${X11FLAVOUR:U} == "Xorg" 578. elif ${OPSYS} == "NetBSD" && ${X11FLAVOUR:U} == "Xorg"
579X11BASE?= /usr/X11R7 579X11BASE?= /usr/X11R7
580. elif exists(/usr/X11R7/lib/libX11.so) 580. elif exists(/usr/X11R7/lib/libX11.so)
581X11BASE?= /usr/X11R7 581X11BASE?= /usr/X11R7
582. else 582. else
583X11BASE?= /usr/X11R6 583X11BASE?= /usr/X11R6
584. endif 584. endif
585.endif 585.endif
586CROSSBASE?= ${LOCALBASE}/cross 586CROSSBASE?= ${LOCALBASE}/cross
587 587
588.if defined(FIX_SYSTEM_HEADERS) && ${FIX_SYSTEM_HEADERS} == "yes" && \ 588.if defined(FIX_SYSTEM_HEADERS) && ${FIX_SYSTEM_HEADERS} == "yes" && \
589 !defined(BOOTSTRAP_PKG) && \ 589 !defined(BOOTSTRAP_PKG) && \
590 exists(../../pkgtools/compat_headers/buildlink3.mk) 590 exists(../../pkgtools/compat_headers/buildlink3.mk)
591. include "../../pkgtools/compat_headers/buildlink3.mk" 591. include "../../pkgtools/compat_headers/buildlink3.mk"
592.endif 592.endif
593 593
594.if ${X11_TYPE} == "modular" 594.if ${X11_TYPE} == "modular"
595X11BASE= ${LOCALBASE} 595X11BASE= ${LOCALBASE}
596.endif 596.endif
597 597
598X11PREFIX= ${LOCALBASE} 598X11PREFIX= ${LOCALBASE}
599 599
600# Default directory for font encodings 600# Default directory for font encodings
601.if ${X11_TYPE} == "modular" 601.if ${X11_TYPE} == "modular"
602X11_ENCODINGSDIR?= ${X11BASE}/share/fonts/X11/encodings 602X11_ENCODINGSDIR?= ${X11BASE}/share/fonts/X11/encodings
603.else 603.else
604X11_ENCODINGSDIR?= ${X11BASE}/lib/X11/fonts/encodings 604X11_ENCODINGSDIR?= ${X11BASE}/lib/X11/fonts/encodings
605.endif 605.endif
606 606
607IMAKE_MAN_SOURCE_PATH= man/man 607IMAKE_MAN_SOURCE_PATH= man/man
608IMAKE_MAN_SUFFIX= 1 608IMAKE_MAN_SUFFIX= 1
609IMAKE_LIBMAN_SUFFIX= 3 609IMAKE_LIBMAN_SUFFIX= 3
610IMAKE_KERNMAN_SUFFIX= 4 610IMAKE_KERNMAN_SUFFIX= 4
611IMAKE_FILEMAN_SUFFIX= 5 611IMAKE_FILEMAN_SUFFIX= 5
612IMAKE_GAMEMAN_SUFFIX= 6 612IMAKE_GAMEMAN_SUFFIX= 6
613IMAKE_MISCMAN_SUFFIX= 7 613IMAKE_MISCMAN_SUFFIX= 7
614IMAKE_MAN_DIR= ${IMAKE_MAN_SOURCE_PATH}1 614IMAKE_MAN_DIR= ${IMAKE_MAN_SOURCE_PATH}1
615IMAKE_LIBMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}3 615IMAKE_LIBMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}3
616IMAKE_KERNMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}4 616IMAKE_KERNMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}4
617IMAKE_FILEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}5 617IMAKE_FILEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}5
618IMAKE_GAMEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}6 618IMAKE_GAMEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}6
619IMAKE_MISCMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}7 619IMAKE_MISCMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}7
620IMAKE_MANNEWSUFFIX= ${IMAKE_MAN_SUFFIX} 620IMAKE_MANNEWSUFFIX= ${IMAKE_MAN_SUFFIX}
621IMAKE_MANINSTALL?= maninstall 621IMAKE_MANINSTALL?= maninstall
622 622
623DEPOT_SUBDIR?= packages 623DEPOT_SUBDIR?= packages
624DEPOTBASE= ${LOCALBASE}/${DEPOT_SUBDIR} 624DEPOTBASE= ${LOCALBASE}/${DEPOT_SUBDIR}
625 625
626# LINK_RPATH_FLAG publicly exports the linker flag used to set the 626# LINK_RPATH_FLAG publicly exports the linker flag used to set the
627# run-time library search path. 627# run-time library search path.
628# 628#
629.if defined(_OPSYS_LINKER_RPATH_FLAG) 629.if defined(_OPSYS_LINKER_RPATH_FLAG)
630LINKER_RPATH_FLAG= ${_OPSYS_LINKER_RPATH_FLAG} 630LINKER_RPATH_FLAG= ${_OPSYS_LINKER_RPATH_FLAG}
631.else 631.else
632LINKER_RPATH_FLAG?= ${_LINKER_RPATH_FLAG} 632LINKER_RPATH_FLAG?= ${_LINKER_RPATH_FLAG}
633.endif 633.endif
634 634
635# COMPILER_RPATH_FLAG publicly exports the compiler flag used to pass 635# COMPILER_RPATH_FLAG publicly exports the compiler flag used to pass
636# run-time library search path directives to the linker. 636# run-time library search path directives to the linker.
637# 637#
638.if defined(_OPSYS_COMPILER_RPATH_FLAG) 638.if defined(_OPSYS_COMPILER_RPATH_FLAG)
639COMPILER_RPATH_FLAG= ${_OPSYS_COMPILER_RPATH_FLAG} 639COMPILER_RPATH_FLAG= ${_OPSYS_COMPILER_RPATH_FLAG}
640.else 640.else
641COMPILER_RPATH_FLAG?= ${_COMPILER_RPATH_FLAG} 641COMPILER_RPATH_FLAG?= ${_COMPILER_RPATH_FLAG}
642.endif 642.endif
643 643
 644COMPILER_INCLUDE_DIRS?= ${_OPSYS_INCLUDE_DIRS:U/usr/include}
 645COMPILER_LIB_DIRS?= ${_OPSYS_LIB_DIRS:U/usr/lib${LIBABISUFFIX} /lib${LIBABISUFFIX}}
 646SYSTEM_DEFAULT_RPATH?= ${_OPSYS_SYSTEM_RPATH:U/usr/lib}
 647
644# WHOLE_ARCHIVE_FLAG and NO_WHOLE_ARCHIVE_FLAG publically export the 648# WHOLE_ARCHIVE_FLAG and NO_WHOLE_ARCHIVE_FLAG publically export the
645# linker flags to extract all symbols from a static archive. 649# linker flags to extract all symbols from a static archive.
646# 650#
647WHOLE_ARCHIVE_FLAG?= ${_OPSYS_WHOLE_ARCHIVE_FLAG} 651WHOLE_ARCHIVE_FLAG?= ${_OPSYS_WHOLE_ARCHIVE_FLAG}
648NO_WHOLE_ARCHIVE_FLAG?= ${_OPSYS_NO_WHOLE_ARCHIVE_FLAG} 652NO_WHOLE_ARCHIVE_FLAG?= ${_OPSYS_NO_WHOLE_ARCHIVE_FLAG}
649 653
650USE_TOOLS?= # empty 654USE_TOOLS?= # empty
651 655
652# Provide default values for TOOLs used by the top-level make. 656# Provide default values for TOOLs used by the top-level make.
653USE_TOOLS+= [ awk dirname echo grep pwd sed test true 657USE_TOOLS+= [ awk dirname echo grep pwd sed test true
654 658
655# These tools are used by the top-level make only in certain packages and 659# These tools are used by the top-level make only in certain packages and
656# should eventually be moved into those particular package Makefiles. 660# should eventually be moved into those particular package Makefiles.
657# 661#
658USE_TOOLS+= date tr 662USE_TOOLS+= date tr
659 663
660# These are tools used directly by bsd.prefs.mk and files included by 664# These are tools used directly by bsd.prefs.mk and files included by
661# bsd.prefs.mk. 665# bsd.prefs.mk.
662# 666#
663USE_TOOLS+= awk:pkgsrc cut:pkgsrc echo:pkgsrc pwd:pkgsrc \ 667USE_TOOLS+= awk:pkgsrc cut:pkgsrc echo:pkgsrc pwd:pkgsrc \
664 sed:pkgsrc tr:pkgsrc uname:pkgsrc 668 sed:pkgsrc tr:pkgsrc uname:pkgsrc
665 669
666.include "${_PKGSRC_TOPDIR}/mk/tools/defaults.mk" 670.include "${_PKGSRC_TOPDIR}/mk/tools/defaults.mk"
667 671
668.if !defined(_PKGSRCDIR) 672.if !defined(_PKGSRCDIR)
669_PKGSRCDIR!= cd ${_PKGSRC_TOPDIR} && ${PWD_CMD} 673_PKGSRCDIR!= cd ${_PKGSRC_TOPDIR} && ${PWD_CMD}
670MAKEFLAGS+= _PKGSRCDIR=${_PKGSRCDIR:Q} 674MAKEFLAGS+= _PKGSRCDIR=${_PKGSRCDIR:Q}
671.endif 675.endif
672PKGSRCDIR= ${_PKGSRCDIR} 676PKGSRCDIR= ${_PKGSRCDIR}
673 677
674DISTDIR?= ${PKGSRCDIR}/distfiles 678DISTDIR?= ${PKGSRCDIR}/distfiles
675PACKAGES?= ${PKGSRCDIR}/packages 679PACKAGES?= ${PKGSRCDIR}/packages
676TEMPLATES?= ${PKGSRCDIR}/templates 680TEMPLATES?= ${PKGSRCDIR}/templates
677 681
678PATCHDIR?= ${.CURDIR}/patches 682PATCHDIR?= ${.CURDIR}/patches
679FILESDIR?= ${.CURDIR}/files 683FILESDIR?= ${.CURDIR}/files
680PKGDIR?= ${.CURDIR} 684PKGDIR?= ${.CURDIR}
681 685
682_PKGSRC_DEPS?= # empty 686_PKGSRC_DEPS?= # empty
683_BUILTIN_PKGS?= # empty 687_BUILTIN_PKGS?= # empty
684 688
685# If WRKOBJDIR is set, use that tree to build 689# If WRKOBJDIR is set, use that tree to build
686.if defined(WRKOBJDIR) 690.if defined(WRKOBJDIR)
687BUILD_DIR?= ${WRKOBJDIR}/${PKGPATH} 691BUILD_DIR?= ${WRKOBJDIR}/${PKGPATH}
688.else 692.else
689BUILD_DIR!= cd ${.CURDIR} && ${PWD_CMD} 693BUILD_DIR!= cd ${.CURDIR} && ${PWD_CMD}
690.endif 694.endif
691 695
692# If OBJHOSTNAME is set, use first component of hostname in directory name. 696# If OBJHOSTNAME is set, use first component of hostname in directory name.
693# If OBJMACHINE is set, use ${MACHINE_ARCH} in the working directory name. 697# If OBJMACHINE is set, use ${MACHINE_ARCH} in the working directory name.
694# 698#
695.if defined(OBJHOSTNAME) 699.if defined(OBJHOSTNAME)
696. if !defined(_HOSTNAME) 700. if !defined(_HOSTNAME)
697_HOSTNAME!= ${UNAME} -n 701_HOSTNAME!= ${UNAME} -n
698MAKEFLAGS+= _HOSTNAME=${_HOSTNAME:Q} 702MAKEFLAGS+= _HOSTNAME=${_HOSTNAME:Q}
699. endif 703. endif
700WRKDIR_BASENAME?= work.${_HOSTNAME:C|\..*||} 704WRKDIR_BASENAME?= work.${_HOSTNAME:C|\..*||}
701MAKEFLAGS+= OBJHOSTNAME=${OBJHOSTNAME:Q} 705MAKEFLAGS+= OBJHOSTNAME=${OBJHOSTNAME:Q}
702.elif defined(OBJMACHINE) 706.elif defined(OBJMACHINE)
703WRKDIR_BASENAME?= work.${MACHINE_ARCH} 707WRKDIR_BASENAME?= work.${MACHINE_ARCH}
704MAKEFLAGS+= OBJMACHINE=${OBJMACHINE:Q} 708MAKEFLAGS+= OBJMACHINE=${OBJMACHINE:Q}
705.else 709.else
706WRKDIR_BASENAME?= work 710WRKDIR_BASENAME?= work
707.endif 711.endif
708 712
709WRKDIR?= ${BUILD_DIR}/${WRKDIR_BASENAME} 713WRKDIR?= ${BUILD_DIR}/${WRKDIR_BASENAME}
710 714
711# There are many uses for a common log file, so define one that may be 715# There are many uses for a common log file, so define one that may be
712# picked up and used by tools.mk, bsd.buildlink3.mk, etc. 716# picked up and used by tools.mk, bsd.buildlink3.mk, etc.
713# 717#
714WRKLOG?= ${WRKDIR}/.work.log 718WRKLOG?= ${WRKDIR}/.work.log
715 719
716PKG_DEFAULT_OPTIONS?= # empty 720PKG_DEFAULT_OPTIONS?= # empty
717PKG_OPTIONS?= # empty 721PKG_OPTIONS?= # empty
718 722
719# we want this *before* compiler.mk, so that compiler.mk paths override them 723# we want this *before* compiler.mk, so that compiler.mk paths override them
720.if ${X11_TYPE} != "modular" && defined(USE_X11) 724.if ${X11_TYPE} != "modular" && defined(USE_X11)
721PREPEND_PATH+= ${X11BASE}/bin 725PREPEND_PATH+= ${X11BASE}/bin
722.endif 726.endif
723PREPEND_PATH+= ${LOCALBASE}/bin 727PREPEND_PATH+= ${LOCALBASE}/bin
724 728
725# Wrapper framework definitions 729# Wrapper framework definitions
726.include "wrapper/wrapper-defs.mk" 730.include "wrapper/wrapper-defs.mk"
727 731
728# Binary emulator framework definitions 732# Binary emulator framework definitions
729.if defined(EMUL_PLATFORMS) && !empty(EMUL_PLATFORMS) 733.if defined(EMUL_PLATFORMS) && !empty(EMUL_PLATFORMS)
730. include "emulator/emulator-vars.mk" 734. include "emulator/emulator-vars.mk"
731.endif 735.endif
732 736
733# System features framework 737# System features framework
734.include "features/features-vars.mk" 738.include "features/features-vars.mk"
735 739
736# Package system format definitions 740# Package system format definitions
737.include "pkgformat/bsd.pkgformat-vars.mk" 741.include "pkgformat/bsd.pkgformat-vars.mk"
738 742
739# Make variable definitions cache 743# Make variable definitions cache
740.include "bsd.makevars.mk" 744.include "bsd.makevars.mk"
741 745
742# If MAKECONF is defined, then pass it down to all recursive make 746# If MAKECONF is defined, then pass it down to all recursive make
743# processes invoked by pkgsrc. 747# processes invoked by pkgsrc.
744# 748#
745PKGSRC_MAKE_ENV+= ${MAKECONF:DMAKECONF=${MAKECONF:Q}} 749PKGSRC_MAKE_ENV+= ${MAKECONF:DMAKECONF=${MAKECONF:Q}}
746RECURSIVE_MAKE= ${PKGSRC_SETENV} ${PKGSRC_MAKE_ENV} ${MAKE} 750RECURSIVE_MAKE= ${PKGSRC_SETENV} ${PKGSRC_MAKE_ENV} ${MAKE}
747 751
748_VARGROUPS+= dirs 752_VARGROUPS+= dirs
749_USER_VARS.dirs= DISTDIR LOCALBASE PACKAGES PKG_SYSCONFDIR WRKOBJDIR 753_USER_VARS.dirs= DISTDIR LOCALBASE PACKAGES PKG_SYSCONFDIR WRKOBJDIR
750_PKG_VARS.dirs= WRKSRC PATCHDIR FILESDIR PKGDIR 754_PKG_VARS.dirs= WRKSRC PATCHDIR FILESDIR PKGDIR
751_SYS_VARS.dirs= WRKDIR DESTDIR PKG_SYSCONFBASEDIR 755_SYS_VARS.dirs= WRKDIR DESTDIR PKG_SYSCONFBASEDIR
752 756
753# List of 64bit operating systems with sizeof(int) != sizeof(void *). 757# List of 64bit operating systems with sizeof(int) != sizeof(void *).
754# This can be used for software that is not 64bit clean. 758# This can be used for software that is not 64bit clean.
755# 759#
756# Keywords: ONLY_FOR_PLATFORM NOT_FOR_PLATFORM 64bit 760# Keywords: ONLY_FOR_PLATFORM NOT_FOR_PLATFORM 64bit
757# 761#
758LP64PLATFORMS= *-*-alpha *-*-sparc64 *-*-x86_64 762LP64PLATFORMS= *-*-alpha *-*-sparc64 *-*-x86_64
759 763
760.endif # BSD_PKG_MK 764.endif # BSD_PKG_MK