postgresql-16/pg-repack: update to 1.5.2
[oi-userland.git] / components / runtime / openjdk-8 / Makefile
blob3f4de14810164be8385b4c8bf6b0ca3e141d1b1b
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
13 # Copyright 2016 Alexander Pyhalov
14 # Copyright 2019 Michal Nowak
15 # Copyright 2022 Daniel Bell
18 include ../../../make-rules/shared-macros.mk
20 COMPONENT_NAME= openjdk
21 OPENJDK_BUILD_NUMBER= 352
22 HUMAN_VERSION= jdk8u$(OPENJDK_BUILD_NUMBER)-ga
23 COMPONENT_VERSION= 1.8.$(OPENJDK_BUILD_NUMBER)
24 COMPONENT_SUMMARY= Open-source implementation of the Java Platform, Standard Edition
25 COMPONENT_SRC= jdk8u-$(HUMAN_VERSION)
26 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
27 COMPONENT_ARCHIVE_HASH= \
28 sha256:141dcb6b321cc78e993f1f126dde9f6c0a7af5d11bfe390f5cf5b1513fabdc1c
29 COMPONENT_ARCHIVE_URL= \
30 https://github.com/openjdk/jdk8u/archive/refs/tags/jdk8u352-ga.tar.gz
31 COMPONENT_PROJECT_URL= https://openjdk.org/
34 # Java testing archives
35 JTREG_VERSION=6.1
36 PKG_MACROS += JTREG_VERSION=$(JTREG_VERSION).$(JTREG_SUFFIX)
37 PKG_MACROS += JTREG_HUMAN_VERSION=$(JTREG_VERSION)-$(JTREG_SUFFIX)
38 JTREG_SUFFIX=2
39 JPRT_JTREG_HOME=$(COMPONENT_DIR)/$(COMPONENT_SRC_1)/build/images/jtreg
41 COMPONENT_SRC_1= jtreg-jtreg-$(JTREG_VERSION)-$(JTREG_SUFFIX)
42 COMPONENT_ARCHIVE_1= jtreg-$(JTREG_VERSION)+$(JTREG_SUFFIX).tar.gz
43 COMPONENT_ARCHIVE_HASH_1= \
44 sha256:d68397542188a24ecf8c42c4cf4b818dda2bd95aee8d6b0980ede78c36fcb40f
45 COMPONENT_ARCHIVE_URL_1= \
46 https://github.com/openjdk/jtreg/archive/refs/tags/$(COMPONENT_ARCHIVE_1)
48 # jtreg support archives
49 COMPONENT_ARCHIVE_2 = hamcrest-2.2.jar
50 COMPONENT_ARCHIVE_URL_2 = https://repo1.maven.org/maven2/org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar
51 COMPONENT_ARCHIVE_HASH_2 = sha256:5e62846a89f05cd78cd9c1a553f340d002458380c320455dd1f8fc5497a8a1c1
52 COMPONENT_ARCHIVE_3 = jt6.0-b14.zip
53 COMPONENT_ARCHIVE_URL_3 = https://git.openjdk.java.net/jtharness/archive/jt6.0-b14.zip
54 COMPONENT_ARCHIVE_HASH_3 = sha256:b0aa48f7c9841a9debd532a0f1ebdbc63e7d2da5f3c2e13c8b23c0d9924135bd
55 COMPONENT_ARCHIVE_4 = asm-8.0.jar
56 COMPONENT_ARCHIVE_URL_4 = https://repo1.maven.org/maven2/org/ow2/asm/asm/8.0/asm-8.0.jar
57 COMPONENT_ARCHIVE_HASH_4 = sha256:8d96021cad4104da4822cee3a5e5bf6a4737c8b0c67d58d17d7bf7d1b5f7d2fe
58 COMPONENT_ARCHIVE_5 = asm-tree-8.0.jar
59 COMPONENT_ARCHIVE_URL_5 = https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/8.0/asm-tree-8.0.jar
60 COMPONENT_ARCHIVE_HASH_5 = sha256:8a390cef8aea3343342d7f255fd684f05e372b439639f803a4d827f1cdbb0b08
61 COMPONENT_ARCHIVE_6 = asm-util-8.0.jar
62 COMPONENT_ARCHIVE_URL_6 = https://repo1.maven.org/maven2/org/ow2/asm/asm-util/8.0/asm-util-8.0.jar
63 COMPONENT_ARCHIVE_HASH_6 = sha256:f9dbbd03a40a5a7fbd33708ab5e2c7c8dfe856679d99bd49e29ce5d2a415b33a
64 COMPONENT_ARCHIVE_7 = jcov3.0-b07.zip
65 COMPONENT_ARCHIVE_URL_7 = https://git.openjdk.java.net/jcov/archive/jcov3.0-b07.zip
66 COMPONENT_ARCHIVE_HASH_7 = sha256:9d6cbd1c7ea4ca1aa1a6e6549d149d00ecb4f2c7e3091bd0b771ea3c3f36b6c0
67 COMPONENT_ARCHIVE_8 = 7.0-b09.zip
68 COMPONENT_ARCHIVE_URL_8 = https://git.openjdk.java.net/asmtools/archive/7.0-b09.zip
69 COMPONENT_ARCHIVE_HASH_8 = sha256:8284479fda9be745b285356ae5e187e21e313fad9f571e5f78b1a9e786a87475
70 COMPONENT_ARCHIVE_9 = junit-4.13.2.jar
71 COMPONENT_ARCHIVE_URL_9 = https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar
72 COMPONENT_ARCHIVE_HASH_9 = sha256:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3
74 TESTNG_VERSION=7.3.0
75 COMPONENT_ARCHIVE_10 = testng-$(TESTNG_VERSION).jar
76 COMPONENT_ARCHIVE_URL_10 = https://repo1.maven.org/maven2/org/testng/testng/$(TESTNG_VERSION)/$(COMPONENT_ARCHIVE_10)
77 COMPONENT_ARCHIVE_HASH_10 = sha256:63727488f9717d57f0d0a0fee5a1fc10a2be9cfcff2ec3a7187656d663c0774e
78 COMPONENT_ARCHIVE_13 = testng-$(TESTNG_VERSION)-LICENSE.txt
79 COMPONENT_ARCHIVE_URL_13 = https://raw.githubusercontent.com/cbeust/testng/$(TESTNG_VERSION)/LICENSE.txt
80 COMPONENT_ARCHIVE_HASH_13 = sha256:c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7
82 COMPONENT_ARCHIVE_11 = jcommander-1.78.jar
83 COMPONENT_ARCHIVE_URL_11 = https://repo1.maven.org/maven2/com/beust/jcommander/1.78/jcommander-1.78.jar
84 COMPONENT_ARCHIVE_HASH_11 = sha256:7891debb84b5f83e9bd57593ebece3399abbe0fd938cf306b3534c57913b9615
85 COMPONENT_ARCHIVE_12 = guice-4.2.3.jar
86 COMPONENT_ARCHIVE_URL_12 = https://repo1.maven.org/maven2/com/google/inject/guice/4.2.3/guice-4.2.3.jar
87 COMPONENT_ARCHIVE_HASH_12 = sha256:a21e50ffbb67e7adc5b46cf7b9e1a480f1e0f04fd4201ddb1c65da91290601af
90 CLEAN_PATHS += $(BUILD_DIR) $(JPRT_JTREG_HOME)
91 CLEAN_PATHS += cacerts.out
93 include $(WS_MAKE_RULES)/common.mk
95 JAVA_BUILD_HOME=$(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0
96 COMPONENT_TEST_TARGETS=test
97 COMPONENT_TEST_ENV=$(COMPONENT_BUILD_ENV)
98 COMPONENT_TEST_ENV+=USERLAND_ARCHIVES=$(USERLAND_ARCHIVES)
99 COMPONENT_TEST_ENV+=ANT=/usr/bin/ant
100 COMPONENT_TEST_ENV+=ANT_JAR=/usr/share/lib/ant/ant.jar
101 COMPONENT_TEST_ENV+=JOBS=4
103 COMPONENT_TEST_ARGS+=JPRT_JTREG_HOME=$(JPRT_JTREG_HOME)
104 COMPONENT_TEST_ARGS+=JTREG_HOME=$(JPRT_JTREG_HOME)
105 COMPONENT_TEST_ARGS+=JT_HOME=$(JPRT_JTREG_HOME)
107 # Remove df output from one of the tests
108 COMPONENT_TEST_TRANSFORMS+= -e "'/^.*Agent\[[0-9]+\]: stdout: \/.*files$$/d'"
110 PATCH_LEVEL=0
112 CC=gcc
113 CXX=g++
114 PATH=$(GCC_ROOT)/bin:$(PATH.gnu)
116 CONFIGURE_SCRIPT= $(BUILD_DIR_$(BITS))/configure
117 COMPONENT_PRE_CONFIGURE_ACTION = ($(CP) -r $(SOURCE_DIR)/* $(@D))
119 CONFIGURE_OPTIONS+= --with-boot-jdk=$(JAVA_HOME)
120 CONFIGURE_OPTIONS+= --with-zlib=system
121 CONFIGURE_OPTIONS+= --with-giflib=bundled
122 CONFIGURE_OPTIONS+= --with-cups
123 CONFIGURE_OPTIONS+= --disable-freetype-bundling
124 CONFIGURE_OPTIONS+= --with-memory-size=2048
125 CONFIGURE_OPTIONS+= --disable-precompiled-headers
126 CONFIGURE_OPTIONS+= --disable-ccache
127 CONFIGURE_OPTIONS+= --with-user-release-suffix=oi-$(HUMAN_VERSION)
128 CONFIGURE_OPTIONS+= --with-update-version=$(OPENJDK_BUILD_NUMBER)
129 CONFIGURE_OPTIONS+= --with-extra-cflags="-fno-lifetime-dse"
130 CONFIGURE_OPTIONS+= --with-extra-ldflags="$(LDFLAGS)"
131 CONFIGURE_OPTIONS+= AS=$(GAS)
132 CONFIGURE_OPTIONS+= STRIP=$(STRIP)
134 COMPONENT_BUILD_ENV+= USE_GCC=1
136 COMPONENT_BUILD_ARGS = JOBS=4
138 COMPONENT_BUILD_TARGETS = images
140 CACERTS_DIR=$(WS_TOP)/components/openindiana/ca-certificates
141 CACERTS_INSTALLED=$(CACERTS_DIR)/build/$(MACH32)/.installed
142 CACERTS_PROTO_DIR=$(CACERTS_DIR)/build/prototype/$(MACH)
144 MY_INSTALLED= $(BUILD_DIR_64)/.installed
145 TESTS_BUILT= $(COMPONENT_DIR)/$(COMPONENT_SRC_1)/.built
148 $(MY_INSTALLED): $(BUILD_DIR_64)/.built $(TESTS_BUILT)
149 [ -d $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0 ] || $(MKDIR) $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0
150 chmod -R u+rw $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0
151 cp -a $(@D)/build/solaris-*/images/j2sdk-image/* $(PROTO_DIR)/usr/jdk/instances/openjdk1.8.0
152 rm -rf $(PROTO_DIR)/usr/jdk/jtreg; cp -a $(SOURCE_DIR_1)/build/images/jtreg $(PROTO_DIR)/usr/jdk/
153 /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
154 /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
155 $(TOUCH) $@
158 $(CACERTS_INSTALLED):
159 gmake -C $(CACERTS_DIR) install
161 cacerts.out: $(BUILD_DIR_64)/.built $(CACERTS_INSTALLED)
162 rm -f $@
163 for cert in $(CACERTS_PROTO_DIR)/etc/certs/CA/*.pem; do \
164 LC_ALL=en_US.UTF-8 $(BUILD_DIR_64)/build/solaris-x86_64-normal-server-release/jdk/bin/keytool \
165 -noprompt \
166 -importcert \
167 -keystore $@ \
168 -alias `echo $$cert | $(GSED) -e 's,.*/\\([^/]*\\)\\.pem,\\1,'` \
169 -file $$cert \
170 -storepass changeit; \
171 done
173 $(TESTS_BUILT): prep
174 cd $(SOURCE_DIR_1) &&\
175 rm -rf $(SOURCE_DIR_1)/build &&\
176 /usr/bin/env $(COMPONENT_TEST_ENV) TESTNG_LICENSE_VERSION=$(TESTNG_VERSION) bash make/build.sh --jdk $(JAVA_HOME)
177 $(TOUCH) $@
180 install: $(MY_INSTALLED) cacerts.out
182 $(BUILD_DIR_64)/.tested: $(TESTS_BUILT) build
184 $(BUILD_DIR_64)/.tested-and-compared: $(TESTS_BUILT) build
186 REQUIRED_PACKAGES += developer/build/ant
188 # Auto-generated dependencies
189 REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
190 REQUIRED_PACKAGES += library/zlib
191 REQUIRED_PACKAGES += shell/ksh93
192 REQUIRED_PACKAGES += system/library
193 REQUIRED_PACKAGES += system/library/freetype-2
194 REQUIRED_PACKAGES += system/library/math
195 REQUIRED_PACKAGES += x11/library/libx11
196 REQUIRED_PACKAGES += x11/library/libxext
197 REQUIRED_PACKAGES += x11/library/libxi
198 REQUIRED_PACKAGES += x11/library/libxrender
199 REQUIRED_PACKAGES += x11/library/libxtst