pkgsrc/lang/openjdk8/bootstrap.mk
2019-09-22 15:16:26 +00:00

98 lines
3.6 KiB
Makefile

# $NetBSD: bootstrap.mk,v 1.15 2019/09/22 15:16:26 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. For targets that use jdk-zero-vm you need
# to include libffi.so.* as well.
# 9) tar cf - bootstrap | xz -9c > bootstrap-xxx.tar.xz
# 10) gpg2 -a --detach-sign 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.
ONLY_FOR_PLATFORM= NetBSD-*-i386 NetBSD-*-x86_64
ONLY_FOR_PLATFORM+= NetBSD-*-sparc64 NetBSD-*-earmv[67]hf
ONLY_FOR_PLATFORM+= NetBSD-*-aarch64
ONLY_FOR_PLATFORM+= DragonFly-[34].*-* SunOS-*-* FreeBSD-10.*-x86_64
ONLY_FOR_PLATFORM+= Linux-*-x86_64
BOOT.nb7-i386= bootstrap-jdk-1.7.76-netbsd-7-i386-20150301.tar.xz
BOOT.nb7-amd64= bootstrap-jdk-1.7.76-netbsd-7-amd64-20150301.tar.xz
BOOT.nb7-sparc64= bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
BOOT.nb7-earmv6hf= bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz
BOOT.nb8-aarch64= bootstrap-jdk-1.8.181-netbsd-8-aarch64-20180917.tar.xz
BOOT.fbsd10-amd64= bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
#XXX should be regenerated
BOOT.dfly3.6-amd64= bootstrap-jdk7u60-bin-dragonfly-3.6-amd64-20140719.tar.bz2
BOOT.dfly3.8-amd64= bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo)
DISTFILES+= ${BOOT.nb7-i386}
EXTRACT_ONLY+= ${BOOT.nb7-i386}
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo)
DISTFILES+= ${BOOT.nb7-amd64}
EXTRACT_ONLY+= ${BOOT.nb7-amd64}
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-sparc64) || make(distinfo)
DISTFILES+= ${BOOT.nb7-sparc64}
EXTRACT_ONLY+= ${BOOT.nb7-sparc64}
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf) || make(distinfo)
DISTFILES+= ${BOOT.nb7-earmv6hf}
EXTRACT_ONLY+= ${BOOT.nb7-earmv6hf}
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo)
DISTFILES+= ${BOOT.nb8-aarch64}
EXTRACT_ONLY+= ${BOOT.nb8-aarch64}
.endif
.if !empty(MACHINE_PLATFORM:MDragonFly-3.6*-x86_64) || make(distinfo)
DISTFILES+= ${BOOT.dfly3.6-amd64}
EXTRACT_ONLY+= ${BOOT.dfly3.6-amd64}
.endif
.if !empty(MACHINE_PLATFORM:MDragonFly-3.[8-9]*-x86_64) || !empty(MACHINE_PLATFORM:MDragonFly-4.*-x86_64) || make(distinfo)
DISTFILES+= ${BOOT.dfly3.8-amd64}
EXTRACT_ONLY+= ${BOOT.dfly3.8-amd64}
.endif
.if !empty(MACHINE_PLATFORM:MFreeBSD-10.*-x86_64) || make(distinfo)
DISTFILES+= ${BOOT.fbsd10-amd64}
EXTRACT_ONLY+= ${BOOT.fbsd10-amd64}
.endif
.if ${OPSYS} == "Linux"
# TODO adoptopenjdk?
.endif
.if ${OPSYS} == "SunOS"
BUILDLINK_DEPMETHOD.sun-jdk7?= build
.include "../../lang/sun-jdk7/buildlink3.mk"
#NB: sun-jdk7 includes sun-jre7/buildlink3.mk
post-extract: copy-bootstrap-jdk
.PHONY: copy-bootstrap-jdk
copy-bootstrap-jdk:
${MKDIR} ${ALT_BOOTDIR}
cd ${BUILDLINK_JAVA_PREFIX.sun-jre7:tA} && pax -rw . ${ALT_BOOTDIR}
.endif
ALT_BOOTDIR= ${WRKDIR}/bootstrap