make/InitSupport.gmk
changeset 35370 f9b430645a18
parent 35008 ef0cd710989f
child 35444 4d323e794486
--- a/make/InitSupport.gmk	Sat Jan 30 00:25:53 2016 +0530
+++ b/make/InitSupport.gmk	Sat Jan 30 10:25:15 2016 +0100
@@ -440,7 +440,10 @@
 	  $(PRINTF) "=== Output from failing command(s) repeated here ===\n" $(NEWLINE) \
 	  $(foreach logfile, $(sort $(wildcard $(MAKESUPPORT_OUTPUTDIR)/failure-logs/*)), \
 	      $(PRINTF) "* For target $(notdir $(basename $(logfile))):\n" $(NEWLINE) \
-	      $(CAT) $(logfile) | $(GREP) -v -e "^Note: including file:" $(NEWLINE) \
+	      ($(GREP) -v -e "^Note: including file:" <  $(logfile) || true) | $(HEAD) -n 12 $(NEWLINE) \
+	      if test `$(WC) -l < $(logfile)` -gt 12; then \
+	        $(ECHO) "   ... (rest of output omitted)" ; \
+	      fi $(NEWLINE) \
 	  ) \
 	  $(PRINTF) "=== End of repeated output ===\n" \
 	)
@@ -486,6 +489,21 @@
 	    $(TOUCH) $(SJAVAC_SERVER_DIR)/server.port.stop; true
   endef
 
+  ifeq ($(OPENJDK_BUILD_OS), windows)
+    # On windows we need to synchronize with the javac server to be able to
+    # move or remove the build output directory. Since we have no proper
+    # synchronization process, wait for a while and hope it helps. This is only
+    # used by build comparisons.
+    define WaitForSmartJavacFinish
+	$(if $(SJAVAC_SERVER_DIR), \
+	  sleep 5\
+	)
+    endef
+  else
+    define WaitForSmartJavacFinish
+    endef
+  endif
+
   define StartGlobalTimer
 	$(RM) -r $(BUILDTIMESDIR) 2> /dev/null && \
 	$(MKDIR) -p $(BUILDTIMESDIR) && \