ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/ozone/mgar/pkg/openjdk8/Makefile
Revision: 43
Committed: Wed Jun 24 17:14:55 2026 UTC (3 weeks, 6 days ago) by operz
File size: 3445 byte(s)
Log Message:
openjdk7,openjdk8: switch from Sun Studio to GCC 12.5.0; add toolchain/flag patch scripts

File Contents

# User Rev Content
1 operz 41 NAME = openjdk8
2     VERSION = u492
3 operz 43
4 operz 41 CATEGORIES = utils
5 operz 43
6 operz 41 DESCRIPTION = OpenJDK 8 Java Development Kit
7     define BLURB
8 operz 43 OpenJDK 8 inherits from JDK 7. Built using OZSWopenjdk7 as the boot JDK
9     with GCC 12.5.0 on 32-bit Solaris.
10 operz 41 endef
11 operz 43
12 operz 41 DYNURLS = https://github.com/openjdk/jdk8u/archive/refs/tags/jdk8u492-ga.tar.gz
13     DISTFILES = jdk8u492-ga.tar.gz
14     WORKSRC = $(WORKDIR)/jdk8u-jdk8u492-ga
15 operz 43
16 operz 41 LICENSE = LICENSE
17 operz 43
18     CONFIGURE_SCRIPTS =
19     BUILD_SCRIPTS =
20     INSTALL_SCRIPTS =
21     TEST_SCRIPTS =
22    
23 operz 41 PACKAGES = OZSWopenjdk8
24     SPKG_DESC_OZSWopenjdk8 = OpenJDK 8 Java Development Kit
25     SPKG_CLASSES = cswdictconf
26     RUNTIME_DEP_PKGS_OZSWopenjdk8 = OZSWopenjdk7 OZSWlibXtst
27 operz 43 BUILD_DEP_PKGS_OZSWopenjdk8 = OZSWgcc12
28    
29 operz 41 JDK8_PREFIX = $(BUILD_PREFIX)/jvm/openjdk8
30 operz 43 # configure --with-target-bits=32 on Solaris x86 produces solaris-x86-normal-server-release
31     JDK8_BUILDDIR = $(WORKSRC)/build/solaris-x86-normal-server-release
32    
33     # JDK 8 uses a configure-based build with GCC 12.5.0.
34     # Boot JDK: OZSWopenjdk7 (Java 7). 32-bit only.
35     JDK8_CONFIG_ARGS = --with-boot-jdk=$(BUILD_PREFIX)/jvm/openjdk7
36     JDK8_CONFIG_ARGS += --with-toolchain-type=gcc
37     JDK8_CONFIG_ARGS += --with-cups-include=$(BUILD_PREFIX)/include
38     JDK8_CONFIG_ARGS += --with-freetype-include=$(BUILD_PREFIX)/include/freetype2
39     JDK8_CONFIG_ARGS += --with-freetype-lib=$(BUILD_PREFIX)/lib
40     JDK8_CONFIG_ARGS += --with-jobs=4
41     JDK8_CONFIG_ARGS += --with-target-bits=32
42     JDK8_CONFIG_ARGS += --with-jvm-variants=server
43     JDK8_CONFIG_ARGS += --disable-zip-debug-info
44     JDK8_CONFIG_ARGS += --disable-debug-symbols
45     JDK8_CONFIG_ARGS += --disable-precompiled-headers
46     JDK8_CONFIG_ARGS += --with-milestone=fcs
47     JDK8_CONFIG_ARGS += --with-extra-cflags="-I$(BUILD_PREFIX)/include"
48     JDK8_CONFIG_ARGS += --with-extra-ldflags="-L$(BUILD_PREFIX)/lib -R$(BUILD_PREFIX)/lib"
49    
50     # Use GCC 12.5.0 from /opt/ozsw/bin.
51     JDK8_ENV = PATH=/opt/ozsw/bin:/usr/bin:/bin:$(BUILD_PREFIX)/ant/bin:$(BUILD_PREFIX)/jvm/openjdk7/bin
52     JDK8_ENV += CC=/opt/ozsw/bin/gcc
53     JDK8_ENV += CXX=/opt/ozsw/bin/g++
54     JDK8_ENV += LANG=C LC_ALL=C
55    
56     XAWT_FILES = $(WORKSRC)/jdk/make/sun/xawt/FILES_c_unix.gmk
57    
58 operz 41 include gar/category.mk
59 operz 43
60 operz 41 .DEFAULT_GOAL := all
61 operz 43
62     post-extract:
63     # xawt: ensure AlphaMath.c is in compile list so div8table symbol resolves locally.
64     /usr/bin/awk -f $(CURDIR)/../openjdk7/xawt-patch.awk $(XAWT_FILES) > $(WORKSRC)/jdk/make/sun/xawt/FILES_c_unix.gmk.new && mv $(WORKSRC)/jdk/make/sun/xawt/FILES_c_unix.gmk.new $(XAWT_FILES)
65     # Stage LICENSE for findlicensefile (looks in WORKROOTDIR/build-global/DISTNAME).
66     mkdir -p $(WORKROOTDIR)/build-global/jdk8u-jdk8u492-ga
67     cp $(WORKSRC)/LICENSE $(WORKROOTDIR)/build-global/jdk8u-jdk8u492-ga/LICENSE 2>/dev/null || true
68     # Apply GCC and X11/OPENWIN patches (toolchain, libraries, hotspot, giflib).
69     /opt/ozsw/bin/python3 $(CURDIR)/jdk8-patch.py $(WORKSRC)
70     @$(MAKECOOKIE)
71    
72     pre-build:
73     ulimit -n 65536; \
74     export $(JDK8_ENV); \
75     cd $(WORKSRC) && bash configure $(JDK8_CONFIG_ARGS)
76     @$(MAKECOOKIE)
77    
78     build:
79     ulimit -n 65536; \
80     export $(JDK8_ENV); \
81     cd $(WORKSRC) && gmake JOBS=4 all
82     @$(MAKECOOKIE)
83    
84     pre-install:
85     mkdir -p $(DESTDIR)$(JDK8_PREFIX)
86     if [ -d $(JDK8_BUILDDIR)/images/j2sdk-image ]; then \
87     cp -r $(JDK8_BUILDDIR)/images/j2sdk-image/. $(DESTDIR)$(JDK8_PREFIX)/; \
88     elif [ -d $(JDK8_BUILDDIR)/images/jdk ]; then \
89     cp -r $(JDK8_BUILDDIR)/images/jdk/. $(DESTDIR)$(JDK8_PREFIX)/; \
90     fi
91     find $(DESTDIR)$(JDK8_PREFIX) -name "* *" -type f -exec rm -f {} \; 2>/dev/null || true
92     @$(MAKECOOKIE)