8150044: Generate classlists at build-time
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com> Reviewed-by: alanb, mchung, iklam
This commit is contained in:
parent
cad49e11bf
commit
998971d501
@ -474,7 +474,8 @@ AC_DEFUN([BOOTJDK_SETUP_BUILD_JDK],
|
||||
AC_ARG_WITH(build-jdk, [AS_HELP_STRING([--with-build-jdk],
|
||||
[path to JDK of same version as is being built@<:@the newly built JDK@:>@])])
|
||||
|
||||
CREATE_BUILDJDK_FOR_HOST=false
|
||||
CREATE_BUILDJDK=false
|
||||
EXTERNAL_BUILDJDK=false
|
||||
BUILD_JDK_FOUND="no"
|
||||
if test "x$with_build_jdk" != "x"; then
|
||||
BOOTJDK_CHECK_BUILD_JDK([
|
||||
@ -483,6 +484,7 @@ AC_DEFUN([BOOTJDK_SETUP_BUILD_JDK],
|
||||
BUILD_JDK_FOUND=maybe
|
||||
AC_MSG_NOTICE([Found potential Build JDK using configure arguments])
|
||||
fi])
|
||||
EXTERNAL_BUILDJDK=true
|
||||
else
|
||||
if test "x$COMPILE_TYPE" = "xcross"; then
|
||||
BUILD_JDK="\$(BUILDJDK_OUTPUTDIR)/jdk"
|
||||
@ -506,4 +508,5 @@ AC_DEFUN([BOOTJDK_SETUP_BUILD_JDK],
|
||||
|
||||
AC_SUBST(CREATE_BUILDJDK)
|
||||
AC_SUBST(BUILD_JDK)
|
||||
AC_SUBST(EXTERNAL_BUILDJDK)
|
||||
])
|
||||
|
@ -46,6 +46,7 @@ HOTSPOT_OUTPUTDIR := $(patsubst $(BUILD_OUTPUT)%,$(BUILDJDK_OUTPUTDIR)%,$(HOTSPO
|
||||
HOTSPOT_DIST := $(patsubst $(BUILD_OUTPUT)%,$(BUILDJDK_OUTPUTDIR)%,$(HOTSPOT_DIST))
|
||||
SUPPORT_OUTPUTDIR := $(patsubst $(BUILD_OUTPUT)%,$(BUILDJDK_OUTPUTDIR)%,$(SUPPORT_OUTPUTDIR))
|
||||
JDK_OUTPUTDIR := $(patsubst $(BUILD_OUTPUT)%,$(BUILDJDK_OUTPUTDIR)%,$(JDK_OUTPUTDIR))
|
||||
IMAGES_OUTPUTDIR := $(patsubst $(BUILD_OUTPUT)%,$(BUILDJDK_OUTPUTDIR)%,$(IMAGES_OUTPUTDIR))
|
||||
|
||||
OPENJDK_BUILD_CPU_LEGACY := @OPENJDK_BUILD_CPU_LEGACY@
|
||||
OPENJDK_BUILD_CPU_LEGACY_LIB := @OPENJDK_BUILD_CPU_LEGACY_LIB@
|
||||
|
@ -896,6 +896,7 @@ JAXWS_TOPDIR
|
||||
JAXP_TOPDIR
|
||||
CORBA_TOPDIR
|
||||
LANGTOOLS_TOPDIR
|
||||
EXTERNAL_BUILDJDK
|
||||
BUILD_JDK
|
||||
CREATE_BUILDJDK
|
||||
BOOT_JDK_BITS
|
||||
@ -5070,7 +5071,7 @@ VS_SDK_PLATFORM_NAME_2013=
|
||||
#CUSTOM_AUTOCONF_INCLUDE
|
||||
|
||||
# Do not change or remove the following line, it is needed for consistency checks:
|
||||
DATE_WHEN_GENERATED=1462268995
|
||||
DATE_WHEN_GENERATED=1462574627
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@ -30171,7 +30172,8 @@ if test "${with_build_jdk+set}" = set; then :
|
||||
fi
|
||||
|
||||
|
||||
CREATE_BUILDJDK_FOR_HOST=false
|
||||
CREATE_BUILDJDK=false
|
||||
EXTERNAL_BUILDJDK=false
|
||||
BUILD_JDK_FOUND="no"
|
||||
if test "x$with_build_jdk" != "x"; then
|
||||
|
||||
@ -30364,6 +30366,7 @@ $as_echo "$BUILD_JDK_VERSION" >&6; }
|
||||
fi # end check build jdk found
|
||||
fi
|
||||
|
||||
EXTERNAL_BUILDJDK=true
|
||||
else
|
||||
if test "x$COMPILE_TYPE" = "xcross"; then
|
||||
BUILD_JDK="\$(BUILDJDK_OUTPUTDIR)/jdk"
|
||||
@ -30395,6 +30398,7 @@ $as_echo "no" >&6; }
|
||||
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Configure the sources to use. We can add or override individual directories.
|
||||
|
@ -283,6 +283,7 @@ BOOT_JDK:=@BOOT_JDK@
|
||||
|
||||
BUILD_JDK:=@BUILD_JDK@
|
||||
CREATE_BUILDJDK:=@CREATE_BUILDJDK@
|
||||
EXTERNAL_BUILDJDK:=@EXTERNAL_BUILDJDK@
|
||||
|
||||
# When compiling Java source to be run by the boot jdk
|
||||
# use these extra flags, eg -source 6 -target 6
|
||||
@ -777,6 +778,9 @@ TEST_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(TEST_IMAGE_SUBDIR)
|
||||
SYMBOLS_IMAGE_SUBDIR:=symbols
|
||||
SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR)
|
||||
|
||||
# Interim image
|
||||
INTERIM_IMAGE_DIR := $(SUPPORT_OUTPUTDIR)/interim-image
|
||||
|
||||
# Macosx bundles directory definitions
|
||||
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle/jdk-$(VERSION_NUMBER).jdk/Contents
|
||||
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle/jre-$(VERSION_NUMBER).jre/Contents
|
||||
|
@ -29,7 +29,9 @@ include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
include Modules.gmk
|
||||
|
||||
MODULES_TO_COPY := $(call FindTransitiveDepsForModule, jdk.jlink) jdk.jlink
|
||||
MODULES_TO_COPY := $(sort \
|
||||
$(foreach m, jdk.jlink $(INTERIM_IMAGE_MODULES), \
|
||||
$(call FindTransitiveDepsForModule, $m) $m))
|
||||
|
||||
################################################################################
|
||||
# Copy the modules needed to run jlink and jmod. Use bulk copy instead of
|
||||
@ -49,15 +51,6 @@ $(COPY_CLASSES_TARGET): $(call CacheFind, $(wildcard \
|
||||
|
||||
TARGETS += $(COPY_CLASSES_TARGET)
|
||||
|
||||
#$(eval $(call SetupCopyFiles, COPY_JDK_MODULES, \
|
||||
SRC := $(BUILD_OUTPUT), \
|
||||
DEST := $(BUILDJDK_OUTPUTDIR), \
|
||||
FILES := $(call DoubleDollar, $(call DoubleDollar, $(call CacheFind, $(wildcard \
|
||||
$(addprefix $(JDK_OUTPUTDIR)/modules/, $(MODULES_TO_COPY)))))), \
|
||||
))
|
||||
|
||||
#TARGETS += $(COPY_JDK_MODULES)
|
||||
|
||||
################################################################################
|
||||
|
||||
$(eval $(call SetupCopyFiles, COPY_SUPPORT_HEADERS, \
|
||||
|
@ -1,4 +1,4 @@
|
||||
#
|
||||
|
||||
# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
@ -35,6 +35,8 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
JMODS_DIR := $(IMAGES_OUTPUTDIR)/jmods
|
||||
|
||||
LIBS_DIR := $(firstword $(wildcard $(addsuffix /$(MODULE), \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs-stripped $(IMPORT_MODULES_LIBS))))
|
||||
CMDS_DIR := $(firstword $(wildcard $(addsuffix /$(MODULE), \
|
||||
@ -67,28 +69,32 @@ endif
|
||||
# Add dependencies on other jmod files. Only java.base needs access to other
|
||||
# jmods.
|
||||
ifeq ($(MODULE), java.base)
|
||||
DEPS += $(patsubst %, $(IMAGES_OUTPUTDIR)/jmods/%.jmod, \
|
||||
$(filter-out java.base, $(call FindAllModules)))
|
||||
# When creating a BUILDJDK, we don't need to add hashes to java.base
|
||||
ifneq ($(CREATING_BUILDJDK), true)
|
||||
DEPS += $(patsubst %, $(JMODS_DIR)/%.jmod, \
|
||||
$(filter-out java.base, $(call FindAllModules)))
|
||||
|
||||
# TODO: find modules that directly and indrectly on upgradeable modules
|
||||
EXCLUDE_HASH_MODULES := $(UPGRADEABLE_MODULES) \
|
||||
java.se.ee \
|
||||
jdk.rmic \
|
||||
jdk.xml.bind \
|
||||
jdk.xml.ws \
|
||||
#
|
||||
# TODO: find modules that directly and indirectly depend on upgradeable
|
||||
# modules
|
||||
EXCLUDE_HASH_MODULES := $(UPGRADEABLE_MODULES) \
|
||||
java.se.ee \
|
||||
jdk.rmic \
|
||||
jdk.xml.bind \
|
||||
jdk.xml.ws \
|
||||
#
|
||||
|
||||
EXCLUDE_PATTERN := $(strip $(subst $(SPACE),|,$(strip $(EXCLUDE_HASH_MODULES))))
|
||||
EXCLUDE_PATTERN := $(strip $(subst $(SPACE),|,$(strip $(EXCLUDE_HASH_MODULES))))
|
||||
|
||||
JMOD_FLAGS += --modulepath $(IMAGES_OUTPUTDIR)/jmods \
|
||||
--hash-modules '^(?!$(EXCLUDE_PATTERN))'
|
||||
JMOD_FLAGS += --modulepath $(JMODS_DIR) \
|
||||
--hash-modules '^(?!$(EXCLUDE_PATTERN))'
|
||||
endif
|
||||
endif
|
||||
|
||||
# TODO: What about headers?
|
||||
# Create jmods in a temp dir and then move them into place to keep the
|
||||
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
|
||||
$(IMAGES_OUTPUTDIR)/jmods/$(MODULE).jmod: $(DEPS)
|
||||
$(call LogWarn, Creating $(notdir $@))
|
||||
$(JMODS_DIR)/$(MODULE).jmod: $(DEPS)
|
||||
$(call LogWarn, Creating $(patsubst $(OUTPUT_ROOT)/%, %, $@))
|
||||
$(call MakeDir, $(@D) $(SUPPORT_OUTPUTDIR)/jmods)
|
||||
$(RM) $@ $(SUPPORT_OUTPUTDIR)/jmods/$(notdir $@)
|
||||
$(JMOD) create \
|
||||
@ -96,7 +102,7 @@ $(IMAGES_OUTPUTDIR)/jmods/$(MODULE).jmod: $(DEPS)
|
||||
--os-name $(REQUIRED_OS_NAME) \
|
||||
--os-arch $(OPENJDK_TARGET_CPU_LEGACY) \
|
||||
--os-version $(REQUIRED_OS_VERSION) \
|
||||
--modulepath $(IMAGES_OUTPUTDIR)/jmods\
|
||||
--modulepath $(JMODS_DIR) \
|
||||
--exclude '**{_the.*,*.diz,*.debuginfo,*.dSYM/**,*.pdb,*.map}' \
|
||||
$(JMOD_FLAGS) $(SUPPORT_OUTPUTDIR)/jmods/$(notdir $@)
|
||||
$(MV) $(SUPPORT_OUTPUTDIR)/jmods/$(notdir $@) $@
|
||||
|
@ -56,19 +56,11 @@ JRE_COMPACT1_MODULES := java.compact1 $(COMPACT1_EXTRA_MODULES)
|
||||
JRE_COMPACT2_MODULES := $(JRE_COMPACT1_MODULES) java.compact2 $(COMPACT2_EXTRA_MODULES)
|
||||
JRE_COMPACT3_MODULES := $(JRE_COMPACT2_MODULES) java.compact3 $(COMPACT3_EXTRA_MODULES)
|
||||
|
||||
# Replacing double-comma with a single comma is to workaround the issue
|
||||
# with some version of make on windows that doesn't substitute spaces
|
||||
# with one comma properly as with make 4.0
|
||||
SubstComma = \
|
||||
$(strip \
|
||||
$(subst $(COMMA)$(COMMA),$(COMMA),$(subst $(SPACE),$(COMMA),$(strip $1))) \
|
||||
)
|
||||
|
||||
JRE_MODULES_LIST := $(call SubstComma, $(JRE_MODULES))
|
||||
JDK_MODULES_LIST := $(call SubstComma, $(JDK_MODULES))
|
||||
JRE_COMPACT1_MODULES_LIST := $(call SubstComma, $(JRE_COMPACT1_MODULES))
|
||||
JRE_COMPACT2_MODULES_LIST := $(call SubstComma, $(JRE_COMPACT2_MODULES))
|
||||
JRE_COMPACT3_MODULES_LIST := $(call SubstComma, $(JRE_COMPACT3_MODULES))
|
||||
JRE_MODULES_LIST := $(call CommaList, $(JRE_MODULES))
|
||||
JDK_MODULES_LIST := $(call CommaList, $(JDK_MODULES))
|
||||
JRE_COMPACT1_MODULES_LIST := $(call CommaList, $(JRE_COMPACT1_MODULES))
|
||||
JRE_COMPACT2_MODULES_LIST := $(call CommaList, $(JRE_COMPACT2_MODULES))
|
||||
JRE_COMPACT3_MODULES_LIST := $(call CommaList, $(JRE_COMPACT3_MODULES))
|
||||
|
||||
################################################################################
|
||||
# Release file
|
||||
@ -363,6 +355,23 @@ $(JDK_IMAGE_DIR)/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip
|
||||
|
||||
JDK_TARGETS += $(JDK_IMAGE_DIR)/src.zip
|
||||
|
||||
################################################################################
|
||||
# classlist
|
||||
|
||||
$(eval $(call SetupCopyFiles, JDK_COPY_CLASSLIST, \
|
||||
FILES := $(SUPPORT_OUTPUTDIR)/classlist/classlist, \
|
||||
DEST := $(JDK_IMAGE_DIR)/lib, \
|
||||
))
|
||||
|
||||
JDK_TARGETS += $(JDK_COPY_CLASSLIST)
|
||||
|
||||
$(eval $(call SetupCopyFiles, JRE_COPY_CLASSLIST, \
|
||||
FILES := $(SUPPORT_OUTPUTDIR)/classlist/classlist, \
|
||||
DEST := $(JRE_IMAGE_DIR)/lib, \
|
||||
))
|
||||
|
||||
JRE_TARGETS += $(JRE_COPY_CLASSLIST)
|
||||
|
||||
################################################################################
|
||||
# /demo dir
|
||||
ifneq ($(findstring images, $(MAKECMDGOALS)), )
|
||||
|
60
make/InterimImage.gmk
Normal file
60
make/InterimImage.gmk
Normal file
@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
include Modules.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
# Use this file inside the image as target for make rule
|
||||
JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX)
|
||||
|
||||
INTERIM_MODULES_LIST := $(call CommaList, $(INTERIM_IMAGE_MODULES))
|
||||
|
||||
JMODS := $(patsubst %, $(IMAGES_OUTPUTDIR)/jmods/%.jmod, $(INTERIM_IMAGE_MODULES))
|
||||
|
||||
JLINK_TOOL := $(JLINK) \
|
||||
--modulepath $(IMAGES_OUTPUTDIR)/jmods \
|
||||
--endian $(OPENJDK_BUILD_CPU_ENDIAN)
|
||||
|
||||
$(INTERIM_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
|
||||
$(call DependOnVariable, INTERIM_MODULES_LIST)
|
||||
$(ECHO) Creating interim jimage
|
||||
$(RM) -r $(INTERIM_IMAGE_DIR)
|
||||
$(JLINK_TOOL) \
|
||||
--output $(INTERIM_IMAGE_DIR) \
|
||||
--addmods $(INTERIM_MODULES_LIST)
|
||||
$(TOUCH) $@
|
||||
|
||||
TARGETS += $(INTERIM_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
|
||||
|
||||
################################################################################
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
.PHONY: all
|
@ -348,25 +348,35 @@ ALL_TARGETS += docs-javadoc docs-jvmtidoc zip-docs
|
||||
################################################################################
|
||||
# Cross compilation support
|
||||
|
||||
ifeq ($(CREATE_BUILDJDK), true)
|
||||
ifeq ($(CREATING_BUILDJDK), true)
|
||||
# This target is only called by the recursive call below.
|
||||
create-buildjdk-compile-hotspot-helper: hotspot
|
||||
create-buildjdk-compile-modules-helper: jdk.jlink-launchers java.base-copy \
|
||||
jdk.jdeps-launchers
|
||||
create-buildjdk-interim-image-helper: interim-image jdk.jlink-launchers \
|
||||
java.base-copy jdk.jdeps-launchers
|
||||
endif
|
||||
|
||||
create-buildjdk-copy:
|
||||
+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f CreateBuildJdkCopy.gmk)
|
||||
|
||||
create-buildjdk-compile-hotspot create-buildjdk-compile-modules:
|
||||
create-buildjdk-interim-image:
|
||||
+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Main.gmk \
|
||||
$@-helper \
|
||||
SPEC=$(dir $(SPEC))buildjdk-spec.gmk \
|
||||
HOTSPOT_SPEC=$(dir $(SPEC))buildjdk-spec.gmk \
|
||||
CREATING_BUILDJDK=true)
|
||||
|
||||
ALL_TARGETS += create-buildjdk-copy create-buildjdk-compile-hotspot \
|
||||
create-buildjdk-compile-modules
|
||||
ALL_TARGETS += create-buildjdk-copy create-buildjdk-interim-image
|
||||
|
||||
################################################################################
|
||||
# The interim-image is a small jlinked image that is used to generate artifacts
|
||||
# at build time for use when linking the real images.
|
||||
|
||||
interim-image:
|
||||
+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f InterimImage.gmk)
|
||||
|
||||
generate-classlist:
|
||||
+($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GenerateClasslist.gmk)
|
||||
|
||||
ALL_TARGETS += interim-image generate-classlist
|
||||
|
||||
################################################################################
|
||||
# Build tests
|
||||
@ -522,10 +532,11 @@ else
|
||||
$(foreach m, $(RMIC_MODULES), $(eval $m-rmic: $m-java))
|
||||
|
||||
# Declare dependencies from <module>-lib to <module>-java
|
||||
# Skip modules that do not have java source. When creating a BUILD_JDK, the
|
||||
# java compilation has already been done by the normal build and copied in.
|
||||
# Skip modules that do not have java source.
|
||||
# When creating a BUILDJDK, the java compilation has already been done by the
|
||||
# normal build and copied in.
|
||||
ifneq ($(CREATING_BUILDJDK), true)
|
||||
$(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs: $m-java))
|
||||
$(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs: $m-java))
|
||||
endif
|
||||
|
||||
# Declare dependencies from all other <module>-lib to java.base-lib
|
||||
@ -564,11 +575,19 @@ else
|
||||
|
||||
# Declare dependencies between jmod targets. Only java.base jmod needs access
|
||||
# to the other jmods to be built.
|
||||
java.base-jmod: $(filter-out java.base-jmod, $(JMOD_TARGETS))
|
||||
# When creating a BUILDJDK, we don't need to add hashes to java.base, thus
|
||||
# we don't need to depend on all other jmods
|
||||
ifneq ($(CREATING_BUILDJDK), true)
|
||||
java.base-jmod: $(filter-out java.base-jmod, $(JMOD_TARGETS))
|
||||
endif
|
||||
|
||||
# Declare dependencies from <module>-jmod to all other module targets
|
||||
$(foreach m, $(STRIP_MODULES), $(eval $m-jmod: $m-strip))
|
||||
$(foreach m, $(JAVA_MODULES), $(eval $m-jmod: $m-java))
|
||||
# When creating a BUILDJDK, the java compilation has already been done by the
|
||||
# normal build and copied in.
|
||||
ifneq ($(CREATING_BUILDJDK), true)
|
||||
$(foreach m, $(JAVA_MODULES), $(eval $m-jmod: $m-java))
|
||||
endif
|
||||
$(foreach m, $(GENDATA_MODULES), $(eval $m-jmod: $m-gendata))
|
||||
$(foreach m, $(RMIC_MODULES), $(eval $m-jmod: $m-rmic))
|
||||
$(foreach m, $(LIBS_MODULES), $(eval $m-jmod: $m-libs))
|
||||
@ -577,10 +596,18 @@ else
|
||||
|
||||
# Jmods cannot be created until we have the jlink tool ready to run, which requires
|
||||
# all java modules to be compiled and jdk.jlink-launchers.
|
||||
$(JMOD_TARGETS): java java.base-libs jdk.jlink-launchers
|
||||
$(JMOD_TARGETS): java.base-libs jdk.jlink-launchers
|
||||
# When creating a BUILDJDK, the java compilation has already been done by the
|
||||
# normal build and copied in.
|
||||
ifneq ($(CREATING_BUILDJDK), true)
|
||||
$(JMOD_TARGETS): java
|
||||
endif
|
||||
|
||||
ifeq ($(CREATE_BUILDJDK), true)
|
||||
$(JMOD_TARGETS): create-buildjdk
|
||||
# Avoid calling create-buildjdk from within a create-buildjdk call
|
||||
ifneq ($(CREATING_BUILDJDK), true)
|
||||
$(JMOD_TARGETS): create-buildjdk
|
||||
endif
|
||||
endif
|
||||
|
||||
zip-security: java.base-java java.security.jgss-java java.security.jgss-libs \
|
||||
@ -590,7 +617,18 @@ else
|
||||
|
||||
jrtfs-jar: interim-langtools
|
||||
|
||||
jimages: jmods zip-source source-tips demos samples jrtfs-jar
|
||||
ifeq ($(CREATE_BUILDJDK), true)
|
||||
# If creating a buildjdk, the interim image needs to be based on that.
|
||||
generate-classlist: create-buildjdk
|
||||
else ifeq ($(EXTERNAL_BUILDJDK), false)
|
||||
# If an external buildjdk has been provided, we skip generating an
|
||||
# interim-image and just use the external buildjdk for generating
|
||||
# classlist.
|
||||
generate-classlist: interim-image
|
||||
endif
|
||||
generate-classlist: buildtools-jdk
|
||||
|
||||
jimages: jmods zip-source source-tips demos samples jrtfs-jar generate-classlist
|
||||
|
||||
profiles: jmods zip-source source-tips jrtfs-jar
|
||||
|
||||
@ -606,9 +644,12 @@ else
|
||||
|
||||
test: jimages test-image
|
||||
|
||||
create-buildjdk-copy: jdk.jlink-java java.base-gendata
|
||||
create-buildjdk-copy: jdk.jlink-java java.base-gendata \
|
||||
$(addsuffix -java, $(INTERIM_IMAGE_MODULES))
|
||||
|
||||
create-buildjdk-compile-modules: create-buildjdk-copy create-buildjdk-compile-hotspot
|
||||
create-buildjdk-interim-image: create-buildjdk-copy
|
||||
|
||||
interim-image: $(addsuffix -jmod, $(INTERIM_IMAGE_MODULES))
|
||||
|
||||
test-make: clean-test-make
|
||||
|
||||
@ -682,8 +723,7 @@ samples: samples-jdk
|
||||
# The "exploded image" is a locally runnable JDK in $(BUILD_OUTPUT)/jdk.
|
||||
exploded-image: $(ALL_MODULES)
|
||||
|
||||
create-buildjdk: create-buildjdk-compile-modules create-buildjdk-copy \
|
||||
create-buildjdk-compile-hotspot
|
||||
create-buildjdk: create-buildjdk-copy create-buildjdk-interim-image
|
||||
|
||||
mac-bundles: mac-bundles-jdk
|
||||
|
||||
@ -694,10 +734,14 @@ mac-bundles: mac-bundles-jdk
|
||||
# (and possibly other, more specific versions)
|
||||
product-images: jimages demos samples zip-security exploded-image
|
||||
|
||||
# When cross compiling and building a partial BUILDJDK for the build host,
|
||||
# the summary generation cannot be run.
|
||||
# The module summary cannot be run when:
|
||||
# * Cross compiling and building a partial BUILDJDK for the build host
|
||||
# * An external buildjdk has been supplied since it may not match the
|
||||
# module selection of the target jdk
|
||||
ifneq ($(CREATE_BUILDJDK), true)
|
||||
product-images: generate-summary
|
||||
ifeq ($(EXTERNAL_BUILDJDK), false)
|
||||
product-images: generate-summary
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
|
@ -741,6 +741,17 @@ check-jvm-variant = \
|
||||
$(error Internal error: Invalid variant tested: $1)) \
|
||||
$(if $(filter $1, $(JVM_VARIANTS)), true, false))
|
||||
|
||||
################################################################################
|
||||
# Converts a space separated list to a comma separated list.
|
||||
#
|
||||
# Replacing double-comma with a single comma is to workaround the issue with
|
||||
# some version of make on windows that doesn't substitute spaces with one comma
|
||||
# properly.
|
||||
CommaList = \
|
||||
$(strip \
|
||||
$(subst $(COMMA)$(COMMA),$(COMMA),$(subst $(SPACE),$(COMMA),$(strip $1))) \
|
||||
)
|
||||
|
||||
################################################################################
|
||||
|
||||
# Hook to include the corresponding custom file, if present.
|
||||
|
@ -128,6 +128,10 @@ ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
PLATFORM_MODULES += jdk.crypto.ucrypto
|
||||
endif
|
||||
|
||||
# These modules are included in the interim image which is used to run profiling
|
||||
# before building the real images.
|
||||
INTERIM_IMAGE_MODULES := java.base java.logging
|
||||
|
||||
################################################################################
|
||||
# Some platforms don't have the serviceability agent
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user