ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/ozone/mgar/pkg/openjdk7/Makefile
Revision: 43
Committed: Wed Jun 24 17:14:55 2026 UTC (3 weeks, 5 days ago) by operz
File size: 4984 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 = openjdk7
2 VERSION = u351
3
4 CATEGORIES = utils
5
6 DESCRIPTION = OpenJDK 7 Java Development Kit
7 define BLURB
8 OpenJDK 7 is an open-source implementation of the Java Platform,
9 Standard Edition 7. Used as bootstrap JDK for building OpenJDK 8.
10 endef
11
12 DYNURLS = https://github.com/openjdk/jdk7u/archive/refs/tags/jdk7u351-ga.tar.gz
13 DISTFILES = jdk7u351-ga.tar.gz
14 WORKSRC = $(WORKDIR)/jdk7u-jdk7u351-ga
15
16 LICENSE = LICENSE
17
18 CONFIGURE_SCRIPTS =
19 BUILD_SCRIPTS =
20 INSTALL_SCRIPTS =
21 TEST_SCRIPTS =
22
23 PACKAGES = OZSWopenjdk7
24 SPKG_DESC_OZSWopenjdk7 = OpenJDK 7 Java Development Kit
25 SPKG_CLASSES = cswdictconf
26 RUNTIME_DEP_PKGS_OZSWopenjdk7 = OZSWfreetype OZSWlibX11 OZSWlibXext OZSWlibXi OZSWlibXtst
27 BUILD_DEP_PKGS_OZSWopenjdk7 = OZSWgcc12
28
29 JDK7_PREFIX = $(BUILD_PREFIX)/jvm/openjdk7
30 JDK7_BUILDDIR = $(WORKSRC)/build/solaris-i586
31
32 # Use GCC 12.5.0 from /opt/ozsw/bin. CC_VERSION=gcc selects GCC flags in
33 # JDK makefiles; USE_GCC=true selects gcc.make for hotspot.
34 JDK7_MAKEARGS = ALT_BOOTDIR=/usr/jdk/latest
35 JDK7_MAKEARGS += ALT_COMPILER_PATH=/opt/ozsw/bin
36 JDK7_MAKEARGS += CC_VERSION=gcc
37 JDK7_MAKEARGS += USE_GCC=true
38 JDK7_MAKEARGS += ALT_CUPS_HEADERS_PATH=$(BUILD_PREFIX)/include
39 JDK7_MAKEARGS += ALT_FREETYPE_HEADERS_PATH=$(BUILD_PREFIX)/include/freetype2
40 JDK7_MAKEARGS += ALT_FREETYPE_LIB_PATH=$(BUILD_PREFIX)/lib
41 JDK7_MAKEARGS += MILESTONE=fcs
42 JDK7_MAKEARGS += UPDATE_VERSION=351
43 JDK7_MAKEARGS += ARCH_DATA_MODEL=32
44 JDK7_MAKEARGS += SKIP_FASTDEBUG_BUILD=true
45 JDK7_MAKEARGS += SKIP_DEBUG_BUILD=true
46 JDK7_MAKEARGS += JOBS=4
47 JDK7_MAKEARGS += ZIP_DEBUGINFO_FILES=0
48 JDK7_MAKEARGS += ENABLE_FULL_DEBUG_SYMBOLS=0
49 JDK7_MAKEARGS += UNZIP=/opt/ozsw/bin/unzip
50 JDK7_MAKEARGS += ZIPEXE=/opt/ozsw/bin/zip
51
52 CORBA_OSC = $(WORKSRC)/corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java
53 DEFS_SOL = $(WORKSRC)/jdk/make/common/Defs-solaris.gmk
54 XAWT_FILES = $(WORKSRC)/jdk/make/sun/xawt/FILES_c_unix.gmk
55 SPLASH_MK = $(WORKSRC)/jdk/make/sun/splashscreen/Makefile
56
57 include gar/category.mk
58
59 .DEFAULT_GOAL := all
60
61 post-extract:
62 # Patch CORBA ObjectStreamClass.java: sun.misc.JavaSecurityAccess absent from JDK 6 rt.jar.
63 /usr/bin/gsed -i '/^import sun.misc.JavaSecurityAccess;$$/d' $(CORBA_OSC)
64 /usr/bin/gsed -i '/JavaSecurityAccess jsa = SharedSecrets.getJavaSecurityAccess();/d' $(CORBA_OSC)
65 /usr/bin/gsed -i 's/return jsa\.doIntersectionPrivilege(pea,/return AccessController.doPrivileged(pea, new AccessControlContext(domains));/' $(CORBA_OSC)
66 /usr/bin/gsed -i '/^\s*AccessController\.getContext(),\s*$$/d' $(CORBA_OSC)
67 /usr/bin/gsed -i '/^\s*new AccessControlContext(domains));\s*$$/d' $(CORBA_OSC)
68 # Fix OPENWIN_HOME: point to $(BUILD_PREFIX) which has our X11 headers.
69 /usr/bin/gsed -i 's|^OPENWIN_HOME[[:space:]]*=.*|OPENWIN_HOME = $(BUILD_PREFIX)|' $(DEFS_SOL)
70 /usr/bin/gsed -i 's|^OPENWIN_RUNTIME_LIB[[:space:]]*=.*|OPENWIN_RUNTIME_LIB = $(BUILD_PREFIX)/lib$$(ISA_DIR)|' $(DEFS_SOL)
71 # xawt: OGLBlitLoops.c references div8table (LOCL in libawt), add AlphaMath.c to xawt.
72 /usr/bin/awk -f $(CURDIR)/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)
73 # Splashscreen needs libiconv for GNU iconv symbols on Solaris.
74 /usr/bin/gsed -i 's|-L$$(OPENWIN_LIB) -lX11 -lXext $$(LIBM) -lpthread$$|-L$$(OPENWIN_LIB) -lX11 -lXext $$(LIBM) -lpthread -L$(BUILD_PREFIX)/lib -liconv|' $(SPLASH_MK)
75 # Apply GCC compatibility patches to JDK makefiles (Defs-solaris.gmk, Defs-versions.gmk).
76 /opt/ozsw/bin/python3 $(CURDIR)/jdk7-gcc-patch.py $(WORKSRC)
77 # Stage LICENSE for findlicensefile (also copy to WORKDIR for modulated phase)
78 cp $(WORKSRC)/LICENSE $(WORKDIR)/LICENSE 2>/dev/null || true
79 mkdir -p $(WORKROOTDIR)/build-global/jdk7u-jdk7u351-ga
80 cp $(WORKSRC)/LICENSE $(WORKROOTDIR)/build-global/jdk7u-jdk7u351-ga/LICENSE 2>/dev/null || true
81 @$(MAKECOOKIE)
82
83 pre-build:
84 ulimit -n 65536; \
85 unset JAVA_HOME; \
86 export PATH=/opt/ozsw/bin:/usr/bin:/bin:$(BUILD_PREFIX)/ant/bin:/usr/jdk/latest/bin; \
87 cd $(WORKSRC) && gmake $(JDK7_MAKEARGS) all
88 # CORBA bin.zip is empty (typo in corba/make/Makefile: BIN_ZIP_FILES var).
89 # The idl files are in $(BUILD_DIR)/lib; copy them to lib for Release.gmk to find.
90 # Skip this step if already copied.
91 ls $(JDK7_BUILDDIR)/corba/lib/orb.idl 2>/dev/null && [ ! -f $(JDK7_BUILDDIR)/lib/orb.idl ] && \
92 cp $(JDK7_BUILDDIR)/corba/lib/orb.idl $(JDK7_BUILDDIR)/lib/orb.idl || true
93 ls $(JDK7_BUILDDIR)/corba/lib/ir.idl 2>/dev/null && [ ! -f $(JDK7_BUILDDIR)/lib/ir.idl ] && \
94 cp $(JDK7_BUILDDIR)/corba/lib/ir.idl $(JDK7_BUILDDIR)/lib/ir.idl || true
95 # Re-run release to copy idl files into j2sdk-image now that they exist.
96 cd $(WORKSRC) && gmake $(JDK7_MAKEARGS) all
97 @$(MAKECOOKIE)
98
99 pre-install:
100 mkdir -p $(DESTDIR)$(JDK7_PREFIX)
101 cp -r $(JDK7_BUILDDIR)/j2sdk-image/. $(DESTDIR)$(JDK7_PREFIX)/
102 find $(DESTDIR)$(JDK7_PREFIX) -name "* *" -type f -exec rm -f {} \; 2>/dev/null || true
103 @$(MAKECOOKIE)