diff options
author | tnn <tnn> | 2015-03-05 16:35:49 +0000 |
---|---|---|
committer | tnn <tnn> | 2015-03-05 16:35:49 +0000 |
commit | 574f0dd4f423f04b9686466687d1b627cdafbb9d (patch) | |
tree | 1a3715cecfe7cca0bbdbe9dc235d279dd2e7dec7 /lang/openjdk8/hacks.mk | |
parent | 858b7e3d31938b0bb327979125799358f9b99370 (diff) | |
download | pkgsrc-574f0dd4f423f04b9686466687d1b627cdafbb9d.tar.gz |
Do the previous hack differently since joerg@ objected. Also wrap it in
ifdef BATCH since it works around an artificially introduced limit.
Diffstat (limited to 'lang/openjdk8/hacks.mk')
-rw-r--r-- | lang/openjdk8/hacks.mk | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/lang/openjdk8/hacks.mk b/lang/openjdk8/hacks.mk index 6bb16bcec2c..f188facf5df 100644 --- a/lang/openjdk8/hacks.mk +++ b/lang/openjdk8/hacks.mk @@ -1,4 +1,4 @@ -# $NetBSD: hacks.mk,v 1.4 2015/03/05 13:08:18 tnn Exp $ +# $NetBSD: hacks.mk,v 1.5 2015/03/05 16:35:49 tnn Exp $ .if !defined(OPENJDK8_HACKS_MK) OPENJDK8_HACKS_MK= # empty @@ -12,12 +12,33 @@ post-wrapper: ${RM} -f ${BUILDLINK_DIR}/include/jmorecfg.h ${RM} -f ${BUILDLINK_DIR}/include/jpeglib.h -# Unlimit virtual memory. Needs at least 3G of VA space to build on 64-bit -# hosts due to -XX:CompressedClassSpaceSize being 1G by default. -.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) -UNLIMIT_RESOURCES+= vmemorysize -ULIMIT_CMD_vmemorysize?= ulimit -v `ulimit -H -v` +# Don't reserve more memory than we need. +# Fixes build in artificially VA constrained environment. +# +VA_HACK_ARGS= -XX:ReservedCodeCacheSize=128M +VA_HACK_ARGS+= -XX:MaxMetaspaceSize=768M +.if ${MACHINE_ARCH} == "x86_64" +VA_HACK_ARGS+= -XX:CompressedClassSpaceSize=128M .endif +.PHONY: apply-va-hack +apply-va-hack: + @${STEP_MSG} "Bulk build: reducing VA usage for tools in ${ALT_BOOTDIR}" +. for t in bin/java + @test -f ${ALT_BOOTDIR}/${t}.real || \ + mv ${ALT_BOOTDIR}/${t} ${ALT_BOOTDIR}/${t}.real + @echo '#!/bin/sh' > ${ALT_BOOTDIR}/${t} && \ + echo 'exec ${ALT_BOOTDIR}/${t}.real ${VA_HACK_ARGS:M*} "$$@"' >> \ + ${ALT_BOOTDIR}/${t} && \ + chmod +x ${ALT_BOOTDIR}/${t} +. endfor +. for t in bin/jar bin/jarsigner bin/javac bin/javah bin/javap bin/keytool bin/native2ascii bin/rmic + @test -f ${ALT_BOOTDIR}/${t}.real || \ + mv ${ALT_BOOTDIR}/${t} ${ALT_BOOTDIR}/${t}.real + @echo '#!/bin/sh' > ${ALT_BOOTDIR}/${t} && \ + echo 'exec ${ALT_BOOTDIR}/${t}.real ${VA_HACK_ARGS:C/^/-J/} "$$@"' >> \ + ${ALT_BOOTDIR}/${t} && \ + chmod +x ${ALT_BOOTDIR}/${t} +. endfor # Workaround incorrect constant folding of subnormals in javac when the FPU # does not handle subnormal arithmetic, like on ARM in Flush-to-zero mode. |