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, 6 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

# User Rev Content
1 operz 41 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 operz 43 BUILD_DEP_PKGS_OZSWopenjdk7 = OZSWgcc12
28 operz 41
29     JDK7_PREFIX = $(BUILD_PREFIX)/jvm/openjdk7
30     JDK7_BUILDDIR = $(WORKSRC)/build/solaris-i586
31    
32 operz 43 # 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 operz 41 JDK7_MAKEARGS = ALT_BOOTDIR=/usr/jdk/latest
35 operz 43 JDK7_MAKEARGS += ALT_COMPILER_PATH=/opt/ozsw/bin
36     JDK7_MAKEARGS += CC_VERSION=gcc
37     JDK7_MAKEARGS += USE_GCC=true
38 operz 41 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 operz 43 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 operz 41 XAWT_FILES = $(WORKSRC)/jdk/make/sun/xawt/FILES_c_unix.gmk
55 operz 43 SPLASH_MK = $(WORKSRC)/jdk/make/sun/splashscreen/Makefile
56 operz 41
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 operz 43 # Fix OPENWIN_HOME: point to $(BUILD_PREFIX) which has our X11 headers.
69 operz 41 /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 operz 43 # 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 operz 41 # 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 operz 43 export PATH=/opt/ozsw/bin:/usr/bin:/bin:$(BUILD_PREFIX)/ant/bin:/usr/jdk/latest/bin; \
87 operz 41 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)