Lines 45-51
Link Here
|
45 |
BUILD_DEPENDS+= ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip |
45 |
BUILD_DEPENDS+= ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip |
46 |
.endif |
46 |
.endif |
47 |
|
47 |
|
48 |
ONLY_FOR_ARCHS= i386 amd64 |
48 |
ONLY_FOR_ARCHS= i386 amd64 armv6 |
49 |
WRKSRC= ${WRKDIR}/${PORTNAME} |
49 |
WRKSRC= ${WRKDIR}/${PORTNAME} |
50 |
|
50 |
|
51 |
DOS2UNIX_FILES= jdk/src/bsd/doc/man/appletviewer.1 \ |
51 |
DOS2UNIX_FILES= jdk/src/bsd/doc/man/appletviewer.1 \ |
Lines 189-195
Link Here
|
189 |
.else |
189 |
.else |
190 |
JRE_IMAGEDIR= ${JDK_BUILDDIR}/images/j2re-image |
190 |
JRE_IMAGEDIR= ${JDK_BUILDDIR}/images/j2re-image |
191 |
.endif |
191 |
.endif |
192 |
JDK_OSARCH= bsd-${ARCH:S/i386/x86/:S/amd64/x86_64/} |
192 |
JDK_OSARCH= bsd-${ARCH:S/i386/x86/:S/amd64/x86_64/:S/armv6/arm/} |
193 |
INSTALLDIR= ${PREFIX}/${PKGBASE} |
193 |
INSTALLDIR= ${PREFIX}/${PKGBASE} |
194 |
|
194 |
|
195 |
NO_CCACHE= yes |
195 |
NO_CCACHE= yes |
Lines 260-265
Link Here
|
260 |
|
260 |
|
261 |
.include <bsd.port.options.mk> |
261 |
.include <bsd.port.options.mk> |
262 |
|
262 |
|
|
|
263 |
.if ${ARCH} == "armv6" |
264 |
CONFIGURE_ARGS+= --with-jvm-variants=zero |
265 |
|
266 |
# we're building a zero build |
267 |
JDK_BUILDDIR= ${WRKSRC}/build/${JDK_OSARCH}-normal-zero-${JDK_BUILD_TYPE} |
268 |
|
269 |
# bootstrap-openjdk is based on openjdk7 and can compile openjdk8 |
270 |
BOOTSTRAP_JDKS= ${LOCALBASE}/bootstrap-openjdk |
271 |
BOOTSTRAPJDKDIR= ${LOCALBASE}/bootstrap-openjdk |
272 |
|
273 |
# libffi is needed for zerobuild |
274 |
BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/bootstrap-openjdk |
275 |
LIB_DEPENDS+= libffi.so:${PORTSDIR}/devel/libffi |
276 |
.endif |
277 |
|
263 |
.if ${PORT_OPTIONS:MDEBUG} |
278 |
.if ${PORT_OPTIONS:MDEBUG} |
264 |
JDK_BUILD_TYPE= slowdebug |
279 |
JDK_BUILD_TYPE= slowdebug |
265 |
.elif ${PORT_OPTIONS:MDEBUGFAST} |
280 |
.elif ${PORT_OPTIONS:MDEBUGFAST} |
Lines 358-363
Link Here
|
358 |
.endif |
373 |
.endif |
359 |
@${CHMOD} 755 ${WRKSRC}/configure |
374 |
@${CHMOD} 755 ${WRKSRC}/configure |
360 |
|
375 |
|
|
|
376 |
.if ${ARCH} == "armv6" |
377 |
# From NetBSD http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/lang/openjdk7/hacks.mk |
378 |
# Workaround incorrect constant folding of subnormals in javac when the FPU |
379 |
# does not handle subnormal arithmetic, like on ARM in Flush-to-zero mode. |
380 |
# These workarounds avoid underflow conditions during the bootstrap so the |
381 |
# JDK can correctly build itself. Compiling or running programs other than |
382 |
# openjdk itself on such hardware may still cause unexpected behaviour. |
383 |
# |
384 |
@${REINPLACE_CMD} -e 's|2.2250738585072014e-308d*|Double.longBitsToDouble(0x10000000000000L)|ig' \ |
385 |
-e 's|0x1.0p-1022d*|Double.longBitsToDouble(0x10000000000000L)|ig' \ |
386 |
-e 's|4.9e-324d*|Double.longBitsToDouble(0x1L)|ig' \ |
387 |
-e 's|0x0.0000000000001p-1022d*|Double.longBitsToDouble(0x1L)|ig' \ |
388 |
${WRKSRC}/jdk/src/share/classes/sun/misc/DoubleConsts.java \ |
389 |
${WRKSRC}/jdk/src/share/classes/java/lang/Double.java |
390 |
@${REINPLACE_CMD} -e 's|1.17549435e-38f*|Float.intBitsToFloat(0x800000)|ig' \ |
391 |
-e 's|0x1.0p-126f*|Float.intBitsToFloat(0x800000)|ig' \ |
392 |
-e 's|1.4e-45f*|Float.intBitsToFloat(0x1)|ig' \ |
393 |
-e 's|0x0.000002P-126f*|Float.intBitsToFloat(0x1)|ig' \ |
394 |
${WRKSRC}/jdk/src/share/classes/sun/misc/FloatConsts.java \ |
395 |
${WRKSRC}/jdk/src/share/classes/java/lang/Float.java |
396 |
@${REINPLACE_CMD} -e 's|n.floatValue() == 0.0f && !isZero(proper)|& \&\& Float.floatToIntBits(n) != 0x1|' \ |
397 |
-e 's|n.doubleValue() == 0.0d && !isZero(proper)|& \&\& Double.doubleToLongBits(n) != 0x1L|' \ |
398 |
${WRKSRC}/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java |
399 |
@${REINPLACE_CMD} -e 's|x == 0.0f && 1.0f / x > 0.0f|Float.floatToIntBits(x) == 0x0|g' \ |
400 |
-e 's|x == 0.0d && 1.0d / x > 0.0d|Double.doubleToLongBits(x) == 0x0L|g' \ |
401 |
${WRKSRC}/langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java |
402 |
.endif |
403 |
|
361 |
run-autotools-autoconf: |
404 |
run-autotools-autoconf: |
362 |
@cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} bash autogen.sh |
405 |
@cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} bash autogen.sh |
363 |
|
406 |
|
Lines 384-397
Link Here
|
384 |
@cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} |
427 |
@cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} |
385 |
@cd ${STAGEDIR}${INSTALLDIR} && \ |
428 |
@cd ${STAGEDIR}${INSTALLDIR} && \ |
386 |
${FIND} bin jre/bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ |
429 |
${FIND} bin jre/bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ |
387 |
${CHMOD} ${BINMODE} jre/lib/${ARCH}/jexec \ |
430 |
${CHMOD} ${BINMODE} jre/lib/${ARCH:S/armv6/arm/}/jexec \ |
388 |
jre/lib/${ARCH}/jspawnhelper lib/${ARCH}/jexec |
431 |
jre/lib/${ARCH:S/armv6/arm/}/jspawnhelper lib/${ARCH:S/armv6/arm/}/jexec |
389 |
@${ECHO} "@dir ${INSTALLDIR}/jre/lib/applet" >> ${TMPPLIST} |
432 |
@${ECHO} "@dir ${INSTALLDIR}/jre/lib/applet" >> ${TMPPLIST} |
390 |
.else |
433 |
.else |
391 |
@cd ${JRE_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} |
434 |
@cd ${JRE_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} |
392 |
@cd ${STAGEDIR}${INSTALLDIR} && \ |
435 |
@cd ${STAGEDIR}${INSTALLDIR} && \ |
393 |
${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ |
436 |
${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ |
394 |
${CHMOD} ${BINMODE} lib/${ARCH}/jexec lib/${ARCH}/jspawnhelper |
437 |
${CHMOD} ${BINMODE} lib/${ARCH:S/armv6/arm/}/jexec lib/${ARCH:S/armv6/arm/}/jspawnhelper |
395 |
@${ECHO} "@dir ${INSTALLDIR}/lib/applet" >> ${TMPPLIST} |
438 |
@${ECHO} "@dir ${INSTALLDIR}/lib/applet" >> ${TMPPLIST} |
396 |
.endif |
439 |
.endif |
397 |
@${ECHO} "@unexec ${LOCALBASE}/bin/unregistervm ${INSTALLDIR}/bin/java" >> ${TMPPLIST} |
440 |
@${ECHO} "@unexec ${LOCALBASE}/bin/unregistervm ${INSTALLDIR}/bin/java" >> ${TMPPLIST} |