--- old/common/autoconf/basics.m4 2015-04-02 14:56:31.758057730 +0200 +++ new/common/autoconf/basics.m4 2015-04-02 14:56:31.658053535 +0200 @@ -658,6 +658,8 @@ fi OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}" $MKDIR -p "$OUTPUT_ROOT" + CONFIGURE_SUPPORT="$OUTPUT_ROOT/configure-support" + $MKDIR -p "$CONFIGURE_SUPPORT" if test ! -d "$OUTPUT_ROOT"; then AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT]) fi --- old/common/autoconf/basics_windows.m4 2015-04-02 14:56:32.194076021 +0200 +++ new/common/autoconf/basics_windows.m4 2015-04-02 14:56:32.090071658 +0200 @@ -383,45 +383,46 @@ if test "x$OPENJDK_BUILD_OS" = xwindows; then AC_MSG_CHECKING([if fixpath can be created]) FIXPATH_SRC="$SRC_ROOT/common/src/fixpath.c" - FIXPATH_BIN="$OUTPUT_ROOT/fixpath.exe" + FIXPATH_BIN="$CONFIGURE_SUPPORT/bin/fixpath.exe" + FIXPATH_DIR="$CONFIGURE_SUPPORT/fixpath" if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then - FIXPATH_SRC=`$CYGPATH -m $FIXPATH_SRC` - FIXPATH_BIN=`$CYGPATH -m $FIXPATH_BIN` # Important to keep the .exe suffix on Cygwin for Hotspot makefiles - FIXPATH="$OUTPUT_ROOT/fixpath.exe -c" + FIXPATH="$FIXPATH_BIN -c" elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.msys; then - FIXPATH_SRC=`cmd //c echo $FIXPATH_SRC` - FIXPATH_BIN=`cmd //c echo $FIXPATH_BIN` - # Take all collected prefixes and turn them into a -m/c/foo@/c/bar@... command line # @ was chosen as separator to minimize risk of other tools messing around with it - all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" | tr ' ' '\n' | grep '^/./' | sort | uniq` + all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" \ + | tr ' ' '\n' | grep '^/./' | sort | uniq` fixpath_argument_list=`echo $all_unique_prefixes | tr ' ' '@'` - - FIXPATH="$OUTPUT_ROOT/fixpath -m$fixpath_argument_list" + FIXPATH="$FIXPATH_BIN -m$fixpath_argument_list" fi - rm -f $OUTPUT_ROOT/fixpath* - cd $OUTPUT_ROOT - $CC $FIXPATH_SRC -Fe$FIXPATH_BIN > $OUTPUT_ROOT/fixpath1.log 2>&1 + FIXPATH_SRC_W="$FIXPATH_SRC" + FIXPATH_BIN_W="$FIXPATH_BIN" + BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_SRC_W]) + BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_BIN_W]) + $RM -rf $FIXPATH_BIN $FIXPATH_DIR + $MKDIR -p $FIXPATH_DIR $CONFIGURE_SUPPORT/bin + cd $FIXPATH_DIR + $CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1 cd $CURDIR - if test ! -x $OUTPUT_ROOT/fixpath.exe; then + if test ! -x $FIXPATH_BIN; then AC_MSG_RESULT([no]) - cat $OUTPUT_ROOT/fixpath1.log - AC_MSG_ERROR([Could not create $OUTPUT_ROOT/fixpath.exe]) + cat $FIXPATH_DIR/fixpath1.log + AC_MSG_ERROR([Could not create $FIXPATH_BIN]) fi AC_MSG_RESULT([yes]) AC_MSG_CHECKING([if fixpath.exe works]) - cd $OUTPUT_ROOT - $FIXPATH $CC $SRC_ROOT/common/src/fixpath.c -Fe$OUTPUT_ROOT/fixpath2.exe > $OUTPUT_ROOT/fixpath2.log 2>&1 + cd $FIXPATH_DIR + $FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \ + > $FIXPATH_DIR/fixpath2.log 2>&1 cd $CURDIR - if test ! -x $OUTPUT_ROOT/fixpath2.exe; then + if test ! -x $FIXPATH_DIR/fixpath2.exe; then AC_MSG_RESULT([no]) - cat $OUTPUT_ROOT/fixpath2.log + cat $FIXPATH_DIR/fixpath2.log AC_MSG_ERROR([fixpath did not work!]) fi AC_MSG_RESULT([yes]) - rm -f $OUTPUT_ROOT/fixpath?.??? $OUTPUT_ROOT/fixpath.obj fi AC_SUBST(FIXPATH) --- old/common/autoconf/build-performance.m4 2015-04-02 14:56:32.590092632 +0200 +++ new/common/autoconf/build-performance.m4 2015-04-02 14:56:32.498088774 +0200 @@ -338,7 +338,7 @@ AC_SUBST(ENABLE_SJAVAC) if test "x$ENABLE_SJAVAC" = xyes; then - SJAVAC_SERVER_DIR="$OUTPUT_ROOT/javacservers" + SJAVAC_SERVER_DIR="$OUTPUT_ROOT/make-support/javacservers" else SJAVAC_SERVER_DIR= fi --- old/common/autoconf/configure.ac 2015-04-02 14:56:32.982109078 +0200 +++ new/common/autoconf/configure.ac 2015-04-02 14:56:32.894105386 +0200 @@ -261,7 +261,7 @@ # We're messing a bit with internal autoconf variables to put the config.status # in the output directory instead of the current directory. -CONFIG_STATUS="$OUTPUT_ROOT/config.status" +CONFIG_STATUS="$CONFIGURE_SUPPORT/config.status" # Create the actual output files. Now the main work of configure is done. AC_OUTPUT @@ -269,7 +269,7 @@ # Try to move the config.log file to the output directory. if test -e ./config.log; then - $MV -f ./config.log "$OUTPUT_ROOT/config.log" 2> /dev/null + $MV -f ./config.log "$CONFIGURE_SUPPORT/config.log" 2> /dev/null fi # Make the compare script executable --- old/common/autoconf/generated-configure.sh 2015-04-02 14:56:33.446128542 +0200 +++ new/common/autoconf/generated-configure.sh 2015-04-02 14:56:33.310122835 +0200 @@ -4365,7 +4365,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1427843803 +DATE_WHEN_GENERATED=1427970054 ############################################################################### # @@ -15266,6 +15266,8 @@ fi OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}" $MKDIR -p "$OUTPUT_ROOT" + CONFIGURE_SUPPORT="$OUTPUT_ROOT/configure-support" + $MKDIR -p "$CONFIGURE_SUPPORT" if test ! -d "$OUTPUT_ROOT"; then as_fn_error $? "Could not create build directory $OUTPUT_ROOT" "$LINENO" 5 fi @@ -27622,7 +27624,7 @@ $as_echo "$as_me: Trying to extract Visual Studio environment variables" >&6;} # We need to create a couple of temporary files. - VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env" + VS_ENV_TMP_DIR="$CONFIGURE_SUPPORT/vs-env" $MKDIR -p $VS_ENV_TMP_DIR # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment). @@ -43136,50 +43138,69 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fixpath can be created" >&5 $as_echo_n "checking if fixpath can be created... " >&6; } FIXPATH_SRC="$SRC_ROOT/common/src/fixpath.c" - FIXPATH_BIN="$OUTPUT_ROOT/fixpath.exe" + FIXPATH_BIN="$CONFIGURE_SUPPORT/bin/fixpath.exe" + FIXPATH_DIR="$CONFIGURE_SUPPORT/fixpath" if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then - FIXPATH_SRC=`$CYGPATH -m $FIXPATH_SRC` - FIXPATH_BIN=`$CYGPATH -m $FIXPATH_BIN` # Important to keep the .exe suffix on Cygwin for Hotspot makefiles - FIXPATH="$OUTPUT_ROOT/fixpath.exe -c" + FIXPATH="$FIXPATH_BIN -c" elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.msys; then - FIXPATH_SRC=`cmd //c echo $FIXPATH_SRC` - FIXPATH_BIN=`cmd //c echo $FIXPATH_BIN` - # Take all collected prefixes and turn them into a -m/c/foo@/c/bar@... command line # @ was chosen as separator to minimize risk of other tools messing around with it - all_unique_prefixes=`echo "${all_fixpath_prefixes[@]}" | tr ' ' '\n' | grep '^/./' | sort | uniq` + all_unique_prefixes=`echo "${all_fixpath_prefixes[@]}" \ + | tr ' ' '\n' | grep '^/./' | sort | uniq` fixpath_argument_list=`echo $all_unique_prefixes | tr ' ' '@'` - - FIXPATH="$OUTPUT_ROOT/fixpath -m$fixpath_argument_list" + FIXPATH="$FIXPATH_BIN -m$fixpath_argument_list" fi - rm -f $OUTPUT_ROOT/fixpath* - cd $OUTPUT_ROOT - $CC $FIXPATH_SRC -Fe$FIXPATH_BIN > $OUTPUT_ROOT/fixpath1.log 2>&1 + FIXPATH_SRC_W="$FIXPATH_SRC" + FIXPATH_BIN_W="$FIXPATH_BIN" + + unix_path="$FIXPATH_SRC_W" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + windows_path=`$CYGPATH -m "$unix_path"` + FIXPATH_SRC_W="$windows_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + windows_path=`cmd //c echo $unix_path` + FIXPATH_SRC_W="$windows_path" + fi + + + unix_path="$FIXPATH_BIN_W" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + windows_path=`$CYGPATH -m "$unix_path"` + FIXPATH_BIN_W="$windows_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + windows_path=`cmd //c echo $unix_path` + FIXPATH_BIN_W="$windows_path" + fi + + $RM -rf $FIXPATH_BIN $FIXPATH_DIR + $MKDIR -p $FIXPATH_DIR $CONFIGURE_SUPPORT/bin + cd $FIXPATH_DIR + $CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1 cd $CURDIR - if test ! -x $OUTPUT_ROOT/fixpath.exe; then + if test ! -x $FIXPATH_BIN; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - cat $OUTPUT_ROOT/fixpath1.log - as_fn_error $? "Could not create $OUTPUT_ROOT/fixpath.exe" "$LINENO" 5 + cat $FIXPATH_DIR/fixpath1.log + as_fn_error $? "Could not create $FIXPATH_BIN" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fixpath.exe works" >&5 $as_echo_n "checking if fixpath.exe works... " >&6; } - cd $OUTPUT_ROOT - $FIXPATH $CC $SRC_ROOT/common/src/fixpath.c -Fe$OUTPUT_ROOT/fixpath2.exe > $OUTPUT_ROOT/fixpath2.log 2>&1 + cd $FIXPATH_DIR + $FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \ + > $FIXPATH_DIR/fixpath2.log 2>&1 cd $CURDIR - if test ! -x $OUTPUT_ROOT/fixpath2.exe; then + if test ! -x $FIXPATH_DIR/fixpath2.exe; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - cat $OUTPUT_ROOT/fixpath2.log + cat $FIXPATH_DIR/fixpath2.log as_fn_error $? "fixpath did not work!" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - rm -f $OUTPUT_ROOT/fixpath?.??? $OUTPUT_ROOT/fixpath.obj fi @@ -51416,7 +51437,7 @@ if test "x$ENABLE_SJAVAC" = xyes; then - SJAVAC_SERVER_DIR="$OUTPUT_ROOT/javacservers" + SJAVAC_SERVER_DIR="$OUTPUT_ROOT/make-support/javacservers" else SJAVAC_SERVER_DIR= fi @@ -51849,7 +51870,7 @@ # We're messing a bit with internal autoconf variables to put the config.status # in the output directory instead of the current directory. -CONFIG_STATUS="$OUTPUT_ROOT/config.status" +CONFIG_STATUS="$CONFIGURE_SUPPORT/config.status" # Create the actual output files. Now the main work of configure is done. cat >confcache <<\_ACEOF @@ -53017,7 +53038,7 @@ # Try to move the config.log file to the output directory. if test -e ./config.log; then - $MV -f ./config.log "$OUTPUT_ROOT/config.log" 2> /dev/null + $MV -f ./config.log "$CONFIGURE_SUPPORT/config.log" 2> /dev/null fi # Make the compare script executable --- old/common/autoconf/toolchain_windows.m4 2015-04-02 14:56:34.754183412 +0200 +++ new/common/autoconf/toolchain_windows.m4 2015-04-02 14:56:34.654179217 +0200 @@ -270,7 +270,7 @@ AC_MSG_NOTICE([Trying to extract Visual Studio environment variables]) # We need to create a couple of temporary files. - VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env" + VS_ENV_TMP_DIR="$CONFIGURE_SUPPORT/vs-env" $MKDIR -p $VS_ENV_TMP_DIR # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment). --- old/make/Main.gmk 2015-04-02 14:56:35.170200862 +0200 +++ new/make/Main.gmk 2015-04-02 14:56:35.082197170 +0200 @@ -541,7 +541,7 @@ CLEAN_DIR_TARGETS := $(addprefix clean-, $(CLEAN_DIRS)) CLEAN_TESTS += hotspot-jtreg-native jdk-jtreg-native CLEAN_TEST_TARGETS += $(addprefix clean-test-, $(CLEAN_TESTS)) -CLEAN_PHASES := gensrc java native include +CLEAN_PHASES := gensrc java native include docs CLEAN_PHASE_TARGETS := $(addprefix clean-, $(CLEAN_PHASES)) CLEAN_MODULE_TARGETS := $(addprefix clean-, $(ALL_MODULES)) # Construct targets of the form clean-$module-$phase @@ -550,7 +550,7 @@ # Remove everything, except the output from configure. clean: $(CLEAN_DIR_TARGETS) - ($(CD) $(OUTPUT_ROOT) && $(RM) -r source_tips build.log* build-trace*.log*) + ($(CD) $(OUTPUT_ROOT) && $(RM) -r build*.log*) $(ECHO) Cleaned all build artifacts. $(CLEAN_DIR_TARGETS): @@ -574,13 +574,11 @@ # while classes and touch files end up in jdk. clean-support: clean-jdk -clean-docs: clean-docstemp - -# Remove everything, including configure configuration. -# If the output directory was created by configure and now becomes empty, remove it as well. +# Remove everything, including configure configuration. If the output +# directory was created by configure and now becomes empty, remove it as well. dist-clean: clean - ($(CD) $(OUTPUT_ROOT) && $(RM) -r *spec.gmk config.* configure-arguments \ - Makefile compare.sh tmp javacservers) + ($(CD) $(OUTPUT_ROOT) && \ + $(RM) -r *spec.gmk configure-support Makefile compare.sh ide) $(if $(filter $(CONF_NAME),$(notdir $(OUTPUT_ROOT))), \ if test "x`$(LS) $(OUTPUT_ROOT)`" != x; then \ $(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ; \ --- old/make/MainSupport.gmk 2015-04-02 14:56:35.602218985 +0200 +++ new/make/MainSupport.gmk 2015-04-02 14:56:35.510215124 +0200 @@ -41,46 +41,60 @@ # Cleans the dir given as $1 define CleanDir @$(PRINTF) "Cleaning $(strip $1) build artifacts ..." - @($(CD) $(OUTPUT_ROOT) && $(RM) -r $1) + @$(PRINTF) "\n" $(LOG_DEBUG) + ($(CD) $(OUTPUT_ROOT) && $(RM) -r $1) @$(PRINTF) " done\n" endef define CleanTest @$(PRINTF) "Cleaning test $(strip $1) ..." - @$(RM) -r $(SUPPORT_OUTPUTDIR)/test/$(strip $(subst -,/,$1)) + @$(PRINTF) "\n" $(LOG_DEBUG) + $(RM) -r $(SUPPORT_OUTPUTDIR)/test/$(strip $(subst -,/,$1)) @$(PRINTF) " done\n" endef define Clean-gensrc @$(PRINTF) "Cleaning gensrc $(if $1,for $(strip $1) )..." - @$(RM) -r $(SUPPORT_OUTPUTDIR)/gensrc/$(strip $1) - @$(RM) -r $(SUPPORT_OUTPUTDIR)/gensrc_no_docs/$(strip $1) + @$(PRINTF) "\n" $(LOG_DEBUG) + $(RM) -r $(SUPPORT_OUTPUTDIR)/gensrc/$(strip $1) + $(RM) -r $(SUPPORT_OUTPUTDIR)/gensrc_no_docs/$(strip $1) @$(PRINTF) " done\n" endef define Clean-java @$(PRINTF) "Cleaning java $(if $1,for $(strip $1) )..." - @$(RM) -r $(JDK_OUTPUTDIR)/modules/$(strip $1) - @$(RM) -r $(SUPPORT_OUTPUTDIR)/misc/$(strip $1) - @$(PRINTF) " done\n" - @$(PRINTF) "Cleaning headers $(if $1,for $(strip $1)) ..." - @$(RM) -r $(SUPPORT_OUTPUTDIR)/headers/$(strip $1) + @$(PRINTF) "\n" $(LOG_DEBUG) + $(RM) -r $(JDK_OUTPUTDIR)/modules/$(strip $1) + $(RM) -r $(SUPPORT_OUTPUTDIR)/misc/$(strip $1) + $(PRINTF) " done\n" + $(PRINTF) "Cleaning headers $(if $1,for $(strip $1)) ..." + $(RM) -r $(SUPPORT_OUTPUTDIR)/headers/$(strip $1) @$(PRINTF) " done\n" endef define Clean-native @$(PRINTF) "Cleaning native $(if $1,for $(strip $1) )..." - @$(RM) -r $(SUPPORT_OUTPUTDIR)/native/$(strip $1) - @$(RM) -r $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1) - @$(RM) -r $(SUPPORT_OUTPUTDIR)/modules_libs-stripped/$(strip $1) - @$(RM) -r $(SUPPORT_OUTPUTDIR)/modules_cmds/$(strip $1) - @$(RM) -r $(SUPPORT_OUTPUTDIR)/modules_cmds-stripped/$(strip $1) + @$(PRINTF) "\n" $(LOG_DEBUG) + $(RM) -r $(SUPPORT_OUTPUTDIR)/native/$(strip $1) + $(RM) -r $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1) + $(RM) -r $(SUPPORT_OUTPUTDIR)/modules_libs-stripped/$(strip $1) + $(RM) -r $(SUPPORT_OUTPUTDIR)/modules_cmds/$(strip $1) + $(RM) -r $(SUPPORT_OUTPUTDIR)/modules_cmds-stripped/$(strip $1) @$(PRINTF) " done\n" endef define Clean-include @$(PRINTF) "Cleaning include $(if $1,for $(strip $1) )..." - @$(RM) -r $(SUPPORT_OUTPUTDIR)/modules_include/$(strip $1) + @$(PRINTF) "\n" $(LOG_DEBUG) + $(RM) -r $(SUPPORT_OUTPUTDIR)/modules_include/$(strip $1) + @$(PRINTF) " done\n" +endef + +define Clean-docs + @$(PRINTF) "Cleaning docs ..." + @$(PRINTF) "\n" $(LOG_DEBUG) + $(RM) -r $(SUPPORT_OUTPUTDIR)/docs + $(RM) -r $(IMAGES_OUTPUTDIR)/docs @$(PRINTF) " done\n" endef