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

# Content
1 NAME = openjdk8
2 VERSION = u492
3
4 CATEGORIES = utils
5
6 DESCRIPTION = OpenJDK 8 Java Development Kit
7 define BLURB
8 OpenJDK 8 inherits from JDK 7. Built using OZSWopenjdk7 as the boot JDK
9 with GCC 12.5.0 on 32-bit Solaris.
10 endef
11
12 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
16 LICENSE = LICENSE
17
18 CONFIGURE_SCRIPTS =
19 BUILD_SCRIPTS =
20 INSTALL_SCRIPTS =
21 TEST_SCRIPTS =
22
23 PACKAGES = OZSWopenjdk8
24 SPKG_DESC_OZSWopenjdk8 = OpenJDK 8 Java Development Kit
25 SPKG_CLASSES = cswdictconf
26 RUNTIME_DEP_PKGS_OZSWopenjdk8 = OZSWopenjdk7 OZSWlibXtst
27 BUILD_DEP_PKGS_OZSWopenjdk8 = OZSWgcc12
28
29 JDK8_PREFIX = $(BUILD_PREFIX)/jvm/openjdk8
30 # 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 include gar/category.mk
59
60 .DEFAULT_GOAL := all
61
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)