changeset 3408:ab960e856d18

Merge
author ohair
date Fri, 24 Dec 2010 11:17:10 -0800
parents 83480217896c (current diff) 217c842d710b (diff)
children a06412e13bf7
files make/common/internal/BinaryPlugs.gmk make/common/shared/Defs-versions.gmk make/common/shared/Sanity.gmk
diffstat 24 files changed, 260 insertions(+), 715 deletions(-) [+]
line wrap: on
line diff
--- a/README	Wed Dec 22 15:57:26 2010 -0800
+++ b/README	Fri Dec 24 11:17:10 2010 -0800
@@ -9,25 +9,20 @@
      http://java.sun.com/javase/downloads/index.jsp
      Set the environment variable ALT_BOOTDIR to the location of this JDK 6.
 
-  2. Download and install the Binary Plugs for the most recent JDK7 from
-     http://download.java.net/openjdk/jdk7/
-     Set the environment variable ALT_BINARY_PLUGS_PATH to the location of
-     these binary plugs.
-     
-  3. Either download and install the latest JDK7 from
+  2. Either download and install the latest JDK7 from
      http://download.java.net/openjdk/jdk7/, or build your own complete
      OpenJDK7 by using the top level Makefile in the OpenJDK Mercurial forest.
      Set the environment variable ALT_JDK_IMPORT_PATH to the location of
      this latest JDK7 or OpenJDK7 build.
      
-  4. Check the sanity of doing a build with the current machine:
+  3. Check the sanity of doing a build with the current machine:
        cd make && gnumake sanity
      See README-builds.html if you run into problems.
   
-  5. Do a partial build of the jdk:
+  4. Do a partial build of the jdk:
        cd make && gnumake all
   
-  6. Construct the images:
+  5. Construct the images:
        cd make && gnumake images
      The resulting JDK image should be found in build/*/j2sdk-image
 
--- a/make/Makefile	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/Makefile	Fri Dec 24 11:17:10 2010 -0800
@@ -100,7 +100,6 @@
 DEVTOOLS_PATH.desc         = Directory containing zip and unzip
 CUPS_HEADERS_PATH.desc     = Include directory location for CUPS header files
 DXSDK_PATH.desc            = Root directory of DirectX SDK
-MSDEVTOOLS_PATH.desc       = Root directory of VC++ tools (e.g. rc.exe)
 MSVCRT_DLL_PATH.desc       = Directory containing mscvrt.dll
 
 # Make variables to print out (description and value)
@@ -135,12 +134,10 @@
 
 VARIABLE_PRINTVAL_LIST +=       \
     DXSDK_PATH                  \
-    MSDEVTOOLS_PATH             \
     MSVCRT_DLL_PATH
 
 VARIABLE_CHECKDIR_LIST +=       \
     DXSDK_PATH                  \
-    MSDEVTOOLS_PATH             \
     MSVCRT_DLL_PATH
 
 endif
@@ -325,11 +322,6 @@
 endif
 
 #
-# Binary Plug rules and macros
-#
-include $(BUILDDIR)/common/internal/BinaryPlugs.gmk
-
-#
 # Test rule
 #
 
--- a/make/com/sun/jmx/Makefile	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/com/sun/jmx/Makefile	Fri Dec 24 11:17:10 2010 -0800
@@ -42,12 +42,8 @@
 # within common included gmk files : that is why the following for loop
 # has been duplicated.
 
-# When building the openjdk, build snmp only if importing binary plugs,
-ifdef OPENJDK
-  ifeq ($(IMPORT_BINARY_PLUGS),true)
-    SUBDIRS = snmp
-  endif
-else
+# When building the openjdk, no snmp
+ifndef OPENJDK
   SUBDIRS = snmp
 endif
 
--- a/make/common/Defs.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/Defs.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -109,83 +109,6 @@
   endif
 endif
 
-# If OPENJDK is defined, we may still need to use some native libraries that
-# exist only as part of the closed source. If the closed sources are not
-# available, the libraries must have been pre-built. Since these libraries
-# and the JDK internal interfaces to these are reasonably stable this is not
-# a significant problem. But we do need to provide a way to locate them,
-# including a way to point to a new one when there have been changes.
-#
-# If you have a formal binary plugs download, set ALT_BINARY_PLUGS_PATH
-# to the location.
-# (Optionally you can set ALT_CLOSED_JDK_IMPORT_PATH to point to the latest
-#  build JDK, or last promotion for this JDK version, but will not work
-#  on windows).
-#
-# As the OPENJDK is built, the binary plugs are used instead of building the
-# libraries.
-# Individual Makefiles that specify USE_BINARY_PLUG_LIBRARY, will get
-# the binary plug copy (or a copy from a built JDK).
-#
-# See common/internal/BinaryPlugs.gmk for more information.
-#
-# Usage notes:
-#
-#   ALT_BINARY_PLUGS_JARFILE is probably rarely needed. It can be used
-#   to identify the exact jar file to be used for all closed classes..
-#  
-#   ALT_BINARY_PLUGS_PATH points to a directory containing precisely the
-#   binaries needed to build. 
-#  
-#   ALT_BUILD_BINARY_PLUGS_PATH points to a directory containing binary plug dirs 
-#   multiple architectures named using the standard conventions
-#   This is useful for build scripts that need to build multiple architectures
-#   of the OpenJDK.
-#   
-#   ALT_CLOSED_JDK_IMPORT_PATH points to the top-level of a specific platform
-#   JDK image.
-#  
-#   The precedence is that
-#     1. ALT_BINARY_PLUGS_JARFILE overrides any other location of the classes
-#     2. ALT_BINARY_PLUGS_PATH overrides all locations of classes and libraries
-#     3. ALT_BUILD_BINARY_PLUGS_PATH is used to find a ALT_BINARY_PLUGS_PATH
-#     4. ALT_CLOSED_JDK_IMPORT_PATH is used to locate classes and libraries
-#   Note: If any of the ALT_ variables are modified here, it is assumed
-#         that the build should be done with IMPORT_BINARY_PLUGS=true as
-#         well.  Otherwise the default will be IMPORT_BINARY_PLUGS=false.
-#         Lastly, setting IMPORT_BINARY_PLUGS=false on the command line
-#         will override this logic, and plugs will not be imported.
-#
-
-# Always needed, defines the name of the imported/exported jarfile
-BINARY_PLUGS_JARNAME = rt-closed.jar
-
-ifdef OPENJDK
-  ifdef ALT_CLOSED_JDK_IMPORT_PATH
-    CLOSED_JDK_IMPORT_PATH = $(ALT_CLOSED_JDK_IMPORT_PATH)
-    BINARY_PLUGS_PATH = $(CLOSED_JDK_IMPORT_PATH)
-    BINARY_PLUGS_JARFILE = $(CLOSED_JDK_IMPORT_PATH)/jre/lib/rt.jar
-    IMPORT_BINARY_PLUGS=true
-  endif
-  ifdef ALT_BUILD_BINARY_PLUGS_PATH
-    BUILD_BINARY_PLUGS_PATH = $(ALT_BUILD_BINARY_PLUGS_PATH)
-    IMPORT_BINARY_PLUGS=true
-  else
-    BUILD_BINARY_PLUGS_PATH = $(SLASH_JAVA)/re/jdk/$(JDK_VERSION)/promoted/latest/openjdk/binaryplugs
-  endif
-  BINARY_PLUGS_PATH = $(BUILD_BINARY_PLUGS_PATH)/$(PLATFORM)-$(ARCH)
-  BINARY_PLUGS_JARFILE = $(BINARY_PLUGS_PATH)/jre/lib/$(BINARY_PLUGS_JARNAME)
-  ifdef ALT_BINARY_PLUGS_PATH
-    BINARY_PLUGS_PATH  = $(ALT_BINARY_PLUGS_PATH)
-    BINARY_PLUGS_JARFILE = $(BINARY_PLUGS_PATH)/jre/lib/$(BINARY_PLUGS_JARNAME)
-    IMPORT_BINARY_PLUGS=true
-  endif
-  ifdef ALT_BINARY_PLUGS_JARFILE
-    BINARY_PLUGS_JARFILE = $(ALT_BINARY_PLUGS_JARFILE)
-    IMPORT_BINARY_PLUGS=true
-  endif
-endif # OPENJDK
-
 #
 # Get platform definitions
 #
@@ -289,17 +212,6 @@
 
 LDLIBS_COMMON += $(EXTRA_LIBS)
 
-#
-# Default is to build, not import native binaries
-#
-ifndef IMPORT_NATIVE_BINARIES
-  IMPORT_NATIVE_BINARIES=false
-endif
-# If importing libraries in, no incremental builds
-ifeq ($(IMPORT_NATIVE_BINARIES),true)
- INCREMENTAL_BUILD=false
-endif
-
 # for generated libraries
 LIBDIR              = $(OUTPUTDIR)/lib
 ABS_LIBDIR          = $(ABS_OUTPUTDIR)/lib
--- a/make/common/Library.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/Library.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -77,26 +77,6 @@
 LINKER=$(LINK.c)
 endif
 
-# FIXUP: unpack needs the zip .o files. So we must build zip?
-#     or fix unpack makefile so it uses Program.gmk.
-ifneq ($(IMPORT_NATIVE_BINARIES),true)
-  COMPILE_IT=true
-else
-  ifeq ($(LIBRARY),zip)
-    COMPILE_IT=true
-  else
-    COMPILE_IT=false
-  endif
-endif
-
-# If a Makefile has specified a pre-compiled closed src lib, just copy it.
-ifdef USE_BINARY_PLUG_LIBRARY
-  COMPILE_IT=false
-endif
-
-# We either need to import (copy) libraries in, or build them
-ifeq ($(COMPILE_IT),true)
-
 $(ACTUAL_LIBRARY):: $(INIT) $(TEMPDIR) $(LIBDIR) $(BINDIR) $(EXTDIR) classheaders
 
 #
@@ -275,31 +255,6 @@
 	$(LINT.c) $(FILES_ln) $(LDLIBS) 
 endif
 
-else  # COMPILE_IT
-
-# OpenJDK rule is first so any lib is preferentially copied from that location.
-ifndef USE_BINARY_PLUG_LIBRARY
-
-# In this case we are just copying the file.
-ifneq ($(LIBRARY), fdlibm)
-# Copies in the file from the JDK_IMPORT_PATH area
-$(ACTUAL_LIBRARY_DIR)/%: $(JDK_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/%
-	$(install-import-file)
-$(ACTUAL_LIBRARY_DIR)/%: $(JDK_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/native_threads/%
-	$(install-import-file)
-$(ACTUAL_LIBRARY_DIR)/%: $(JDK_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/headless/%
-	$(install-import-file)
-$(ACTUAL_LIBRARY_DIR)/%: $(JDK_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/xawt/%
-	$(install-import-file)
-else # fdlibm
-$(ACTUAL_LIBRARY_DIR)/%:
-	$(prep-target)
-endif # fdlibm
-
-endif # USE_BINARY_PLUG_LIBRARY
-
-endif # COMPILE_IT
-
 #
 # Class libraries with JNI native methods get a include to the package.
 #
--- a/make/common/Program.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/Program.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -105,15 +105,6 @@
 FILES_o = \
 	$(OBJDIR)/main.$(OBJECT_SUFFIX)
 
-# We either need to import (copy) binaries in, or build them
-ifneq ($(IMPORT_NATIVE_BINARIES),true)
-  COMPILE_IT=true
-else
-  COMPILE_IT=false
-endif
-
-ifeq ($(COMPILE_IT),true)
-
 $(ACTUAL_PROGRAM):: classes $(INIT) 
 
 #
@@ -192,19 +183,6 @@
 
 endif # PLATFORM
 
-else  # COMPILE_IT
-
-$(ACTUAL_PROGRAM)::
-
-# Copies in the file from the JDK_IMPORT_PATH area
-$(ACTUAL_PROGRAM_DIR)/%: $(JDK_IMPORT_PATH)/jre/bin/%
-	@$(install-import-file)
-$(ACTUAL_PROGRAM_DIR)/%: $(JDK_IMPORT_PATH)/bin/%
-	@$(install-import-file)
-
-endif # COMPILE_IT
-
-
 clean:: 
 ifeq ($(PLATFORM), windows)
 	$(RM) $(OBJDIR)/$(PROGRAM).rc
--- a/make/common/Release.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/Release.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -249,18 +249,8 @@
 sec-files sec-files-win jgss-files ::
 	@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
 
-#
-# Export binary plugs if not building OPENJDK
-#
-ifdef OPENJDK
-  EXPORT_BINARY_PLUGS =
-else # !OPENJDK
-  EXPORT_BINARY_PLUGS = export-binary-plugs test-binary-plugs
-endif # OPENJDK
-
 # Order is important here, trim jre after jdk image is created
 images:: sanity-images post-sanity-images  \
-         $(EXPORT_BINARY_PLUGS) \
 	 $(INITIAL_IMAGE_JRE) $(INITIAL_IMAGE_JDK) \
 	 trim-image-jre trim-image-jdk \
 	 process-image-jre process-image-jdk sec-files sec-files-win jgss-files
--- a/make/common/Sanity.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/Sanity.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -85,7 +85,6 @@
     sane-classpath \
     sane-java_home \
     sane-fonts \
-    sane-binary-plugs \
     sane-variant \
     sane-ld_library_path \
     sane-ld_library_path_64 \
--- a/make/common/internal/BinaryPlugs.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,270 +0,0 @@
-#
-# Copyright (c) 2007, 2008, 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.
-#
-
-########################################################################
-
-# Definitions for openjdk plugs (used by both import and export)
-
-# Names of native shared libraries
-
-PLUG_LIBRARY_NAMES=
-
-# Sub-directory where native shared libraries are located (e.g. jre/bin or...)
-
-PLUG_LOCATION_SUBDIR=$(ARCH_VM_SUBDIR)
-
-# Explicit classfile lists
-
-# WARNING: These classlists will not work with pattern rules, only used in 
-#          shell commands.
-#          The \$$ patterns will fail in pattern rules, which want $$, 
-#          but the $$ fails in shell commands. 
-#          The shell commands are more important.
-#          Also, the $1 pattern in these names causes problems with the 
-#          GNU make define feature, so you can't use these in define's.
-
-PLUG_JMF_CLASS_NAMES = \
-com/sun/jmx/snmp/SnmpDataTypeEnums.class \
-com/sun/jmx/snmp/SnmpDefinitions.class \
-com/sun/jmx/snmp/SnmpOid.class \
-com/sun/jmx/snmp/SnmpOidDatabase.class \
-com/sun/jmx/snmp/SnmpOidDatabaseSupport.class \
-com/sun/jmx/snmp/SnmpOidRecord.class \
-com/sun/jmx/snmp/SnmpOidTable.class \
-com/sun/jmx/snmp/SnmpOidTableSupport.class \
-com/sun/jmx/snmp/SnmpParameters.class \
-com/sun/jmx/snmp/SnmpPduPacket.class \
-com/sun/jmx/snmp/SnmpPeer.class \
-com/sun/jmx/snmp/SnmpTimeticks.class \
-com/sun/jmx/snmp/SnmpVarBind.class \
-com/sun/jmx/snmp/SnmpVarBindList.class \
-com/sun/jmx/snmp/Timestamp.class \
-com/sun/jmx/snmp/daemon/SendQ.class \
-com/sun/jmx/snmp/daemon/SnmpInformRequest.class \
-com/sun/jmx/snmp/daemon/SnmpQManager.class \
-com/sun/jmx/snmp/daemon/SnmpRequestCounter.class \
-com/sun/jmx/snmp/daemon/SnmpResponseHandler.class \
-com/sun/jmx/snmp/daemon/SnmpSendServer.class \
-com/sun/jmx/snmp/daemon/SnmpSession.class \
-com/sun/jmx/snmp/daemon/SnmpSocket.class \
-com/sun/jmx/snmp/daemon/SnmpTimerServer.class \
-com/sun/jmx/snmp/daemon/WaitQ.class
-
-# Class list temp files (used by both import and export of plugs)
-
-PLUG_TEMPDIR=$(ABS_TEMPDIR)/plugs
-PLUG_CLASS_AREAS = jmf
-PLUG_CLISTS = $(PLUG_CLASS_AREAS:%=$(PLUG_TEMPDIR)/%.clist)
-
-# Create jargs file command
-
-define plug-create-jargs
-@$(prep-target)
-$(SED) -e "s@^@-C $(CLASSDESTDIR) @" $< > $@
-endef # plug-create-clist-jargs
-
-# Create clist (class name list) and jargs file (input to jar)
-#   Need these files to avoid long command lines which fail on some systems.
-
-$(PLUG_TEMPDIR)/jmf.clist:
-	@$(prep-target)
-	@for i in $(PLUG_JMF_CLASS_NAMES) ; do \
-	  $(ECHO) "$$i" >> $@; \
-	done
-$(PLUG_TEMPDIR)/all.clist: $(PLUG_CLISTS)
-	@$(prep-target)
-	$(CAT) $(PLUG_CLISTS) > $@
-$(PLUG_TEMPDIR)/jmf.jargs: $(PLUG_TEMPDIR)/jmf.clist
-	$(plug-create-jargs)
-$(PLUG_TEMPDIR)/all.jargs: $(PLUG_TEMPDIR)/all.clist
-	$(plug-create-jargs)
-
-#
-# Specific to OPENJDK import of binary plugs
-#
-
-ifdef OPENJDK
-
-# Import 
-
-PLUG_IMPORT_DIR=$(BINARY_PLUGS_PATH)
-PLUG_IMPORT_JARFILE=$(BINARY_PLUGS_JARFILE)
-
-# Import file command
-
-define import-binary-plug-file
-@$(ECHO) "PLUG IMPORT: $(@F)"
-$(install-non-module-file)
-endef # import-binary-plug-file
-
-# Import classes command
-
-define import-binary-plug-classes
-@$(MKDIR) -p $(CLASSDESTDIR)
-@$(CAT) $1 | $(SED) -e 's/^/PLUG IMPORT: /'
-($(CD) $(CLASSDESTDIR) && $(BOOT_JAR_CMD) xf $(PLUG_IMPORT_JARFILE) @$1 $(BOOT_JAR_JFLAGS) )
-($(CD) $(CLASSDESTDIR) && $(java-vm-cleanup) )
-endef # import-binary-plug-classes
-
-# Import specific area classes (the classes are always created)
-
-import-binary-plug-jmf-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/jmf.clist
-	$(call import-binary-plug-classes,$(PLUG_TEMPDIR)/jmf.clist)
-
-# Import all classes from the jar file
-
-import-binary-plug-jar: \
-	     import-binary-plug-jmf-classes
-
-# Binary plug start/complete messages
-
-import-binary-plugs-started:
-	@$(ECHO) "BinaryPlugs import started: `date`"
-	@$(ECHO) "BINARY_PLUGS_PATH=$(BINARY_PLUGS_PATH)"
-import-binary-plugs-completed:
-	@$(ECHO) "BinaryPlugs import completed: `date`"
-
-# Import lib files (only if they don't exist already)
-
-import-binary-plugs-libs: \
-    $(PLUG_LIBRARY_NAMES:%=$(LIB_LOCATION)/%)
-
-# Import everything
-
-import-binary-plugs: \
-    import-binary-plugs-started \
-    import-binary-plugs-libs \
-    import-binary-plug-jar \
-    import-binary-plugs-completed
-
-# All these targets are phony (no filenames)
-
-.PHONY: import-binary-plugs-started  \
-	import-binary-plugs-completed \
-	import-binary-plugs-libs \
-	import-binary-plugs \
-	import-binary-plug-jar \
-	import-binary-plug-jmf-classes
-
-else # !OPENJDK
-
-#
-# Specific to exporting binary plugs for OPENJDK (e.g. OPENJDK is NOT defined)
-#
-
-# Export names (See make/common/Defs.gmk for BINARY_PLUGS_JARNAME definition)
-
-PLUG_EXPORT_DIRNAME=openjdk-binary-plugs-image
-PLUG_EXPORT_DIR=$(OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME)
-PLUG_EXPORT_JARFILE=$(PLUG_EXPORT_DIR)/jre/lib/$(BINARY_PLUGS_JARNAME)
-
-# Export file command
-
-define export-binary-plug-file
-@$(ECHO) "PLUG EXPORT: $(@F)"
-$(install-non-module-file)
-endef # export-binary-plug-file
-
-# OpenJDK Binary Plug License
-
-$(PLUG_EXPORT_DIR)/LICENSE: $(CLOSED_SHARE_SRC)/doc/openjdk/binary-plugs/LICENSE
-	$(export-binary-plug-file)
-export-binary-plugs-license: $(PLUG_EXPORT_DIR)/LICENSE
-
-# Create jar file of plug classes (always created)
-
-$(PLUG_EXPORT_JARFILE): $(PLUG_TEMPDIR)/all.clist $(PLUG_TEMPDIR)/all.jargs
-	@$(prep-target)
-	@$(ECHO) "PLUG EXPORT: $(@F)"
-	@$(CAT) $(PLUG_TEMPDIR)/all.clist | $(SED) -e 's/^/PLUG EXPORT: /'
-	$(BOOT_JAR_CMD) cf $@ @$(PLUG_TEMPDIR)/all.jargs $(BOOT_JAR_JFLAGS)
-	@$(java-vm-cleanup)
-export-binary-plugs-jar: $(PLUG_EXPORT_JARFILE)
-
-# Export binary plug start/complete messages
-
-export-binary-plugs-started:
-	@$(ECHO) "BinaryPlugs export started: `date`"
-	@$(ECHO) "PLUG_EXPORT_DIR=$(PLUG_EXPORT_DIR)"
-	$(RM) -r $(PLUG_EXPORT_DIR)
-	@$(MKDIR) -p $(PLUG_EXPORT_DIR)
-	@$(MKDIR) -p $(PLUG_TEMPDIR)
-export-binary-plugs-completed:
-	@$(RM) -r $(PLUG_TEMPDIR)
-	@$(ECHO) "BinaryPlugs export completed: `date`"
-
-# Export lib files (only if they don't exist already)
-
-export-binary-plugs-libs: \
-    $(PLUG_LIBRARY_NAMES:%=$(PLUG_EXPORT_DIR)/$(PLUG_LOCATION_SUBDIR)/%)
-
-# Export everything
-
-export-binary-plugs: \
-    export-binary-plugs-started \
-    export-binary-plugs-libs \
-    export-binary-plugs-license \
-    export-binary-plugs-jar \
-    export-binary-plugs-completed
-
-# All these targets are phony (no filenames)
-
-.PHONY: export-binary-plugs-started \
-        export-binary-plugs-license \
-        export-binary-plugs-jar \
-        export-binary-plugs-libs \
-        export-binary-plugs-completed \
-        export-binary-plugs
-
-# Rules that test the export and import of plugs (only when you can export)
-
-TEST_OUTPUTDIR=$(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-testing-plugs
-TEST_PLUG_COPY=$(TEST_OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME)-testcopy
-
-# Run export-binary-plugs first, then use this rule to test an import
-
-test-binary-plugs: $(TEST_PLUG_COPY)
-	$(RM) -r $(TEST_OUTPUTDIR)/$(PLUG_EXPORT_DIRNAME)
-	$(MKDIR) -p $(TEST_OUTPUTDIR)
-	@$(ECHO) "Testing import of plugs"
-	($(CD) $(JDK_TOPDIR)/make && \
-	    $(MAKE) OPENJDK=true \
-		ALT_OUTPUTDIR=$(TEST_OUTPUTDIR) \
-		ALT_JDK_IMPORT_PATH=$(JDK_IMPORT_PATH) \
-		ALT_BINARY_PLUGS_PATH=$(TEST_PLUG_COPY) \
-		import-binary-plugs )
-	$(RM) -r $(TEST_OUTPUTDIR)
-	@$(ECHO) "Testing of plugs was successful"
-
-$(TEST_PLUG_COPY):
-	@$(ECHO) "Creating test plug copy"
-	$(RM) -r $@
-	$(MKDIR) -p $(@D)
-	$(CP) -r -p $(PLUG_EXPORT_DIR) $@
-
-.PHONY: test-binary-plugs
-
-endif # !OPENJDK
-
--- a/make/common/shared/Compiler-gcc.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/shared/Compiler-gcc.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -36,7 +36,7 @@
   CCC          = $(COMPILER_PATH)g++
   LIBEXE       = $(COMPILER_PATH)lib
   LINK         = $(COMPILER_PATH)link
-  RC           = $(MSDEVTOOLS_PATH)link
+  RC           = $(COMPILER_PATH)rc
   LINK32       = $(LINK)
   RSC          = $(RC)
   # unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
--- a/make/common/shared/Compiler-msvc.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/shared/Compiler-msvc.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -34,8 +34,6 @@
   CCC          = $(COMPILER_PATH)cl
   LIBEXE       = $(COMPILER_PATH)lib
   LINK         = $(COMPILER_PATH)link
-  RC           = $(MSDEVTOOLS_PATH)rc
-  RSC          = $(MSDEVTOOLS_PATH)rc
   LINK32       = $(LINK)
  
   # Fill in unknown values
@@ -47,7 +45,10 @@
 
   # Compiler version and type (Always get word after "Version")
   CC_VER  := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/.*\(Version.*\)/\1/' | $(NAWK) '{print $$2}')
-  
+
+  # The MSDEVTOOLS_PATH is for older compilers, place for rc, mt, etc.
+  _OTHER_TOOLS_PATH = $(MSDEVTOOLS_PATH)
+
   # SDK-64 and MSVC6 put REBASE.EXE in a different places - go figure...
   ifeq ($(ARCH_DATA_MODEL), 32)
     LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
@@ -56,43 +57,26 @@
       # This should be: CC_VER=13.10.3077 LINK_VER=7.10.3077
       COMPILER_NAME=Visual Studio .NET 2003 Professional C++
       COMPILER_VERSION=VS2003
+      RC         = $(_OTHER_TOOLS_PATH)rc
       REBASE     = $(COMPILER_PATH)../../Common7/Tools/Bin/rebase
       MTL        = $(COMPILER_PATH)../../Common7/Tools/Bin/midl
-      ifndef COMPILER_PATH
-	COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
-      endif
     endif
     ifeq ($(CC_MAJORVER), 14)
       COMPILER_NAME=Visual Studio 8
       COMPILER_VERSION=VS2005
+      RC         = $(_OTHER_TOOLS_PATH)rc
       REBASE     = $(COMPILER_PATH)../../Common8/Tools/Bin/rebase
       MTL        = $(COMPILER_PATH)../../Common8/Tools/Bin/midl
-      MT         = $(MSDEVTOOLS_PATH)/mt
-      ifndef COMPILER_PATH
-	COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
-      endif
+      MT         = $(_OTHER_TOOLS_PATH)/mt
     endif
     ifeq ($(CC_MAJORVER), 15)
       COMPILER_NAME=Visual Studio 9
       COMPILER_VERSION=VS2008
+      RC         = $(_OTHER_TOOLS_PATH)rc
       #rebase and midl moved out of Visual Studio into the SDK:
-      REBASE     = $(MSDEVTOOLS_PATH)/rebase
-      MTL        = $(MSDEVTOOLS_PATH)/midl.exe
-      MT         = $(MSDEVTOOLS_PATH)mt
-      ifndef COMPILER_PATH
-	COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
-      endif
-    endif
-    ifeq ($(CC_MAJORVER), 16)
-      COMPILER_NAME=Visual Studio 10
-      COMPILER_VERSION=VS2010
-      #rebase and midl moved out of Visual Studio into the SDK:
-      REBASE     = $(MSDEVTOOLS_PATH)/rebase
-      MTL        = $(MSDEVTOOLS_PATH)/midl.exe
-      MT         = $(MSDEVTOOLS_PATH)mt
-      ifndef COMPILER_PATH
-	COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
-      endif
+      REBASE     = $(_OTHER_TOOLS_PATH)/rebase
+      MTL        = $(_OTHER_TOOLS_PATH)/midl.exe
+      MT         = $(_OTHER_TOOLS_PATH)mt
     endif
   else
     # else ARCH_DATA_MODEL is 64
@@ -105,13 +89,15 @@
         # This should be: CC_VER=13.00.9337.7 LINK_VER=7.00.9337.7
         COMPILER_NAME=Microsoft Platform SDK - November 2001 Edition
         COMPILER_VERSION=VS2003
+        RC = $(_OTHER_TOOLS_PATH)rc
       endif
     endif
     ifeq ($(CC_MAJORVER), 14)
       ifeq ($(ARCH), amd64)
         #rebase and midl moved out of Visual Studio into the SDK:
-        REBASE     = $(MSDEVTOOLS_PATH)/rebase
-        MTL        = $(MSDEVTOOLS_PATH)/midl.exe
+        RC         = $(_OTHER_TOOLS_PATH)/rc
+        REBASE     = $(_OTHER_TOOLS_PATH)/rebase
+        MTL        = $(_OTHER_TOOLS_PATH)/midl.exe
         ifeq ($(CC_MICROVER), 30701)
           # This should be: CC_VER=14.00.30701 LINK_VER=8.00.30701
 	  # WARNING: it says 14, but it is such an early build it doesn't
@@ -135,24 +121,42 @@
       MT = $(MSSDK61)/Bin/X64/mt.exe
       MTL = $(MSSDK61)/Bin/X64/midl.exe
     endif
-    ifeq ($(CC_MAJORVER), 16)
-      COMPILER_NAME=Microsoft Visual Studio 10 (16.00.30319.01)
-      COMPILER_VERSION=VS2010
-      RC = $(MSDEVTOOLS_PATH)/Bin/x64/rc.exe
-      RSC = $(MSDEVTOOLS_PATH)/Bin/x64/rc.exe
-      MT = $(MSDEVTOOLS_PATH)/Bin/x64/mt.exe
-      MTL = $(MSDEVTOOLS_PATH)/Bin/X64/midl.exe
+  endif
+  
+  # The VS2010 compiler is the same one used on both 32bit and 64bit
+  ifeq ($(CC_MAJORVER), 16)
+    COMPILER_NAME=Microsoft Visual Studio 10 (16.00.30319.01)
+    COMPILER_VERSION=VS2010
+    ifeq ($(WINDOWSSDKDIR),)
+      WINDOWSSDKDIR := $(error WINDOWSSDKDIR cannot be empty here)
     endif
-    # This will cause problems if ALT_COMPILER_PATH is defined to ""
-    # which is a directive to use the PATH.
-    ifndef COMPILER_PATH
-      COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
+    ifeq ($(ARCH_DATA_MODEL), 32)
+      _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin
+    else
+      ifeq ($(ARCH), ia64)
+        _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin/ia64
+      else
+        _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin/x64
+      endif
     endif
+    RC     = $(_OTHER_TOOLS_BIN)/rc.exe
+    REBASE = $(_OTHER_TOOLS_BIN)/rebase.exe
+    MT     = $(_OTHER_TOOLS_BIN)/mt.exe
+    MTL    = $(_OTHER_TOOLS_BIN)/midl.exe
+  endif
+  
+  # These variables can never be empty
+  ifndef COMPILER_PATH
+    COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
   endif
   ifndef COMPILER_VERSION
     COMPILER_VERSION := $(error COMPILER_VERSION cannot be empty here)
   endif
+  
   # Shared library generation flag
   SHARED_LIBRARY_FLAG = -LD
+  # RSC is always same as RC (Not sure who uses this RSC variable)
+  RSC = $(RC)
+
 endif
 
--- a/make/common/shared/Defs-solaris.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/shared/Defs-solaris.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -91,7 +91,6 @@
 ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
   COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
 else
-  # Careful here, REQUIRED_COMPILER_VERSION may not be defined yet (see Defs-versions.gmk)
   # If the place where we keep a set of Sun Studio compilers doesn't exist,
   #  try and use /opt/SUNWspro, the default location for the SS compilers.
   #  (DirExists checks for this path twice, an automount double check)
--- a/make/common/shared/Defs-versions.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/shared/Defs-versions.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -27,7 +27,22 @@
 # WARNING: This file is shared with other workspaces.
 #
 
-# This file needs these set: CC_VERSION, PLATFORM, ARCH_FAMILY, and ARCH_DATA_MODEL.
+# This file needs these set: PLATFORM, ARCH_FAMILY, and ARCH_DATA_MODEL.
+
+# Windows uses Microsoft compilers by default
+ifeq ($(PLATFORM), windows)
+  override CC_VERSION = msvc
+endif
+
+# Solaris uses Sun Studio compilers by default
+ifeq ($(PLATFORM), solaris)
+  override CC_VERSION = sun
+endif
+
+# Linux uses GNU compilers by default
+ifeq ($(PLATFORM), linux)
+  override CC_VERSION = gcc
+endif
 
 ##########################################################################
 #
--- a/make/common/shared/Defs-windows.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/shared/Defs-windows.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -80,13 +80,20 @@
 #         their own variable assigned with :=, then use FullPath.
 #
 
+ifdef USING_CYGWIN
+# All possible drive letters
+drives=a b c d e f g h i j k l m n o p q r s t v u w x y z
+# Convert /cygdrive/ paths to the mixed style without an exec of cygpath
+#   Must be a path with no spaces.
+define MixedPath
+$(patsubst /%,c:/cygwin/%,$(sort $(filter-out /cygdrive/%,$(foreach drive,$(drives),$(patsubst /cygdrive/$(drive)/%,$(drive):/%,$1)))))
+endef
 # Use FullPath to get C:/ style non-spaces path. Never ends with a /!
-ifdef USING_CYGWIN
 # We assume cygpath is available in the search path
 #    NOTE: Use of 'pwd' with CYGWIN will not get you a mixed style path!
 CYGPATH_CMD=cygpath -a -s -m
 define FullPath
-$(shell $(CYGPATH_CMD) $1 2> $(DEV_NULL))
+$(if $(word 2,$1),$(shell $(CYGPATH_CMD) $1 2> $(DEV_NULL)),$(call MixedPath,$(realpath $(subst ",,$1))))
 endef
 define OptFullPath
 $(shell if [ "$1" != "" -a -d "$1" ]; then $(CYGPATH_CMD) "$1" 2> $(DEV_NULL); else echo "$1"; fi)
@@ -228,29 +235,125 @@
   _dx_sdk_dir :=$(call FullPath,$(xDXSDK_DIR))
 endif
 
-# Compilers, SDK, and Visual Studio (MSDEV) [32bit is different from 64bit]
-ifeq ($(ARCH_DATA_MODEL), 32)
-  # Try looking in MSVCDIR or MSVCDir area first 
-  # (set by vcvars32.bat for VC .NET, not defined in the VC 2008/2010)
-  ifdef MSVCDIR
-    xMSVCDIR  :="$(subst \,/,$(MSVCDIR))"
-    _msvc_dir :=$(call FullPath,$(xMSVCDIR))
+# Use of the Visual Studio compilers requires certain env variables be set:
+#   PATH should include the path to cl.exe
+#   INCLUDE should be defined
+#   LIB     should be defined
+#   LIBPATH should be defined
+#   VS100COMNTOOLS should be defined
+#   WINDOWSSDKDIR should be defined
+#     The 7.0a path is from VS2010 Pro, the 7.1 path is the standalone SDK.
+#     For 64bit either will work for us.
+#     If a developer chooses to install the standalone SDK in some other
+#     location, then they need to set WINDOWSSDKDIR.
+#
+# Compilers for 64bit may be from the free SDK, or Visual Studio Professional.
+#   The free Express compilers don't contain 64 bit compilers, which is why
+#   you instead need the SDK.
+#   Release enginering will use VS2010 Pro, so the frequency of testing of
+#     SDK based builds will depend entirely on individual usage.
+
+# We only need to do this once
+ifndef VS2010_EXISTS
+  # The 2 key paths we need are WINDOWSSDKDIR and VS100COMNTOOLS.
+  #   If not defined try to see if default location exists.
+  #   If defined make sure that the path has no spaces.
+  #   Finally, export path with no spaces so logic minimizes FullPath calls.
+  ifndef WINDOWSSDKDIR
+    # The 7.0a SDK is the second choice.
+    xWINDOWSSDKDIR :="$(_program_files32)/Microsoft SDKs/Windows/v7.0a/"
+    fWINDOWSSDKDIR :=$(call FullPath,$(xWINDOWSSDKDIR))
+    # The 7.1 SDK is the second choice.
+    ifeq ($(fWINDOWSSDKDIR),)
+      xWINDOWSSDKDIR :="$(_program_files32)/Microsoft SDKs/Windows/v7.1/"
+      fWINDOWSSDKDIR :=$(call FullPath,$(xWINDOWSSDKDIR))
+    endif
   else
-    ifdef MSVCDir
-      xMSVCDIR  :="$(subst \,/,$(MSVCDir))"
-      _msvc_dir :=$(call FullPath,$(xMSVCDIR))
+    ifneq ($(word 2,$(WINDOWSSDKDIR)),)
+      xWINDOWSSDKDIR :="$(subst \,/,$(WINDOWSSDKDIR))"
+      fWINDOWSSDKDIR :=$(call FullPath,$(xWINDOWSSDKDIR))
+    else
+      fWINDOWSSDKDIR :=$(WINDOWSSDKDIR)
+    endif
+  endif
+  ifneq ($(fWINDOWSSDKDIR),)
+    WINDOWSSDKDIR  :=$(fWINDOWSSDKDIR)/
+  endif
+  ifndef VS100COMNTOOLS
+    xVS100COMNTOOLS :="$(_program_files32)/Microsoft Visual Studio 10.0/Common7/Tools/"
+    fVS100COMNTOOLS :=$(call FullPath,$(xVS100COMNTOOLS))
+  else
+    ifneq ($(word 2,$(VS100COMNTOOLS)),)
+      xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
+      fVS100COMNTOOLS :=$(call FullPath,$(xVS100COMNTOOLS))
+    else
+      fVS100COMNTOOLS :=$(xVS100COMNTOOLS)
     endif
   endif
-  # If we still don't have it, look for VSnnCOMNTOOLS (newest first),
-  # set by installer?
-  ifeq ($(_msvc_dir),)
-    ifdef VS100COMNTOOLS  # /Common/Tools directory, use ../../Vc
-      xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
-      _vs100tools     :=$(call FullPath,$(xVS100COMNTOOLS))
+  ifneq ($(fVS100COMNTOOLS),)
+    VS100COMNTOOLS :=$(fVS100COMNTOOLS)/
+  endif
+  # Check to see that both exist
+  ifeq ($(WINDOWSSDKDIR),)
+    _vs2010_message := No WINDOWSSDKDIR found on system. $(_vs2010_message)
+    VS2010_EXISTS   := false
+  endif
+  ifeq ($(VS100COMNTOOLS),)
+    _vs2010_message := No VS100COMNTOOLS found on system. $(_vs2010_message)
+    VS2010_EXISTS   := false
+  endif
+  ifeq ($(VS2010_EXISTS),false)
+    x:=$(warning WARNING: No VS2010 available. $(_vs2010_message))
+    VS100COMNTOOLS :=
+    WINDOWSSDKDIR  :=
+  else
+    VS2010_EXISTS := true
+    _msvc_dir     :=$(VS100COMNTOOLS)/../../Vc
+  endif
+  export VS2010_EXISTS
+  export VS100COMNTOOLS
+  export WINDOWSSDKDIR
+endif
+
+# Setup for VS2010 is simple, others logic is historic
+ifeq ($(VS2010_EXISTS),true)
+  
+  # VS2010 Compiler root directory
+  _msvc_dir :=$(VS100COMNTOOLS)/../../Vc
+  # SDK root directory
+  _ms_sdk   :=$(WINDOWSSDKDIR)
+  # Compiler bin directory and redist directory
+  ifeq ($(ARCH_DATA_MODEL), 32)
+    _compiler_bin :=$(_msvc_dir)/Bin
+    _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC100.CRT)
+  endif
+  ifeq ($(ARCH_DATA_MODEL), 64)
+    _compiler_bin :=$(_msvc_dir)/bin/amd64
+    _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x64/Microsoft.VC100.CRT)
+  endif
+  ifeq ($(_redist_sdk),)
+    _redist_sdk   :=$(_system_root)/system32
+  endif
+
+else # Not VS2010
+
+  # Compilers, SDK, and Visual Studio (MSDEV) [32bit is different from 64bit]
+  ifeq ($(ARCH_DATA_MODEL), 32)
+
+    # Try looking in MSVCDIR or MSVCDir area first 
+    # (set by vcvars32.bat for VC .NET, not defined in the VC 2008/2010)
+    ifdef MSVCDIR
+      xMSVCDIR  :="$(subst \,/,$(MSVCDIR))"
+      _msvc_dir :=$(call FullPath,$(xMSVCDIR))
+    else
+      ifdef MSVCDir
+        xMSVCDIR  :="$(subst \,/,$(MSVCDir))"
+        _msvc_dir :=$(call FullPath,$(xMSVCDIR))
+      endif
     endif
-    ifneq ($(_vs100tools),)
-      _msvc_dir   :=$(_vs100tools)/../../Vc
-    else
+    # If we still don't have it, look for VSnnCOMNTOOLS (newest first),
+    # set by installer?
+    ifeq ($(_msvc_dir),)
       ifdef VS90COMNTOOLS  # /Common/Tools directory, use ../../Vc
         xVS90COMNTOOLS :="$(subst \,/,$(VS90COMNTOOLS))"
         _vs90tools     :=$(call FullPath,$(xVS90COMNTOOLS))
@@ -275,46 +378,38 @@
         endif
       endif
     endif
-  endif
-  ifneq ($(_msvc_dir),)
-    _compiler_bin :=$(_msvc_dir)/Bin
-    # Assume PlatformSDK is in VS71 (will be empty if VS90)
-    _ms_sdk       :=$(call FullPath,$(_msvc_dir)/PlatformSDK)
-    # Assume VS100, then VS90, then VS80, then VS71
-    _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC100.CRT)
-    ifeq ($(_redist_sdk),)
-      ifneq ($(VS100COMNTOOLS),)
-        _redist_sdk  :=c:/windows/system32
-      else
-        _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC90.CRT)
+  
+    ifneq ($(_msvc_dir),)
+      _compiler_bin :=$(_msvc_dir)/Bin
+      # Assume PlatformSDK is in VS71 (will be empty if VS90)
+      _ms_sdk       :=$(call FullPath,$(_msvc_dir)/PlatformSDK)
+      _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC90.CRT)
+      ifeq ($(_redist_sdk),)
+        _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC80.CRT)
         ifeq ($(_redist_sdk),)
-          _redist_sdk   :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC80.CRT)
-          ifeq ($(_redist_sdk),)
-            _redist_sdk   :=$(call FullPath,$(_msvc_dir)/../SDK/v1.1/Bin)
-          endif
+          _redist_sdk   :=$(call FullPath,$(_msvc_dir)/../SDK/v1.1/Bin)
         endif
       endif
     endif
   endif
-endif
 
-# The Microsoft Platform SDK installed by itself
-ifneq ($(_program_files),)
-  _PSDK :="$(_program_files)/Microsoft SDKs/Windows/v6.1/"
-  _psdk :=$(call FullPath,$(xMSSDK61))
-  ifeq ($(_psdk),)
-    xPSDK  :="$(_program_files)/Microsoft Platform SDK"
-    _psdk  :=$(call FullPath,$(xPSDK))
+  # The Microsoft Platform SDK installed by itself
+  ifneq ($(_program_files),)
+    _PSDK :="$(_program_files)/Microsoft SDKs/Windows/v6.1/"
+    _psdk :=$(call FullPath,$(xMSSDK61))
     ifeq ($(_psdk),)
-      xPSDK  :="$(_program_files)/Microsoft SDK"
-      _psdk :=$(call FullPath,$(xMSSDK))
+      xPSDK  :="$(_program_files)/Microsoft Platform SDK"
+      _psdk  :=$(call FullPath,$(xPSDK))
+      ifeq ($(_psdk),)
+        xPSDK  :="$(_program_files)/Microsoft SDK"
+        _psdk :=$(call FullPath,$(xMSSDK))
+      endif
     endif
   endif
-endif
 
-# If no SDK found yet, look in other places
-ifeq ($(_ms_sdk),)
-  ifdef MSSDK
+  # If no SDK found yet, look in other places
+  ifeq ($(_ms_sdk),)
+    ifdef MSSDK
     xMSSDK  :="$(subst \,/,$(MSSDK))"
     _ms_sdk :=$(call FullPath,$(xMSSDK))
   else
@@ -322,56 +417,13 @@
       xMSSDK  :="$(subst \,/,$(MSSdk))"
       _ms_sdk :=$(call FullPath,$(xMSSDK))
     else
-      _ms_sdk :=$(_psdk)
+        _ms_sdk :=$(_psdk)
+      endif
     endif
   endif
-endif
-
-# Compilers for 64bit may be from the free SDK, or Visual Studio Professional
-# The free Express compilers don't contain 64 bit compilers, which is why
-# you instead need the SDK.
-# So for VS2010 based builds, either VS2010 Pro with the 7.0a SDK, or
-# the Windows 7.1 standalone SDK with compilers may be used.
-# Release enginering will use VS2010 Pro, so the frequency of testing of
-# SDK based builds will depend entirely on individual usage.
-ifeq ($(ARCH_DATA_MODEL), 64)
-  ifdef VS100COMNTOOLS  # /Common7/Tools directory, use ../../Vc
-    # VS2010 default location is used when building 64 bit using the 7.1 SDK
-    # This is safe to hardwire as the SDK installer won't let you change it
-    # and the VS2010 variable is only used if the compilers are from the SDK
-    xVS2010 :="$(_program_files32)/Microsoft Visual Studio 10.0/"
-    VS2010 :=$(call FullPath,$(xVS2010))
-    xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
-    _vs100tools     :=$(call FullPath,$(xVS100COMNTOOLS))
-  endif
-  ifneq ($(_vs100tools),)
-    _compiler_bin :=$(_vs100tools)/../../Vc/bin/amd64
-    x_redist_sdk   :=$(_vs100tools)/../../Vc/redist/x64/Microsoft.VC100.CRT
-    _redist_sdk    :=$(call FullPath,$(x_redist_sdk))
-    # The SDK doesn't have the redist directory, but the DLL is installed
-    # into the windows directory.
-    ifeq ($(_redist_sdk),)
-      _redist_sdk   :=c:/windows/system32
-    endif
-    # Not currently using MSSDK7n, but maybe we can make use of it for
-    # doing default location lookup to find some SDK tools that presently
-    # require the developer to explicitly set the path.
-    # The 7.0a path is from VS2010 Pro, the 7.1 path is the standalone SDK.
-    # Either will work for us.
-    # If a developer chooses to install the standalone SDK in some other
-    # location, then this will fail to find it, which won't matter so long as
-    # we aren't using this variable. If we do they'd still need to set the
-    # ALT_MSDEVTOOLS_PATH as now.
-    # %WindowsSdkDir% could be referenced instead but the SDK installer
-    # doesn't set it and in the case of the VS2010 compilers,
-    # you can't change this location in the installer anyway.
-    xMSSDK7n      :="$(_program_files32)/Microsoft SDKs/Windows/v7.0a/"
-    MSSDK7n       :=$(call FullPath,$(xMSSDK7n))
-    ifeq ($(MSSDK7n),)
-      xMSSDK7n      :="$(_program_files32)/Microsoft SDKs/Windows/v7.1/"
-      MSSDK7n       :=$(call FullPath,$(xMSSDK7n))
-    endif
-  else
+  
+  # Compilers for 64bit may be from the free SDK, or Visual Studio Professional.
+  ifeq ($(ARCH_DATA_MODEL), 64)
     xVS2008 :="$(_program_files32)/Microsoft Visual Studio 9.0/"
     VS2008 :=$(call FullPath,$(xVS2008))
     ifneq ($(VS2008),)
@@ -391,7 +443,8 @@
       endif
     endif
   endif
-endif
+
+endif # VS2010_EXISTS
 
 # Location on system where jdk installs might be
 ifneq ($(_program_files),)
@@ -509,7 +562,7 @@
 ifeq ($(ARCH_DATA_MODEL), 32)
   _NEEDS_MSVCRNN = true
 else
-  ifneq ($(VS2010),)
+  ifeq ($(VS2010_EXISTS),true)
     _NEEDS_MSVCRNN = true
   else 
     ifneq ($(VS2008),)
--- a/make/common/shared/Defs.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/shared/Defs.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -373,6 +373,9 @@
 # Get platform specific settings
 # NB: OUTPUTDIR must be defined. Otherwise hotspot import detection will not work correctly
 # On other hand this must be included early as it provides platform specific defines such as FullPath
+include $(JDK_MAKE_SHARED_DIR)/Defs-versions.gmk
+
+# Get platform specific settings (defines COMPILER_PATH)
 include $(JDK_MAKE_SHARED_DIR)/Defs-$(PLATFORM).gmk
 
 # Components
@@ -608,24 +611,9 @@
   COPYRIGHT_YEAR = $(shell $(DATE) '+%Y')
 endif
 
-# Windows uses Microsoft compilers by default
-ifeq ($(PLATFORM), windows)
-  override CC_VERSION = msvc
-endif
-
-# Solaris uses Sun Studio compilers by default
-ifeq ($(PLATFORM), solaris)
-  override CC_VERSION = sun
-endif
-
-# Linux uses GNU compilers by default
-ifeq ($(PLATFORM), linux)
-  override CC_VERSION = gcc
-endif
-
-# Get the REQUIRED versions (needs CC_VERSION set)
-include $(JDK_MAKE_SHARED_DIR)/Defs-versions.gmk
-
-# Get the compiler specific settings
+# Get the compiler specific settings (will run the compiler to find out)
+#   NOTE: COMPILER_PATH must be set by this time.
+#   Up until we include this file, we don't know what specific compiler
+#   version is actually being used (i.e. what is in PATH or COMPILER_PATH).
 include $(JDK_MAKE_SHARED_DIR)/Compiler-$(CC_VERSION).gmk
 
--- a/make/common/shared/Sanity-Settings.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/shared/Sanity-Settings.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -100,7 +100,8 @@
   ifneq ($(MSVCRNN_DLL),)
     ALL_SETTINGS+=$(call addAltSetting,MSVCRNN_DLL_PATH)
   endif
-  ALL_SETTINGS+=$(call addAltSetting,MSDEVTOOLS_PATH)
+  ALL_SETTINGS+=$(call addRequiredSetting,INCLUDE)
+  ALL_SETTINGS+=$(call addRequiredSetting,LIB)
 endif
 ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_NAME)
 ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_VERSION)
@@ -223,6 +224,7 @@
   ALL_SETTINGS+=$(call addAltSetting,DXSDK_PATH)
   ALL_SETTINGS+=$(call addAltSetting,DXSDK_INCLUDE_PATH)
   ALL_SETTINGS+=$(call addAltSetting,DXSDK_LIB_PATH)
+  ALL_SETTINGS+=$(call addAltSetting,WINDOWSSDKDIR)
   ifndef OPENJDK
     ALL_SETTINGS+=$(call addAltSetting,DEPLOY_MSSDK)
     ALL_SETTINGS+=$(call addAltSetting,INSTALL_MSSDK)
@@ -244,16 +246,7 @@
   ALL_SETTINGS+=$(call addHeading,OpenJDK-specific settings)
   ALL_SETTINGS+=$(call addAltSetting,FREETYPE_HEADERS_PATH)
   ALL_SETTINGS+=$(call addAltSetting,FREETYPE_LIB_PATH)
-  ALL_SETTINGS+=$(call addHeading,OPENJDK Import Binary Plug Settings)
-  ALL_SETTINGS+=$(call addOptionalSetting,IMPORT_BINARY_PLUGS)
-  ALL_SETTINGS+=$(call addAltSetting,BINARY_PLUGS_JARFILE)
-  ALL_SETTINGS+=$(call addAltSetting,BINARY_PLUGS_PATH)
-  ALL_SETTINGS+=$(call addAltSetting,BUILD_BINARY_PLUGS_PATH)
-else 
-  ALL_SETTINGS+=$(call addHeading,OPENJDK Export Binary Plug Settings)
-  ALL_SETTINGS+=$(call addOptionalSetting,PLUG_EXPORT_DIRNAME)
 endif
-ALL_SETTINGS+=$(call addOptionalSetting,PLUG_LIBRARY_NAMES)
 
 ifdef OPENJDK
   ALL_SETTINGS+=$(call addHeading,Previous JDK Settings)
--- a/make/common/shared/Sanity.gmk	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/common/shared/Sanity.gmk	Fri Dec 24 11:17:10 2010 -0800
@@ -187,7 +187,6 @@
 	sane-classpath \
 	sane-java_home \
 	sane-fonts \
-	sane-binary-plugs \
 	sane-variant \
 	sane-ld_library_path \
 	sane-ld_library_path_64 \
@@ -503,23 +502,6 @@
 endif
 
 ######################################################
-# If building OPENJDK check pre-built binaries are
-# available for binary plug source components.
-######################################################
-ifdef OPENJDK
-sane-binary-plugs:
-  ifeq ($(IMPORT_BINARY_PLUGS),true)
-	@if [ ! -d "$(BINARY_PLUGS_PATH)" ]; then \
-	  $(ECHO) "WARNING: Can't locate pre-built libraries. \n" \
-	    "      Please check your access to \n" \
-	    "          $(BINARY_PLUGS_PATH) \n" \
-	    "      and/or check your value of ALT_BINARY_PLUGS_PATH. \n" \
-	   "" >> $(WARNING_FILE); \
-	fi
-  endif
-endif
-
-######################################################
 # VARIANT must be set to DBG or OPT
 ######################################################
 sane-variant:
@@ -1024,10 +1006,11 @@
 endif
 
 ######################################################
-# Check for existence of MSDEVTOOLS_PATH on windows
+# Check for existence of the extra tools on windows
 ######################################################
 sane-msdevtools_path:
 ifeq ($(PLATFORM), windows)
+  ifneq ($(COMPILER_VERSION), VS2010)
 	@if [ "$(MSDEVTOOLS_PATH)" != "" -a ! -r "$(MSDEVTOOLS_PATH)" ]; then \
 	  $(ECHO) "ERROR: You do not have a valid MSDEVTOOLS_PATH setting. \n" \
 	    "      Please check your access to \n" \
@@ -1035,6 +1018,7 @@
 	    "      and/or check your value of ALT_MSDEVTOOLS_PATH. \n" \
 	    "" >> $(ERROR_FILE) ; \
 	fi
+  endif
 endif
 
 ######################################################
@@ -1443,10 +1427,24 @@
 endif
 
 ######################################################
-# Check for existence of INSTALL_MSSDK on windows
+# Check for existence of the MSSDK on windows
 ######################################################
 sane-install-mssdk_path:
 ifeq ($(PLATFORM), windows)
+  ifeq ($(COMPILER_VERSION), VS2010)
+	@if [ -z "$(WINDOWSSDKDIR)" ]; then \
+	  $(ECHO) "WARNING: Your WINDOWSSDKDIR setting is empty.\n" \
+	    "        It is recommended to set ALT_WINDOWSSDKDIR.\n" \
+	    "" >> $(WARNING_FILE) ; \
+	fi
+	@if [ ! -r "$(WINDOWSSDKDIR)" ]; then \
+	  $(ECHO) "ERROR: You do not have a valid WINDOWSSDKDIR setting. \n" \
+	    "      Please check your access to \n" \
+	    "          $(WINDOWSSDKDIR) \n" \
+	    "      and/or check your value of ALT_WINDOWSSDKDIR. \n" \
+	    "" >> $(ERROR_FILE) ; \
+	fi
+  endif
 	@if [ -z "$(INSTALL_MSSDK)" ]; then \
 	  $(ECHO) "WARNING: Your INSTALL_MSSDK setting is empty.\n" \
 	    "        It is recommended to set ALT_INSTALL_MSSDK.\n" \
--- a/make/java/redist/Makefile	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/java/redist/Makefile	Fri Dec 24 11:17:10 2010 -0800
@@ -272,17 +272,9 @@
 	$(install-file)
 
 #
-# Specific to OpenJDK building
+# Specific to non-OpenJDK building
 #
-ifdef OPENJDK
-
-  ifeq ($(IMPORT_BINARY_PLUGS),true)
-    include $(BUILDDIR)/common/internal/BinaryPlugs.gmk
-
-    build: import-binary-plugs
-  endif
-
-else # !OPENJDK
+ifndef OPENJDK
 
 INTERNAL_IMPORT_LIST += \
             $(LIBDIR)/security/US_export_policy.jar \
--- a/make/javax/sound/Makefile	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/javax/sound/Makefile	Fri Dec 24 11:17:10 2010 -0800
@@ -23,8 +23,6 @@
 # questions.
 #
 
-# WARNING: Make sure the OPENJDK plugs are up-to-date, see make/common/internal/BinaryPlugs.gmk
-
 BUILDDIR = ../..
 MODULE  = sound
 PACKAGE = javax.sound
--- a/make/jdk_generic_profile.sh	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/jdk_generic_profile.sh	Fri Dec 24 11:17:10 2010 -0800
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 #
-# Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2010, 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
@@ -78,11 +78,8 @@
 # Attempts to set these variables for the JDK builds:           
 #    ALT_COMPILER_PATH
 #    ALT_BOOTDIR
-#    ALT_BINARY_PLUGS_PATH
-#    ALT_CLOSED_JDK_IMPORT_PATH
 #    Windows Only:
 #      ALT_UNIXCOMMAND_PATH
-#      ALT_MSDEVTOOLS_PATH
 #      ALT_DXSDK_PATH
 #      ALT_MSVCRT_DLL_PATH
 #      ALT_MSVCR71_DLL_PATH
@@ -221,8 +218,6 @@
     # VisualStudio .NET 2003 VC++ 7.1 (VS71COMNTOOLS should be defined)
     vs_root=$(${cygpath} "${VS71COMNTOOLS}/../..")
     # Fill in PATH, LIB, and INCLUDE (unset all others to make sure)
-    msdev_root="${vs_root}/Common7/Tools"
-    msdevtools_path="${msdev_root}/bin"
     vc7_root="${vs_root}/Vc7"
     compiler_path="${vc7_root}/bin"
     platform_sdk="${vc7_root}/PlatformSDK"
@@ -260,12 +255,6 @@
     else
       compiler_path="${platform_sdk}/Bin/win64/x86/AMD64"
     fi
-    if [ "${ALT_MSDEVTOOLS_PATH}" != "" ] ; then
-      msdevtools_path=${ALT_MSDEVTOOLS_PATH}
-    else
-      msdevtools_path="${platform_sdk}/Bin/win64/x86/AMD64"
-    fi
-    msdevtools_path="${compiler_path}"
     # LIB and INCLUDE must use ; as a separator
     include4sdk="${platform_sdk}/Include"
     include4sdk="${include4sdk};${platform_sdk}/Include/crt/sys"
@@ -313,28 +302,6 @@
   export ALT_JDK_IMPORT_PATH
 fi
 
-# Get the latest JDK binary plugs or build to import pre-built binaries
-if [ "${ALT_BINARY_PLUGS_PATH}" = "" ] ; then
-  binplugs=${jdk_instances}/openjdk-binary-plugs
-  jdkplugs=${jdk_instances}/${importjdk}
-  if [ -d ${binplugs} ] ; then
-    ALT_BINARY_PLUGS_PATH=${binplugs}
-    export ALT_BINARY_PLUGS_PATH
-  elif [  "${ALT_CLOSED_JDK_IMPORT_PATH}" = "" -a -d ${jdkplugs} ] ; then
-    ALT_CLOSED_JDK_IMPORT_PATH=${jdkplugs}
-    export ALT_CLOSED_JDK_IMPORT_PATH
-  fi
-  if [ "${ALT_BINARY_PLUGS_PATH}" = "" ] ; then
-    echo "WARNING: Missing ALT_BINARY_PLUGS_PATH: ${binplugs}"
-  fi
-fi
-if [ "${ALT_BINARY_PLUGS_PATH}" != "" -a ! -d "${ALT_BINARY_PLUGS_PATH}" ] ; then
-  echo "WARNING: Cannot access ALT_BINARY_PLUGS_PATH=${ALT_BINARY_PLUGS_PATH}"
-fi
-if [ "${ALT_CLOSED_JDK_IMPORT_PATH}" != "" -a ! -d "${ALT_CLOSED_JDK_IMPORT_PATH}" ] ; then
-  echo "WARNING: Cannot access ALT_CLOSED_JDK_IMPORT_PATH=${ALT_CLOSED_JDK_IMPORT_PATH}"
-fi
-
 # Export PATH setting
 PATH="${path4sdk}"
 export PATH
--- a/make/netbeans/README	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/netbeans/README	Fri Dec 24 11:17:10 2010 -0800
@@ -93,7 +93,6 @@
 
         make.options=\
             ALT_BOOTDIR=/home/me/bin/jdk1.6.0 \
-            ALT_BINARY_PLUGS_PATH=/home/me/bin/openjdk-binary-plugs \
             ALT_JDK_IMPORT_PATH=/home/me/bin/jdk1.7.0 \
             OPENJDK=true
 
--- a/make/sun/dcpr/Makefile	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/sun/dcpr/Makefile	Fri Dec 24 11:17:10 2010 -0800
@@ -23,8 +23,6 @@
 # questions.
 #
 
-# WARNING: Make sure the OPENJDK plugs are up-to-date, see make/common/internal/BinaryPlugs.gmk
-
 BUILDDIR = ../..
 MODULE  = java2d
 PACKAGE = sun.dc
--- a/make/sun/font/t2k/Makefile	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/sun/font/t2k/Makefile	Fri Dec 24 11:17:10 2010 -0800
@@ -23,8 +23,6 @@
 # questions.
 #
 
-# WARNING: Make sure the OPENJDK plugs are up-to-date, see make/common/internal/BinaryPlugs.gmk
-
 #
 # Makefile for building t2k rasteriser.
 #
--- a/make/sun/management/Makefile	Wed Dec 22 15:57:26 2010 -0800
+++ b/make/sun/management/Makefile	Fri Dec 24 11:17:10 2010 -0800
@@ -37,12 +37,8 @@
 
 all build:: properties aclfile jmxremotefiles
 
-# When building the openjdk, build snmp only if importing binary plugs,
-ifdef OPENJDK
-  ifeq ($(IMPORT_BINARY_PLUGS),true)
-    SUBDIRS = snmp
-  endif
-else
+# When building the openjdk, no snmp
+ifndef OPENJDK
   SUBDIRS = snmp
 endif
 SUBDIRS += jmxremote