Tue Sep 20 11:31:13 2011 UTC ()
If building with threads support, add PTHREAD_LDFLAGS to LDFLAGS.

Fixes build on Ubuntu 11.04.  Unlikely to have an effect on platforms that
already built, so no PKGREVISION bump.

Ok'd in freeze by wiz@


(dsainty)
diff -r1.174 -r1.175 pkgsrc/lang/perl5/Makefile

cvs diff -r1.174 -r1.175 pkgsrc/lang/perl5/Makefile (switch to unified diff)

--- pkgsrc/lang/perl5/Makefile 2011/09/17 18:51:35 1.174
+++ pkgsrc/lang/perl5/Makefile 2011/09/20 11:31:13 1.175
@@ -1,359 +1,360 @@ @@ -1,359 +1,360 @@
1# $NetBSD: Makefile,v 1.174 2011/09/17 18:51:35 brook Exp $ 1# $NetBSD: Makefile,v 1.175 2011/09/20 11:31:13 dsainty Exp $
2 2
3.include "license.mk" 3.include "license.mk"
4.include "Makefile.common" 4.include "Makefile.common"
5 5
6COMMENT= Practical Extraction and Report Language 6COMMENT= Practical Extraction and Report Language
7 7
8PKG_DESTDIR_SUPPORT= user-destdir 8PKG_DESTDIR_SUPPORT= user-destdir
9 9
10CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \ 10CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \
11 p5-CGI-2.66{,nb*} p5-CGI-2.75{,nb*} p5-CGI-2.75.[0-2] \ 11 p5-CGI-2.66{,nb*} p5-CGI-2.75{,nb*} p5-CGI-2.75.[0-2] \
12 p5-Tie-File-0.96{,nb*} \ 12 p5-Tie-File-0.96{,nb*} \
13 p5-Memoize-1.01{,nb*} \ 13 p5-Memoize-1.01{,nb*} \
14 p5-I18N-LangTags<0.35 \ 14 p5-I18N-LangTags<0.35 \
15 p5-Locale-Maketext-1.[0-9]*{,nb*} \ 15 p5-Locale-Maketext-1.[0-9]*{,nb*} \
16 p5-Locale-Maketext-Simple<0.21 \ 16 p5-Locale-Maketext-Simple<0.21 \
17 p5-Digest<=1.16 \ 17 p5-Digest<=1.16 \
18 p5-Digest-MD5<=2.39 \ 18 p5-Digest-MD5<=2.39 \
19 p5-Digest-SHA<2.48 19 p5-Digest-SHA<2.48
20 20
21SUPERSEDES+= p5-Tie-File<0.97 21SUPERSEDES+= p5-Tie-File<0.97
22SUPERSEDES+= p5-Memoize<1.02 22SUPERSEDES+= p5-Memoize<1.02
23SUPERSEDES+= p5-I18N-LangTags<=0.35 23SUPERSEDES+= p5-I18N-LangTags<=0.35
24SUPERSEDES+= p5-Locale-Maketext<=1.15 24SUPERSEDES+= p5-Locale-Maketext<=1.15
25 25
26.include "../../mk/bsd.prefs.mk" 26.include "../../mk/bsd.prefs.mk"
27 27
28# Determine the Perl API version from the patchlevel.h file from the 28# Determine the Perl API version from the patchlevel.h file from the
29# source distribution. 29# source distribution.
30# 30#
31PERL5_API_VERS= ${PERL5_API_VERS_cmd:sh} 31PERL5_API_VERS= ${PERL5_API_VERS_cmd:sh}
32PERL5_API_VERS_cmd= \ 32PERL5_API_VERS_cmd= \
33 if ${TEST} -f ${WRKSRC}/patchlevel.h; then \ 33 if ${TEST} -f ${WRKSRC}/patchlevel.h; then \
34 ${AWK} '/\#define[ ]*PERL_API_REVISION/ { R = $$3 }\ 34 ${AWK} '/\#define[ ]*PERL_API_REVISION/ { R = $$3 }\
35 /\#define[ ]*PERL_API_VERSION/ { r = "."$$3 } \ 35 /\#define[ ]*PERL_API_VERSION/ { r = "."$$3 } \
36 /\#define[ ]*PERL_API_SUBVERSION/ { s = "."$$3 } \ 36 /\#define[ ]*PERL_API_SUBVERSION/ { s = "."$$3 } \
37 END { printf "%s%s%s\n", R, r, s }' \ 37 END { printf "%s%s%s\n", R, r, s }' \
38 ${WRKSRC}/patchlevel.h; \ 38 ${WRKSRC}/patchlevel.h; \
39 else \ 39 else \
40 ${ECHO} "unknown"; \ 40 ${ECHO} "unknown"; \
41 fi 41 fi
42 42
43.include "dirs.mk" 43.include "dirs.mk"
44 44
45.include "../../mk/compiler.mk" 45.include "../../mk/compiler.mk"
46 46
47HAS_CONFIGURE= yes 47HAS_CONFIGURE= yes
48CONFIGURE_SCRIPT= ./Configure 48CONFIGURE_SCRIPT= ./Configure
49CONFIGURE_ARGS+= -sde 49CONFIGURE_ARGS+= -sde
50CONFIGURE_ARGS+= -D ccflags=${CFLAGS:Q} 50CONFIGURE_ARGS+= -D ccflags=${CFLAGS:Q}
51CONFIGURE_ARGS+= -D ldflags=${LDFLAGS:Q} 51CONFIGURE_ARGS+= -D ldflags=${LDFLAGS:Q}
52MAKE_ENV+= LC_ALL="C" 52MAKE_ENV+= LC_ALL="C"
53 53
54TEST_TARGET= test 54TEST_TARGET= test
55 55
56# Policy.sh generation 56# Policy.sh generation
57# (see comments in files/Policy.sh) 57# (see comments in files/Policy.sh)
58SUBST_CLASSES+= policysh 58SUBST_CLASSES+= policysh
59SUBST_STAGE.policysh= pre-configure 59SUBST_STAGE.policysh= pre-configure
60SUBST_FILES.policysh= Policy.sh 60SUBST_FILES.policysh= Policy.sh
61SUBST_VARS.policysh+= MACHINE_ARCH 61SUBST_VARS.policysh+= MACHINE_ARCH
62SUBST_VARS.policysh+= LOWER_OPSYS 62SUBST_VARS.policysh+= LOWER_OPSYS
63SUBST_VARS.policysh+= CC 63SUBST_VARS.policysh+= CC
64SUBST_VARS.policysh+= CFLAGS 64SUBST_VARS.policysh+= CFLAGS
65SUBST_VARS.policysh+= PERL5_PREFIX 65SUBST_VARS.policysh+= PERL5_PREFIX
66SUBST_VARS.policysh+= PERL5_SITEPREFIX 66SUBST_VARS.policysh+= PERL5_SITEPREFIX
67SUBST_VARS.policysh+= PERL5_VENDORPREFIX 67SUBST_VARS.policysh+= PERL5_VENDORPREFIX
68PERL5_SCRIPTDIR= ${PERL5_PERLBASE}/bin 68PERL5_SCRIPTDIR= ${PERL5_PERLBASE}/bin
69SUBST_VARS.policysh+= PERL5_SCRIPTDIR 69SUBST_VARS.policysh+= PERL5_SCRIPTDIR
70SUBST_VARS.policysh+= PERL5_PERLBASE 70SUBST_VARS.policysh+= PERL5_PERLBASE
71SUBST_VARS.policysh+= PERL5_SITEBASE 71SUBST_VARS.policysh+= PERL5_SITEBASE
72SUBST_VARS.policysh+= PERL5_SITEBIN 72SUBST_VARS.policysh+= PERL5_SITEBIN
73SUBST_VARS.policysh+= PERL5_VENDORBASE 73SUBST_VARS.policysh+= PERL5_VENDORBASE
74SUBST_VARS.policysh+= PERL5_PRIVLIB 74SUBST_VARS.policysh+= PERL5_PRIVLIB
75SUBST_VARS.policysh+= PERL5_SITELIB 75SUBST_VARS.policysh+= PERL5_SITELIB
76SUBST_VARS.policysh+= PERL5_VENDORLIB 76SUBST_VARS.policysh+= PERL5_VENDORLIB
77PERL5_MAN1DIR= ${PERL5_PERLBASE}/${PKGMANDIR}/man1 77PERL5_MAN1DIR= ${PERL5_PERLBASE}/${PKGMANDIR}/man1
78SUBST_VARS.policysh+= PERL5_MAN1DIR 78SUBST_VARS.policysh+= PERL5_MAN1DIR
79SUBST_VARS.policysh+= PKGMANDIR 79SUBST_VARS.policysh+= PKGMANDIR
80SUBST_VARS.policysh+= LOCALBASE 80SUBST_VARS.policysh+= LOCALBASE
81SUBST_VARS.policysh+= PTHREAD_LDFLAGS 81SUBST_VARS.policysh+= PTHREAD_LDFLAGS
82 82
83.if ${OPSYS} == "Darwin" 83.if ${OPSYS} == "Darwin"
84# 84#
85# The Perl build attempts to work around case-insensitivity problems on 85# The Perl build attempts to work around case-insensitivity problems on
86# HFS filesystems by using GNUmakefiles, so we need to use GNU make. 86# HFS filesystems by using GNUmakefiles, so we need to use GNU make.
87# 87#
88USE_TOOLS+= gmake 88USE_TOOLS+= gmake
89.endif 89.endif
90 90
91# 91#
92# For the moment disable the building of a shared libperl.dylib on Darwin 92# For the moment disable the building of a shared libperl.dylib on Darwin
93# => 9.0 as it breaks the build. This should just be considered a temporary 93# => 9.0 as it breaks the build. This should just be considered a temporary
94# work around until the actual problem can be fixed as this worked for 94# work around until the actual problem can be fixed as this worked for
95# Darwin < 9.0. 95# Darwin < 9.0.
96# 96#
97.if empty(MACHINE_PLATFORM:MDarwin-9.*-*) 97.if empty(MACHINE_PLATFORM:MDarwin-9.*-*)
98CONFIGURE_ARGS+= -Duseshrplib 98CONFIGURE_ARGS+= -Duseshrplib
99.endif 99.endif
100 100
101# Perl embeds the full paths to the following tools in several installed 101# Perl embeds the full paths to the following tools in several installed
102# files, so make sure the paths to the ones in ${TOOLS_DIR} aren't used. 102# files, so make sure the paths to the ones in ${TOOLS_DIR} aren't used.
103# 103#
104USE_TOOLS+= hostname ln sed test 104USE_TOOLS+= hostname ln sed test
105SUBST_VARS.policysh+= TOOLS_HOSTNAME_CMD 105SUBST_VARS.policysh+= TOOLS_HOSTNAME_CMD
106SUBST_VARS.policysh+= TOOLS_LN 106SUBST_VARS.policysh+= TOOLS_LN
107TOOLS_ALIASES.sed+= ${TOOLS_SED:T} 107TOOLS_ALIASES.sed+= ${TOOLS_SED:T}
108SUBST_VARS.policysh+= TOOLS_SED 108SUBST_VARS.policysh+= TOOLS_SED
109SUBST_VARS.policysh+= TOOLS_SH 109SUBST_VARS.policysh+= TOOLS_SH
110SUBST_VARS.policysh+= TOOLS_TEST 110SUBST_VARS.policysh+= TOOLS_TEST
111SUBST_VARS.policysh+= FALSE 111SUBST_VARS.policysh+= FALSE
112 112
113# Nail down the needed libraries for each platform here to avoid hidden 113# Nail down the needed libraries for each platform here to avoid hidden
114# dependencies. If this isn't defined, then use the perl defaults for the 114# dependencies. If this isn't defined, then use the perl defaults for the
115# particular operating system. 115# particular operating system.
116# 116#
117LIBSWANTED.Darwin= m c 117LIBSWANTED.Darwin= m c
118LIBSWANTED.DragonFly= m crypt 118LIBSWANTED.DragonFly= m crypt
119LIBSWANTED.FreeBSD= m crypt 119LIBSWANTED.FreeBSD= m crypt
120LIBSWANTED.HPUX= cl pthread $$libswanted # see Perl's README.hpux 120LIBSWANTED.HPUX= cl pthread $$libswanted # see Perl's README.hpux
121LIBSWANTED.IRIX= m crypt 121LIBSWANTED.IRIX= m crypt
122LIBSWANTED.Interix= m dl 122LIBSWANTED.Interix= m dl
123LIBSWANTED.Linux= m crypt dl nsl 123LIBSWANTED.Linux= m crypt dl nsl
124LIBSWANTED.MirBSD= m crypt 124LIBSWANTED.MirBSD= m crypt
125LIBSWANTED.NetBSD= m crypt 125LIBSWANTED.NetBSD= m crypt
126LIBSWANTED.OpenBSD= m crypt 126LIBSWANTED.OpenBSD= m crypt
127LIBSWANTED.SunOS= m crypt dl socket nsl 127LIBSWANTED.SunOS= m crypt dl socket nsl
128LIBSWANTED.AIX= m crypt dl socket nsl bind c 128LIBSWANTED.AIX= m crypt dl socket nsl bind c
129LIBSWANTED= ${LIBSWANTED.${OPSYS}} 129LIBSWANTED= ${LIBSWANTED.${OPSYS}}
130SUBST_VARS.policysh+= LIBSWANTED 130SUBST_VARS.policysh+= LIBSWANTED
131 131
132# Nail down the directories in which the system libraries may be found. 132# Nail down the directories in which the system libraries may be found.
133# If this isn't defined, then use the perl defaults for the particular 133# If this isn't defined, then use the perl defaults for the particular
134# operating system. 134# operating system.
135# 135#
136SYSLIBPATH.Darwin= /usr/lib 136SYSLIBPATH.Darwin= /usr/lib
137SYSLIBPATH.DragonFly= /usr/lib 137SYSLIBPATH.DragonFly= /usr/lib
138SYSLIBPATH.FreeBSD= /usr/lib 138SYSLIBPATH.FreeBSD= /usr/lib
139SYSLIBPATH.Interix= /usr/lib 139SYSLIBPATH.Interix= /usr/lib
140SYSLIBPATH.MirBSD= /usr/lib 140SYSLIBPATH.MirBSD= /usr/lib
141SYSLIBPATH.NetBSD= /usr/lib 141SYSLIBPATH.NetBSD= /usr/lib
142SYSLIBPATH.OpenBSD= /usr/lib 142SYSLIBPATH.OpenBSD= /usr/lib
143SYSLIBPATH.SunOS= /usr/lib 143SYSLIBPATH.SunOS= /usr/lib
144SYSLIBPATH.AIX= /usr/lib 144SYSLIBPATH.AIX= /usr/lib
145SYSLIBPATH= ${SYSLIBPATH.${OPSYS}} 145SYSLIBPATH= ${SYSLIBPATH.${OPSYS}}
146SUBST_VARS.policysh+= SYSLIBPATH 146SUBST_VARS.policysh+= SYSLIBPATH
147 147
148# On a.out platforms, we link with "ld" and on ELF platforms, we link with 148# On a.out platforms, we link with "ld" and on ELF platforms, we link with
149# "cc", so we need to use different options to pass the run-time search path 149# "cc", so we need to use different options to pass the run-time search path
150# flags to the link command in the right way. 150# flags to the link command in the right way.
151# 151#
152.if ${OBJECT_FMT} == "a.out" 152.if ${OBJECT_FMT} == "a.out"
153LOCLIBRPATHFLAGS= ${LINKER_RPATH_FLAG} ${LOCALBASE}/lib 153LOCLIBRPATHFLAGS= ${LINKER_RPATH_FLAG} ${LOCALBASE}/lib
154.elif ${OBJECT_FMT} == "ELF" || ${OBJECT_FMT} == "XCOFF" 154.elif ${OBJECT_FMT} == "ELF" || ${OBJECT_FMT} == "XCOFF"
155LOCLIBRPATHFLAGS= ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib 155LOCLIBRPATHFLAGS= ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib
156.else 156.else
157LOCLIBRPATHFLAGS= # empty 157LOCLIBRPATHFLAGS= # empty
158.endif 158.endif
159 159
160.include "../../mk/dlopen.buildlink3.mk" 160.include "../../mk/dlopen.buildlink3.mk"
161 161
162CHECK_BUILTIN.pthread:= yes 162CHECK_BUILTIN.pthread:= yes
163.include "../../mk/pthread.builtin.mk" 163.include "../../mk/pthread.builtin.mk"
164CHECK_BUILTIN.pthread:= no 164CHECK_BUILTIN.pthread:= no
165 165
166# By default, build with threads only if the threads are native. 166# By default, build with threads only if the threads are native.
167.if !empty(USE_BUILTIN.pthread:M[yY][eE][sS]) 167.if !empty(USE_BUILTIN.pthread:M[yY][eE][sS])
168PERL5_BUILD_THREADS_SUPPORT= yes 168PERL5_BUILD_THREADS_SUPPORT= yes
169.else 169.else
170PERL5_BUILD_THREADS_SUPPORT= ${DLOPEN_REQUIRE_PTHREADS} 170PERL5_BUILD_THREADS_SUPPORT= ${DLOPEN_REQUIRE_PTHREADS}
171.endif 171.endif
172 172
173### [Sat Dec 18 17:29:44 EST 2004 : jlam] 173### [Sat Dec 18 17:29:44 EST 2004 : jlam]
174### Native threading on VAX isn't ready for primetime in NetBSD>=2.0. 174### Native threading on VAX isn't ready for primetime in NetBSD>=2.0.
175### Build Perl without threads-support until VAX native threads are 175### Build Perl without threads-support until VAX native threads are
176### known to work. 176### known to work.
177### 177###
178.if !empty(MACHINE_PLATFORM:MNetBSD-*-vax) && \ 178.if !empty(MACHINE_PLATFORM:MNetBSD-*-vax) && \
179 !empty(USE_BUILTIN.pthread:M[yY][eE][sS]) 179 !empty(USE_BUILTIN.pthread:M[yY][eE][sS])
180PKG_HACKS+= broken-vax-pthreads 180PKG_HACKS+= broken-vax-pthreads
181PERL5_BUILD_THREADS_SUPPORT= no 181PERL5_BUILD_THREADS_SUPPORT= no
182.endif 182.endif
183 183
184.if !empty(MACHINE_PLATFORM:MMirBSD*) 184.if !empty(MACHINE_PLATFORM:MMirBSD*)
185SUBST_CLASSES+= mirbsd-paths 185SUBST_CLASSES+= mirbsd-paths
186SUBST_STAGE.mirbsd-paths= pre-configure 186SUBST_STAGE.mirbsd-paths= pre-configure
187SUBST_FILES.mirbsd-paths= hints/mirbsd.sh 187SUBST_FILES.mirbsd-paths= hints/mirbsd.sh
188SUBST_SED.mirbsd-paths= -e 's,/usr/mpkg,${PREFIX},g' 188SUBST_SED.mirbsd-paths= -e 's,/usr/mpkg,${PREFIX},g'
189SUBST_MESSAGE.mirbsd-paths= Do not use non-pkgsrc paths on MirBSD. 189SUBST_MESSAGE.mirbsd-paths= Do not use non-pkgsrc paths on MirBSD.
190.endif 190.endif
191 191
192.include "../../mk/compiler.mk" 192.include "../../mk/compiler.mk"
193 193
194PKG_OPTIONS_VAR= PKG_OPTIONS.perl 194PKG_OPTIONS_VAR= PKG_OPTIONS.perl
195PKG_OPTIONS_REQUIRED_GROUPS= perlbits 195PKG_OPTIONS_REQUIRED_GROUPS= perlbits
196PKG_OPTIONS_GROUP.perlbits= 64bitauto 64bitint 64bitmore 64bitall 64bitnone 196PKG_OPTIONS_GROUP.perlbits= 64bitauto 64bitint 64bitmore 64bitall 64bitnone
197PKG_SUPPORTED_OPTIONS= debug threads mstats 197PKG_SUPPORTED_OPTIONS= debug threads mstats
198.if !empty(PERL5_BUILD_THREADS_SUPPORT:M[yY][eE][sS]) 198.if !empty(PERL5_BUILD_THREADS_SUPPORT:M[yY][eE][sS])
199PKG_SUGGESTED_OPTIONS= threads 199PKG_SUGGESTED_OPTIONS= threads
200.endif 200.endif
201 201
202.if ${OPSYS} == "IRIX" 202.if ${OPSYS} == "IRIX"
203. if defined(ABI) && ${ABI} == "64" 203. if defined(ABI) && ${ABI} == "64"
204PKG_SUGGESTED_OPTIONS+= 64bitint 204PKG_SUGGESTED_OPTIONS+= 64bitint
205. endif 205. endif
206.elif ${OPSYS} == "AIX" 206.elif ${OPSYS} == "AIX"
207. if defined(ABI) && ${ABI} == "64" 207. if defined(ABI) && ${ABI} == "64"
208PKG_SUGGESTED_OPTIONS+= 64bitall 208PKG_SUGGESTED_OPTIONS+= 64bitall
209. else 209. else
210PKG_SUGGESTED_OPTIONS+= 64bitnone 210PKG_SUGGESTED_OPTIONS+= 64bitnone
211. endif 211. endif
212.else 212.else
213PKG_SUGGESTED_OPTIONS+= 64bitauto 213PKG_SUGGESTED_OPTIONS+= 64bitauto
214.endif 214.endif
215 215
216.include "../../mk/bsd.options.mk" 216.include "../../mk/bsd.options.mk"
217 217
218.if !empty(PKG_OPTIONS:Mthreads) 218.if !empty(PKG_OPTIONS:Mthreads)
219. include "../../mk/pthread.buildlink3.mk" 219. include "../../mk/pthread.buildlink3.mk"
220CONFIGURE_ARGS+= -Duseithreads 220CONFIGURE_ARGS+= -Duseithreads
221CFLAGS+= ${PTHREAD_CFLAGS} 221CFLAGS+= ${PTHREAD_CFLAGS}
 222LDFLAGS+= ${PTHREAD_LDFLAGS}
222LIBSWANTED+= ${PTHREAD_LIBS:M-l*:S/^-l//} 223LIBSWANTED+= ${PTHREAD_LIBS:M-l*:S/^-l//}
223. if ${OBJECT_FMT} == "XCOFF" 224. if ${OBJECT_FMT} == "XCOFF"
224PERL5_RPATH_THREAD=-thread 225PERL5_RPATH_THREAD=-thread
225. endif 226. endif
226.else 227.else
227CONFIGURE_ARGS+= -Uuseithreads 228CONFIGURE_ARGS+= -Uuseithreads
228. if ${OBJECT_FMT} == "XCOFF" 229. if ${OBJECT_FMT} == "XCOFF"
229PERL5_RPATH_THREAD= 230PERL5_RPATH_THREAD=
230. endif 231. endif
231.endif 232.endif
232 233
233.if !empty(PKG_OPTIONS:Mdebug) 234.if !empty(PKG_OPTIONS:Mdebug)
234CFLAGS+= -DDEBUGGING 235CFLAGS+= -DDEBUGGING
235.endif 236.endif
236 237
237.if !empty(PKG_OPTIONS:Mmstats) 238.if !empty(PKG_OPTIONS:Mmstats)
238CFLAGS+= -DPERL_DEBUGGING_MSTATS 239CFLAGS+= -DPERL_DEBUGGING_MSTATS
239CONFIGURE_ARGS+= -Dusemymalloc 240CONFIGURE_ARGS+= -Dusemymalloc
240.else 241.else
241CONFIGURE_ARGS+= -Uusemymalloc 242CONFIGURE_ARGS+= -Uusemymalloc
242.endif 243.endif
243 244
244.if !empty(PKG_OPTIONS:M64bitint) 245.if !empty(PKG_OPTIONS:M64bitint)
245CONFIGURE_ARGS+= -Duse64bitint 246CONFIGURE_ARGS+= -Duse64bitint
246. if ${OBJECT_FMT} == "XCOFF" 247. if ${OBJECT_FMT} == "XCOFF"
247LOCLIBRPATHFLAGS+= ${COMPILER_RPATH_FLAG}${PERL5_PRIVLIB}/${MACHINE_ARCH}-${LOWER_OPSYS}${PERL5_RPATH_THREAD}-multi-64int/CORE 248LOCLIBRPATHFLAGS+= ${COMPILER_RPATH_FLAG}${PERL5_PRIVLIB}/${MACHINE_ARCH}-${LOWER_OPSYS}${PERL5_RPATH_THREAD}-multi-64int/CORE
248. endif 249. endif
249.elif !empty(PKG_OPTIONS:M64bitmore) 250.elif !empty(PKG_OPTIONS:M64bitmore)
250CONFIGURE_ARGS+= -Dusemorebits 251CONFIGURE_ARGS+= -Dusemorebits
251. if ${OBJECT_FMT} == "XCOFF" 252. if ${OBJECT_FMT} == "XCOFF"
252LOCLIBRPATHFLAGS+= ${COMPILER_RPATH_FLAG}${PERL5_PRIVLIB}/${MACHINE_ARCH}-${LOWER_OPSYS}${PERL5_RPATH_THREAD}-multi-64int-ld/CORE 253LOCLIBRPATHFLAGS+= ${COMPILER_RPATH_FLAG}${PERL5_PRIVLIB}/${MACHINE_ARCH}-${LOWER_OPSYS}${PERL5_RPATH_THREAD}-multi-64int-ld/CORE
253. endif 254. endif
254.elif !empty(PKG_OPTIONS:M64bitall) 255.elif !empty(PKG_OPTIONS:M64bitall)
255CONFIGURE_ARGS+= -Duse64bitall 256CONFIGURE_ARGS+= -Duse64bitall
256. if ${OBJECT_FMT} == "XCOFF" 257. if ${OBJECT_FMT} == "XCOFF"
257LOCLIBRPATHFLAGS+= ${COMPILER_RPATH_FLAG}${PERL5_PRIVLIB}/${MACHINE_ARCH}-${LOWER_OPSYS}${PERL5_RPATH_THREAD}-multi-64all/CORE 258LOCLIBRPATHFLAGS+= ${COMPILER_RPATH_FLAG}${PERL5_PRIVLIB}/${MACHINE_ARCH}-${LOWER_OPSYS}${PERL5_RPATH_THREAD}-multi-64all/CORE
258. endif 259. endif
259.elif !empty(PKG_OPTIONS:M64bitnone) 260.elif !empty(PKG_OPTIONS:M64bitnone)
260CONFIGURE_ARGS+= -Uuse64bitall -Uusemorebits -Uuse64bitint 261CONFIGURE_ARGS+= -Uuse64bitall -Uusemorebits -Uuse64bitint
261. if ${OBJECT_FMT} == "XCOFF" 262. if ${OBJECT_FMT} == "XCOFF"
262LOCLIBRPATHFLAGS+= ${COMPILER_RPATH_FLAG}${PERL5_PRIVLIB}/${MACHINE_ARCH}-${LOWER_OPSYS}${PERL5_RPATH_THREAD}-multi/CORE 263LOCLIBRPATHFLAGS+= ${COMPILER_RPATH_FLAG}${PERL5_PRIVLIB}/${MACHINE_ARCH}-${LOWER_OPSYS}${PERL5_RPATH_THREAD}-multi/CORE
263. endif 264. endif
264.else 265.else
265. if ${OBJECT_FMT} == "XCOFF" 266. if ${OBJECT_FMT} == "XCOFF"
266BROKEN= XCOFF targets need the path specified where libperl.a resides.\ 267BROKEN= XCOFF targets need the path specified where libperl.a resides.\
267Please choose on of 64bitint 64bitmore 64bitall or 64bitnone to allow this. 268Please choose on of 64bitint 64bitmore 64bitall or 64bitnone to allow this.
268. endif 269. endif
269.endif 270.endif
270SUBST_VARS.policysh+= LOCLIBRPATHFLAGS 271SUBST_VARS.policysh+= LOCLIBRPATHFLAGS
271 272
272# Remove a spurious workdir reference 273# Remove a spurious workdir reference
273SUBST_CLASSES+= rm 274SUBST_CLASSES+= rm
274SUBST_STAGE.rm= pre-install 275SUBST_STAGE.rm= pre-install
275SUBST_FILES.rm= lib/Config_heavy.pl 276SUBST_FILES.rm= lib/Config_heavy.pl
276SUBST_SED.rm= -e "s!^rm_try='/.*/\\.tools/bin/rm -f!rm_try='/bin/rm -f!" 277SUBST_SED.rm= -e "s!^rm_try='/.*/\\.tools/bin/rm -f!rm_try='/bin/rm -f!"
277 278
278# Replace our perl as the interpreter 279# Replace our perl as the interpreter
279REPLACE_PERL+= lib/File/DosGlob.pm 280REPLACE_PERL+= lib/File/DosGlob.pm
280REPLACE_PERL+= lib/version.pm 281REPLACE_PERL+= lib/version.pm
281REPLACE_PERL+= cpan/bignum/lib/Math/BigFloat/Trace.pm 282REPLACE_PERL+= cpan/bignum/lib/Math/BigFloat/Trace.pm
282REPLACE_PERL+= cpan/bignum/lib/Math/BigInt/Trace.pm 283REPLACE_PERL+= cpan/bignum/lib/Math/BigInt/Trace.pm
283REPLACE_PERL+= lib/unicore/mktables 284REPLACE_PERL+= lib/unicore/mktables
284 285
285# And replace a perl interpreter during the pre-install stage 286# And replace a perl interpreter during the pre-install stage
286# I think this may be a bootstrap script, so can't use REPLACE_PERL 287# I think this may be a bootstrap script, so can't use REPLACE_PERL
287# because that is acted upon already in the pre-configure stage 288# because that is acted upon already in the pre-configure stage
288SUBST_CLASSES+= miniperl 289SUBST_CLASSES+= miniperl
289SUBST_STAGE.miniperl= pre-install 290SUBST_STAGE.miniperl= pre-install
290SUBST_FILES.miniperl= lib/ExtUtils/xsubpp 291SUBST_FILES.miniperl= lib/ExtUtils/xsubpp
291SUBST_SED.miniperl= -e "1s:\#!./miniperl:\#!${PERL5}:" 292SUBST_SED.miniperl= -e "1s:\#!./miniperl:\#!${PERL5}:"
292 293
293.if ${PKGSRC_COMPILER} == "xlc" 294.if ${PKGSRC_COMPILER} == "xlc"
294SUBST_CLASSES+= cpprun 295SUBST_CLASSES+= cpprun
295SUBST_STAGE.cpprun= pre-install 296SUBST_STAGE.cpprun= pre-install
296SUBST_FILES.cpprun= lib/Config_heavy.pl 297SUBST_FILES.cpprun= lib/Config_heavy.pl
297. if !empty(PKG_OPTIONS:Mthreads) 298. if !empty(PKG_OPTIONS:Mthreads)
298SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc_r -E'/" 299SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc_r -E'/"
299. else 300. else
300SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc -E'/" 301SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc -E'/"
301. endif 302. endif
302.endif 303.endif
303 304
304# Some platforms may want the directory mode not to be 0755. This 305# Some platforms may want the directory mode not to be 0755. This
305# is, unfortunately, hardcoded in quite a few places in Perl, so 306# is, unfortunately, hardcoded in quite a few places in Perl, so
306# let's substitute what pkgsrc says instead. 307# let's substitute what pkgsrc says instead.
307# 308#
308SUBST_CLASSES+= dirmode 309SUBST_CLASSES+= dirmode
309SUBST_STAGE.dirmode= post-patch 310SUBST_STAGE.dirmode= post-patch
310SUBST_FILES.dirmode= installhtml install_lib.pl \ 311SUBST_FILES.dirmode= installhtml install_lib.pl \
311 dist/ExtUtils-Install/lib/ExtUtils/Install.pm 312 dist/ExtUtils-Install/lib/ExtUtils/Install.pm
312SUBST_SED.dirmode= -e "s/755/${PKGDIRMODE}/g;/umask(/d" 313SUBST_SED.dirmode= -e "s/755/${PKGDIRMODE}/g;/umask(/d"
313 314
314post-extract: 315post-extract:
315 cp ${FILESDIR}/Policy.sh ${WRKSRC}/Policy.sh 316 cp ${FILESDIR}/Policy.sh ${WRKSRC}/Policy.sh
316 cp ${FILESDIR}/cpan-DB_File-hints-netbsd.pl \ 317 cp ${FILESDIR}/cpan-DB_File-hints-netbsd.pl \
317 ${WRKSRC}/cpan/DB_File/hints/netbsd.pl 318 ${WRKSRC}/cpan/DB_File/hints/netbsd.pl
318 319
319pre-configure: 320pre-configure:
320 cd ${WRKSRC} && find `pwd` -name "*.orig" -type f -exec ${RM} -f {} \; 321 cd ${WRKSRC} && find `pwd` -name "*.orig" -type f -exec ${RM} -f {} \;
321 322
322post-build: 323post-build:
323 ${SED} -e "s,@PERL5@,"${PERL5:Q}",g" \ 324 ${SED} -e "s,@PERL5@,"${PERL5:Q}",g" \
324 -e "s,@SH@,"${SH:Q}",g" \ 325 -e "s,@SH@,"${SH:Q}",g" \
325 -e "s,@PKGMANDIR@,"${PKGMANDIR:Q}",g" \ 326 -e "s,@PKGMANDIR@,"${PKGMANDIR:Q}",g" \
326 ${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh 327 ${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh
327 328
328INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 329INSTALLATION_DIRS= bin ${PKGMANDIR}/man1
329PERL5_PACKLIST_DIR_cmd= . ${WRKSRC}/config.sh; echo $$installarchlib 330PERL5_PACKLIST_DIR_cmd= . ${WRKSRC}/config.sh; echo $$installarchlib
330PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh} 331PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh}
331PERL5_PACKLIST= .packlist 332PERL5_PACKLIST= .packlist
332PERL5_PACKLIST_DESTDIR= no 333PERL5_PACKLIST_DESTDIR= no
333FILES_SUBST+= PERL5_COMMENT=\# 334FILES_SUBST+= PERL5_COMMENT=\#
334FILES_SUBST+= PERL5_PACKLIST= 335FILES_SUBST+= PERL5_PACKLIST=
335PLIST_SRC= ${WRKDIR}/.PLIST_SRC 336PLIST_SRC= ${WRKDIR}/.PLIST_SRC
336 337
337post-install: perl5-post-install 338post-install: perl5-post-install
338 339
339perl5-post-install: 340perl5-post-install:
340 ${RUN}if ${TEST} -x ${DESTDIR}${PREFIX}/bin/a2p; then \ 341 ${RUN}if ${TEST} -x ${DESTDIR}${PREFIX}/bin/a2p; then \
341 strip ${DESTDIR}${PREFIX}/bin/a2p; \ 342 strip ${DESTDIR}${PREFIX}/bin/a2p; \
342 fi 343 fi
343 ${RUN}${INSTALL_SCRIPT} ${WRKDIR}/perllink.sh ${DESTDIR}${PERL5_SCRIPTDIR}/perllink; \ 344 ${RUN}${INSTALL_SCRIPT} ${WRKDIR}/perllink.sh ${DESTDIR}${PERL5_SCRIPTDIR}/perllink; \
344 ${INSTALL_MAN} ${FILESDIR}/perllink.1 ${DESTDIR}${PERL5_MAN1DIR}/perllink.1; \ 345 ${INSTALL_MAN} ${FILESDIR}/perllink.1 ${DESTDIR}${PERL5_MAN1DIR}/perllink.1; \
345 ${RM} -f ${DESTDIR}${PREFIX}/bin/perllink \ 346 ${RM} -f ${DESTDIR}${PREFIX}/bin/perllink \
346 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1; \ 347 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1; \
347 ${LN} -s ${PERL5_SCRIPTDIR}/perllink ${DESTDIR}${PREFIX}/bin/perllink; \ 348 ${LN} -s ${PERL5_SCRIPTDIR}/perllink ${DESTDIR}${PREFIX}/bin/perllink; \
348 ${LN} -s ${PERL5_MAN1DIR}/perllink.1 \ 349 ${LN} -s ${PERL5_MAN1DIR}/perllink.1 \
349 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1; \ 350 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1; \
350 { ${CAT} ${PKGDIR}/PLIST; \ 351 { ${CAT} ${PKGDIR}/PLIST; \
351 ${ECHO} "${PERL5_SCRIPTDIR}/perllink"; \ 352 ${ECHO} "${PERL5_SCRIPTDIR}/perllink"; \
352 ${ECHO} "${PERL5_MAN1DIR}/perllink.1"; \ 353 ${ECHO} "${PERL5_MAN1DIR}/perllink.1"; \
353 } | ${SED} -e "s,^"${PREFIX:Q}"/,," > ${PLIST_SRC} 354 } | ${SED} -e "s,^"${PREFIX:Q}"/,," > ${PLIST_SRC}
354.if ${OPSYS} == "Haiku" 355.if ${OPSYS} == "Haiku"
355 ${CHMOD} a+x ${DESTDIR}${PREFIX}/bin/perl 356 ${CHMOD} a+x ${DESTDIR}${PREFIX}/bin/perl
356.endif 357.endif
357 358
358.include "packlist.mk" 359.include "packlist.mk"
359.include "../../mk/bsd.pkg.mk" 360.include "../../mk/bsd.pkg.mk"