changeset 1388:3677f5f3d66b

Merge
author tonyp
date Thu, 21 Aug 2008 23:36:31 -0400
parents 580d4ae0a776 5b25d0a7116f
children 854d473cbd9c
files hotspot/agent/src/share/lib/jlfgr-1_0.jar hotspot/agent/src/share/lib/maf-1_0.jar hotspot/make/linux/Queens.class hotspot/make/linux/makefiles/top.make hotspot/make/solaris/Queens.class hotspot/make/solaris/makefiles/top.make hotspot/make/windows/makefiles/generated.make hotspot/make/windows/makefiles/makedeps.make hotspot/make/windows/makefiles/vm.make hotspot/src/cpu/sparc/vm/assembler_sparc.cpp hotspot/src/cpu/sparc/vm/assembler_sparc.hpp hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp hotspot/src/cpu/x86/vm/assembler_x86_32.cpp hotspot/src/cpu/x86/vm/assembler_x86_32.hpp hotspot/src/cpu/x86/vm/assembler_x86_64.cpp hotspot/src/cpu/x86/vm/assembler_x86_64.hpp hotspot/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp hotspot/src/os/linux/vm/os_linux.cpp hotspot/src/os/solaris/vm/os_solaris.cpp hotspot/src/os/windows/vm/os_windows.cpp hotspot/src/share/vm/adlc/formssel.cpp hotspot/src/share/vm/c1/c1_Runtime1.cpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep hotspot/src/share/vm/gc_implementation/includeDB_gc_g1 hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge hotspot/src/share/vm/gc_implementation/includeDB_gc_shared hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp hotspot/src/share/vm/gc_interface/collectedHeap.cpp hotspot/src/share/vm/gc_interface/collectedHeap.hpp hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp hotspot/src/share/vm/includeDB_compiler1 hotspot/src/share/vm/includeDB_compiler2 hotspot/src/share/vm/includeDB_core hotspot/src/share/vm/memory/barrierSet.hpp hotspot/src/share/vm/memory/barrierSet.inline.hpp hotspot/src/share/vm/memory/cardTableModRefBS.cpp hotspot/src/share/vm/memory/cardTableModRefBS.hpp hotspot/src/share/vm/memory/cardTableRS.cpp hotspot/src/share/vm/memory/cardTableRS.hpp hotspot/src/share/vm/memory/collectorPolicy.cpp hotspot/src/share/vm/memory/collectorPolicy.hpp hotspot/src/share/vm/memory/defNewGeneration.cpp hotspot/src/share/vm/memory/genCollectedHeap.hpp hotspot/src/share/vm/memory/genMarkSweep.cpp hotspot/src/share/vm/memory/genOopClosures.hpp hotspot/src/share/vm/memory/genOopClosures.inline.hpp hotspot/src/share/vm/memory/genRemSet.hpp hotspot/src/share/vm/memory/heapInspection.cpp hotspot/src/share/vm/memory/iterator.hpp hotspot/src/share/vm/memory/modRefBarrierSet.hpp hotspot/src/share/vm/memory/referenceProcessor.cpp hotspot/src/share/vm/memory/referenceProcessor.hpp hotspot/src/share/vm/memory/sharedHeap.cpp hotspot/src/share/vm/memory/space.cpp hotspot/src/share/vm/memory/space.hpp hotspot/src/share/vm/memory/universe.cpp hotspot/src/share/vm/oops/instanceKlass.cpp hotspot/src/share/vm/oops/instanceKlass.hpp hotspot/src/share/vm/oops/instanceRefKlass.cpp hotspot/src/share/vm/oops/klass.hpp hotspot/src/share/vm/oops/markOop.hpp hotspot/src/share/vm/oops/objArrayKlass.cpp hotspot/src/share/vm/oops/objArrayKlass.hpp hotspot/src/share/vm/oops/objArrayOop.cpp hotspot/src/share/vm/oops/objArrayOop.hpp hotspot/src/share/vm/oops/oop.hpp hotspot/src/share/vm/oops/oop.inline.hpp hotspot/src/share/vm/opto/graphKit.cpp hotspot/src/share/vm/opto/lcm.cpp hotspot/src/share/vm/opto/macro.cpp hotspot/src/share/vm/prims/jvm.cpp hotspot/src/share/vm/prims/jvmtiTagMap.cpp hotspot/src/share/vm/prims/unsafe.cpp hotspot/src/share/vm/runtime/arguments.cpp hotspot/src/share/vm/runtime/arguments.hpp hotspot/src/share/vm/runtime/globals.cpp hotspot/src/share/vm/runtime/globals.hpp hotspot/src/share/vm/runtime/globals_extension.hpp hotspot/src/share/vm/runtime/mutexLocker.cpp hotspot/src/share/vm/runtime/mutexLocker.hpp hotspot/src/share/vm/runtime/os.hpp hotspot/src/share/vm/runtime/sharedRuntime.cpp hotspot/src/share/vm/runtime/sharedRuntime.hpp hotspot/src/share/vm/runtime/task.cpp hotspot/src/share/vm/runtime/thread.cpp hotspot/src/share/vm/runtime/virtualspace.cpp hotspot/src/share/vm/runtime/vmStructs.cpp hotspot/src/share/vm/runtime/vm_operations.hpp hotspot/src/share/vm/services/heapDumper.cpp hotspot/src/share/vm/utilities/debug.cpp hotspot/src/share/vm/utilities/ostream.cpp hotspot/src/share/vm/utilities/ostream.hpp hotspot/src/share/vm/utilities/taskqueue.hpp jdk/make/ASSEMBLY_EXCEPTION jdk/make/LICENSE jdk/make/README jdk/make/README-builds.html jdk/make/README.html jdk/make/THIRD_PARTY_README jdk/make/java/nio/spp.sh jdk/make/tools/winver/Makefile jdk/make/tools/winver/bin/winver.exe jdk/make/tools/winver/src/StdAfx.cpp jdk/make/tools/winver/src/StdAfx.h jdk/make/tools/winver/src/winver.cpp jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java jdk/src/share/classes/javax/management/ToQueryString.java jdk/src/windows/classes/sun/java2d/d3d/D3DBackBufferSurfaceData.java jdk/src/windows/classes/sun/java2d/windows/DDBlitLoops.java jdk/src/windows/classes/sun/java2d/windows/DDRenderer.java jdk/src/windows/classes/sun/java2d/windows/DDScaleLoops.java jdk/src/windows/classes/sun/java2d/windows/Win32OffScreenSurfaceData.java jdk/src/windows/classes/sun/java2d/windows/Win32SurfaceData.java jdk/src/windows/classes/sun/java2d/windows/Win32SurfaceDataProxy.java jdk/src/windows/classes/sun/java2d/windows/WinBackBuffer.java jdk/src/windows/classes/sun/java2d/windows/WinBackBufferSurfaceData.java jdk/src/windows/classes/sun/java2d/windows/WinVolatileSurfaceManager.java jdk/src/windows/native/sun/java2d/d3d/D3DRuntimeTest.cpp jdk/src/windows/native/sun/java2d/d3d/D3DRuntimeTest.h jdk/src/windows/native/sun/java2d/d3d/D3DTestRaster.h jdk/src/windows/native/sun/java2d/d3d/D3DTextRenderer_md.cpp jdk/src/windows/native/sun/java2d/d3d/D3DUtils.cpp jdk/src/windows/native/sun/java2d/d3d/D3DUtils.h jdk/src/windows/native/sun/java2d/windows/DDBlitLoops.cpp jdk/src/windows/native/sun/java2d/windows/DDRenderer.cpp jdk/src/windows/native/sun/java2d/windows/RegistryKey.cpp jdk/src/windows/native/sun/java2d/windows/RegistryKey.h jdk/src/windows/native/sun/java2d/windows/Win32OffScreenSurfaceData.cpp jdk/src/windows/native/sun/java2d/windows/Win32SurfaceData.cpp jdk/src/windows/native/sun/java2d/windows/Win32SurfaceData.h jdk/src/windows/native/sun/java2d/windows/WinBackBufferSurfaceData.cpp jdk/src/windows/native/sun/java2d/windows/ddrawObject.cpp jdk/src/windows/native/sun/java2d/windows/ddrawObject.h jdk/src/windows/native/sun/java2d/windows/ddrawUtils.cpp jdk/src/windows/native/sun/java2d/windows/ddrawUtils.h jdk/src/windows/native/sun/java2d/windows/dxCapabilities.cpp jdk/src/windows/native/sun/java2d/windows/dxCapabilities.h jdk/src/windows/native/sun/java2d/windows/dxInit.cpp jdk/src/windows/native/sun/java2d/windows/dxInit.h langtools/src/share/classes/com/sun/tools/javac/util/BaseFileObject.java langtools/src/share/classes/com/sun/tools/javac/util/DiagnosticFormatter.java langtools/src/share/classes/com/sun/tools/javac/util/JavacFileManager.java langtools/src/share/classes/com/sun/tools/javac/util/Old199.java langtools/src/share/classes/com/sun/tools/javac/util/Paths.java langtools/src/share/classes/com/sun/tools/javac/zip/ZipFileIndex.java langtools/src/share/classes/com/sun/tools/javac/zip/ZipFileIndexEntry.java langtools/test/tools/javac/CyclicInheritance.sh langtools/test/tools/javac/ExtendsAccess/ExtendsAccess.sh langtools/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.sh langtools/test/tools/javac/InnerNamedConstant_2.sh langtools/test/tools/javac/LocalClasses_2.sh langtools/test/tools/javac/NameCollision.sh langtools/test/tools/javac/NestedInnerClassNames.sh langtools/test/tools/javac/NonStaticFieldExpr1.sh langtools/test/tools/javac/NonStaticFieldExpr2.sh langtools/test/tools/javac/NonStaticFieldExpr3.sh langtools/test/tools/javac/QualifiedAccess/QualifiedAccess_1.sh langtools/test/tools/javac/QualifiedAccess/QualifiedAccess_2.sh langtools/test/tools/javac/QualifiedAccess/QualifiedAccess_3.sh langtools/test/tools/javac/SynchronizedClass.sh langtools/test/tools/javac/capture/Capture4.java langtools/test/tools/javac/depDocComment/DeprecatedDocComment.sh
diffstat 2498 files changed, 123907 insertions(+), 37286 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Wed Aug 06 11:57:31 2008 -0400
+++ b/.hgtags	Thu Aug 21 23:36:31 2008 -0400
@@ -3,3 +3,7 @@
 5ae7db536e3fcf6be78e45b240a9058095e0ed38 jdk7-b26
 67052ac87fc927d048e62ec54ff42adb230d3f7c jdk7-b27
 18dc4ba4739a537fd146f77da51db16efce28da2 jdk7-b28
+bfe4572fd301a6fcd120373cdb2eff5d2da0c72c jdk7-b29
+bee4731164a06ddece1297ae58db24aca6a1c626 jdk7-b30
+cd8b8f500face60d1566d850857a7fccadbd383a jdk7-b31
+a9f1805e3ba9ca520cad199d522c84af5433e85a jdk7-b32
--- a/.hgtags-top-repo	Wed Aug 06 11:57:31 2008 -0400
+++ b/.hgtags-top-repo	Thu Aug 21 23:36:31 2008 -0400
@@ -3,3 +3,7 @@
 9410f77cc30c604d1caf7c9fe3a57fa19e1acbe8 jdk7-b26
 11b4dc9f2be3523ef989a0db8459eb56b3045c3a jdk7-b27
 56652b46f328937f6b9b5130f1e4cd80f48868ef jdk7-b28
+31e08f70e88d77c2053f91c21b49a04296bdc59a jdk7-b29
+2dab2f712e1832c92acfa63ec0337048b9422c20 jdk7-b30
+3300a35a0bd56d695b92fe0b34f03ebbfc939064 jdk7-b31
+64da805be725721bf2004e7409a0d7a16fc8ddbc jdk7-b32
--- a/Makefile	Wed Aug 06 11:57:31 2008 -0400
+++ b/Makefile	Thu Aug 21 23:36:31 2008 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright 1995-2007 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 1995-2008 Sun Microsystems, Inc.  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
@@ -49,27 +49,17 @@
   JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared
 endif
 
+# For start and finish echo lines
+TITLE_TEXT = Control $(PLATFORM) $(ARCH) $(RELEASE)
+DAYE_STAMP = `$(DATE) '+%y-%m-%d %H:%M'`
+START_ECHO  = echo "$(TITLE_TEXT) $@ build started: $(DATE_STAMP)"
+FINISH_ECHO = echo "$(TITLE_TEXT) $@ build finished: $(DATE_STAMP)"
+
+default: all
+
 include $(JDK_MAKE_SHARED_DIR)/Defs-control.gmk
-
 include ./make/Defs-internal.gmk
-
-all::
-	@$(ECHO) $(PLATFORM) $(ARCH) $(RELEASE) build started: `$(DATE) '+%y-%m-%d %H:%M'`
-	$(MKDIR) -p $(OUTPUTDIR)
-
-# Rules for sanity checks
 include ./make/sanity-rules.gmk
-
-dev : dev-build
-
-dev-build:
-	$(MAKE) DEV_ONLY=true all
-dev-sanity:
-	$(MAKE) DEV_ONLY=true sanity
-dev-clobber:
-	$(MAKE) DEV_ONLY=true clobber
-
-# Rules for various components
 include ./make/hotspot-rules.gmk
 include ./make/langtools-rules.gmk
 include ./make/corba-rules.gmk
@@ -80,11 +70,203 @@
 include ./make/sponsors-rules.gmk
 include ./make/deploy-rules.gmk
 
-all:: setup build
+# What "all" means
+all::
+	@$(START_ECHO)
 
-setup: openjdk_check
+all:: openjdk_check sanity all_product_build 
+
+ifeq ($(SKIP_FASTDEBUG_BUILD), false)
+  all:: fastdebug_build
+endif
+
+ifeq ($(SKIP_DEBUG_BUILD), false)
+  all:: debug_build
+endif
+
+ifneq ($(SKIP_OPENJDK_BUILD), true)
+  all:: openjdk_build
+endif
+
+all:: 
+	@$(FINISH_ECHO)
+
+# Everything for a full product build
+all_product_build::
+	@$(START_ECHO)
+
+ifeq ($(SKIP_PRODUCT_BUILD), false)
+  
+  all_product_build:: product_build
+
+  ifeq ($(BUILD_INSTALL), true)
+    all_product_build:: $(INSTALL)
+    clobber:: install-clobber
+  endif
+  
+  ifeq ($(BUILD_SPONSORS), true)
+    all_product_build:: $(SPONSORS)
+    clobber:: sponsors-clobber
+  endif
+  
+  ifneq ($(SKIP_COMPARE_IMAGES), true)
+    all_product_build:: compare-image
+  endif
+
+endif
+
+all_product_build:: 
+	@$(FINISH_ECHO)
+
+# Generis build of basic repo series
+generic_build_repo_series::
+	$(MKDIR) -p $(OUTPUTDIR)
 	$(MKDIR) -p $(OUTPUTDIR)/j2sdk-image
 
+ifeq ($(BUILD_LANGTOOLS), true)
+  generic_build_repo_series:: langtools
+  clobber:: langtools-clobber
+endif
+
+ifeq ($(BUILD_CORBA), true)
+  generic_build_repo_series:: corba
+  clobber:: corba-clobber
+endif
+
+ifeq ($(BUILD_JAXP), true)
+  generic_build_repo_series:: jaxp
+  clobber:: jaxp-clobber
+endif
+
+ifeq ($(BUILD_JAXWS), true)
+  generic_build_repo_series:: jaxws
+  clobber:: jaxws-clobber
+endif
+
+ifeq ($(BUILD_HOTSPOT), true)
+  generic_build_repo_series:: $(HOTSPOT) 
+  clobber:: hotspot-clobber
+endif
+
+ifeq ($(BUILD_JDK), true)
+  generic_build_repo_series:: $(JDK_JAVA_EXE)
+  clobber:: jdk-clobber
+endif
+
+ifeq ($(BUILD_DEPLOY), true)
+  generic_build_repo_series:: $(DEPLOY)
+  clobber:: deploy-clobber
+endif
+
+ifeq ($(BUILD_JDK), true)
+  ifeq ($(BUNDLE_RULES_AVAILABLE), true)
+    generic_build_repo_series:: openjdk-binary-plugs-bundles
+  endif
+endif
+
+# The debug build, fastdebug or debug. Needs special handling.
+#  Note that debug builds do NOT do INSTALL steps, but must be done
+#  after the product build and before the INSTALL step of the product build.
+#
+#   DEBUG_NAME is fastdebug or debug
+#   ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix
+#   The resulting j2sdk-image is used by the install makefiles to create a
+#     debug install bundle jdk-*-debug-** bundle (tar or zip) 
+#     which will install in the debug or fastdebug subdirectory of the
+#     normal product install area.
+#     The install process needs to know what the DEBUG_NAME is, so
+#     look for INSTALL_DEBUG_NAME in the install rules.
+#
+
+# Location of fresh bootdir output
+ABS_BOOTDIR_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
+FRESH_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/j2sdk-image
+FRESH_DEBUG_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)-$(DEBUG_NAME)/j2sdk-image
+  
+create_fresh_product_bootdir: FRC
+	@$(START_ECHO)
+	$(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
+		NO_DOCS=true \
+		BOOT_CYCLE_SETTINGS= \
+		build_product_image
+	@$(FINISH_ECHO)
+
+create_fresh_debug_bootdir: FRC
+	@$(START_ECHO)
+	$(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
+		NO_DOCS=true \
+		BOOT_CYCLE_DEBUG_SETTINGS= \
+		build_debug_image
+	@$(FINISH_ECHO)
+
+create_fresh_fastdebug_bootdir: FRC
+	@$(START_ECHO)
+	$(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
+		NO_DOCS=true \
+		BOOT_CYCLE_DEBUG_SETTINGS= \
+		build_fastdebug_image
+	@$(FINISH_ECHO)
+
+# Create boot image?
+ifeq ($(SKIP_BOOT_CYCLE),false)
+  ifneq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64)
+    DO_BOOT_CYCLE=true
+  endif
+endif
+
+ifeq ($(DO_BOOT_CYCLE),true)
+  
+  # Create the bootdir to use in the build
+  product_build:: create_fresh_product_bootdir
+  debug_build:: create_fresh_debug_bootdir
+  fastdebug_build:: create_fresh_fastdebug_bootdir
+
+  # Define variables to be used now for the boot jdk
+  BOOT_CYCLE_SETTINGS= \
+     ALT_BOOTDIR=$(FRESH_BOOTDIR) \
+     ALT_JDK_IMPORT_PATH=$(FRESH_BOOTDIR)
+  BOOT_CYCLE_DEBUG_SETTINGS= \
+     ALT_BOOTDIR=$(FRESH_DEBUG_BOOTDIR) \
+     ALT_JDK_IMPORT_PATH=$(FRESH_DEBUG_BOOTDIR)
+
+else
+
+  # Use the supplied ALT_BOOTDIR as the boot
+  BOOT_CYCLE_SETTINGS=
+  BOOT_CYCLE_DEBUG_SETTINGS=
+
+endif
+
+build_product_image:
+	@$(START_ECHO)
+	$(MAKE) \
+	        SKIP_FASTDEBUG_BUILD=true \
+	        SKIP_DEBUG_BUILD=true \
+	        $(BOOT_CYCLE_SETTINGS) \
+	        generic_build_repo_series
+	@$(FINISH_ECHO)
+
+generic_debug_build:
+	@$(START_ECHO)
+	$(MAKE) \
+		ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)-$(DEBUG_NAME) \
+	        DEBUG_NAME=$(DEBUG_NAME) \
+		NO_DOCS=true \
+	        $(BOOT_CYCLE_DEBUG_SETTINGS) \
+		generic_build_repo_series
+	@$(FINISH_ECHO)
+
+build_debug_image:
+	$(MAKE) DEBUG_NAME=debug generic_debug_build
+
+build_fastdebug_image:
+	$(MAKE) DEBUG_NAME=fastdebug generic_debug_build
+
+# Build final image
+product_build:: build_product_image
+debug_build:: build_debug_image
+fastdebug_build:: build_fastdebug_image
+
 # Check on whether we really can build the openjdk, need source etc.
 openjdk_check: FRC
 ifneq ($(SKIP_OPENJDK_BUILD), true)
@@ -101,113 +283,6 @@
 	@$(ECHO) " "
 endif
 
-build:: sanity 
-
-clobber::
-
-ifeq ($(BUILD_LANGTOOLS), true)
-  build:: langtools
-  clobber:: langtools-clobber
-endif
-
-ifeq ($(BUILD_CORBA), true)
-  build:: corba
-  clobber:: corba-clobber
-endif
-
-ifeq ($(BUILD_JAXP), true)
-  build:: jaxp
-  clobber:: jaxp-clobber
-endif
-
-ifeq ($(BUILD_JAXWS), true)
-  build:: jaxws
-  clobber:: jaxws-clobber
-endif
-
-ifeq ($(BUILD_HOTSPOT), true)
-  build:: $(HOTSPOT) 
-  clobber:: hotspot-clobber
-endif
-
-ifeq ($(BUILD_JDK), true)
-  build:: $(JDK_JAVA_EXE)
-  clobber:: jdk-clobber
-endif
-
-ifeq ($(BUILD_DEPLOY), true)
-  build:: $(DEPLOY)
-  clobber:: deploy-clobber
-endif
-
-#
-# Generic debug build, fastdebug or debug. Needs special handling.
-#  Note that debug builds do NOT do INSTALL steps, but must be done
-#  after the product build and before the INSTALL step of the product build.
-#
-#   DEBUG_NAME is fastdebug or debug
-#   ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix
-#   The resulting j2sdk-image is used by the install makefiles to create a
-#     debug install bundle jdk-*-debug-** bundle (tar or zip) 
-#     which will install in the debug or fastdebug subdirectory of the
-#     normal product install area.
-#     The install process needs to know what the DEBUG_NAME is, so
-#     look for INSTALL_DEBUG_NAME in the install rules.
-#
-
-COMMON_DEBUG_FLAGS= \
-	DEBUG_NAME=$(DEBUG_NAME) \
-	ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)-$(DEBUG_NAME) \
-	NO_DOCS=true
-
-product_build: setup
-	@$(ECHO) $@ build started: `$(DATE) '+%y-%m-%d %H:%M'`
-	$(MAKE) SKIP_FASTDEBUG_BUILD=true SKIP_DEBUG_BUILD=true all
-	@$(ECHO) $@ build finished: `$(DATE) '+%y-%m-%d %H:%M'`
-
-generic_debug_build:
-	@$(ECHO) $@ build started: `$(DATE) '+%y-%m-%d %H:%M'`
-	$(MAKE) $(COMMON_DEBUG_FLAGS) setup build
-	@$(ECHO) $@ build finished: `$(DATE) '+%y-%m-%d %H:%M'`
-
-debug_build: setup
-	$(MAKE) DEBUG_NAME=debug generic_debug_build
-
-fastdebug_build: setup
-	$(MAKE) DEBUG_NAME=fastdebug generic_debug_build
-
-ifeq ($(SKIP_FASTDEBUG_BUILD), false)
-  all:: fastdebug_build
-endif
-
-ifeq ($(SKIP_DEBUG_BUILD), false)
-  all:: debug_build
-endif
-
-ifeq ($(BUILD_JDK), true)
-  ifeq ($(BUNDLE_RULES_AVAILABLE), true)
-    all:: openjdk-binary-plugs-bundles
-  endif
-endif
-
-ifeq ($(BUILD_INSTALL), true)
-  all :: $(INSTALL)
-  clobber:: install-clobber
-endif
-
-ifeq ($(BUILD_SPONSORS), true)
-  all :: $(SPONSORS)
-  clobber:: sponsors-clobber
-endif
-
-ifneq ($(SKIP_COMPARE_IMAGES), true)
-  all :: compare-image
-endif
-
-ifneq ($(SKIP_OPENJDK_BUILD), true)
-  all :: openjdk_build
-endif
-
 # If we have bundle rules, we have a chance here to do a complete cycle
 #   build, of production and open build.
 # FIXUP: We should create the openjdk source bundle and build that?
@@ -235,6 +310,7 @@
 endif
 
 openjdk_build:
+	@$(START_ECHO)
 	@$(ECHO) " "
 	@$(ECHO) "================================================="
 	@$(ECHO) "Starting openjdk build"
@@ -245,6 +321,7 @@
 	$(MKDIR) -p $(OPENJDK_OUTPUTDIR)
 	($(CD) $(OPENJDK_BUILDDIR) && $(MAKE) \
 	  OPENJDK=true \
+	  NO_DOCS=true \
 	  ALT_JDK_DEVTOOLS_DIR=$(JDK_DEVTOOLS_DIR) \
 	  ALT_OUTPUTDIR=$(OPENJDK_OUTPUTDIR) \
 	  ALT_BINARY_PLUGS_PATH=$(OPENJDK_PLUGS) \
@@ -261,6 +338,7 @@
 	@$(ECHO) " Binary Bundle: $(OPENJDK_BUILD_BINARY_ZIP)"
 	@$(ECHO) "================================================="
 	@$(ECHO) " "
+	@$(FINISH_ECHO)
     
     endif
   endif
@@ -274,8 +352,18 @@
 
 clean: clobber
 
-all:: 
-	@$(ECHO) Control build finished: `$(DATE) '+%y-%m-%d %H:%M'`
+#
+# Dev builds
+#
+
+dev : dev-build
+
+dev-build:
+	$(MAKE) DEV_ONLY=true all
+dev-sanity:
+	$(MAKE) DEV_ONLY=true sanity
+dev-clobber:
+	$(MAKE) DEV_ONLY=true clobber
 
 #
 # Quick jdk verification build
@@ -461,16 +549,6 @@
 endif
 
 ################################################################
-# Cycle build. Build the jdk, use it to build the jdk again.
-################################################################
-  
-ABS_BOOTDIR_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
-  
-boot_cycle:
-	$(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) product_build
-	$(MAKE) ALT_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/j2sdk-image product_build
-
-################################################################
 # JPRT rule to build
 ################################################################
 
@@ -480,9 +558,20 @@
 #  PHONY
 ################################################################
 
-.PHONY: all build what clobber insane \
-	fastdebug_build debug_build product_build setup \
-        dev dev-build dev-sanity dev-clobber
+.PHONY: all \
+	generic_build_repo_series \
+	what clobber insane \
+        dev dev-build dev-sanity dev-clobber \
+        product_build \
+        fastdebug_build \
+        debug_build  \
+        build_product_image  \
+        build_debug_image  \
+        build_fastdebug_image \
+        create_fresh_product_bootdir \
+        create_fresh_debug_bootdir \
+        create_fresh_fastdebug_bootdir \
+        generic_debug_build
 
 # Force target
 FRC:
--- a/README-builds.html	Wed Aug 06 11:57:31 2008 -0400
+++ b/README-builds.html	Thu Aug 21 23:36:31 2008 -0400
@@ -5,15 +5,12 @@
     </head>
     <body style="background-color:lightcyan">
         <!-- ====================================================== -->
-        <table width="100%" style="background-color:white">
+        +        <table width="100%">
             <tr>
                 <td align="center">
-                    <a href="http://openjdk.java.net" border="0">    
-                        <img alt="OpenJDK" 
-                             src="http://openjdk.java.net/images/openjdk.png"
-                             width=256
-                             style="border-style: none"/>
-                    </a>
+                    <img alt="OpenJDK" 
+                         src="http://openjdk.java.net/images/openjdk.png" 
+                         width=256 />
                 </td>
             </tr>
             <tr>
@@ -54,6 +51,7 @@
                             <li><a href="#bootjdk">Bootstrap JDK</a> </li>
                             <li><a href="#binaryplugs">Binary Plugs</a> </li>
                             <li><a href="#importjdk">Optional Import JDK</a> </li>
+                            <li><a href="#ant">Ant</a> </li>
                             <li><a href="#cacerts">Certificate Authority File (cacert)</a> </li>
                             <li><a href="#compilers">Compilers</a> 
                                 <ul>
@@ -134,7 +132,7 @@
                             See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
                             SunSolve</a> for patch downloads.
                         </td>
-                        <td>Sun Studio 11 </td>
+                        <td>Sun Studio 12</td>
                     </tr>
                     <tr>
                         <td>Solaris SPARCV9 (64bit)</td>
@@ -143,7 +141,7 @@
                             See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
                             SunSolve</a> for patch downloads.
                         </td>
-                        <td>Sun Studio 11</td>
+                        <td>Sun Studio 12</td>
                     </tr>
                     <tr>
                         <td>Solaris X86 (32bit)</td>
@@ -152,7 +150,7 @@
                             See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
                             SunSolve</a> for patch downloads.
                         </td>
-                        <td>Sun Studio 11</td>
+                        <td>Sun Studio 12</td>
                     </tr>
                     <tr>
                         <td>Solaris X64 (64bit)</td>
@@ -161,7 +159,7 @@
                             See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
                             SunSolve</a> for patch downloads.
                         </td>
-                        <td>Sun Studio 11</td>
+                        <td>Sun Studio 12</td>
                     </tr>
                     <tr>
                         <td>Windows X86 (32bit)</td>
@@ -424,24 +422,37 @@
                     you should use <tt>gmake</tt>
                     which will be located in either the <tt>/opt/sfw/bin</tt> or 
                     <tt>/usr/sfw/bin</tt> directory.
+                    In more recent versions of Solaris GNU make can be found
+                    at <tt>/usr/bin/gmake</tt>. 
                 </li>
                 <li>
                     <strong>Windows:</strong>
                     Make sure you start your build inside a bash/sh/ksh shell.
                     <br>
                     <b>WARNING:</b> Watch out for make version 3.81, it may
-                    not work due to a lack of support for drive letter paths
-                    like <tt>C:/</tt>. See
-                    <a href="#gmake">section on gmake</a>.
+                    not work due to a lack of support for MS-DOS drive letter paths
+                    like <tt>C:/</tt> or <tt>C:\</tt>.
                     Use a 3.80 version, or find a newer
-                    version that has this problem fixed.
+                    version that has this problem fixed, like 3.82.
                     The older 3.80 version of make.exe can be downloaded with this
                     <a href="http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2" target="_blank">
                     link</a>.
+                    Use of this older 3.80 make.exe may require that you install the
+                    libintl2.dll library or libintl2 cygwin package which is
+                    no longer installed by default by the cygwin installer.
+                    <br>
                     Also see the
                     <a href="http://developer.mozilla.org/en/docs/Windows_build_prerequisites_using_cygwin#make" target="_blank">
                     mozilla developer center</a>
                     on this topic.
+                    <br>
+                    It's hoped that when make 3.82 starts shipping in a future cygwin
+                    release that this MS-DOS path issue will be fixed.
+                    In addition to the above 3.80 make.exe you can download 
+                    this
+                    <a href="http://www.cmake.org/files/cygwin/make.exe">
+                    www.cmake.org make.exe</a> which will not have a libintl2.dll
+                    dependency.
                 </li>
             </ul>
             <p>
@@ -507,6 +518,11 @@
                     Install or upgrade the <a href="#freetype">FreeType development
                     package</a>.
                 </li>
+                <li>
+                    Install
+                    <a href="#ant">Ant</a>, set
+                    <tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
+                </li>
             </ol>
         </blockquote>
         <!-- ------------------------------------------------------ -->
@@ -567,6 +583,11 @@
                     <a href="#cups">CUPS Include files</a>, set
                     <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>.
                 </li>
+                <li>
+                    Install
+                    <a href="#ant">Ant</a>, set
+                    <tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
+                </li>
             </ol>
         </blockquote>
         <!-- ------------------------------------------------------ -->
@@ -654,6 +675,11 @@
                     Install 
                     <a href="#dxsdk">Microsoft DirectX SDK</a>.
                 </li>
+                <li>
+                    Install
+                    <a href="#ant">Ant</a>, set
+                    <tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
+                </li>
             </ol>
         </blockquote>
         <!-- ------------------------------------------------------ -->
@@ -736,6 +762,22 @@
                 and the build will copy the needed files from this import area.
             </blockquote>
             <!-- ------------------------------------------------------ -->
+            <h4><a name="ant">Ant</a></h4>
+            <blockquote>
+                All OpenJDK builds require access to least Ant 1.6.5.
+                The Ant tool is available from the 
+                <a href="http://ant.apache.org/antlibs/bindownload.cgi" target="_blank">
+                Ant download site</a>.
+                You should always set 
+                <tt><a href="#ANT_HOME">ANT_HOME</a></tt>
+                to point to the location of
+                the Ant installation, this is the directory pathname
+                that contains a <tt>bin and lib</tt>.
+                It's also a good idea to also place its <tt>bin</tt> directory
+                in the <tt>PATH</tt> environment variable, although it's
+                not absolutely required.
+            </blockquote>
+            <!-- ------------------------------------------------------ -->
             <h4><a name="cacerts">Certificate Authority File (cacert)</a></h4>
             <blockquote>
                 See <a href="http://en.wikipedia.org/wiki/Certificate_Authority" target="_blank">
@@ -789,8 +831,8 @@
                 <blockquote>
                     At a minimum, the
                     <a href="http://developers.sun.com/sunstudio/index.jsp" target="_blank">
-                    Sun Studio 11 Compilers</a>
-                    (containing version 5.8 of the C and C++ compilers) is required,
+                    Sun Studio 12 Compilers</a>
+                    (containing version 5.9 of the C and C++ compilers) is required,
                     with patches from the
                     <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access" target="_blank">
                     SunSolve web site</a>.
@@ -915,6 +957,21 @@
                 and 
                 <tt><a href="#ALT_FREETYPE_HEADERS_PATH">ALT_FREETYPE_HEADERS_PATH</a></tt>
                 to refer to place where library and header files are installed.
+                <p>
+                Building the freetype 2 libraries from scratch is also possible,
+                however on Windows refer to the
+                <a href="http://freetype.freedesktop.org/wiki/FreeType_DLL">
+                Windows FreeType DLL build instructions</a>.
+                <p>
+                Note that by default FreeType is built with byte code hinting
+                support disabled due to licensing restrictions.
+                In this case, text appearance and metrics are expected to
+                differ from Sun's official JDK build.
+                See
+                <a href="http://freetype.sourceforge.net/freetype2/index.html">
+                    the SourceForge FreeType2 Home Page
+                </a>
+                for more information.
             </blockquote>    
             <!-- ------------------------------------------------------ -->
             <h4><a name="alsa">Advanced Linux Sound Architecture (ALSA) (Linux only)</a></h4>
@@ -1036,7 +1093,8 @@
                             <tr>
                                 <td>make.exe</td>
                                 <td>Devel</td>
-                                <td>make: The GNU version of the 'make' utility</td>
+                                <td>make: The GNU version of the 'make' utility<br>
+                                <b>NOTE</b>: See <a href="#gmake">the GNU make section</a></td>
                             </tr>
                             <tr>
                                 <td>m4.exe</td>
@@ -1050,7 +1108,7 @@
                                 <td>cpio: A program to manage archives of files</td>
                             </tr>
                             <tr>
-                                <td>awk.exe</td>
+                                <td>gawk.exe</td>
                                 <td>Utils</td>
                                 <td>awk: Pattern-directed scanning and processing language</td>
                             </tr>
@@ -1061,17 +1119,17 @@
                             </tr>
                             <tr>
                                 <td>zip.exe</td>
-                                <td>Utils</td>
+                                <td>Archive</td>
                                 <td>zip: Package and compress (archive) files</td>
                             </tr>
                             <tr>
                                 <td>unzip.exe</td>
-                                <td>Utils</td>
+                                <td>Archive</td>
                                 <td>unzip: Extract compressed files in a ZIP archive</td>
                             </tr>
                             <tr>
                                 <td>free.exe</td>
-                                <td>Utils</td>
+                                <td>Procps</td>
                                 <td>free: Display amount of free and used memory in the system</td>
                             </tr>
                         </tbody>
@@ -1224,38 +1282,13 @@
         document) that can impact the build are:
         <blockquote>
             <dl>
-                <dt><a name="path"><tt>PATH</tt></a> </dt>
-                <dd>Typically you want to set the <tt>PATH</tt> to include:
-                    <ul>
-                        <li>The location of the GNU make binary</li>
-                        <li>The location of the Bootstrap JDK <tt>java</tt> 
-                        (see <a href="#bootjdk">Bootstrap JDK</a>)</li>
-                        <li>The location of the C/C++ compilers 
-                        (see <a href="#compilers"><tt>compilers</tt></a>)</li>
-                        <li>The location or locations for the Unix command utilities
-                        (e.g. <tt>/usr/bin</tt>)</li>
-                    </ul>
-                </dd>
-                <dt><tt>MILESTONE</tt> </dt>
+                <dt><a name="ALT_BINARY_PLUGS_PATH"><tt>ALT_BINARY_PLUGS_PATH</tt></a></dt>
                 <dd>
-                    The milestone name for the build (<i>e.g.</i>"beta"). 
-