#
|
# This file and its contents are supplied under the terms of the
|
# Common Development and Distribution License ("CDDL"), version 1.0.
|
# You may only use this file in accordance with the terms of version
|
# 1.0 of the CDDL.
|
#
|
# A full copy of the text of the CDDL should have accompanied this
|
# source. A copy of the CDDL is also available via the Internet at
|
# http://www.illumos.org/license/CDDL.
|
#
|
|
#
|
# Copyright 2016 Alexander Pyhalov
|
# Copyright 2019 Michal Nowak
|
# Copyright 2022 Daniel Bell
|
#
|
|
include ../../../make-rules/shared-macros.mk
|
|
COMPONENT_NAME= openjdk
|
OPENJDK_BUILD_NUMBER= 352
|
HUMAN_VERSION= jdk8u$(OPENJDK_BUILD_NUMBER)-ga
|
COMPONENT_VERSION= 1.8.$(OPENJDK_BUILD_NUMBER)
|
COMPONENT_SUMMARY= Open-source implementation of the Java Platform, Standard Edition
|
COMPONENT_SRC= jdk8u-$(HUMAN_VERSION)
|
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
|
COMPONENT_ARCHIVE_HASH= \
|
sha256:141dcb6b321cc78e993f1f126dde9f6c0a7af5d11bfe390f5cf5b1513fabdc1c
|
COMPONENT_ARCHIVE_URL= \
|
https://github.com/openjdk/jdk8u/archive/refs/tags/jdk8u352-ga.tar.gz
|
COMPONENT_PROJECT_URL= https://openjdk.org/
|
|
|
# Java testing archives
|
JTREG_VERSION=6.1
|
PKG_MACROS += JTREG_VERSION=$(JTREG_VERSION).$(JTREG_SUFFIX)
|
PKG_MACROS += JTREG_HUMAN_VERSION=$(JTREG_VERSION)-$(JTREG_SUFFIX)
|
JTREG_SUFFIX=2
|
JPRT_JTREG_HOME=$(COMPONENT_DIR)/$(COMPONENT_SRC_1)/build/images/jtreg
|
|
COMPONENT_SRC_1= jtreg-jtreg-$(JTREG_VERSION)-$(JTREG_SUFFIX)
|
COMPONENT_ARCHIVE_1= jtreg-$(JTREG_VERSION)+$(JTREG_SUFFIX).tar.gz
|
COMPONENT_ARCHIVE_HASH_1= \
|
sha256:d68397542188a24ecf8c42c4cf4b818dda2bd95aee8d6b0980ede78c36fcb40f
|
COMPONENT_ARCHIVE_URL_1= \
|
https://github.com/openjdk/jtreg/archive/refs/tags/$(COMPONENT_ARCHIVE_1)
|
|
# jtreg support archives
|
COMPONENT_ARCHIVE_2 = hamcrest-2.2.jar
|
COMPONENT_ARCHIVE_URL_2 = https://repo1.maven.org/maven2/org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar
|
COMPONENT_ARCHIVE_HASH_2 = sha256:5e62846a89f05cd78cd9c1a553f340d002458380c320455dd1f8fc5497a8a1c1
|
COMPONENT_ARCHIVE_3 = jt6.0-b14.zip
|
COMPONENT_ARCHIVE_URL_3 = https://git.openjdk.java.net/jtharness/archive/jt6.0-b14.zip
|
COMPONENT_ARCHIVE_HASH_3 = sha256:b0aa48f7c9841a9debd532a0f1ebdbc63e7d2da5f3c2e13c8b23c0d9924135bd
|
COMPONENT_ARCHIVE_4 = asm-8.0.jar
|
COMPONENT_ARCHIVE_URL_4 = https://repo1.maven.org/maven2/org/ow2/asm/asm/8.0/asm-8.0.jar
|
COMPONENT_ARCHIVE_HASH_4 = sha256:8d96021cad4104da4822cee3a5e5bf6a4737c8b0c67d58d17d7bf7d1b5f7d2fe
|
COMPONENT_ARCHIVE_5 = asm-tree-8.0.jar
|
COMPONENT_ARCHIVE_URL_5 = https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/8.0/asm-tree-8.0.jar
|
COMPONENT_ARCHIVE_HASH_5 = sha256:8a390cef8aea3343342d7f255fd684f05e372b439639f803a4d827f1cdbb0b08
|
COMPONENT_ARCHIVE_6 = asm-util-8.0.jar
|
COMPONENT_ARCHIVE_URL_6 = https://repo1.maven.org/maven2/org/ow2/asm/asm-util/8.0/asm-util-8.0.jar
|
COMPONENT_ARCHIVE_HASH_6 = sha256:f9dbbd03a40a5a7fbd33708ab5e2c7c8dfe856679d99bd49e29ce5d2a415b33a
|
COMPONENT_ARCHIVE_7 = jcov3.0-b07.zip
|
COMPONENT_ARCHIVE_URL_7 = https://git.openjdk.java.net/jcov/archive/jcov3.0-b07.zip
|
COMPONENT_ARCHIVE_HASH_7 = sha256:9d6cbd1c7ea4ca1aa1a6e6549d149d00ecb4f2c7e3091bd0b771ea3c3f36b6c0
|
COMPONENT_ARCHIVE_8 = 7.0-b09.zip
|
COMPONENT_ARCHIVE_URL_8 = https://git.openjdk.java.net/asmtools/archive/7.0-b09.zip
|
COMPONENT_ARCHIVE_HASH_8 = sha256:8284479fda9be745b285356ae5e187e21e313fad9f571e5f78b1a9e786a87475
|
COMPONENT_ARCHIVE_9 = junit-4.13.2.jar
|
COMPONENT_ARCHIVE_URL_9 = https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar
|
COMPONENT_ARCHIVE_HASH_9 = sha256:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3
|
|
TESTNG_VERSION=7.3.0
|
COMPONENT_ARCHIVE_10 = testng-$(TESTNG_VERSION).jar
|
COMPONENT_ARCHIVE_URL_10 = https://repo1.maven.org/maven2/org/testng/testng/$(TESTNG_VERSION)/$(COMPONENT_ARCHIVE_10)
|
COMPONENT_ARCHIVE_HASH_10 = sha256:63727488f9717d57f0d0a0fee5a1fc10a2be9cfcff2ec3a7187656d663c0774e
|
COMPONENT_ARCHIVE_13 = testng-$(TESTNG_VERSION)-LICENSE.txt
|
COMPONENT_ARCHIVE_URL_13 = https://raw.githubusercontent.com/cbeust/testng/$(TESTNG_VERSION)/LICENSE.txt
|
COMPONENT_ARCHIVE_HASH_13 = sha256:c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7
|
|
COMPONENT_ARCHIVE_11 = jcommander-1.78.jar
|
COMPONENT_ARCHIVE_URL_11 = https://repo1.maven.org/maven2/com/beust/jcommander/1.78/jcommander-1.78.jar
|
COMPONENT_ARCHIVE_HASH_11 = sha256:7891debb84b5f83e9bd57593ebece3399abbe0fd938cf306b3534c57913b9615
|
COMPONENT_ARCHIVE_12 = guice-4.2.3.jar
|
COMPONENT_ARCHIVE_URL_12 = https://repo1.maven.org/maven2/com/google/inject/guice/4.2.3/guice-4.2.3.jar
|
COMPONENT_ARCHIVE_HASH_12 = sha256:a21e50ffbb67e7adc5b46cf7b9e1a480f1e0f04fd4201ddb1c65da91290601af
|
|
|
CLEAN_PATHS += $(BUILD_DIR) $(JPRT_JTREG_HOME)
|
CLEAN_PATHS += cacerts.out
|
|
include $(WS_MAKE_RULES)/common.mk
|
|
JAVA_BUILD_HOME=$(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0
|
COMPONENT_TEST_TARGETS=test
|
COMPONENT_TEST_ENV=$(COMPONENT_BUILD_ENV)
|
COMPONENT_TEST_ENV+=USERLAND_ARCHIVES=$(USERLAND_ARCHIVES)
|
COMPONENT_TEST_ENV+=ANT=/usr/bin/ant
|
COMPONENT_TEST_ENV+=ANT_JAR=/usr/share/lib/ant/ant.jar
|
COMPONENT_TEST_ENV+=JOBS=4
|
|
COMPONENT_TEST_ARGS+=JPRT_JTREG_HOME=$(JPRT_JTREG_HOME)
|
COMPONENT_TEST_ARGS+=JTREG_HOME=$(JPRT_JTREG_HOME)
|
COMPONENT_TEST_ARGS+=JT_HOME=$(JPRT_JTREG_HOME)
|
|
# Remove df output from one of the tests
|
COMPONENT_TEST_TRANSFORMS+= -e "'/^.*Agent\[[0-9]+\]: stdout: \/.*files$$/d'"
|
|
PATCH_LEVEL=0
|
|
CC=gcc
|
CXX=g++
|
PATH=$(GCC_ROOT)/bin:$(PATH.gnu)
|
|
CONFIGURE_SCRIPT= $(BUILD_DIR_$(BITS))/configure
|
COMPONENT_PRE_CONFIGURE_ACTION = ($(CP) -r $(SOURCE_DIR)/* $(@D))
|
|
CONFIGURE_OPTIONS+= --with-boot-jdk=$(JAVA_HOME)
|
CONFIGURE_OPTIONS+= --with-zlib=system
|
CONFIGURE_OPTIONS+= --with-giflib=bundled
|
CONFIGURE_OPTIONS+= --with-cups
|
CONFIGURE_OPTIONS+= --disable-freetype-bundling
|
CONFIGURE_OPTIONS+= --with-memory-size=2048
|
CONFIGURE_OPTIONS+= --disable-precompiled-headers
|
CONFIGURE_OPTIONS+= --disable-ccache
|
CONFIGURE_OPTIONS+= --with-user-release-suffix=oi-$(HUMAN_VERSION)
|
CONFIGURE_OPTIONS+= --with-update-version=$(OPENJDK_BUILD_NUMBER)
|
CONFIGURE_OPTIONS+= --with-extra-cflags="-fno-lifetime-dse"
|
CONFIGURE_OPTIONS+= --with-extra-ldflags="$(LDFLAGS)"
|
CONFIGURE_OPTIONS+= AS=$(GAS)
|
CONFIGURE_OPTIONS+= STRIP=$(STRIP)
|
|
COMPONENT_BUILD_ENV+= USE_GCC=1
|
|
COMPONENT_BUILD_ARGS = JOBS=4
|
|
COMPONENT_BUILD_TARGETS = images
|
|
CACERTS_DIR=$(WS_TOP)/components/openindiana/ca-certificates
|
CACERTS_INSTALLED=$(CACERTS_DIR)/build/$(MACH32)/.installed
|
CACERTS_PROTO_DIR=$(CACERTS_DIR)/build/prototype/$(MACH)
|
|
MY_INSTALLED= $(BUILD_DIR_64)/.installed
|
TESTS_BUILT= $(COMPONENT_DIR)/$(COMPONENT_SRC_1)/.built
|
|
|
$(MY_INSTALLED): $(BUILD_DIR_64)/.built $(TESTS_BUILT)
|
[ -d $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0 ] || $(MKDIR) $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0
|
chmod -R u+rw $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0
|
cp -a $(@D)/build/solaris-*/images/j2sdk-image/* $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0
|
rm -rf $(PROTO_DIR)/usr/jdk/jtreg; cp -a $(SOURCE_DIR_1)/build/images/jtreg $(PROTO_DIR)/usr/jdk/
|
/usr/bin/elfedit -e 'dyn:value -s RPATH "$$ORIGIN:$$ORIGIN/../../jre/lib/$(MACH64)"' $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0/lib/$(MACH64)/libjawt.so
|
/usr/bin/elfedit -e 'dyn:value -s RUNPATH "$$ORIGIN:$$ORIGIN/../../jre/lib/$(MACH64)"' $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0/lib/$(MACH64)/libjawt.so
|
$(TOUCH) $@
|
|
|
$(CACERTS_INSTALLED):
|
gmake -C $(CACERTS_DIR) install
|
|
cacerts.out: $(BUILD_DIR_64)/.built $(CACERTS_INSTALLED)
|
rm -f $@
|
for cert in $(CACERTS_PROTO_DIR)/etc/certs/CA/*.pem; do \
|
LC_ALL=en_US.UTF-8 $(BUILD_DIR_64)/build/solaris-x86_64-normal-server-release/jdk/bin/keytool \
|
-noprompt \
|
-importcert \
|
-keystore $@ \
|
-alias `echo $$cert | $(GSED) -e 's,.*/\\([^/]*\\)\\.pem,\\1,'` \
|
-file $$cert \
|
-storepass changeit; \
|
done
|
|
$(TESTS_BUILT): prep
|
cd $(SOURCE_DIR_1) &&\
|
rm -rf $(SOURCE_DIR_1)/build &&\
|
/usr/bin/env $(COMPONENT_TEST_ENV) TESTNG_LICENSE_VERSION=$(TESTNG_VERSION) bash make/build.sh --jdk $(JAVA_HOME)
|
$(TOUCH) $@
|
|
|
install: $(MY_INSTALLED) cacerts.out
|
|
$(BUILD_DIR_64)/.tested: $(TESTS_BUILT) build
|
|
$(BUILD_DIR_64)/.tested-and-compared: $(TESTS_BUILT) build
|
|
REQUIRED_PACKAGES += developer/build/ant
|
|
# Auto-generated dependencies
|
REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
|
REQUIRED_PACKAGES += library/zlib
|
REQUIRED_PACKAGES += shell/ksh93
|
REQUIRED_PACKAGES += system/library
|
REQUIRED_PACKAGES += system/library/freetype-2
|
REQUIRED_PACKAGES += system/library/math
|
REQUIRED_PACKAGES += x11/library/libx11
|
REQUIRED_PACKAGES += x11/library/libxext
|
REQUIRED_PACKAGES += x11/library/libxi
|
REQUIRED_PACKAGES += x11/library/libxrender
|
REQUIRED_PACKAGES += x11/library/libxtst
|