From e2180c3b43a15bb68bae0a2d7be5cd5558c1598f Mon Sep 17 00:00:00 2001 From: tnn Date: Sun, 22 Feb 2015 08:40:07 +0000 Subject: Documentation of procedure and requirements for making bootstrap toolchains --- lang/openjdk7/bootstrap.mk | 31 +++++++++++++++++++++++++++++-- lang/openjdk8/bootstrap.mk | 29 ++++++++++++++++++++++++++++- 2 files changed, 57 insertions(+), 3 deletions(-) (limited to 'lang') diff --git a/lang/openjdk7/bootstrap.mk b/lang/openjdk7/bootstrap.mk index 05ae9113cff..29030d5dd6f 100644 --- a/lang/openjdk7/bootstrap.mk +++ b/lang/openjdk7/bootstrap.mk @@ -1,4 +1,31 @@ -# $NetBSD: bootstrap.mk,v 1.16 2015/02/13 10:47:40 tnn Exp $ +# $NetBSD: bootstrap.mk,v 1.17 2015/02/22 08:40:07 tnn Exp $ +# +# This file contains a map of available binary bootstrap toolchains +# and which kit to use for each supported platform. +# +# Instructions for regenerating a bootstrap kit: +# 1) Prepare a new chroot environment in which to build the kit +# 2) If the running kernel version is not a release, use pkgtools/libkver +# 3) Disable the x11 PKG_OPTION in openjdk7 +# 4) "make" +# 5) cd $(make show-var VARNAME=BUILDDIR) +# 6) mv j2sdk-image bootstrap +# 7) cd bootstrap; rm -r demo man release sample src.zip +# 8) When preparing kits for NetBSD 7 and above with gcc, copy libgcc_s.so.* +# and libstdc++.so.* from base to bootstrap/jre/lib/${LIBDIR_ARCH}. +# This will ensure that MKLLVM=yes/MKGCC=no user in the future can run +# the bootstrap toolchain. +# 9) tar cf - bootstrap | xz -9c > bootstrap-xxx.tar.xz +# 10) gpg --sign -a bootstrap-xxx.tar.xz +# 11) Upload archive and signature to ${MASTER_SITE_LOCAL:=openjdk7/} +# +# All binary kits from now on MUST have an accompanying PGP signature from +# the person who prepared the kit. Unsigned binaries on ftp will be purged. +# +# Initial bootstrapping on a previously non-supported architecture +# is not trivial to do with openjdk7. It is somewhat easier with openjdk8 +# which has improved cross-compile support. Note that openjdk8 cannot be used +# for bootstrapping openjdk7 out of the box. (It is possible with hacks.) ONLY_FOR_PLATFORM= NetBSD-[567].*-i386 NetBSD-[567].*-x86_64 ONLY_FOR_PLATFORM+= NetBSD-7.*-sparc64 @@ -70,7 +97,7 @@ BUILDLINK_DEPMETHOD.sun-jdk7?= build .include "../../lang/sun-jdk7/buildlink3.mk" #NB: sun-jdk7 includes sun-jre7/buildlink3.mk JDK_BOOTDIR= ${BUILDLINK_JAVA_PREFIX.sun-jre7:tA} -MAKE_ENV+= ALT_JDK_IMPORT_PATH=${JDK_BOOTDIR} +MAKE_ENV+= ALT_JDK_IMPORT_PATH=${JDK_BOOTDIR} .endif ALT_BOOTDIR= ${WRKDIR}/bootstrap diff --git a/lang/openjdk8/bootstrap.mk b/lang/openjdk8/bootstrap.mk index 7bb54c05250..e9150c36768 100644 --- a/lang/openjdk8/bootstrap.mk +++ b/lang/openjdk8/bootstrap.mk @@ -1,4 +1,31 @@ -# $NetBSD: bootstrap.mk,v 1.3 2015/02/13 10:47:40 tnn Exp $ +# $NetBSD: bootstrap.mk,v 1.4 2015/02/22 08:40:07 tnn Exp $ +# +# This file contains a map of available binary bootstrap toolchains +# and which kit to use for each supported platform. +# +# Instructions for regenerating a bootstrap kit: +# 1) Prepare a new chroot environment in which to build the kit +# 2) If the running kernel version is not a release, use pkgtools/libkver +# 3) Disable the x11 PKG_OPTION in openjdk7 +# 4) "make" +# 5) cd $(make show-var VARNAME=BUILDDIR) +# 6) mv j2sdk-image bootstrap +# 7) cd bootstrap; rm -r demo man release sample src.zip +# 8) When preparing kits for NetBSD 7 and above with gcc, copy libgcc_s.so.* +# and libstdc++.so.* from base to bootstrap/jre/lib/${LIBDIR_ARCH}. +# This will ensure that MKLLVM=yes/MKGCC=no user in the future can run +# the bootstrap toolchain. +# 9) tar cf - bootstrap | xz -9c > bootstrap-xxx.tar.xz +# 10) gpg --sign -a bootstrap-xxx.tar.xz +# 11) Upload archive and signature to ${MASTER_SITE_LOCAL:=openjdk7/} +# +# All binary kits from now on MUST have an accompanying PGP signature from +# the person who prepared the kit. Unsigned binaries on ftp will be purged. +# +# Initial bootstrapping on a previously non-supported architecture +# is not trivial to do with openjdk7. It is somewhat easier with openjdk8 +# which has improved cross-compile support. Note that openjdk8 cannot be used +# for bootstrapping openjdk7 out of the box. (It is possible with hacks.) ONLY_FOR_PLATFORM= NetBSD-[567].*-i386 NetBSD-[567].*-x86_64 ONLY_FOR_PLATFORM+= NetBSD-7.*-sparc64 -- cgit v1.2.3