Skip to content

Commit a1a50b5

Browse files
committed
Merge jdk8u152-b16
2 parents 2f4d6f6 + 0c126b4 commit a1a50b5

File tree

23,231 files changed

+6612881
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

23,231 files changed

+6612881
-0
lines changed

jdk/.jcheck/conf

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
project=jdk8
2+
bugids=dup

jdk/ASSEMBLY_EXCEPTION

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
OPENJDK ASSEMBLY EXCEPTION
3+
4+
The OpenJDK source code made available by Oracle America, Inc. (Oracle) at
5+
openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU
6+
General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
7+
only ("GPL2"), with the following clarification and special exception.
8+
9+
Linking this OpenJDK Code statically or dynamically with other code
10+
is making a combined work based on this library. Thus, the terms
11+
and conditions of GPL2 cover the whole combination.
12+
13+
As a special exception, Oracle gives you permission to link this
14+
OpenJDK Code with certain code licensed by Oracle as indicated at
15+
http://openjdk.java.net/legal/exception-modules-2007-05-08.html
16+
("Designated Exception Modules") to produce an executable,
17+
regardless of the license terms of the Designated Exception Modules,
18+
and to copy and distribute the resulting executable under GPL2,
19+
provided that the Designated Exception Modules continue to be
20+
governed by the licenses under which they were offered by Oracle.
21+
22+
As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code
23+
to build an executable that includes those portions of necessary code that
24+
Oracle could not provide under GPL2 (or that Oracle has provided under GPL2
25+
with the Classpath exception). If you modify or add to the OpenJDK code,
26+
that new GPL2 code may still be combined with Designated Exception Modules
27+
if the new code is made subject to this exception by its copyright holder.

jdk/LICENSE

+347
Large diffs are not rendered by default.

jdk/README

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
README:
2+
This file should be located at the top of the jdk Mercurial repository.
3+
4+
See http://openjdk.java.net/ for more information about the OpenJDK.
5+
6+
Simple Build Instructions:
7+
8+
1. Download and install a JDK 6 from
9+
http://java.sun.com/javase/downloads/index.jsp
10+
Set the environment variable ALT_BOOTDIR to the location of this JDK 6.
11+
12+
2. Either download and install the latest JDK7 from
13+
http://download.java.net/openjdk/jdk7/, or build your own complete
14+
OpenJDK7 by using the top level Makefile in the OpenJDK Mercurial forest.
15+
Set the environment variable ALT_JDK_IMPORT_PATH to the location of
16+
this latest JDK7 or OpenJDK7 build.
17+
18+
3. Check the sanity of doing a build with the current machine:
19+
cd make && gnumake sanity
20+
See README-builds.html if you run into problems.
21+
22+
4. Do a partial build of the jdk:
23+
cd make && gnumake all
24+
25+
5. Construct the images:
26+
cd make && gnumake images
27+
The resulting JDK image should be found in build/*/j2sdk-image
28+
29+

jdk/THIRD_PARTY_README

+3,063
Large diffs are not rendered by default.

jdk/make/BuildJdk.gmk

+142
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
#
2+
# Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
3+
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
#
5+
# This code is free software; you can redistribute it and/or modify it
6+
# under the terms of the GNU General Public License version 2 only, as
7+
# published by the Free Software Foundation. Oracle designates this
8+
# particular file as subject to the "Classpath" exception as provided
9+
# by Oracle in the LICENSE file that accompanied this code.
10+
#
11+
# This code is distributed in the hope that it will be useful, but WITHOUT
12+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13+
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14+
# version 2 for more details (a copy is included in the LICENSE file that
15+
# accompanied this code).
16+
#
17+
# You should have received a copy of the GNU General Public License version
18+
# 2 along with this work; if not, write to the Free Software Foundation,
19+
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20+
#
21+
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22+
# or visit www.oracle.com if you need additional information or have any
23+
# questions.
24+
#
25+
26+
# This must be the first rule
27+
default: all
28+
29+
# Inclusion of this pseudo-target will cause make to execute this file
30+
# serially, regardless of -j. Recursively called makefiles will not be
31+
# affected, however. This is required for correct dependency management.
32+
.NOTPARALLEL:
33+
34+
include $(SPEC)
35+
include MakeBase.gmk
36+
include JavaCompilation.gmk
37+
include NativeCompilation.gmk
38+
39+
# Setup the java compilers for the JDK build.
40+
include Setup.gmk
41+
42+
# Include Profile information
43+
include ProfileNames.gmk
44+
45+
# Include the corresponding custom file, if present.
46+
-include $(CUSTOM_MAKE_DIR)/BuildJdk.gmk
47+
48+
import: import-only
49+
import-only:
50+
# Import (corba jaxp jaxws langtools hotspot)
51+
+$(MAKE) -f Import.gmk
52+
53+
gensrc: import gensrc-only
54+
gensrc-only:
55+
+$(MAKE) -f GenerateSources.gmk
56+
# Ok, now gensrc is fully populated.
57+
58+
gendata: gensrc gendata-only
59+
gendata-only:
60+
+$(MAKE) -f GenerateData.gmk
61+
62+
classes: gendata classes-only
63+
classes-only:
64+
+$(MAKE) -f CompileJavaClasses.gmk
65+
# The classes are now built and
66+
# any javah files have now been generated.
67+
68+
libs: classes libs-only
69+
libs-only:
70+
+$(MAKE) -f CompileNativeLibraries.gmk
71+
72+
launchers: libs launchers-only
73+
launchers-only:
74+
# Finally compile the launchers.
75+
+$(MAKE) -f CompileLaunchers.gmk
76+
77+
genclasses: launchers genclasses-only
78+
genclasses-only:
79+
# Generate classes that have other sources. Needs
80+
# to execute launchers.
81+
+$(MAKE) -f GenerateClasses.gmk
82+
83+
securityjars: genclasses securityjars-only
84+
securityjars-only:
85+
+$(MAKE) -f CreateSecurityJars.gmk
86+
87+
jdk: securityjars
88+
# Now we have a complete jdk, which you can run.
89+
# It is not yet wrapped up as an installed image.
90+
91+
demos:
92+
# The demos are compiled against this jdk.
93+
+$(MAKE) -f CompileDemos.gmk
94+
# Now copy the sample sources into the jdk.
95+
+$(MAKE) -f CopySamples.gmk
96+
97+
# Create the final jdk and jre images, to be wrapped up
98+
# into packages, or installed. Ensure PROFILE is not set
99+
# in these cases.
100+
images:
101+
+$(MAKE) PROFILE="" -f CreateJars.gmk
102+
+$(MAKE) PROFILE="" -f Images.gmk
103+
ifeq ($(OPENJDK_TARGET_OS), macosx)
104+
+$(MAKE) -f Bundles.gmk
105+
endif
106+
107+
overlay-images:
108+
+$(MAKE) -f CompileLaunchers.gmk OVERLAY_IMAGES=true
109+
+$(MAKE) -f Images.gmk overlay-images
110+
111+
# Create Compact Profile images
112+
$(ALL_PROFILES):
113+
+$(MAKE) PROFILE=$@ -f CreateJars.gmk
114+
+$(MAKE) PROFILE=$@ JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/j2re-$(word $(call profile_number,$@),$(PROFILE_NAMES))-image -f Images.gmk profile-image
115+
116+
profiles: $(ALL_PROFILES)
117+
118+
sign-jars:
119+
+$(MAKE) -f SignJars.gmk
120+
121+
BINARIES := $(notdir $(wildcard $(JDK_IMAGE_DIR)/bin/*))
122+
INSTALLDIR := openjdk-$(RELEASE)
123+
124+
# Install the jdk image, in a very crude way. Not taking into
125+
# account, how to install properly on macosx or windows etc.
126+
install:
127+
echo Installing jdk image into $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
128+
echo and creating $(words $(BINARIES)) links from $(INSTALL_PREFIX)/bin into the jdk.
129+
$(MKDIR) -p $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
130+
$(RM) -r $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/*
131+
$(CP) -rp $(JDK_IMAGE_DIR)/* $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
132+
$(MKDIR) -p $(INSTALL_PREFIX)/bin
133+
$(RM) $(addprefix $(INSTALL_PREFIX)/bin/, $(BINARIES))
134+
$(foreach b, $(BINARIES), $(LN) -s $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/bin/$b $(INSTALL_PREFIX)/bin/$b &&) true
135+
136+
# The all target builds the JDK, but not the images
137+
all: jdk
138+
139+
.PHONY: import gensrc gendata classes libs launchers genclasses
140+
.PHONY: import-only gensrc-only gendata-only classes-only libs-only launchers-only genclasses-only
141+
.PHONY: all jdk demos images overlay-images bundles install
142+
.PHONY: profiles $(ALL_PROFILES)

jdk/make/Bundles.gmk

+140
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
#
2+
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
3+
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
#
5+
# This code is free software; you can redistribute it and/or modify it
6+
# under the terms of the GNU General Public License version 2 only, as
7+
# published by the Free Software Foundation. Oracle designates this
8+
# particular file as subject to the "Classpath" exception as provided
9+
# by Oracle in the LICENSE file that accompanied this code.
10+
#
11+
# This code is distributed in the hope that it will be useful, but WITHOUT
12+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13+
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14+
# version 2 for more details (a copy is included in the LICENSE file that
15+
# accompanied this code).
16+
#
17+
# You should have received a copy of the GNU General Public License version
18+
# 2 along with this work; if not, write to the Free Software Foundation,
19+
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20+
#
21+
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22+
# or visit www.oracle.com if you need additional information or have any
23+
# questions.
24+
#
25+
26+
include $(SPEC)
27+
include MakeBase.gmk
28+
29+
default: bundles
30+
31+
# Only macosx has bundles defined.
32+
ifeq ($(OPENJDK_TARGET_OS), macosx)
33+
34+
bundles: jre-bundle jdk-bundle
35+
36+
# JDK_BUNDLE_DIR and JRE_BUNDLE_DIR are defined in SPEC.
37+
38+
MACOSX_SRC := $(JDK_TOPDIR)/src/macosx
39+
40+
# All these OPENJDK checks are needed since there is no coherency between
41+
# these values in open and closed. Should probably be fixed.
42+
ifndef OPENJDK
43+
BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE).$(JDK_MINOR_VERSION)u$(JDK_UPDATE_VERSION)
44+
else
45+
BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE)
46+
endif
47+
BUNDLE_ID_JRE := $(BUNDLE_ID).jre
48+
BUNDLE_ID_JDK := $(BUNDLE_ID).jdk
49+
50+
BUNDLE_NAME := $(MACOSX_BUNDLE_NAME_BASE) $(JDK_MINOR_VERSION)
51+
BUNDLE_NAME_JRE := $(BUNDLE_NAME)
52+
BUNDLE_NAME_JDK := $(BUNDLE_NAME)
53+
54+
ifndef OPENJDK
55+
BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) $(JDK_VERSION)
56+
else
57+
BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) ($(JDK_VERSION))
58+
endif
59+
BUNDLE_INFO_JRE := $(BUNDLE_INFO)
60+
BUNDLE_INFO_JDK := $(BUNDLE_INFO)
61+
62+
BUNDLE_PLATFORM_VERSION := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION)
63+
BUNDLE_VERSION := $(JDK_VERSION)
64+
ifeq ($(COMPANY_NAME), N/A)
65+
BUNDLE_VENDOR := UNDEFINED
66+
else
67+
BUNDLE_VENDOR := $(COMPANY_NAME)
68+
endif
69+
70+
71+
JDK_FILE_LIST := $(shell $(FIND) $(JDK_IMAGE_DIR))
72+
JRE_FILE_LIST := $(shell $(FIND) $(JRE_IMAGE_DIR))
73+
74+
JDK_TARGET_LIST := $(subst $(JDK_IMAGE_DIR)/,$(JDK_BUNDLE_DIR)/Home/,$(JDK_FILE_LIST))
75+
JRE_TARGET_LIST := $(subst $(JRE_IMAGE_DIR)/,$(JRE_BUNDLE_DIR)/Home/,$(JRE_FILE_LIST))
76+
77+
# The old builds implementation of this did not preserve symlinks so
78+
# make sure they are followed and the contents copied instead.
79+
# To fix this, remove -L
80+
# Copy empty directories (jre/lib/applet).
81+
$(JDK_BUNDLE_DIR)/Home/%: $(JDK_IMAGE_DIR)/%
82+
$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
83+
$(MKDIR) -p $(@D)
84+
if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -L '$<' '$@'; fi
85+
86+
$(JRE_BUNDLE_DIR)/Home/%: $(JRE_IMAGE_DIR)/%
87+
$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
88+
$(MKDIR) -p $(@D)
89+
if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -L '$<' '$@'; fi
90+
91+
$(JDK_BUNDLE_DIR)/MacOS/libjli.dylib:
92+
$(ECHO) Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)
93+
$(MKDIR) -p $(@D)
94+
$(RM) $@
95+
$(LN) -s ../Home/jre/lib/jli/libjli.dylib $@
96+
97+
$(JRE_BUNDLE_DIR)/MacOS/libjli.dylib:
98+
$(ECHO) Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)
99+
$(MKDIR) -p $(@D)
100+
$(RM) $@
101+
$(LN) -s ../Home/lib/jli/libjli.dylib $@
102+
103+
$(JDK_BUNDLE_DIR)/Info.plist: $(SPEC)
104+
$(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
105+
$(MKDIR) -p $(@D)
106+
$(SED) -e "s/@@ID@@/$(BUNDLE_ID_JDK)/g" \
107+
-e "s/@@NAME@@/$(BUNDLE_NAME_JDK)/g" \
108+
-e "s/@@INFO@@/$(BUNDLE_INFO_JDK)/g" \
109+
-e "s/@@PLATFORM_VERSION@@/$(BUNDLE_PLATFORM_VERSION)/g" \
110+
-e "s/@@VERSION@@/$(BUNDLE_VERSION)/g" \
111+
-e "s/@@VENDOR@@/$(BUNDLE_VENDOR)/g" \
112+
< $(MACOSX_SRC)/bundle/JDK-Info.plist > $@
113+
114+
$(JRE_BUNDLE_DIR)/Info.plist: $(SPEC)
115+
$(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
116+
$(MKDIR) -p $(@D)
117+
$(SED) -e "s/@@ID@@/$(BUNDLE_ID_JRE)/g" \
118+
-e "s/@@NAME@@/$(BUNDLE_NAME_JRE)/g" \
119+
-e "s/@@INFO@@/$(BUNDLE_INFO_JRE)/g" \
120+
-e "s/@@PLATFORM_VERSION@@/$(BUNDLE_PLATFORM_VERSION)/g" \
121+
-e "s/@@VERSION@@/$(BUNDLE_VERSION)/g" \
122+
-e "s/@@VENDOR@@/$(BUNDLE_VENDOR)/g" \
123+
< $(MACOSX_SRC)/bundle/JRE-Info.plist > $@
124+
125+
jdk-bundle: $(JDK_TARGET_LIST) $(JDK_BUNDLE_DIR)/MacOS/libjli.dylib \
126+
$(JDK_BUNDLE_DIR)/Info.plist
127+
$(SETFILE) -a B $(dir $(JDK_BUNDLE_DIR))
128+
129+
jre-bundle: $(JRE_TARGET_LIST) $(JRE_BUNDLE_DIR)/MacOS/libjli.dylib \
130+
$(JRE_BUNDLE_DIR)/Info.plist
131+
$(SETFILE) -a B $(dir $(JRE_BUNDLE_DIR))
132+
133+
else # Not macosx
134+
135+
bundles:
136+
$(ECHO) "No bundles defined for $(OPENJDK_TARGET_OS)"
137+
138+
endif # macosx
139+
140+
.PHONY: jdk-bundle jre-bundle bundles

0 commit comments

Comments
 (0)