--- old/common/autoconf/generated-configure.sh 2016-01-13 14:41:01.882407075 +0100 +++ new/common/autoconf/generated-configure.sh 2016-01-13 14:41:01.778402707 +0100 @@ -4810,7 +4810,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1452261921 +DATE_WHEN_GENERATED=1452680653 ############################################################################### # --- old/make/BuildStatic.gmk 2016-01-13 14:41:02.958452279 +0100 +++ new/make/BuildStatic.gmk 2016-01-13 14:41:02.878448918 +0100 @@ -41,7 +41,7 @@ $(SUPPORT_OUTPUTDIR)/modules_libs/$(module)/$(module).symbols) $(GLOBAL_SYMBOLS_FILE): $(MODULES_SYMBOLS_FILES) - $(ECHO) $(LOG_INFO) "Generating global exported.symbols file" + $(call LogInfo, Generating global exported.symbols file) $(MKDIR) -p $(@D) $(CAT) $^ > $@ --- old/make/HotspotWrapper.gmk 2016-01-13 14:41:03.326467738 +0100 +++ new/make/HotspotWrapper.gmk 2016-01-13 14:41:03.242464209 +0100 @@ -35,14 +35,18 @@ default: all -# Get all files except .hg in the hotspot directory. -HOTSPOT_FILES := $(shell $(FIND) -L $(HOTSPOT_TOPDIR) -name ".hg" -prune -o -print) +# Get all files in src, make or agent subdirs in hotspot directory and +# filter out .hg. This skips the test directory. +HOTSPOT_FILES := $(shell $(FIND) -L \ + $(HOTSPOT_TOPDIR)/src $(HOTSPOT_TOPDIR)/make $(HOTSPOT_TOPDIR)/agent \ + -name ".hg" -prune -o -print) # The old build creates hotspot output dir before calling hotspot and # not doing it breaks builds on msys. $(HOTSPOT_OUTPUTDIR)/_hotspot.timestamp: $(HOTSPOT_FILES) @$(MKDIR) -p $(HOTSPOT_OUTPUTDIR) - @($(CD) $(HOTSPOT_TOPDIR)/make && $(MAKE) $(HOTSPOT_MAKE_ARGS) LOG_LEVEL=$(LOG_LEVEL) SPEC=$(HOTSPOT_SPEC) BASE_SPEC=$(BASE_SPEC)) + @($(CD) $(HOTSPOT_TOPDIR)/make && $(MAKE) $(HOTSPOT_MAKE_ARGS) \ + LOG_LEVEL=$(LOG_LEVEL) SPEC=$(HOTSPOT_SPEC) BASE_SPEC=$(BASE_SPEC)) $(TOUCH) $@ hotspot: $(HOTSPOT_OUTPUTDIR)/_hotspot.timestamp --- old/make/Images.gmk 2016-01-13 14:41:03.706483703 +0100 +++ new/make/Images.gmk 2016-01-13 14:41:03.622480174 +0100 @@ -248,38 +248,38 @@ endif $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% - $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(install-file) $(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% - $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(install-file) $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% - $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(install-file) $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% - $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(install-file) ifeq ($(OPENJDK_TARGET_OS), solaris) $(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% - $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(install-file) $(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% - $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(install-file) endif ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), ) $(JRE_IMAGE_DIR)/man/ja: - $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja $(JDK_IMAGE_DIR)/man/ja: - $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja endif @@ -333,7 +333,7 @@ # Processing license files from source area to image area # These are modified to have the platform specific EOL chars. define process-doc-file - $(ECHO) $(LOG_INFO) Processing $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Processing $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(MKDIR) -p $(@D) $(RM) $@ LC_ALL=C $(SED) 's/$$//g' $< > $@ @@ -378,7 +378,7 @@ # Param 1 - The file containing the MODULES list define prepare-info-file - $(ECHO) $(LOG_INFO) Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(MKDIR) -p $(@D) $(RM) $@ endef @@ -426,38 +426,30 @@ # src.zip $(JDK_IMAGE_DIR)/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip - $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(install-file) JDK_TARGETS += $(JDK_IMAGE_DIR)/src.zip ################################################################################ # /demo dir - -# The db demo contains an empty dir that needs to be copied. The other -# directories will always trigger the rule for recompile since -# _the.list_of_packages files are touched. ifneq ($(findstring images, $(MAKECMDGOALS)), ) - $(JDK_IMAGE_DIR)/demo/%: $(SUPPORT_OUTPUTDIR)/demos/image/% - if [ ! -d "$@" ]; then \ - $(ECHO) $(LOG_INFO) Copying '$(patsubst $(OUTPUT_ROOT)/%,%,$@)'; \ - $(MKDIR) -p $(@D); \ - if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) '$<' '$@'; fi \ - fi - - # Find all files including directories - JDK_DEMO_TARGETS := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demos/image), \ - $(patsubst $(SUPPORT_OUTPUTDIR)/demos/image/%, $(JDK_IMAGE_DIR)/demo/%, \ - $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demos/image \ - ! \( -name "_the*" -o -name "javac_state" \) ))) + $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \ + SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \ + DEST := $(JDK_IMAGE_DIR)/demo, \ + FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demos/image), \ + $(call DoubleDollar, $(call DoubleDollar, \ + $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demos/image \ + -type f -a ! \( -name "_the*" -o -name "javac_state" \) )))), \ + )) - JDK_TARGETS += $(JDK_DEMO_TARGETS) + JDK_TARGETS += $(JDK_COPY_DEMOS) endif ################################################################################ # /sample dir -$(eval $(call SetupCopyFiles,COPY_SAMPLES, \ +$(eval $(call SetupCopyFiles, COPY_SAMPLES, \ SRC := $(SUPPORT_OUTPUTDIR)/sample/image, \ DEST := $(JDK_IMAGE_DIR)/sample, \ FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/sample/image), \ --- old/make/Init.gmk 2016-01-13 14:41:04.090499834 +0100 +++ new/make/Init.gmk 2016-01-13 14:41:04.006496305 +0100 @@ -184,6 +184,7 @@ , \ ( cd $(topdir) && \ $(foreach spec, $(SPECS), \ + $(call GenerateModuleDeps, $(spec)) && \ $(MAKE) $(MFLAGS) $(MAKE_LOG_FLAGS) -r -R -j 1 -f $(topdir)/make/Init.gmk \ SPEC=$(spec) HAS_SPEC=true $(MAKE_INIT_WITH_SPEC_ARGUMENTS) \ main && \ @@ -191,6 +192,7 @@ $(MAKE) $(MFLAGS) $(MAKE_LOG_FLAGS) -r -R -f $(topdir)/make/Init.gmk \ SPEC=$(spec) HAS_SPEC=true ACTUAL_TOPDIR=$(topdir) \ COMPARE_BUILD="$(COMPARE_BUILD)" pre-compare-build && \ + $(call GenerateModuleDeps, $(spec)) && \ $(MAKE) $(MFLAGS) $(MAKE_LOG_FLAGS) -r -R -j 1 -f $(topdir)/make/Init.gmk \ SPEC=$(spec) HAS_SPEC=true $(MAKE_INIT_WITH_SPEC_ARGUMENTS) \ COMPARE_BUILD="$(COMPARE_BUILD)" main && \ @@ -226,8 +228,8 @@ $(eval $(call ParseCompareBuild)) ifeq ($(LOG_NOFILE), true) - # Disable log wrapper if LOG=[level,]nofile was given - override BUILD_LOG_WRAPPER := + # Disable build log if LOG=[level,]nofile was given + override BUILD_LOG_PIPE := endif ifeq ($(OUTPUT_SYNC_SUPPORTED), true) @@ -277,10 +279,10 @@ ifneq ($(SEQUENTIAL_TARGETS)$(PARALLEL_TARGETS), ) $(call RotateLogFiles) $(call PrepareFailureLogs) - $(BUILD_LOG_WRAPPER) $(PRINTF) "Building $(TARGET_DESCRIPTION)\n" + $(PRINTF) "Building $(TARGET_DESCRIPTION)\n" $(BUILD_LOG_PIPE) ifneq ($(SEQUENTIAL_TARGETS), ) # Don't touch build output dir since we might be cleaning. That - # means no log wrapper. + # means no log pipe. ( cd $(TOPDIR) && \ $(MAKE) $(MAKE_ARGS) -j 1 -f make/Main.gmk $(USER_MAKE_VARS) \ $(SEQUENTIAL_TARGETS) ) @@ -289,11 +291,12 @@ $(call StartGlobalTimer) $(call PrepareSmartJavac) ( cd $(TOPDIR) && \ - $(BUILD_LOG_WRAPPER) $(NICE) $(MAKE) $(MAKE_ARGS) $(OUTPUT_SYNC_FLAG) \ + $(NICE) $(MAKE) $(MAKE_ARGS) $(OUTPUT_SYNC_FLAG) \ -j $(JOBS) -f make/Main.gmk $(USER_MAKE_VARS) \ - $(PARALLEL_TARGETS) $(COMPARE_BUILD_MAKE) || \ - ( exitcode=$$? && $(BUILD_LOG_WRAPPER) \ - $(PRINTF) "\nERROR: Build failed for $(TARGET_DESCRIPTION) (exit code $$exitcode) \n" && \ + $(PARALLEL_TARGETS) $(COMPARE_BUILD_MAKE) $(BUILD_LOG_PIPE) || \ + ( exitcode=$$? && \ + $(PRINTF) "\nERROR: Build failed for $(TARGET_DESCRIPTION) (exit code $$exitcode) \n" \ + $(BUILD_LOG_PIPE) && \ cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -j 1 -f make/Init.gmk \ HAS_SPEC=true on-failure ; \ exit $$exitcode ) ) @@ -301,7 +304,7 @@ $(call StopGlobalTimer) $(call ReportBuildTimes) endif - $(BUILD_LOG_WRAPPER) $(PRINTF) "Finished building $(TARGET_DESCRIPTION)\n" + $(PRINTF) "Finished building $(TARGET_DESCRIPTION)\n" $(BUILD_LOG_PIPE) endif on-failure: --- old/make/InitSupport.gmk 2016-01-13 14:41:04.458515294 +0100 +++ new/make/InitSupport.gmk 2016-01-13 14:41:04.378511933 +0100 @@ -155,7 +155,7 @@ else ifeq ($$(LOG_LEVEL), debug) MAKE_LOG_FLAGS := else ifeq ($$(LOG_LEVEL), trace) - MAKE_LOG_FLAGS := -d + MAKE_LOG_FLAGS := else $$(info Error: LOG must be one of: warn, info, debug or trace.) $$(error Cannot continue) @@ -235,11 +235,15 @@ $$(foreach var, $$(all_confs), $$(info * $$(var))) $$(error Cannot continue) else - ifeq ($$(words $$(matching_confs)), 1) - $$(info Building configuration '$$(matching_confs)' (matching CONF=$$(CONF))) - else - $$(info Building these configurations (matching CONF=$$(CONF)):) - $$(foreach var, $$(matching_confs), $$(info * $$(var))) + # Don't repeat this output on make restarts caused by including + # generated files. + ifeq ($$(MAKE_RESTARTS),) + ifeq ($$(words $$(matching_confs)), 1) + $$(info Building configuration '$$(matching_confs)' (matching CONF=$$(CONF))) + else + $$(info Building these configurations (matching CONF=$$(CONF)):) + $$(foreach var, $$(matching_confs), $$(info * $$(var))) + endif endif endif @@ -262,6 +266,13 @@ endif endef + # Param 1: SPEC file to use + define GenerateModuleDeps + ( cd $(topdir) && \ + $(MAKE) $(MAKE_LOG_FLAGS) -r -R -f $(topdir)/make/GenerateModuleDeps.gmk \ + -I $(topdir)/make/common SPEC=$(strip $1) LOG_LEVEL=$(LOG_LEVEL) ) + endef + # Extract main targets from Main.gmk using the spec provided in $2. # # Param 1: FORCE = force generation of main-targets.gmk or LAZY = do not force. @@ -274,17 +285,21 @@ # thus generating it fresh, and make will restart, incrementing the restart # count. main_targets_file := $$(dir $(strip $2))make-support/main-targets.gmk + module_deps_file := $$(dir $(strip $2))make-support/module-deps.gmk ifeq ($$(MAKE_RESTARTS),) # Only do this if make has not been restarted, and if we do not force it. ifeq ($(strip $1), FORCE) - $$(shell rm -f $$(main_targets_file)) + $$(shell rm -f $$(main_targets_file) $$(module_deps_file)) endif endif - $$(main_targets_file): + $$(module_deps_file): + @$$(call GenerateModuleDeps, $2) + + $$(main_targets_file): $$(module_deps_file) @( cd $$(topdir) && \ - $$(MAKE) $$(MAKE_LOG_FLAGS) -r -R -f $$(topdir)/make/Main.gmk \ + $$(MAKE) $$(MAKE_LOG_FLAGS) -r -R -f $$(topdir)/make/Main.gmk \ -I $$(topdir)/make/common SPEC=$(strip $2) NO_RECIPES=true \ LOG_LEVEL=$$(LOG_LEVEL) \ create-main-targets-include ) @@ -313,7 +328,7 @@ BUILD_LOG := $(OUTPUT_ROOT)/build.log BUILD_TRACE_LOG := $(OUTPUT_ROOT)/build-trace-time.log - BUILD_LOG_WRAPPER := $(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG) + BUILD_LOG_PIPE := > >($(TEE) -a $(BUILD_LOG)) 2> >($(TEE) -a $(BUILD_LOG) >&2) # Sanity check the spec file, so it matches this source code define CheckSpecSanity @@ -455,7 +470,7 @@ endef define RotateLogFiles - $(RM) $(BUILD_LOG).old 2> /dev/null + $(RM) $(BUILD_LOG).old 2> /dev/null && \ $(MV) $(BUILD_LOG) $(BUILD_LOG).old 2> /dev/null || true $(if $(findstring trace, $(LOG_LEVEL)), \ $(RM) $(BUILD_TRACE_LOG).old 2> /dev/null && \ @@ -464,7 +479,7 @@ endef define PrepareFailureLogs - $(RM) -r $(MAKESUPPORT_OUTPUTDIR)/failure-logs 2> /dev/null + $(RM) -r $(MAKESUPPORT_OUTPUTDIR)/failure-logs 2> /dev/null && \ $(MKDIR) -p $(MAKESUPPORT_OUTPUTDIR)/failure-logs endef @@ -483,8 +498,8 @@ endef define StartGlobalTimer - $(RM) -r $(BUILDTIMESDIR) 2> /dev/null - $(MKDIR) -p $(BUILDTIMESDIR) + $(RM) -r $(BUILDTIMESDIR) 2> /dev/null && \ + $(MKDIR) -p $(BUILDTIMESDIR) && \ $(call RecordStartTime,TOTAL) endef @@ -495,13 +510,14 @@ # Find all build_time_* files and print their contents in a list sorted # on the name of the sub repository. define ReportBuildTimes - $(BUILD_LOG_WRAPPER) $(PRINTF) $(LOG_INFO) -- \ + $(PRINTF) $(LOG_INFO) -- \ "----- Build times -------\nStart %s\nEnd %s\n%s\n%s\n-------------------------\n" \ "`$(CAT) $(BUILDTIMESDIR)/build_time_start_TOTAL_human_readable`" \ "`$(CAT) $(BUILDTIMESDIR)/build_time_end_TOTAL_human_readable`" \ "`$(LS) $(BUILDTIMESDIR)/build_time_diff_* | $(GREP) -v _TOTAL | \ $(XARGS) $(CAT) | $(SORT) -k 2`" \ - "`$(CAT) $(BUILDTIMESDIR)/build_time_diff_TOTAL`" + "`$(CAT) $(BUILDTIMESDIR)/build_time_diff_TOTAL`" \ + $(BUILD_LOG_PIPE) endef endif # HAS_SPEC --- old/make/MacBundles.gmk 2016-01-13 14:41:04.830530922 +0100 +++ new/make/MacBundles.gmk 2016-01-13 14:41:04.750527561 +0100 @@ -57,23 +57,23 @@ # Copy empty directories (jre/lib/applet). $(JDK_MACOSX_BUNDLE_DIR)/Home/%: $(JDK_IMAGE_DIR)/% - $(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) $(LOG_INFO) + $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(MKDIR) -p $(@D) if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -P '$<' '$@'; fi $(JRE_MACOSX_BUNDLE_DIR)/Home/%: $(JRE_IMAGE_DIR)/% - $(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) $(LOG_INFO) + $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(MKDIR) -p $(@D) if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -P '$<' '$@'; fi $(JDK_MACOSX_BUNDLE_DIR)/MacOS/libjli.dylib: - $(ECHO) Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@) $(LOG_INFO) + $(call LogInfo, Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(MKDIR) -p $(@D) $(RM) $@ $(LN) -s ../Home/lib/jli/libjli.dylib $@ $(JRE_MACOSX_BUNDLE_DIR)/MacOS/libjli.dylib: - $(ECHO) Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@) $(LOG_INFO) + $(call LogInfo, Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(MKDIR) -p $(@D) $(RM) $@ $(LN) -s ../Home/lib/jli/libjli.dylib $@ --- old/make/Main.gmk 2016-01-13 14:41:05.202546550 +0100 +++ new/make/Main.gmk 2016-01-13 14:41:05.122543189 +0100 @@ -78,7 +78,7 @@ +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimCLDRConverter.gmk) buildtools-jdk: - +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Tools.gmk java-tools) + +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileTools.gmk) ALL_TARGETS += buildtools-langtools interim-langtools \ interim-rmic interim-cldrconverter buildtools-jdk @@ -218,7 +218,7 @@ # used to track the exact sources used to build that image. source-tips: $(SUPPORT_OUTPUTDIR)/source_tips $(SUPPORT_OUTPUTDIR)/source_tips: FRC - @$(MKDIR) -p $(@D) + $(call MakeDir, $(@D)) @$(RM) $@ @$(call GetSourceTips) @@ -656,7 +656,7 @@ @$(ECHO) $(sort $(ALL_MODULES)) create-main-targets-include: - @$(ECHO) $(LOG_INFO) Generating main target list + $(call LogInfo, Generating main target list) @$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \ $(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk --- old/make/MainSupport.gmk 2016-01-13 14:41:05.570562010 +0100 +++ new/make/MainSupport.gmk 2016-01-13 14:41:05.490558649 +0100 @@ -141,7 +141,6 @@ else $2-$$($1_TARGET_SUFFIX): endif - $(ECHO) $(LOG_INFO) "Building $$@" ifeq ($$($1_USE_WRAPPER), true) +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) \ -f ModuleWrapper.gmk \ --- old/make/StripBinaries.gmk 2016-01-13 14:41:05.938577469 +0100 +++ new/make/StripBinaries.gmk 2016-01-13 14:41:05.854573940 +0100 @@ -40,8 +40,8 @@ ifneq ($(STRIP), ) define StripRecipe - $(ECHO) Stripping $(LOG_INFO) $(patsubst $(OUTPUT_ROOT)/%,%,$<) - $(MKDIR) -p $(@D) + $(call LogInfo, Stripping $(patsubst $(OUTPUT_ROOT)/%,%,$<)) + $(call MakeDir, $(@D)) $(CP) $< $@.tmp $(CHMOD) u+w $@.tmp $(STRIP) $(STRIPFLAGS) $@.tmp --- old/make/common/IdlCompilation.gmk 2016-01-13 14:41:06.306592929 +0100 +++ new/make/common/IdlCompilation.gmk 2016-01-13 14:41:06.226589568 +0100 @@ -56,10 +56,9 @@ $4_OLDIMPLBASE_MSG:=with -oldImplBase endif $5 : $4 - $(MKDIR) -p $3/$$($4_TMPDIR) + $$(call LogInfo, Compiling IDL $(patsubst $2/%,%,$4)) + $$(call MakeDir, $$(@D)) $(RM) -rf $3/$$($4_TMPDIR) - $(MKDIR) -p $(dir $5) - $(ECHO) $(LOG_INFO) Compiling IDL $(patsubst $2/%,%,$4) $8 -td $3/$$($4_TMPDIR) \ -i $2/org/omg/CORBA \ -i $2/org/omg/PortableInterceptor \ --- old/make/common/MakeBase.gmk 2016-01-13 14:41:06.674608389 +0100 +++ new/make/common/MakeBase.gmk 2016-01-13 14:41:06.594605028 +0100 @@ -86,8 +86,7 @@ # Record starting time for build of a sub repository. define RecordStartTime - $(MKDIR) -p $(BUILDTIMESDIR) - $(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$(strip $1) + $(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$(strip $1) && \ $(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$(strip $1)_human_readable endef @@ -233,6 +232,7 @@ endef endif # HAS_FILE_FUNCTION +################################################################################ # The source tips can come from the Mercurial repository, or in the files # $(HGTIP_FILENAME) which contains the tip but is also positioned in the same # directory as the original $(HGDIR) directory. @@ -264,12 +264,14 @@ $(PRINTF) "\n" >> $@ endef -# Create the HGTIP_FILENAME file. Called from jdk/make/closed/bundles.gmk +# Create the HGTIP_FILENAME file. Called from closed/make/SourceBundles.gmk define CreateHgTip $(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME); \ $(ECHO) $1/$(HGTIP_FILENAME) endef +################################################################################ + define SetupLogging ifeq ($$(LOG_LEVEL), trace) # Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make @@ -368,9 +370,9 @@ ################################################################################ # Make directory without forking mkdir if not needed +# 1: List of directories to create MakeDir = \ - $(strip $(if $(subst $(wildcard $1 $2 $3 $4 $5 $6 $7 $8 $9),,$(strip $1 $2 $3 $4 $5 $6 $7 $8 $9)),\ - $(shell $(MKDIR) -p $1 $2 $3 $4 $5 $6 $7 $8 $9))) + $(strip $(if $(wildcard $1), , $(shell $(MKDIR) -p $1))) ################################################################################ # Assign a variable only if it is empty @@ -418,7 +420,8 @@ # Running mkdir and cp in the same shell speeds up copy intensive tasks in Cygwin # significantly. define install-file - $(MKDIR) -p '$(@D)' && $(CP) -fP '$<' '$@' + $(call MakeDir, $(@D)) + $(CP) -fP '$<' '$@' endef endif @@ -518,9 +521,9 @@ # Param 1 - Dirs to find in # Param 2 - (optional) specialization. Normally "-a \( ... \)" expression. define CacheFind - $(if $(filter-out $(addsuffix /%,- $(FIND_CACHE_DIRS)) $(FIND_CACHE_DIRS),$1), \ + $(if $(filter-out $(addsuffix /%,- $(FIND_CACHE_DIRS)) $(FIND_CACHE_DIRS),$1), \ $(shell $(FIND) $1 \( -type f -o -type l \) $2), \ - $(filter $(addsuffix /%,$(patsubst %/,%,$1)) $1,$(FIND_CACHE))) + $(filter $(addsuffix /%,$(patsubst %/,%,$1)) $1,$(FIND_CACHE))) endef else @@ -541,7 +544,7 @@ # 3 : Variable to add targets to # 4 : Macro to call for copy operation $2: $1 - $(ECHO) $(LOG_INFO) Copying $$(patsubst $(OUTPUT_ROOT)/%,%,$$@) + $$(call LogInfo, Copying $$(patsubst $(OUTPUT_ROOT)/%,%,$$@)) $$($$(strip $4)) $3 += $2 @@ -686,8 +689,10 @@ # Param 2 - A compact but representative name to describe this command # Param 3 - Command to run LogFailures = \ - ( ($(BASH) $(SRC_ROOT)/common/bin/logger.sh $1 $3 && $(RM) $1) || \ - (exitcode=$(DOLLAR)$(DOLLAR)? && $(MV) $1 $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(strip $2).log && exit $(DOLLAR)$(DOLLAR)exitcode) ) + ( $3 > >($(TEE) $1) 2> >($(TEE) $1 >&2) || \ + (exitcode=$(DOLLAR)$(DOLLAR)? && \ + $(CP) $1 $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(strip $2).log && \ + exit $(DOLLAR)$(DOLLAR)exitcode) ) ################################################################################ # Find lib dir for module --- old/make/common/Modules.gmk 2016-01-13 14:41:07.058624520 +0100 +++ new/make/common/Modules.gmk 2016-01-13 14:41:06.978621160 +0100 @@ -71,30 +71,9 @@ endef ################################################################################ - -$(eval $(call SetupJavaCompilation,BUILD_GENMODULESLIST, \ - SETUP := BOOT_JAVAC, \ - SRC := $(JDK_TOPDIR)/make/src/classes, \ - INCLUDES := build/tools/module, \ - EXCLUDE_FILES := ImageBuilder.java ModuleArchive.java, \ - BIN := $(MAKESUPPORT_OUTPUTDIR)/bt_classes_moduleslist, \ - DISABLE_SJAVAC := true)) - -TOOL_GENMODULESLIST = $(JAVA_SMALL) \ - -cp "$(MAKESUPPORT_OUTPUTDIR)/bt_classes_moduleslist" \ - build.tools.module.GenModulesList - -MODULES_LIST_FILE := $(MAKESUPPORT_OUTPUTDIR)/modules.list +# The module deps makefile is generated in make/GenerateModuleDeps.gmk MODULE_DEPS_MAKEFILE := $(MAKESUPPORT_OUTPUTDIR)/module-deps.gmk - -$(MODULES_LIST_FILE): $(SRC_ROOT)/modules.xml \ - $(BUILD_GENMODULESLIST) - $(TOOL_GENMODULESLIST) -o $@ $(filter %.xml, $^) - -$(MODULE_DEPS_MAKEFILE): $(MODULES_LIST_FILE) - $(CAT) $^ | $(SED) -e 's/^\([^:]*\):/DEPS_\1 :=/g' > $@ - --include $(MODULE_DEPS_MAKEFILE) +include $(MODULE_DEPS_MAKEFILE) # Param 1: Module to find deps for define FindDepsForModule --- old/make/common/NativeCompilation.gmk 2016-01-13 14:41:07.434640317 +0100 +++ new/make/common/NativeCompilation.gmk 2016-01-13 14:41:07.350636788 +0100 @@ -261,18 +261,17 @@ # The Visual Studio compiler lacks a feature for generating make dependencies, but by # setting -showIncludes, all included files are printed. These are filtered out and # parsed into make dependences. - # Keep as much as possible on one execution line for best performance on Windows - $(RM) $$($1_$2_DEP).exitvalue ; \ - ($(call LogFailures, $$($1_$2_OBJ).log, $$($1_SAFE_NAME)_$$(notdir $2), \ + # Keep as much as possible on one execution line for best performance on Windows. + # No need to save exit code from compilation since pipefail is always active on + # Windows. + $(call LogFailures, $$($1_$2_OBJ).log, $$($1_SAFE_NAME)_$$(notdir $2), \ $$($1_$2_COMP) $$($1_$2_FLAGS) -showIncludes $$($1_$2_DEBUG_OUT_FLAGS) \ - $(CC_OUT_OPTION)$$($1_$2_OBJ) $2) || echo $$$$? > $$($1_$2_DEP).exitvalue ) \ - | $(TEE) $$($1_$2_DEP).raw | $(GREP) -v -e "^Note: including file:" \ + $(CC_OUT_OPTION)$$($1_$2_OBJ) $2) \ + | $(GREP) -v -e "^Note: including file:" \ -e "^$(notdir $2)$$$$" || test "$$$$?" = "1" ; \ - ( test -s $$($1_$2_DEP).exitvalue \ - && exit `$(CAT) $$($1_$2_DEP).exitvalue` || true ) ; \ - ($(ECHO) $$@: \\ ; \ - $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_DEP).raw) \ - | $(SORT) -u > $$($1_$2_DEP) ; \ + $(ECHO) $$@: \\ > $$($1_$2_DEP) ; \ + $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_OBJ).log \ + | $(SORT) -u >> $$($1_$2_DEP) ; \ $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_$2_DEP) > $$($1_$2_DEP_TARGETS) endif endif @@ -658,14 +657,14 @@ $$($1_RES).vardeps) $$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE) - $(ECHO) $(LOG_INFO) "Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))" + $$(call LogInfo, Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))) $$($1_RC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \ $$($1_VERSIONINFO_RESOURCE) # Windows RC compiler does not support -showIncludes, so we mis-use CL for this. $$($1_CC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \ - $(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || exit 0 - ($(ECHO) $$($1_RES): \\ \ - && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw) > $$($1_RES_DEP) + $(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || true ; \ + $(ECHO) $$($1_RES): \\ > $$($1_RES_DEP) ; \ + $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw >> $$($1_RES_DEP) ; \ $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEP) > $$($1_RES_DEP_TARGETS) endif endif @@ -801,7 +800,7 @@ endif # Keep as much as possible on one execution line for best performance # on Windows - $(ECHO) $(LOG_INFO) "Linking $$($1_BASENAME)" ; \ + $$(call LogInfo, Linking $$($1_BASENAME)) $(call LogFailures, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link.log, $$($1_SAFE_NAME)_link, \ $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \ $(LD_OUT_OPTION)$$@ \ @@ -820,7 +819,7 @@ # Generating a static library, ie object file archive. $$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_VARDEPS_FILE) - $(ECHO) $(LOG_INFO) "Archiving $$($1_STATIC_LIBRARY)" + $$(call LogInfo, Archiving $$($1_STATIC_LIBRARY)) $(call LogFailures, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link.log, $$($1_SAFE_NAME)_link, \ $$($1_AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_ALL_OBJS) \ $$($1_RES)) @@ -842,7 +841,7 @@ $$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_MANIFEST) \ $$($1_VARDEPS_FILE) - $(ECHO) $(LOG_INFO) "Linking executable $$($1_BASENAME)" ; \ + $$(call LogInfo, Linking executable $$($1_BASENAME)) $(call LogFailures, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link.log, $$($1_SAFE_NAME)_link, \ $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \ $(EXE_OUT_OPTION)$$($1_TARGET) \ --- old/make/common/RMICompilation.gmk 2016-01-13 14:41:07.818656448 +0100 +++ new/make/common/RMICompilation.gmk 2016-01-13 14:41:07.738653087 +0100 @@ -68,15 +68,15 @@ $$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES) $$($1_DEP_FILE): $$($1_CLASS_FILES) - $(MKDIR) -p $$($1_STUB_CLASSES_DIR) - $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES) && \ + $$(call LogInfo, Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES)) + $$(call MakeDir, $$($1_STUB_CLASSES_DIR)) $(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \ -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \ if [ "x$$($1_ARGS2)" != "x" ]; then \ $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS2) for $$($1_DOLLAR_SAFE_CLASSES) && \ $(RMIC) $$($1_ARGS2) -classpath "$$($1_CLASSES_DIR)" \ -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \ - fi; + fi; \ $(TOUCH) $$@ --- old/make/common/TextFileProcessing.gmk 2016-01-13 14:41:08.178671572 +0100 +++ new/make/common/TextFileProcessing.gmk 2016-01-13 14:41:08.094668043 +0100 @@ -35,12 +35,12 @@ # param 4 = the target file name (possibly with a partial path) define SetupSingleTextFileForProcessing $(strip $3)/$(strip $4): $2 $$($1_VARDEPS_FILE) - $(ECHO) $(LOG_INFO) "Processing $(strip $4)" - $(MKDIR) -p '$$(@D)' - $(RM) '$$@' '$$@.includes.tmp' '$$@.replacements.tmp' - $$($1_INCLUDES_COMMAND_LINE) < '$$<' > '$$@.includes.tmp' - $$($1_REPLACEMENTS_COMMAND_LINE) < '$$@.includes.tmp' > '$$@.replacements.tmp' - $(RM) '$$@.includes.tmp' + $$(call LogInfo, Processing $(strip $4)) + $$(call MakeDir, $$(@D)) + $(RM) '$$@' '$$@.includes.tmp' '$$@.replacements.tmp' ; \ + $$($1_INCLUDES_COMMAND_LINE) < '$$<' > '$$@.includes.tmp' ; \ + $$($1_REPLACEMENTS_COMMAND_LINE) < '$$@.includes.tmp' > '$$@.replacements.tmp' ; \ + $(RM) '$$@.includes.tmp' ; \ $(MV) '$$@.replacements.tmp' '$$@' $1 += $(strip $3)/$(strip $4) --- old/corba/make/gensrc/Gensrc-java.corba.gmk 2016-01-13 14:41:08.538686696 +0100 +++ new/corba/make/gensrc/Gensrc-java.corba.gmk 2016-01-13 14:41:08.450682999 +0100 @@ -62,9 +62,9 @@ $(EXCEPTION_DIR)/%SystemException.java: \ $(CORBA_TOPDIR)/src/java.corba/share/classes/com/sun/corba/se/spi/logging/data/%.mc \ $(BUILD_TOOLS_CORBA) - $(MKDIR) -p $(@D) + $(call LogInfo, Generating class file from $*.mc) + $(call MakeDir, $(@D)) $(RM) -f $(@D)/_the_wrappers.d - $(ECHO) $(LOG_INFO) Generating class file from $*.mc $(TOOL_LOGUTIL_CMD) make-class $< $(@D) # Generate LogWrapper properties file by concatening resource files @@ -77,17 +77,17 @@ $(LOGWRAPPER_DIR)/ORBUtilSystemException.resource \ $(LOGWRAPPER_DIR)/POASystemException.resource \ $(LOGWRAPPER_DIR)/UtilSystemException.resource - $(MKDIR) -p $(@D) - $(ECHO) $(LOG_INFO) Concatenating 8 resource files into $(@F) + $(call LogInfo, Concatenating 8 resource files into $(@F)) + $(call MakeDir, $(@D)) $(CAT) $^ > $@ # The resources files are generated from lisp-like .mc files. $(LOGWRAPPER_DIR)/%SystemException.resource: \ $(CORBA_TOPDIR)/src/java.corba/share/classes/com/sun/corba/se/spi/logging/data/%.mc \ $(BUILD_TOOLS_CORBA) - $(MKDIR) -p $(@D) + $(call LogInfo, Generating resource file from $*.mc) + $(call MakeDir, $(@D)) $(RM) -f $(@D)/_the_wrappers.d - $(ECHO) $(LOG_INFO) Generating resource file from $*.mc $(TOOL_LOGUTIL_CMD) make-resource $< $(@D) @@ -240,4 +240,3 @@ all: $(BUILD_IDLS) $(LOGWRAPPER_TARGETS) \ $(SUPPORT_OUTPUTDIR)/gensrc/java.corba/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_HK.properties - --- old/jdk/make/CompileDemos.gmk 2016-01-13 14:41:09.010706524 +0100 +++ new/jdk/make/CompileDemos.gmk 2016-01-13 14:41:08.842699467 +0100 @@ -38,7 +38,8 @@ include ZipArchive.gmk # Prepare the find cache. -$(eval $(call FillCacheFind, $(JDK_TOPDIR)/src)) +$(eval $(call FillCacheFind, $(wildcard $(JDK_TOPDIR)/src/demo \ + $(JDK_TOPDIR)/src/*/demo))) # Append demo goals to this variable. TARGETS = --- old/jdk/make/CopySamples.gmk 2016-01-13 14:41:09.542728874 +0100 +++ new/jdk/make/CopySamples.gmk 2016-01-13 14:41:09.374721816 +0100 @@ -28,41 +28,38 @@ include $(SPEC) include MakeBase.gmk +################################################################################ + SAMPLE_TARGET_DIR := $(SUPPORT_OUTPUTDIR)/sample/image SAMPLE_SOURCE_DIR := $(JDK_TOPDIR)/src/sample/share -SAMPLE_CLOSED_SOURCE_DIR := $(JDK_TOPDIR)/src/closed/sample/share SAMPLE_SOLARIS_SOURCE_DIR := $(JDK_TOPDIR)/src/sample/solaris # Exclude the vm directory -SAMPLE_FIND_FILTER := -name vm -prune -o - -SAMPLE_SOURCE := $(shell $(FIND) $(SAMPLE_SOURCE_DIR) $(SAMPLE_FIND_FILTER) -type f -print) -SAMPLE_TARGET := $(subst $(SAMPLE_SOURCE_DIR),$(SAMPLE_TARGET_DIR),$(SAMPLE_SOURCE)) +$(eval $(call SetupCopyFiles, COPY_SHARE_SAMPLES, \ + SRC := $(SAMPLE_SOURCE_DIR), \ + DEST := $(SAMPLE_TARGET_DIR), \ + FILES := $(filter-out $(SAMPLE_SOURCE_DIR)/vm/%, \ + $(call CacheFind, $(SAMPLE_SOURCE_DIR))), \ +)) -ifndef OPENJDK -# Exclude Main.java in EbayClient dir - SAMPLE_CLOSED_SOURCE := $(shell $(FIND) $(SAMPLE_CLOSED_SOURCE_DIR) -type f -print | $(GREP) -v EbayClient/Main.java) - SAMPLE_CLOSED_TARGET := $(subst $(SAMPLE_CLOSED_SOURCE_DIR),$(SAMPLE_TARGET_DIR),$(SAMPLE_CLOSED_SOURCE)) - SAMPLE_TARGET += $(SAMPLE_CLOSED_TARGET) -endif +TARGETS += $(COPY_SHARE_SAMPLES) ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris macosx)) - SAMPLE_SOLARIS_SOURCE := $(shell $(FIND) $(SAMPLE_SOLARIS_SOURCE_DIR) -type f -print) - SAMPLE_SOLARIS_TARGET := $(subst $(SAMPLE_SOLARIS_SOURCE_DIR),$(SAMPLE_TARGET_DIR),$(SAMPLE_SOLARIS_SOURCE)) - SAMPLE_TARGET += $(SAMPLE_SOLARIS_TARGET) -endif + $(eval $(call SetupCopyFiles, COPY_SOLARIS_SAMPLES, \ + SRC := $(SAMPLE_SOLARIS_SOURCE_DIR), \ + DEST := $(SAMPLE_TARGET_DIR), \ + FILES := $(call CacheFind, $(SAMPLE_SOLARIS_SOURCE_DIR)), \ + )) -$(SAMPLE_TARGET_DIR)/dtrace/%: $(SAMPLE_SOLARIS_SOURCE_DIR)/dtrace/% - $(call install-file) + TARGETS += $(COPY_SOLARIS_SAMPLES) +endif -$(SAMPLE_TARGET_DIR)/webservices/%: $(SAMPLE_CLOSED_SOURCE_DIR)/webservices/% - $(call install-file) +################################################################################ -$(SAMPLE_TARGET_DIR)/%: $(SAMPLE_SOURCE_DIR)/% - $(call install-file) +$(eval $(call IncludeCustomExtension, jdk, CopySamples.gmk)) -COPY_FILES += $(SAMPLE_TARGET) +################################################################################ -all: $(COPY_FILES) +all: $(TARGETS) -.PHONY: all +.PHONY: all default --- old/jdk/make/Import.gmk 2016-01-13 14:41:10.050750215 +0100 +++ new/jdk/make/Import.gmk 2016-01-13 14:41:09.882743158 +0100 @@ -48,7 +48,7 @@ ifneq ($(STATIC_BUILD), true) JSIG_IMPORT = jsig.* else - JSIG_IMPORT = + JSIG_IMPORT = endif HOTSPOT_BASE_IMPORT_FILES := \ --- old/jdk/make/Tools.gmk 2016-01-13 14:41:10.562771725 +0100 +++ new/jdk/make/Tools.gmk 2016-01-13 14:41:10.390764499 +0100 @@ -26,31 +26,14 @@ ifndef _TOOLS_GMK _TOOLS_GMK := 1 -default: all - -include $(SPEC) -include MakeBase.gmk include JavaCompilation.gmk -include NativeCompilation.gmk -include SetupJavaCompilers.gmk ################################################################################ - -$(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \ - SETUP := GENERATE_OLDBYTECODE, \ - ADD_JAVAC_FLAGS := -Xbootclasspath/p:$(call PathList, \ - $(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes \ - $(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes), \ - SRC := $(JDK_TOPDIR)/make/src/classes $(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes, \ - BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \ - COPY := boot.modules ext.modules)) - -$(eval $(call SetupCopyFiles,COPY_NIMBUS_TEMPLATES, \ - SRC := $(JDK_TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus, \ - DEST := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes/build/tools/generatenimbus/resources, \ - FILES := $(wildcard $(JDK_TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus/*.template))) - -BUILD_TOOLS_JDK += $(COPY_NIMBUS_TEMPLATES) +# To avoid reevaluating the compilation setup for the tools each time this file +# is included, the actual compilation is handled by CompileTools.gmk. The +# following trick is used to be able to declare a dependency on the built tools. +BUILD_TOOLS_JDK := $(call SetupJavaCompilationCompileTarget, \ + BUILD_TOOLS_JDK, $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes) ################################################################################ @@ -135,34 +118,4 @@ -cp $(call PathList, $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes $(JDK_OUTPUTDIR)) \ build.tools.module.ImageBuilder -########################################################################################## - -JIMAGE_PKGS := \ - jdk/internal/jimage \ - jdk/internal/jrtfs \ - # - -$(eval $(call SetupJavaCompilation,BUILD_INTERIM_JIMAGE, \ - SETUP := GENERATE_OLDBYTECODE, \ - SRC := $(JDK_TOPDIR)/src/java.base/share/classes, \ - INCLUDES := $(JIMAGE_PKGS), \ - BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes)) - -# Because of the explicit INCLUDES in the compilation setup above, the service provider -# file will not be copied unless META-INF/services would also be added to the INCLUDES. -# Adding META-INF/services would include all files in that directory when only the one -# is needed, which is why this explicit copy is defined instead. -$(eval $(call SetupCopyFiles,COPY_JIMAGE_SERVICE_PROVIDER, \ - SRC := $(JDK_TOPDIR)/src/java.base/share/classes, \ - DEST := $(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes, \ - FILES := META-INF/services/java.nio.file.spi.FileSystemProvider)) - -########################################################################################## - -$(BUILD_TOOLS_JDK): $(BUILD_INTERIM_JIMAGE) $(COPY_JIMAGE_SERVICE_PROVIDER) - -java-tools: $(BUILD_TOOLS_JDK) - -all: java-tools - endif # _TOOLS_GMK --- old/jdk/make/copy/Copy-java.base.gmk 2016-01-13 14:41:11.074793234 +0100 +++ new/jdk/make/copy/Copy-java.base.gmk 2016-01-13 14:41:10.910786344 +0100 @@ -187,27 +187,31 @@ ifeq ($(CACERTS_FILE), ) CACERTS_FILE := $(JDK_TOPDIR)/src/java.base/share/conf/security/cacerts endif + CACERTS_DST := $(LIB_DST_DIR)/security/cacerts $(CACERTS_DST): $(CACERTS_FILE) + $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%, %, $@)) $(call install-file) TARGETS += $(CACERTS_DST) ################################################################################ -$(CONF_DST_DIR)/net.properties: $(JDK_TOPDIR)/src/java.base/share/conf/net.properties - $(ECHO) $(LOG_INFO) Copying $(@F) - $(call install-file) +$(eval $(call SetupCopyFiles, COPY_NET_PROPERTIES, \ + FILES := $(JDK_TOPDIR)/src/java.base/share/conf/net.properties, \ + DEST := $(CONF_DST_DIR), \ +)) -TARGETS += $(CONF_DST_DIR)/net.properties +TARGETS += $(COPY_NET_PROPERTIES) ifeq ($(OPENJDK_TARGET_OS), solaris) - $(CONF_DST_DIR)/sdp/sdp.conf.template: $(JDK_TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/conf/sdp/sdp.conf.template - $(ECHO) $(LOG_INFO) Copying $(@F) - $(call install-file) + $(eval $(call SetupCopyFiles, COPY_SDP_CONF, \ + FILES := $(JDK_TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/conf/sdp/sdp.conf.template, \ + DEST := $(CONF_DST_DIR)/sdp, \ + )) - TARGETS += $(CONF_DST_DIR)/sdp/sdp.conf.template + TARGETS += $(COPY_SDP_CONF) endif ################################################################################ --- old/jdk/make/gendata/GendataBreakIterator.gmk 2016-01-13 14:41:11.654817600 +0100 +++ new/jdk/make/gendata/GendataBreakIterator.gmk 2016-01-13 14:41:11.486810542 +0100 @@ -68,8 +68,8 @@ $(BIFILES): $(BASE_DATA_PKG_DIR)/_the.bifiles $(BASE_DATA_PKG_DIR)/_the.bifiles: JAVA_FLAGS += -Xbootclasspath/p:$(BREAK_ITERATOR_CLASSES) $(BASE_DATA_PKG_DIR)/_the.bifiles: $(BUILD_TOOLS) $(UNICODEDATA) $(BUILD_BREAKITERATOR) - $(ECHO) $(LOG_INFO) "Generating BreakIteratorData" - $(MKDIR) -p $(@D) + $(call LogInfo, Generating BreakIteratorData) + $(call MakeDir, $(@D)) $(RM) $(BIFILES) $(TOOL_GENERATEBREAKITERATORDATA) \ -o $(@D) \ @@ -79,8 +79,8 @@ $(BIFILES_TH): $(LD_DATA_PKG_DIR)/_the.bifiles_th $(LD_DATA_PKG_DIR)/_the.bifiles_th: JAVA_FLAGS += -Xbootclasspath/p:$(BREAK_ITERATOR_CLASSES) $(LD_DATA_PKG_DIR)/_the.bifiles_th: $(BUILD_TOOLS) $(UNICODEDATA) $(BUILD_BREAKITERATOR) - $(ECHO) $(LOG_INFO) "Generating BreakIteratorData_th" - $(MKDIR) -p $(@D)/th + $(call LogInfo, Generating BreakIteratorData_th) + $(call MakeDir, $(@D)/th) $(RM) $(BIFILES_TH) $(TOOL_GENERATEBREAKITERATORDATA) \ -o $(@D) \ --- old/jdk/make/gendata/GendataHtml32dtd.gmk 2016-01-13 14:41:12.242842302 +0100 +++ new/jdk/make/gendata/GendataHtml32dtd.gmk 2016-01-13 14:41:12.078835412 +0100 @@ -27,7 +27,7 @@ HTML32DTD = $(JDK_OUTPUTDIR)/modules/java.desktop/javax/swing/text/html/parser/html32.bdtd $(HTML32DTD): $(BUILD_TOOLS_JDK) - $(ECHO) "Generating HTML DTD file" + $(call LogInfo, Generating HTML DTD file) $(MKDIR) -p $(@D) $(RM) $@ ($(TOOL_DTDBUILDER) $(LOG_INFO) html32 > $@) || exit 1 --- old/jdk/make/gendata/GendataPolicyJars.gmk 2016-01-13 14:41:12.758863979 +0100 +++ new/jdk/make/gendata/GendataPolicyJars.gmk 2016-01-13 14:41:12.586856753 +0100 @@ -87,8 +87,7 @@ $(US_EXPORT_POLICY_JAR_LIMITED): \ $(US_EXPORT_POLICY_JAR_UNLIMITED) - $(ECHO) $(LOG_INFO) \ - Copying unlimited $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(call LogInfo, Copying unlimited $(patsubst $(OUTPUT_ROOT)/%,%,$@)) $(install-file) TARGETS += $(US_EXPORT_POLICY_JAR_LIMITED) $(US_EXPORT_POLICY_JAR_UNLIMITED) @@ -99,7 +98,7 @@ else $(US_EXPORT_POLICY_JAR_DST): $(US_EXPORT_POLICY_JAR_LIMITED) $(install-file) -endif +endif ifndef OPENJDK ifneq ($(UNLIMITED_CRYPTO), true) --- old/jdk/make/gensrc/Gensrc-jdk.charsets.gmk 2016-01-13 14:41:13.270885488 +0100 +++ new/jdk/make/gensrc/Gensrc-jdk.charsets.gmk 2016-01-13 14:41:13.102878430 +0100 @@ -46,30 +46,34 @@ $(wildcard $(CHARSET_DATA_DIR)/$(CHARSET_STANDARD_OS)) \ $(CHARSET_TEMPLATES) $(CHARSET_EXTENDED_JAVA_TEMPLATES) \ $(BUILD_TOOLS_JDK) - $(MKDIR) -p $(@D) + $(call LogInfo, Generating jdk.charsets extcs) + $(call MakeDir, $(@D)) $(TOOL_CHARSETMAPPING) $(CHARSET_DATA_DIR) $(CHARSET_GENSRC_JAVA_DIR_CS) \ extcs charsets $(CHARSET_STANDARD_OS) \ $(CHARSET_EXTENDED_JAVA_TEMPLATES) \ $(CHARSET_EXTENDED_JAVA_DIR) \ $(CHARSET_COPYRIGHT_HEADER) \ - $(LOG_INFO) + $(LOG_DEBUG) $(TOUCH) '$@' $(CHARSET_DONE_CS)-hkscs: $(CHARSET_COPYRIGHT_HEADER)/HKSCS.java \ $(BUILD_TOOLS_JDK) - $(MKDIR) -p $(@D) + $(call LogInfo, Generating jdk.charsets hkscs) + $(call MakeDir, $(@D)) $(TOOL_CHARSETMAPPING) $(CHARSET_DATA_DIR) $(CHARSET_GENSRC_JAVA_DIR_CS) hkscs '$<' $(TOUCH) '$@' $(CHARSET_DONE_CS)-euctw: $(CHARSET_COPYRIGHT_HEADER)/EUC_TW.java \ $(BUILD_TOOLS_JDK) - $(MKDIR) -p $(@D) + $(call LogInfo, Generating jdk.charsets euctw) + $(call MakeDir, $(@D)) $(TOOL_CHARSETMAPPING) $(CHARSET_DATA_DIR) $(CHARSET_GENSRC_JAVA_DIR_CS) euctw '$<' $(TOUCH) '$@' $(CHARSET_GENSRC_JAVA_DIR_CS)/sjis0213.dat: $(CHARSET_DATA_DIR)/sjis0213.map \ $(BUILD_TOOLS_JDK) - $(MKDIR) -p $(@D) + $(call LogInfo, Generating $(patsubst $(OUTPUT_ROOT)/%, %, $@)) + $(call MakeDir, $(@D)) $(TOOL_CHARSETMAPPING) '$<' '$@' sjis0213 GENSRC_JDK_CHARSETS += \ @@ -86,4 +90,3 @@ all: jdk.charsets .PHONY: all jdk.charsets - --- old/jdk/make/gensrc/Gensrc-jdk.jdi.gmk 2016-01-13 14:41:13.782906997 +0100 +++ new/jdk/make/gensrc/Gensrc-jdk.jdi.gmk 2016-01-13 14:41:13.614899940 +0100 @@ -40,19 +40,18 @@ # Touch the target of this rule at the end to avoid triggering false rebuilds $(JAVA_FILE): $(JDWP_SPEC_FILE) $(BUILD_TOOLS_JDK) $(HEADER_FILE) - $(MKDIR) -p $(@D) - $(MKDIR) -p $(SUPPORT_OUTPUTDIR)/headers/jdk.jdwp.agent + $(call LogInfo, Creating JDWP.java and JDWPCommands.h from jdwp.spec) + $(call MakeDir, $(@D) $(SUPPORT_OUTPUTDIR)/headers/jdk.jdwp.agent) $(RM) $@ $(SUPPORT_OUTPUTDIR)/headers/jdk.jdwp.agent/JDWPCommands.h - $(ECHO) $(LOG_INFO) Creating JDWP.java and JDWPCommands.h from jdwp.spec $(TOOL_JDWPGEN) $< -jdi $@ -include \ $(SUPPORT_OUTPUTDIR)/headers/jdk.jdwp.agent/JDWPCommands.h $(TOUCH) $@ $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/jdwp-protocol.html: $(JDWP_SPEC_FILE) \ $(BUILD_TOOLS_JDK) - $(MKDIR) -p $(@D) + $(call LogInfo, Creating $(@F) from jdwp.spec) + $(call MakeDir, $(@D)) $(RM) $@ - $(ECHO) $(LOG_INFO) Creating $(@F) from jdwp.spec $(TOOL_JDWPGEN) $< -doc $@ GENSRC_JDWP := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/com/sun/tools/jdi/JDWP.java \ @@ -63,7 +62,7 @@ ################################################################################ define process-provider - $(MKDIR) -p $(@D) + $(call MakeDir, $(@D)) $(CAT) $^ | $(SED) -e "s/^#\[$(OPENJDK_TARGET_OS)\]//" > $@ endef --- old/jdk/make/gensrc/GensrcBuffer.gmk 2016-01-13 14:41:14.294928507 +0100 +++ new/jdk/make/gensrc/GensrcBuffer.gmk 2016-01-13 14:41:14.126921449 +0100 @@ -23,7 +23,7 @@ # questions. # -GENSRC_BUFFER := +GENSRC_BUFFER := GENSRC_BUFFER_DST := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/nio @@ -31,9 +31,9 @@ ### -$(GENSRC_BUFFER_DST)/_the.buffer.dir: - $(ECHO) "Generating buffer classes" - $(MKDIR) -p $(@D) +$(GENSRC_BUFFER_DST)/_the.buffer.dir: + $(call LogInfo, Generating buffer classes) + $(call MakeDir, $(@D)) $(TOUCH) $@ define fixRw --- old/jdk/make/gensrc/GensrcCharacterData.gmk 2016-01-13 14:41:14.822950688 +0100 +++ new/jdk/make/gensrc/GensrcCharacterData.gmk 2016-01-13 14:41:14.650943463 +0100 @@ -35,8 +35,8 @@ define SetupCharacterData $(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/lang/$1.java: \ $(CHARACTERDATA)/$1.java.template - $(MKDIR) -p $$(@D) - $(ECHO) $(LOG_INFO) Generating $1.java + $$(call LogInfo, Generating $1.java) + $$(call MakeDir, $$(@D)) $(TOOL_GENERATECHARACTER) $2 \ -template $(CHARACTERDATA)/$1.java.template \ -spec $(UNICODEDATA)/UnicodeData.txt \ @@ -56,7 +56,7 @@ # Copy two Java files that need no preprocessing. $(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/lang/%.java: $(CHARACTERDATA)/%.java.template - $(ECHO) $(LOG_INFO) Generating $(@F) + $(call LogInfo, Generating $(@F)) $(call install-file) GENSRC_CHARACTERDATA += $(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/lang/CharacterDataUndefined.java \ --- old/jdk/make/gensrc/GensrcCharsetMapping.gmk 2016-01-13 14:41:15.346972702 +0100 +++ new/jdk/make/gensrc/GensrcCharsetMapping.gmk 2016-01-13 14:41:15.166965140 +0100 @@ -44,13 +44,13 @@ $(wildcard $(CHARSET_DATA_DIR)/$(CHARSET_STANDARD_OS)) \ $(CHARSET_TEMPLATES) $(CHARSET_STANDARD_JAVA_TEMPLATES) \ $(BUILD_TOOLS_JDK) - $(MKDIR) -p $(@D) + $(call LogInfo, Generating java.base charset mapping) + $(call MakeDir, $(@D)) $(TOOL_CHARSETMAPPING) $(CHARSET_DATA_DIR) $(CHARSET_GENSRC_JAVA_DIR_BASE) \ stdcs charsets $(CHARSET_STANDARD_OS) \ $(CHARSET_STANDARD_JAVA_TEMPLATES) $(CHARSET_EXTSRC_DIR) \ $(CHARSET_COPYRIGHT_HEADER) \ - $(LOG_INFO) + $(LOG_DEBUG) $(TOUCH) '$@' GENSRC_JAVA_BASE += $(CHARSET_DONE_BASE)-stdcs - --- old/jdk/make/gensrc/GensrcExceptions.gmk 2016-01-13 14:41:15.858994211 +0100 +++ new/jdk/make/gensrc/GensrcExceptions.gmk 2016-01-13 14:41:15.690987152 +0100 @@ -32,21 +32,12 @@ GENSRC_EXCEPTIONS_SRC_DIRS := . charset channels -### - -$(GENSRC_EXCEPTIONS_DST)/_the.exceptions.dir: - $(ECHO) "Generating exceptions classes" - $(MKDIR) -p $(@D) - $(TOUCH) $@ - - -### - $(GENSRC_EXCEPTIONS_DST)/_the.%.marker: $(GENSRC_EXCEPTIONS_SRC)/%/exceptions \ - $(GENSRC_EXCEPTIONS_CMD) \ - $(GENSRC_EXCEPTIONS_DST)/_the.exceptions.dir - $(MKDIR) -p $(@D)/$* - SCRIPTS="$(JDK_TOPDIR)/make/scripts" NAWK="$(NAWK)" SH="$(SH)" $(SH) $(GENSRC_EXCEPTIONS_CMD) $< $(@D)/$* $(LOG_INFO) + $(GENSRC_EXCEPTIONS_CMD) + $(call LogInfo, Generating exceptions java.nio $*) + $(call MakeDir, $(@D)/$*) + SCRIPTS="$(JDK_TOPDIR)/make/scripts" NAWK="$(NAWK)" SH="$(SH)" $(SH) \ + $(GENSRC_EXCEPTIONS_CMD) $< $(@D)/$* $(LOG_DEBUG) $(TOUCH) $@ GENSRC_EXCEPTIONS += $(foreach D,$(GENSRC_EXCEPTIONS_SRC_DIRS),$(GENSRC_EXCEPTIONS_DST)/_the.$(D).marker) --- old/jdk/make/gensrc/GensrcIcons.gmk 2016-01-13 14:41:16.383016224 +0100 +++ new/jdk/make/gensrc/GensrcIcons.gmk 2016-01-13 14:41:16.215009166 +0100 @@ -65,8 +65,8 @@ ################################################################################ $(GENSRC_AWT_ICONS_TMP)/_the.icons.dir: - $(ECHO) Generating icon classes - $(MKDIR) -p $(GENSRC_AWT_ICONS_DST) + $(call LogInfo, Generating icon classes) + $(call MakeDir, $(GENSRC_AWT_ICONS_DST)) $(TOUCH) $@ ################################################################################ @@ -121,8 +121,9 @@ endif $(GENSRC_OSX_ICONS): $(GENSRC_OSX_ICONS_SRC) $(BUILD_TOOLS_JDK) + $(call LogInfo, Generating $(patsubst $(OUTPUT_ROOT)/%, %, $@)) + $(call MakeDir, $(@D)) $(RM) $@ $@.tmp - $(MKDIR) -p $(dir $@) $(ECHO) "static unsigned char sAWTIconData[] = { " >> $@.tmp $(CAT) $< | $(TOOL_OSX_TOBIN) >> $@.tmp $(ECHO) "};" >> $@.tmp --- old/jdk/make/gensrc/GensrcLocaleData.gmk 2016-01-13 14:41:16.895037733 +0100 +++ new/jdk/make/gensrc/GensrcLocaleData.gmk 2016-01-13 14:41:16.719030339 +0100 @@ -28,8 +28,9 @@ # into LocaleDataMetaInfo.java # First go look for all locale files -LOCALE_FILES := $(shell $(FIND) $(JDK_TOPDIR)/src/java.base/share/classes \ - $(JDK_TOPDIR)/src/jdk.localedata/share/classes \ +LOCALE_FILES := $(shell $(FIND) \ + $(JDK_TOPDIR)/src/$(MODULE)/share/classes/sun/text/resources \ + $(JDK_TOPDIR)/src/$(MODULE)/share/classes/sun/util/resources \ -name "FormatData_*.java" -o -name "FormatData_*.properties" -o \ -name "CollationData_*.java" -o -name "CollationData_*.properties" -o \ -name "TimeZoneNames_*.java" -o -name "TimeZoneNames_*.properties" -o \ @@ -42,17 +43,21 @@ LOCALE_RESOURCES := $(sort $(subst .properties,,$(subst .java,,$(notdir $(LOCALE_FILES))))) # Include the list of resources found during the previous compile. --include $(SUPPORT_OUTPUTDIR)/gensrc/_the.locale_resources +-include $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)/_the.locale_resources MISSING_RESOURCES := $(filter-out $(LOCALE_RESOURCES), $(PREV_LOCALE_RESOURCES)) NEW_RESOURCES := $(filter-out $(PREV_LOCALE_RESOURCES), $(LOCALE_RESOURCES)) ifneq (, $(MISSING_RESOURCES)$(NEW_RESOURCES)) # There is a difference in the number of supported resources. Trigger a regeneration. - $(shell $(RM) $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/BaseLocaleDataMetaInfo.java \ - $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/provider/NonBaseLocaleDataMetaInfo.java \ - $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/cldr/CLDRBaseLocaleDataMetaInfo.java \ - $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo_jdk_localedata.java) + ifeq ($(MODULE), java.base) + $(shell $(RM) $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/BaseLocaleDataMetaInfo.java \ + $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/cldr/CLDRBaseLocaleDataMetaInfo.java) + endif + ifeq ($(MODULE), jdk.localedata) + $(shell $(RM) $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/provider/NonBaseLocaleDataMetaInfo.java \ + $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo_jdk_localedata.java) + endif endif # The base locales @@ -121,18 +126,18 @@ $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/BaseLocaleDataMetaInfo.java: \ $(JDK_TOPDIR)/src/java.base/share/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template + $(call LogInfo, Creating sun/util/locale/provider/BaseLocaleDataMetaInfo.java from $(words $(LOCALE_RESOURCES)) found resources) $(MKDIR) -p $(@D) - $(ECHO) Creating sun/util/locale/provider/BaseLocaleDataMetaInfo.java from $(words $(LOCALE_RESOURCES)) found resources. $(PRINTF) "PREV_LOCALE_RESOURCES:=$(LOCALE_RESOURCES)" \ - > $(SUPPORT_OUTPUTDIR)/gensrc/_the.locale_resources + > $(SUPPORT_OUTPUTDIR)/gensrc/java.base/_the.locale_resources $(SED) $(SED_BASEARGS) $< > $@ $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/provider/NonBaseLocaleDataMetaInfo.java: \ $(JDK_TOPDIR)/src/java.base/share/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template + $(call LogInfo, Creating sun/util/resources/provider/NonBaseLocaleDataMetaInfo.java from $(words $(LOCALE_RESOURCES)) found resources) $(MKDIR) -p $(@D) - $(ECHO) Creating sun/util/resources/provider/NonBaseLocaleDataMetaInfo.java from $(words $(LOCALE_RESOURCES)) found resources. $(PRINTF) "PREV_LOCALE_RESOURCES:=$(LOCALE_RESOURCES)" \ - > $(SUPPORT_OUTPUTDIR)/gensrc/_the.locale_resources + > $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/_the.locale_resources $(SED) $(SED_NONBASEARGS) $< > $@ GENSRC_BASELOCALEDATA := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/BaseLocaleDataMetaInfo.java --- old/jdk/make/gensrc/GensrcMisc.gmk 2016-01-13 14:41:17.423059915 +0100 +++ new/jdk/make/gensrc/GensrcMisc.gmk 2016-01-13 14:41:17.247052521 +0100 @@ -50,7 +50,7 @@ SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOR_SRC)/$(GENSRC_SOR_SRC_FILE) | \ $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') -$(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOR_EXE, \ +$(eval $(call SetupNativeCompilation, BUILD_GENSRC_SOR_EXE, \ SRC := $(GENSRC_SOR_SRC), \ INCLUDE_FILES := $(GENSRC_SOR_SRC_FILE), \ TOOLCHAIN := TOOLCHAIN_BUILD, \ @@ -86,7 +86,7 @@ UC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_UC_SRC)/$(GENSRC_UC_SRC_FILE) | \ $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') - $(eval $(call SetupNativeCompilation,BUILD_GENSRC_UC_EXE, \ + $(eval $(call SetupNativeCompilation, BUILD_GENSRC_UC_EXE, \ SRC := $(GENSRC_UC_SRC), \ INCLUDE_FILES := $(GENSRC_UC_SRC_FILE), \ TOOLCHAIN := TOOLCHAIN_BUILD, \ @@ -124,7 +124,7 @@ SOL_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOL_SRC)/$(GENSRC_SOL_SRC_FILE) | \ $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') - $(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOL_EXE, \ + $(eval $(call SetupNativeCompilation, BUILD_GENSRC_SOL_EXE, \ SRC := $(GENSRC_SOL_SRC), \ INCLUDE_FILES := $(GENSRC_SOL_SRC_FILE), \ TOOLCHAIN := TOOLCHAIN_BUILD, \ --- old/jdk/make/gensrc/GensrcProperties.gmk 2016-01-13 14:41:17.943081760 +0100 +++ new/jdk/make/gensrc/GensrcProperties.gmk 2016-01-13 14:41:17.767074366 +0100 @@ -75,7 +75,7 @@ # Convert .../src//share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties # to .../support/gensrc//com/sun/tools/javac/resources/javac_zh_CN.java - # Strip away prefix and suffix, leaving for example only: + # Strip away prefix and suffix, leaving for example only: # "/share/classes/com/sun/tools/javac/resources/javac_zh_CN" $1_JAVAS := $$(patsubst $$($1_MODULE_PATH_ROOT)/%, \ $(SUPPORT_OUTPUTDIR)/gensrc/%, \ --- old/jdk/make/gensrc/GensrcSwing.gmk 2016-01-13 14:41:18.447102933 +0100 +++ new/jdk/make/gensrc/GensrcSwing.gmk 2016-01-13 14:41:18.279095875 +0100 @@ -31,12 +31,11 @@ NIMBUS_SKIN_FILE = $(JDK_TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus/skin.laf $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop/_the.generated_nimbus: $(NIMBUS_SKIN_FILE) $(BUILD_TOOLS_JDK) + $(call LogInfo, Generating Nimbus source files) $(MKDIR) -p $(@D) - $(ECHO) "Generating Nimbus source files" - $(TOOL_GENERATENIMBUS) $(LOG_INFO) \ + $(TOOL_GENERATENIMBUS) $(LOG_DEBUG) \ -skinFile $(NIMBUS_SKIN_FILE) -buildDir $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop \ -packagePrefix $(NIMBUS_PACKAGE).nimbus -lafName Nimbus - $(ECHO) $(LOG_INFO) "Finished generating Nimbus source files" $(TOUCH) $@ GENSRC_SWING_NIMBUS := $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop/_the.generated_nimbus --- old/jdk/make/gensrc/GensrcX11Wrappers.gmk 2016-01-13 14:41:18.959124442 +0100 +++ new/jdk/make/gensrc/GensrcX11Wrappers.gmk 2016-01-13 14:41:18.791117385 +0100 @@ -63,14 +63,14 @@ # Copy only the sizes.* files that are actually needed. WrapperGenerator picks up any it finds from the # file prefix it is given so those not needed need to be hidden. $(GENSRC_X11WRAPPERS_TMP)/sizes.%: $(GENSRC_SIZER_DIR)/sizes.% - $(MKDIR) -p $(@D) + $(call MakeDir, $(@D)) $(RM) '$@' $(SORT) $< > $@ # Run the tool on the offset files copied from the source repository to generate several Java classes # used in awt. $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop/_the.generated.x11: $(GENSRC_X11_SIZES_USED) $(BUILD_TOOLS_JDK) - $(MKDIR) -p $(GENSRC_X11WRAPPERS_DST) + $(call MakeDir, $(GENSRC_X11WRAPPERS_DST)) $(TOOL_WRAPPERGENERATOR) $(GENSRC_X11WRAPPERS_DST) $(GENSRC_SIZER_DIR)/xlibtypes.txt "gen" $(GENSRC_X11WRAPPERS_TMP)/sizes $(TOUCH) $@ @@ -82,8 +82,8 @@ # Generate the C code for the program that will output the offset file. $(GENSRC_X11WRAPPERS_TMP)/sizer.%.c: $(GENSRC_SIZER_DIR)/xlibtypes.txt $(BUILD_TOOLS_JDK) - $(ECHO) "Generating X11 wrapper ($*-bit version)" - $(MKDIR) -p $(@D) + $(call LogInfo, Generating X11 wrapper ($*-bit version)) + $(call MakeDir, $(@D)) $(TOOL_WRAPPERGENERATOR) $(@D) $(GENSRC_SIZER_DIR)/xlibtypes.txt "sizer" $* # use -m32/-m64 only if the compiler supports it @@ -103,7 +103,7 @@ # Compile the C code into an executable. $(GENSRC_X11WRAPPERS_TMP)/sizer.%.exe: $(GENSRC_X11WRAPPERS_TMP)/sizer.%.c - $(MKDIR) -p $(@D) + $(call MakeDir, $(@D)) (cd $(@D) && $(CC) $(MEMORY_MODEL_FLAG) -o $@ $< \ $(X_CFLAGS) \ $(X_LIBS) \ @@ -114,9 +114,9 @@ # Run the executable create the offset file and check that it is identical # to the offset file in the source code repository. $(GENSRC_X11WRAPPERS_TMP)/sizes.%.verification: $(GENSRC_X11WRAPPERS_TMP)/sizer.%.exe - $(MKDIR) -p $(@D) + $(call LogInfo, Verifying X11 wrapper sizes) + $(call MakeDir, $(@D)) $(GENSRC_X11WRAPPERS_TMP)/sizer.$*.exe | $(SORT) > $@.tmp - $(ECHO) Verifying $(GENSRC_X11WRAPPERS_TMP)/sizes.$*.verification.tmp to $(GENSRC_X11WRAPPERS_TMP)/sizes.$* $(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizes.$*.verification.tmp $(GENSRC_X11WRAPPERS_TMP)/sizes.$* mv $@.tmp $@ --- old/jdk/make/launcher/LauncherCommon.gmk 2016-01-13 14:41:19.467145784 +0100 +++ new/jdk/make/launcher/LauncherCommon.gmk 2016-01-13 14:41:19.299138726 +0100 @@ -31,9 +31,6 @@ ENABLE_DEBUG_SYMBOLS := false endif -# Prepare the find cache. -$(eval $(call FillCacheFind, $(JDK_TOPDIR)/src/java.base/share/native/launcher)) - ifeq ($(OPENJDK_TARGET_OS), macosx) ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN) else @@ -124,7 +121,7 @@ $1_LDFLAGS += -exported_symbols_list \ $(SUPPORT_OUTPUTDIR)/build-static/exported.symbols $1_LIBS += \ - $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/modules_libs/java.base -name "*.a") \ + $$(shell $(FIND) $(SUPPORT_OUTPUTDIR)/modules_libs/java.base -name "*.a") \ $(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/libdt_socket.a \ $(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/libjdwp.a \ $(SUPPORT_OUTPUTDIR)/native/java.base/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) \ @@ -174,8 +171,7 @@ endif $$(eval $$(call SetupNativeCompilation, BUILD_LAUNCHER_$1, \ - SRC := $(LAUNCHER_SRC), \ - INCLUDE_FILES := main.c, \ + EXTRA_FILES := $(LAUNCHER_SRC)/main.c, \ OPTIMIZATION := $$($1_OPTIMIZATION), \ CFLAGS := $$($1_CFLAGS) \ $(LAUNCHER_CFLAGS) \ --- old/jdk/make/lib/Awt2dLibraries.gmk 2016-01-13 14:41:19.991167797 +0100 +++ new/jdk/make/lib/Awt2dLibraries.gmk 2016-01-13 14:41:19.815160403 +0100 @@ -750,7 +750,8 @@ $(BUILD_LIBJAWT): $(BUILD_LIBAWT) $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT) - $(ECHO) Copying $(@F) + $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%, %, $@)) + $(call MakeDir, $(@D)) $(CP) $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@ TARGETS += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) --- old/jdk/make/lib/Lib-java.base.gmk 2016-01-13 14:41:20.519189979 +0100 +++ new/jdk/make/lib/Lib-java.base.gmk 2016-01-13 14:41:20.347182753 +0100 @@ -49,7 +49,7 @@ JAVA_BASE_EXPORT_SYMBOL_FILE := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/java.base.symbols $(JAVA_BASE_EXPORT_SYMBOL_FILE): $(JAVA_BASE_EXPORT_SYMBOLS_SRC) - $(ECHO) $(LOG_INFO) "Generating java.base.symbols file" + $(call LogInfo, Generating java.base.symbols file) $(CAT) $^ > $@ # The individual symbol files is generated when the respective lib is built --- old/jdk/make/lib/Lib-jdk.jdwp.agent.gmk 2016-01-13 14:41:21.027211320 +0100 +++ new/jdk/make/lib/Lib-jdk.jdwp.agent.gmk 2016-01-13 14:41:20.863204430 +0100 @@ -111,7 +111,7 @@ JDK_JDWP_AGENT_EXPORT_SYMBOL_FILE := $(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/jdk.jdwp.agent.symbols $(JDK_JDWP_AGENT_EXPORT_SYMBOL_FILE): $(JDK_JDWP_AGENT_EXPORT_SYMBOLS_SRC) - $(ECHO) $(LOG_INFO) "Generating jdk.jdwp.agent symbols file" + $(call LogInfo, Generating jdk.jdwp.agent symbols file) $(CAT) $^ > $@ # The individual symbol files is generated when the respective lib is built --- old/jdk/make/lib/LibCommon.gmk 2016-01-13 14:41:21.535232661 +0100 +++ new/jdk/make/lib/LibCommon.gmk 2016-01-13 14:41:21.367225603 +0100 @@ -23,8 +23,6 @@ # questions. # -include $(SPEC) -include MakeBase.gmk include NativeCompilation.gmk GLOBAL_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/common/version.rc @@ -87,3 +85,5 @@ else ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/java.base/share/native/libzip/zlib-1.2.8 endif + +############################################################################### --- /dev/null 2015-12-23 11:01:52.499047963 +0100 +++ new/make/GenerateModuleDeps.gmk 2016-01-13 14:41:21.851245936 +0100 @@ -0,0 +1,69 @@ +# +# Copyright (c) 2014, 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. +# + +# This file is called from Init.gmk during the bootstrap processes. + +default: all + +include $(SPEC) +include MakeBase.gmk +include JavaCompilation.gmk +include SetupJavaCompilers.gmk + +################################################################################ + +$(eval $(call SetupJavaCompilation, BUILD_GENMODULESLIST, \ + SETUP := BOOT_JAVAC, \ + SRC := $(JDK_TOPDIR)/make/src/classes, \ + INCLUDES := build/tools/module, \ + EXCLUDE_FILES := ImageBuilder.java ModuleArchive.java, \ + BIN := $(MAKESUPPORT_OUTPUTDIR)/bt_classes_moduleslist, \ + DISABLE_SJAVAC := true, \ +)) + +TOOL_GENMODULESLIST = $(JAVA_SMALL) \ + -cp "$(MAKESUPPORT_OUTPUTDIR)/bt_classes_moduleslist" \ + build.tools.module.GenModulesList + +MODULES_LIST_FILE := $(MAKESUPPORT_OUTPUTDIR)/modules.list +# The module deps makefile is used from make/common/Modules.gmk +MODULE_DEPS_MAKEFILE := $(MAKESUPPORT_OUTPUTDIR)/module-deps.gmk + +$(MODULES_LIST_FILE): $(SRC_ROOT)/modules.xml $(BUILD_GENMODULESLIST) + $(TOOL_GENMODULESLIST) -o $@ $(filter %.xml, $^) + +$(MODULE_DEPS_MAKEFILE): $(MODULES_LIST_FILE) + $(CAT) $^ | $(SED) -e 's/^\([^:]*\):/DEPS_\1 :=/g' > $@ + +TARGETS += $(MODULE_DEPS_MAKEFILE) + +################################################################################ + +# Hook to include the corresponding custom file, if present. +$(eval $(call IncludeCustomExtension, , GenerateModuleDeps.gmk)) + +all: $(TARGETS) + +.PHONY: all default --- /dev/null 2015-12-23 11:01:52.499047963 +0100 +++ new/jdk/make/CompileTools.gmk 2016-01-13 14:41:22.187260052 +0100 @@ -0,0 +1,83 @@ +# +# Copyright (c) 2011, 2014, 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 JavaCompilation.gmk +include SetupJavaCompilers.gmk + +################################################################################ + +JIMAGE_PKGS := \ + jdk/internal/jimage \ + jdk/internal/jrtfs \ + # + +$(eval $(call SetupJavaCompilation,BUILD_INTERIM_JIMAGE, \ + SETUP := GENERATE_OLDBYTECODE, \ + SRC := $(JDK_TOPDIR)/src/java.base/share/classes, \ + INCLUDES := $(JIMAGE_PKGS), \ + BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes)) + +TARGETS += $(BUILD_INTERIM_JIMAGE) + +# Because of the explicit INCLUDES in the compilation setup above, the service provider +# file will not be copied unless META-INF/services would also be added to the INCLUDES. +# Adding META-INF/services would include all files in that directory when only the one +# is needed, which is why this explicit copy is defined instead. +$(eval $(call SetupCopyFiles,COPY_JIMAGE_SERVICE_PROVIDER, \ + SRC := $(JDK_TOPDIR)/src/java.base/share/classes, \ + DEST := $(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes, \ + FILES := META-INF/services/java.nio.file.spi.FileSystemProvider)) + +TARGETS += $(COPY_JIMAGE_SERVICE_PROVIDER) + +################################################################################ + +$(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \ + SETUP := GENERATE_OLDBYTECODE, \ + ADD_JAVAC_FLAGS := -Xbootclasspath/p:$(call PathList, \ + $(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes \ + $(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes), \ + SRC := $(JDK_TOPDIR)/make/src/classes $(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes, \ + BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \ + COPY := boot.modules ext.modules)) + +$(BUILD_TOOLS_JDK): $(BUILD_INTERIM_JIMAGE) $(COPY_JIMAGE_SERVICE_PROVIDER) + +TARGETS += $(BUILD_TOOLS_JDK) + +$(eval $(call SetupCopyFiles,COPY_NIMBUS_TEMPLATES, \ + SRC := $(JDK_TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus, \ + DEST := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes/build/tools/generatenimbus/resources, \ + FILES := $(wildcard $(JDK_TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus/*.template))) + +TARGETS += $(COPY_NIMBUS_TEMPLATES) + +################################################################################ + +all: $(TARGETS)