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
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
36 PKG_MACROS
+= JTREG_VERSION
=$(JTREG_VERSION
).
$(JTREG_SUFFIX
)
37 PKG_MACROS
+= JTREG_HUMAN_VERSION
=$(JTREG_VERSION
)-$(JTREG_SUFFIX
)
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
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'"
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
158 $(CACERTS_INSTALLED
):
159 gmake
-C
$(CACERTS_DIR
) install
161 cacerts.out
: $(BUILD_DIR_64
)/.built
$(CACERTS_INSTALLED
)
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 \
168 -alias
`echo $$cert | $(GSED) -e 's,.*/\\([^/]*\\)\\.pem,\\1,'` \
170 -storepass changeit
; \
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
)
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