Merge
This commit is contained in:
commit
b368267147
@ -358,3 +358,4 @@ f900d5afd9c83a0df8f36161c27c5e4c86a66f4c jdk-9+111
|
||||
55b6d550828d1223b364e6ead4a56e56411c56df jdk-9+113
|
||||
1d992540870ff33fe6cc550443388588df9b9e4f jdk-9+114
|
||||
09617ce980b99d49abfd54dacfed353c47e2a115 jdk-9+115
|
||||
6743a8e0cab7b5f6f4a0575f6664892f0ab740af jdk-9+116
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
export LEGACY_BUILD_DIR=@OPENJDK_TARGET_OS@-@OPENJDK_TARGET_CPU_LEGACY@
|
||||
|
||||
sexport OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@"
|
||||
export OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@"
|
||||
export OPENJDK_TARGET_CPU="@OPENJDK_TARGET_CPU@"
|
||||
export OPENJDK_TARGET_CPU_LIBDIR="@OPENJDK_TARGET_CPU_LIBDIR@"
|
||||
export DEBUG_LEVEL="@DEBUG_LEVEL@"
|
||||
|
@ -212,14 +212,17 @@ var getJibProfiles = function (input) {
|
||||
* @returns Common values
|
||||
*/
|
||||
var getJibProfilesCommon = function (input) {
|
||||
var common = {
|
||||
dependencies: ["boot_jdk", "gnumake", "jtreg"],
|
||||
configure_args: ["--with-default-make-target=all", "--enable-jtreg-failure-handler"],
|
||||
configure_args_32bit: ["--with-target-bits=32", "--with-jvm-variants=client,server"],
|
||||
configure_args_debug: ["--enable-debug"],
|
||||
configure_args_slowdebug: ["--with-debug-level=slowdebug"],
|
||||
organization: "jpg.infra.builddeps"
|
||||
};
|
||||
var common = {};
|
||||
|
||||
common.dependencies = ["boot_jdk", "gnumake", "jtreg"],
|
||||
common.default_make_targets = ["product-images", "test-image"],
|
||||
common.default_make_targets_debug = common.default_make_targets;
|
||||
common.default_make_targets_slowdebug = common.default_make_targets;
|
||||
common.configure_args = ["--enable-jtreg-failure-handler"],
|
||||
common.configure_args_32bit = ["--with-target-bits=32", "--with-jvm-variants=client,server"],
|
||||
common.configure_args_debug = ["--enable-debug"],
|
||||
common.configure_args_slowdebug = ["--with-debug-level=slowdebug"],
|
||||
common.organization = "jpg.infra.builddeps"
|
||||
|
||||
return common;
|
||||
};
|
||||
@ -241,8 +244,8 @@ var getJibProfilesProfiles = function (input, common) {
|
||||
target_os: "linux",
|
||||
target_cpu: "x64",
|
||||
dependencies: concat(common.dependencies, "devkit"),
|
||||
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
||||
make_args: common.make_args
|
||||
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
||||
default_make_targets: concat(common.default_make_targets, "docs-image")
|
||||
},
|
||||
|
||||
"linux-x86": {
|
||||
@ -252,39 +255,39 @@ var getJibProfilesProfiles = function (input, common) {
|
||||
dependencies: concat(common.dependencies, "devkit"),
|
||||
configure_args: concat(common.configure_args, common.configure_args_32bit,
|
||||
"--with-zlib=system"),
|
||||
make_args: common.make_args
|
||||
default_make_targets: common.default_make_targets
|
||||
},
|
||||
|
||||
"macosx-x64": {
|
||||
target_os: "macosx",
|
||||
target_cpu: "x64",
|
||||
dependencies: concat(common.dependencies, "devkit"),
|
||||
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
||||
make_args: common.make_args
|
||||
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
||||
default_make_targets: common.default_make_targets
|
||||
},
|
||||
|
||||
"solaris-x64": {
|
||||
target_os: "solaris",
|
||||
target_cpu: "x64",
|
||||
dependencies: concat(common.dependencies, "devkit", "cups"),
|
||||
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
||||
make_args: common.make_args
|
||||
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
||||
default_make_targets: common.default_make_targets
|
||||
},
|
||||
|
||||
"solaris-sparcv9": {
|
||||
target_os: "solaris",
|
||||
target_cpu: "sparcv9",
|
||||
dependencies: concat(common.dependencies, "devkit", "cups"),
|
||||
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
||||
make_args: common.make_args
|
||||
configure_args: concat(common.configure_args, "--with-zlib=system"),
|
||||
default_make_targets: common.default_make_targets
|
||||
},
|
||||
|
||||
"windows-x64": {
|
||||
target_os: "windows",
|
||||
target_cpu: "x64",
|
||||
dependencies: concat(common.dependencies, "devkit", "freetype"),
|
||||
configure_args: common.configure_args,
|
||||
make_args: common.make_args
|
||||
configure_args: concat(common.configure_args),
|
||||
default_make_targets: common.default_make_targets
|
||||
},
|
||||
|
||||
"windows-x86": {
|
||||
@ -293,7 +296,7 @@ var getJibProfilesProfiles = function (input, common) {
|
||||
build_cpu: "x64",
|
||||
dependencies: concat(common.dependencies, "devkit", "freetype"),
|
||||
configure_args: concat(common.configure_args, common.configure_args_32bit),
|
||||
make_args: common.make_args
|
||||
default_make_targets: common.default_make_targets
|
||||
}
|
||||
};
|
||||
profiles = concatObjects(profiles, mainProfiles);
|
||||
@ -306,14 +309,15 @@ var getJibProfilesProfiles = function (input, common) {
|
||||
// implementation builds.
|
||||
var openOnlyProfiles = generateOpenOnlyProfiles(common, mainProfiles);
|
||||
// The open only profiles on linux are used for reference builds and should
|
||||
// produce the compact profile images by default.
|
||||
// produce the compact profile images by default. This adds "profiles" as an
|
||||
// extra default target.
|
||||
var openOnlyProfilesExtra = {
|
||||
"linux-x64-open": {
|
||||
configure_args: ["--with-default-make-target=all profiles"],
|
||||
default_make_targets: "profiles"
|
||||
},
|
||||
|
||||
"linux-x86-open": {
|
||||
configure_args: ["--with-default-make-target=all profiles"],
|
||||
default_make_targets: "profiles"
|
||||
}
|
||||
};
|
||||
var openOnlyProfiles = concatObjects(openOnlyProfiles, openOnlyProfilesExtra);
|
||||
@ -336,6 +340,7 @@ var getJibProfilesProfiles = function (input, common) {
|
||||
|
||||
// Generate the missing platform attributes
|
||||
profiles = generatePlatformAttributes(profiles);
|
||||
profiles = generateDefaultMakeTargetsConfigureArg(common, profiles);
|
||||
return profiles;
|
||||
};
|
||||
|
||||
@ -469,6 +474,8 @@ var generateDebugProfiles = function (common, profiles) {
|
||||
var debugProfile = profile + "-debug";
|
||||
newProfiles[debugProfile] = clone(profiles[profile]);
|
||||
newProfiles[debugProfile].debug_level = "fastdebug";
|
||||
newProfiles[debugProfile].default_make_targets
|
||||
= common.default_make_targets_debug;
|
||||
newProfiles[debugProfile].labels
|
||||
= concat(newProfiles[debugProfile].labels || [], "debug"),
|
||||
newProfiles[debugProfile].configure_args
|
||||
@ -492,6 +499,8 @@ var generateSlowdebugProfiles = function (common, profiles) {
|
||||
var debugProfile = profile + "-slowdebug";
|
||||
newProfiles[debugProfile] = clone(profiles[profile]);
|
||||
newProfiles[debugProfile].debug_level = "slowdebug";
|
||||
newProfiles[debugProfile].default_make_targets
|
||||
= common.default_make_targets_slowdebug;
|
||||
newProfiles[debugProfile].labels
|
||||
= concat(newProfiles[debugProfile].labels || [], "slowdebug"),
|
||||
newProfiles[debugProfile].configure_args
|
||||
@ -523,6 +532,39 @@ var generateOpenOnlyProfiles = function (common, profiles) {
|
||||
return newProfiles;
|
||||
};
|
||||
|
||||
/**
|
||||
* The default_make_targets attribute on a profile is not a real Jib attribute.
|
||||
* This function rewrites that attribute into the corresponding configure arg.
|
||||
* Calling this function multiple times on the same profiles object is safe.
|
||||
*
|
||||
* @param common Common values
|
||||
* @param profiles Profiles map to rewrite profiles for
|
||||
* @returns {{}} New map of profiles with the make targets converted
|
||||
*/
|
||||
var generateDefaultMakeTargetsConfigureArg = function (common, profiles) {
|
||||
var ret = concatObjects(profiles, {});
|
||||
for (var profile in ret) {
|
||||
if (ret[profile]["default_make_targets"] != null) {
|
||||
var targetsString = concat(ret[profile].default_make_targets).join(" ");
|
||||
// Iterate over all configure args and see if --with-default-make-target
|
||||
// is already there and change it, otherwise add it.
|
||||
var found = false;
|
||||
for (var arg in ret[profile].configure_args) {
|
||||
if (arg.startsWith("--with-default-make-target")) {
|
||||
found = true;
|
||||
arg.replace(/=.*/, "=" + targetsString);
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
ret[profile].configure_args = concat(
|
||||
ret[profile].configure_args,
|
||||
"--with-default-make-target=" + targetsString);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deep clones an object tree.
|
||||
*
|
||||
|
@ -82,7 +82,7 @@ $(IMAGES_OUTPUTDIR)/jmods/$(MODULE).jmod: $(DEPS)
|
||||
--os-version $(REQUIRED_OS_VERSION) \
|
||||
--modulepath $(IMAGES_OUTPUTDIR)/jmods\
|
||||
--hash-dependencies '.*' \
|
||||
--exclude '**_the.*' \
|
||||
--exclude '**{_the.*,*.diz,*.debuginfo,*.dSYM/**,*.pdb,*.map}' \
|
||||
$(JMOD_FLAGS) $(SUPPORT_OUTPUTDIR)/jmods/$(notdir $@)
|
||||
$(MV) $(SUPPORT_OUTPUTDIR)/jmods/$(notdir $@) $@
|
||||
|
||||
|
@ -78,21 +78,30 @@ ifneq ($(MOD_FILES), )
|
||||
# let space represent new lines in the variable as $(shell) normalizes all
|
||||
# whitespace.
|
||||
$(foreach f, $(MOD_FILES), \
|
||||
$(eval MOD_FILE_CONTENTS += $(shell $(GREP) -v ".\*" $f | $(TR) ' ' '/')))
|
||||
$(eval MOD_FILE_CONTENTS += $(shell $(GREP) -v -e ".\*" -e "//" $f | $(TR) ' ' '/')))
|
||||
|
||||
# Separate the modifications into qualified exports and the rest
|
||||
MODS_QUALIFIED_EXPORTS := $(call containing, /to/, $(MOD_FILE_CONTENTS))
|
||||
MODS_REST := $(filter-out $(MODS_QUALIFIED_EXPORTS), $(MOD_FILE_CONTENTS))
|
||||
|
||||
# Filter the contents for modules that are actually being built
|
||||
MODULES_FILTER := $(addprefix %/, $(addsuffix ;, $(ALL_MODULES)))
|
||||
MODULES_FILTER += provides%
|
||||
MODIFICATIONS := $(filter $(MODULES_FILTER), $(MOD_FILE_CONTENTS))
|
||||
MODIFICATIONS := $(filter $(MODULES_FILTER), $(MODS_QUALIFIED_EXPORTS)) \
|
||||
$(MODS_REST)
|
||||
|
||||
# Convert the modification lines into arguments for the modification tool.
|
||||
# Filter out modifications for non existing to-modules.
|
||||
$(foreach line, $(MODIFICATIONS), \
|
||||
$(eval split_line := $(subst /,$(SPACE),$(line))) \
|
||||
$(eval command := $(word 1, $(split_line))) \
|
||||
$(eval package := $(word 2, $(split_line))) \
|
||||
$(eval package := $(patsubst %;,%,$(word 2, $(split_line)))) \
|
||||
$(eval to_module := $(patsubst %;,%,$(word 4, $(split_line)))) \
|
||||
$(eval ARGS += -$(command) $(package)/$(to_module)))
|
||||
$(if $(to_module), \
|
||||
$(eval ARGS += -$(command) $(package)/$(to_module)) \
|
||||
, \
|
||||
$(eval ARGS += -$(command) $(package)) \
|
||||
) \
|
||||
)
|
||||
|
||||
ifneq ($(ARGS), )
|
||||
$(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)/module-info.java: \
|
||||
|
@ -422,6 +422,55 @@ ifeq ($(GCOV_ENABLED), true)
|
||||
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Debug symbols
|
||||
# Since debug symbols are not included in the jmod files, they need to be copied
|
||||
# in manually after generating the images.
|
||||
|
||||
ALL_JDK_MODULES := $(JDK_MODULES)
|
||||
ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
|
||||
$(call FindTransitiveDepsForModule, $m)))
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBS_TARGET_SUBDIR := bin
|
||||
else
|
||||
LIBS_TARGET_SUBDIR := lib
|
||||
endif
|
||||
|
||||
DEBUGINFO_SUFFIXES := .diz .debuginfo .pdb .map
|
||||
|
||||
# Param 1 - dir to find debuginfo files in
|
||||
FindDebuginfoFiles = \
|
||||
$(wildcard $(addprefix $1/*, $(DEBUGINFO_SUFFIXES)) \
|
||||
$(addprefix $1/*/*, $(DEBUGINFO_SUFFIXES)) \
|
||||
$(addprefix $1/*/*/*, $(DEBUGINFO_SUFFIXES)))
|
||||
|
||||
# On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM
|
||||
# dirs.
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(ZIP_EXTERNAL_DEBUG_SYMBOLS), macosx-false)
|
||||
$(eval $(call FillCacheFind, \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs/))
|
||||
FindDebuginfoFiles = \
|
||||
$(if $(wildcard $1), $(call containing, .dSYM/, $(call CacheFind, $1)))
|
||||
endif
|
||||
|
||||
# Param 1 - either JDK or JRE
|
||||
SetupCopyDebuginfo = \
|
||||
$(foreach m, $(ALL_$1_MODULES), \
|
||||
$(eval $(call SetupCopyFiles, COPY_$1_LIBS_DEBUGINFO_$m, \
|
||||
SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$m, \
|
||||
DEST := $($1_IMAGE_DIR)/$(LIBS_TARGET_SUBDIR), \
|
||||
FILES := $(call FindDebuginfoFiles, \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
|
||||
)) \
|
||||
$(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
|
||||
)
|
||||
|
||||
# No space before argument to avoid having to put $(strip ) everywhere in
|
||||
# implementation above.
|
||||
$(call SetupCopyDebuginfo,JDK)
|
||||
$(call SetupCopyDebuginfo,JRE)
|
||||
|
||||
################################################################################
|
||||
|
||||
# Include custom post hook here to make it possible to augment the target lists
|
||||
|
@ -268,8 +268,13 @@ else # HAS_SPEC=true
|
||||
##############################################################################
|
||||
|
||||
MAIN_TARGETS := $(SEQUENTIAL_TARGETS) $(PARALLEL_TARGETS) $(COMPARE_BUILD_MAKE)
|
||||
# If building the default target, add what they are to the description.
|
||||
DESCRIPTION_TARGETS := $(strip $(MAIN_TARGETS))
|
||||
ifeq ($(DESCRIPTION_TARGETS), default)
|
||||
DESCRIPTION_TARGETS += ($(DEFAULT_MAKE_TARGET))
|
||||
endif
|
||||
TARGET_DESCRIPTION := target$(if $(word 2, $(MAIN_TARGETS)),s) \
|
||||
'$(strip $(MAIN_TARGETS))' in configuration '$(CONF_NAME)'
|
||||
'$(strip $(DESCRIPTION_TARGETS))' in configuration '$(CONF_NAME)'
|
||||
|
||||
# MAKEOVERRIDES is automatically set and propagated by Make to sub-Make calls.
|
||||
# We need to clear it of the init-specific variables. The user-specified
|
||||
|
@ -1580,7 +1580,7 @@ JDKNET_OPTIONS_FILE = $(DOCSTMPDIR)/jdknet.options
|
||||
JDKNET_PACKAGES_FILE = $(DOCSTMPDIR)/jdknet.packages
|
||||
|
||||
# The modules required to be documented
|
||||
JDKNET_MODULES = java.base
|
||||
JDKNET_MODULES = jdk.net
|
||||
|
||||
jdknetdocs: $(JDKNET_INDEX_HTML)
|
||||
|
||||
|
@ -108,8 +108,8 @@ SRC_JDK_MACOSX_BUNDLE_DIR := $(JDK_MACOSX_BUNDLE_DIR)
|
||||
SRC_JRE_MACOSX_BUNDLE_DIR := $(JRE_MACOSX_BUNDLE_DIR)
|
||||
|
||||
# Bundle up the images
|
||||
JPRT_TARGET ?= all
|
||||
ifeq ($(JPRT_TARGET), all)
|
||||
JPRT_TARGET ?= default
|
||||
ifeq ($(JPRT_TARGET), default)
|
||||
bundles: $(JPRT_TARGET)
|
||||
@$(call TargetEnter)
|
||||
$(MKDIR) -p $(BUILD_OUTPUT)/bundles
|
||||
|
@ -340,10 +340,10 @@ docs-javadoc:
|
||||
docs-jvmtidoc:
|
||||
+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk jvmtidocs)
|
||||
|
||||
zip-docs: docs-javadoc docs-jvmtidoc
|
||||
zip-docs:
|
||||
+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk zip-docs)
|
||||
|
||||
ALL_TARGETS += docs-javadoc docs-jvmtidoc
|
||||
ALL_TARGETS += docs-javadoc docs-jvmtidoc zip-docs
|
||||
|
||||
################################################################################
|
||||
# Cross compilation support
|
||||
@ -602,6 +602,8 @@ else
|
||||
|
||||
docs-jvmtidoc: hotspot
|
||||
|
||||
zip-docs: docs-javadoc docs-jvmtidoc
|
||||
|
||||
test: jimages test-image
|
||||
|
||||
create-buildjdk-copy: jdk.jlink-java java.base-gendata
|
||||
@ -703,7 +705,7 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
endif
|
||||
|
||||
# This target builds the documentation image
|
||||
docs-image: zip-docs
|
||||
docs-image: docs-javadoc docs-jvmtidoc
|
||||
|
||||
# This target builds the test image
|
||||
test-image: prepare-test-image test-image-hotspot-jtreg-native \
|
||||
@ -727,7 +729,7 @@ images: product-images
|
||||
docs: docs-image
|
||||
all: all-images
|
||||
|
||||
ALL_TARGETS += default jdk images docs all zip-docs
|
||||
ALL_TARGETS += default jdk images docs all
|
||||
|
||||
################################################################################
|
||||
################################################################################
|
||||
@ -829,6 +831,10 @@ create-main-targets-include:
|
||||
|
||||
################################################################################
|
||||
|
||||
|
||||
# workaround issue when building open targets when closed jib-profiles.js is used
|
||||
installer: product-images test-image
|
||||
|
||||
.PHONY: $(ALL_TARGETS)
|
||||
|
||||
FRC: # Force target
|
||||
|
@ -63,6 +63,7 @@ BOOT_MODULES += \
|
||||
java.xml.crypto \
|
||||
jdk.httpserver \
|
||||
jdk.management \
|
||||
jdk.net \
|
||||
jdk.sctp \
|
||||
jdk.security.auth \
|
||||
jdk.security.jgss \
|
||||
@ -185,7 +186,8 @@ FindAllModules = \
|
||||
$(call GetModuleNameFromModuleInfo, $(MODULE_INFOS))))
|
||||
|
||||
FindImportedModules = \
|
||||
$(if $(IMPORT_MODULES_CLASSES), $(notdir $(wildcard $(IMPORT_MODULES_CLASSES)/*)))
|
||||
$(filter-out $(MODULES_FILTER), \
|
||||
$(if $(IMPORT_MODULES_CLASSES), $(notdir $(wildcard $(IMPORT_MODULES_CLASSES)/*))))
|
||||
|
||||
# Find all source dirs for a particular module
|
||||
# $1 - Module to find source dirs for
|
||||
|
Loading…
x
Reference in New Issue
Block a user