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 |
# libffi is needed for zerobuild |
270 |
LIB_DEPENDS+= libffi.so:${PORTSDIR}/devel/libffi |
271 |
.endif |
272 |
|
263 |
.if ${PORT_OPTIONS:MDEBUG} |
273 |
.if ${PORT_OPTIONS:MDEBUG} |
264 |
JDK_BUILD_TYPE= slowdebug |
274 |
JDK_BUILD_TYPE= slowdebug |
265 |
.elif ${PORT_OPTIONS:MDEBUGFAST} |
275 |
.elif ${PORT_OPTIONS:MDEBUGFAST} |
Lines 273-280
Link Here
|
273 |
|
283 |
|
274 |
.include <bsd.port.pre.mk> |
284 |
.include <bsd.port.pre.mk> |
275 |
|
285 |
|
276 |
BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk8 \ |
286 |
BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk8 |
277 |
${LOCALBASE}/openjdk7 |
287 |
.if ${ARCH} == "armv6" |
|
|
288 |
BOOTSTRAP_JDKS+= ${LOCALBASE}/bootstrap-openjdk |
289 |
.else |
290 |
BOOTSTRAP_JDKS+= ${LOCALBASE}/openjdk7 |
291 |
.endif |
278 |
|
292 |
|
279 |
# do we have valid native jdk installed? |
293 |
# do we have valid native jdk installed? |
280 |
.for BJDK in ${BOOTSTRAP_JDKS} |
294 |
.for BJDK in ${BOOTSTRAP_JDKS} |
Lines 285-292
Link Here
|
285 |
|
299 |
|
286 |
# if no valid jdk found, set dependency |
300 |
# if no valid jdk found, set dependency |
287 |
.if !defined(BOOTSTRAPJDKDIR) |
301 |
.if !defined(BOOTSTRAPJDKDIR) |
|
|
302 |
. if ${ARCH} == "armv6" |
303 |
# bootstrap-openjdk is based on openjdk7 and can compile openjdk8 |
304 |
BOOTSTRAPJDKDIR?= ${LOCALBASE}/bootstrap-openjdk |
305 |
BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/bootstrap-openjdk |
306 |
. else |
288 |
BOOTSTRAPJDKDIR?= ${LOCALBASE}/openjdk7 |
307 |
BOOTSTRAPJDKDIR?= ${LOCALBASE}/openjdk7 |
289 |
BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/openjdk7 |
308 |
BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/openjdk7 |
|
|
309 |
. endif |
290 |
.endif |
310 |
.endif |
291 |
|
311 |
|
292 |
# PR193009: work around the rtld bug |
312 |
# PR193009: work around the rtld bug |
Lines 358-363
Link Here
|
358 |
.endif |
378 |
.endif |
359 |
@${CHMOD} 755 ${WRKSRC}/configure |
379 |
@${CHMOD} 755 ${WRKSRC}/configure |
360 |
|
380 |
|
|
|
381 |
.if ${ARCH} == "armv6" |
382 |
# From NetBSD http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/lang/openjdk7/hacks.mk |
383 |
# Workaround incorrect constant folding of subnormals in javac when the FPU |
384 |
# does not handle subnormal arithmetic, like on ARM in Flush-to-zero mode. |
385 |
# These workarounds avoid underflow conditions during the bootstrap so the |
386 |
# JDK can correctly build itself. Compiling or running programs other than |
387 |
# openjdk itself on such hardware may still cause unexpected behaviour. |
388 |
# |
389 |
@${REINPLACE_CMD} -e 's|2.2250738585072014e-308d*|Double.longBitsToDouble(0x10000000000000L)|ig' \ |
390 |
-e 's|0x1.0p-1022d*|Double.longBitsToDouble(0x10000000000000L)|ig' \ |
391 |
-e 's|4.9e-324d*|Double.longBitsToDouble(0x1L)|ig' \ |
392 |
-e 's|0x0.0000000000001p-1022d*|Double.longBitsToDouble(0x1L)|ig' \ |
393 |
${WRKSRC}/jdk/src/share/classes/sun/misc/DoubleConsts.java \ |
394 |
${WRKSRC}/jdk/src/share/classes/java/lang/Double.java |
395 |
@${REINPLACE_CMD} -e 's|1.17549435e-38f*|Float.intBitsToFloat(0x800000)|ig' \ |
396 |
-e 's|0x1.0p-126f*|Float.intBitsToFloat(0x800000)|ig' \ |
397 |
-e 's|1.4e-45f*|Float.intBitsToFloat(0x1)|ig' \ |
398 |
-e 's|0x0.000002P-126f*|Float.intBitsToFloat(0x1)|ig' \ |
399 |
${WRKSRC}/jdk/src/share/classes/sun/misc/FloatConsts.java \ |
400 |
${WRKSRC}/jdk/src/share/classes/java/lang/Float.java |
401 |
@${REINPLACE_CMD} -e 's|n.floatValue() == 0.0f && !isZero(proper)|& \&\& Float.floatToIntBits(n) != 0x1|' \ |
402 |
-e 's|n.doubleValue() == 0.0d && !isZero(proper)|& \&\& Double.doubleToLongBits(n) != 0x1L|' \ |
403 |
${WRKSRC}/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java |
404 |
@${REINPLACE_CMD} -e 's|x == 0.0f && 1.0f / x > 0.0f|Float.floatToIntBits(x) == 0x0|g' \ |
405 |
-e 's|x == 0.0d && 1.0d / x > 0.0d|Double.doubleToLongBits(x) == 0x0L|g' \ |
406 |
${WRKSRC}/langtools/src/share/classes/com/sun/tools/javac/jvm/Items.java |
407 |
.endif |
408 |
|
361 |
run-autotools-autoconf: |
409 |
run-autotools-autoconf: |
362 |
@cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} bash autogen.sh |
410 |
@cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} bash autogen.sh |
363 |
|
411 |
|
Lines 384-397
Link Here
|
384 |
@cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} |
432 |
@cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} |
385 |
@cd ${STAGEDIR}${INSTALLDIR} && \ |
433 |
@cd ${STAGEDIR}${INSTALLDIR} && \ |
386 |
${FIND} bin jre/bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ |
434 |
${FIND} bin jre/bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ |
387 |
${CHMOD} ${BINMODE} jre/lib/${ARCH}/jexec \ |
435 |
${CHMOD} ${BINMODE} jre/lib/${ARCH:S/armv6/arm/}/jexec \ |
388 |
jre/lib/${ARCH}/jspawnhelper lib/${ARCH}/jexec |
436 |
jre/lib/${ARCH:S/armv6/arm/}/jspawnhelper lib/${ARCH:S/armv6/arm/}/jexec |
389 |
@${ECHO} "@dir ${INSTALLDIR}/jre/lib/applet" >> ${TMPPLIST} |
437 |
@${ECHO} "@dir ${INSTALLDIR}/jre/lib/applet" >> ${TMPPLIST} |
390 |
.else |
438 |
.else |
391 |
@cd ${JRE_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} |
439 |
@cd ${JRE_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} |
392 |
@cd ${STAGEDIR}${INSTALLDIR} && \ |
440 |
@cd ${STAGEDIR}${INSTALLDIR} && \ |
393 |
${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ |
441 |
${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ |
394 |
${CHMOD} ${BINMODE} lib/${ARCH}/jexec lib/${ARCH}/jspawnhelper |
442 |
${CHMOD} ${BINMODE} lib/${ARCH:S/armv6/arm/}/jexec lib/${ARCH:S/armv6/arm/}/jspawnhelper |
395 |
@${ECHO} "@dir ${INSTALLDIR}/lib/applet" >> ${TMPPLIST} |
443 |
@${ECHO} "@dir ${INSTALLDIR}/lib/applet" >> ${TMPPLIST} |
396 |
.endif |
444 |
.endif |
397 |
@${ECHO} "@unexec ${LOCALBASE}/bin/unregistervm ${INSTALLDIR}/bin/java" >> ${TMPPLIST} |
445 |
@${ECHO} "@unexec ${LOCALBASE}/bin/unregistervm ${INSTALLDIR}/bin/java" >> ${TMPPLIST} |