changeset 5515:e42563f8ec12

Merge
author lana
date Sun, 17 Jun 2012 22:07:44 -0700
parents 2aa89f018a2f db471a7af031
children b8ff85860648
files makefiles/altclasses/Makefile makefiles/apple/Makefile makefiles/apple/applescript/Makefile makefiles/com/Makefile makefiles/com/apple/Makefile makefiles/com/apple/osx/Makefile makefiles/com/apple/osxui/Makefile makefiles/com/oracle/Makefile makefiles/com/oracle/jfr/Makefile makefiles/com/oracle/security/ucrypto/FILES_c.gmk makefiles/com/oracle/security/ucrypto/Makefile makefiles/com/oracle/security/ucrypto/mapfile-vers makefiles/com/sun/Makefile makefiles/common/shared/Defs-utils.gmk makefiles/java/fdlibm/FILES_c.gmk makefiles/java/fdlibm/Makefile makefiles/java/instrument/Makefile makefiles/java/instrument/mapfile-vers makefiles/java/java/Exportedfiles.gmk makefiles/java/java/FILES_c.gmk makefiles/java/java/FILES_java.gmk makefiles/java/java/Makefile makefiles/java/java/localelist.sh makefiles/java/java/mapfile-vers makefiles/java/java/reflect/Makefile makefiles/java/java/reorder-i586 makefiles/java/java/reorder-sparc makefiles/java/java/reorder-sparcv9 makefiles/java/java_crw_demo/Makefile makefiles/java/java_crw_demo/mapfile-vers makefiles/java/java_hprof_demo/Makefile makefiles/java/java_hprof_demo/mapfile-vers makefiles/java/jexec/Makefile makefiles/java/jli/Makefile makefiles/java/jli/mapfile-vers makefiles/java/jobjc/Makefile makefiles/java/jvm/Makefile makefiles/java/main/Makefile makefiles/java/main/java/Makefile makefiles/java/main/java/mapfile-amd64 makefiles/java/main/java/mapfile-i586 makefiles/java/main/java/mapfile-sparc makefiles/java/main/java/mapfile-sparcv9 makefiles/java/main/javaw/Makefile makefiles/java/management/Exportedfiles.gmk makefiles/java/management/FILES_c.gmk makefiles/java/management/Makefile makefiles/java/management/mapfile-vers makefiles/java/net/FILES_c.gmk makefiles/java/net/Makefile makefiles/java/net/mapfile-vers makefiles/java/nio/Exportedfiles.gmk makefiles/java/nio/FILES_c.gmk makefiles/java/nio/FILES_java.gmk makefiles/java/nio/Makefile makefiles/java/nio/addNotices.sh makefiles/java/nio/genBuffer.sh makefiles/java/nio/genCharsetProvider.sh makefiles/java/nio/genCoder.sh makefiles/java/nio/genExceptions.sh makefiles/java/nio/mapfile-bsd makefiles/java/nio/mapfile-linux makefiles/java/nio/mapfile-solaris makefiles/java/nio/reorder-i586 makefiles/java/nio/reorder-sparc makefiles/java/nio/reorder-sparcv9 makefiles/java/npt/Makefile makefiles/java/npt/mapfile-vers makefiles/java/redist/fonts/Makefile makefiles/java/security/Makefile makefiles/java/sun_nio/FILES_java.gmk makefiles/java/sun_nio/Makefile makefiles/java/util/FILES_java.gmk makefiles/java/util/FILES_properties.gmk makefiles/java/util/Makefile makefiles/java/verify/Makefile makefiles/java/verify/mapfile-vers makefiles/java/verify/reorder-i586 makefiles/java/verify/reorder-sparc makefiles/java/verify/reorder-sparcv9 makefiles/javax/Makefile makefiles/javax/imageio/Makefile makefiles/javax/management/Makefile makefiles/javax/sound/FILES_c.gmk makefiles/javax/sound/Makefile makefiles/javax/sound/SoundDefs.gmk makefiles/javax/sound/jsoundalsa/Makefile makefiles/javax/sound/jsoundalsa/mapfile-vers makefiles/javax/sound/jsoundds/Makefile makefiles/javax/sound/mapfile-vers makefiles/javax/sql/Makefile makefiles/javax/swing/FILES.gmk makefiles/javax/swing/Makefile makefiles/javax/swing/beaninfo/FILES.gmk makefiles/javax/swing/beaninfo/Makefile makefiles/javax/swing/beaninfo/SwingBeans.gmk makefiles/javax/swing/beaninfo/manifest makefiles/javax/swing/html32dtd/Makefile makefiles/javax/swing/plaf/FILES.gmk makefiles/javax/swing/plaf/Makefile makefiles/sun/Makefile makefiles/sun/awt/CondenseRules.awk makefiles/sun/awt/Depend.mak makefiles/sun/awt/Depend.sed makefiles/sun/awt/FILES_c_macosx.gmk makefiles/sun/awt/FILES_c_unix.gmk makefiles/sun/awt/FILES_c_windows.gmk makefiles/sun/awt/FILES_export_macosx.gmk makefiles/sun/awt/FILES_export_unix.gmk makefiles/sun/awt/FILES_export_windows.gmk makefiles/sun/awt/Makefile makefiles/sun/awt/README makefiles/sun/awt/make.depend makefiles/sun/awt/mapfile-mawt-vers makefiles/sun/awt/mapfile-vers makefiles/sun/awt/mapfile-vers-linux makefiles/sun/awt/mawt.gmk makefiles/sun/cmm/Makefile makefiles/sun/cmm/kcms/FILES_c_unix.gmk makefiles/sun/cmm/kcms/FILES_c_windows.gmk makefiles/sun/cmm/kcms/Makefile makefiles/sun/cmm/kcms/mapfile-vers makefiles/sun/dcpr/FILES_c.gmk makefiles/sun/dcpr/Makefile makefiles/sun/dcpr/mapfile-vers makefiles/sun/headless/Makefile makefiles/sun/headless/mapfile-vers makefiles/sun/headless/reorder-i586 makefiles/sun/headless/reorder-sparc makefiles/sun/headless/reorder-sparcv9 makefiles/sun/image/Makefile makefiles/sun/image/generic/FILES_c.gmk makefiles/sun/image/generic/Makefile makefiles/sun/image/generic/mapfile-vers makefiles/sun/image/vis/FILES_c.gmk makefiles/sun/image/vis/Makefile makefiles/sun/javazic/Makefile makefiles/sun/jdbc/Makefile makefiles/sun/jdga/Makefile makefiles/sun/jdga/mapfile-vers makefiles/sun/lwawt/FILES_c_macosx.gmk makefiles/sun/lwawt/FILES_export_macosx.gmk makefiles/sun/lwawt/Makefile makefiles/sun/nio/Makefile makefiles/sun/nio/cs/FILES_java.gmk makefiles/sun/nio/cs/Makefile makefiles/sun/org/Makefile makefiles/sun/org/mozilla/Makefile makefiles/sun/org/mozilla/javascript/Makefile makefiles/sun/osxapp/Makefile makefiles/sun/security/Makefile makefiles/sun/security/ec/FILES_c.gmk makefiles/sun/security/ec/mapfile-vers makefiles/sun/security/jgss/Makefile makefiles/sun/security/jgss/wrapper/FILES_c.gmk makefiles/sun/security/jgss/wrapper/Makefile makefiles/sun/security/jgss/wrapper/mapfile-vers makefiles/sun/security/krb5/FILES_c_windows.gmk makefiles/sun/security/krb5/Makefile makefiles/sun/security/mscapi/FILES_cpp.gmk makefiles/sun/security/mscapi/Makefile makefiles/sun/security/other/Makefile makefiles/sun/security/smartcardio/FILES_c.gmk makefiles/sun/security/smartcardio/Makefile makefiles/sun/security/smartcardio/mapfile-vers makefiles/sun/security/tools/Makefile makefiles/sun/security/util/Makefile makefiles/sun/splashscreen/FILES_c.gmk makefiles/sun/splashscreen/Makefile makefiles/sun/splashscreen/mapfile-vers makefiles/sun/xawt/FILES_c_unix.gmk makefiles/sun/xawt/FILES_export_unix.gmk makefiles/sun/xawt/Makefile makefiles/sun/xawt/mapfile-vers src/share/classes/sun/nio/ch/DevPollSelectorProvider.java src/share/classes/sun/security/provider/certpath/CrlRevocationChecker.java src/share/classes/sun/security/provider/certpath/OCSPChecker.java src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java src/share/native/java/sql/DriverManager.c test/sun/security/krb5/auto/ok-as-delegate-xrealm.sh test/sun/security/krb5/auto/ok-as-delegate.sh
diffstat 528 files changed, 22649 insertions(+), 28004 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Thu Jun 14 16:34:43 2012 -0700
+++ b/.hgtags	Sun Jun 17 22:07:44 2012 -0700
@@ -163,3 +163,5 @@
 b6f52911752110a2889681923992c7a0baa52ccc jdk8-b39
 b88fc3359dc7edabfa8a228855d8cebf8843c055 jdk8-b40
 4eac56f073ea8179b1a35fcd2af9b48b0088be9f jdk8-b41
+cf5c1f6fbc5ba14163fe0ef8eb8601b33f951372 jdk8-b42
+b3246687c3695dff6f461bb407f9db88f7d072e7 jdk8-b43
--- a/make/com/oracle/Makefile	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/com/oracle/Makefile	Sun Jun 17 22:07:44 2012 -0700
@@ -30,6 +30,22 @@
 #SUBDIRS_MAKEFLAGS += JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation,-path
 include $(BUILDDIR)/common/Defs.gmk
 
+JFR_SRCDIRS_EXIST := $(shell \
+  if [ -d $(CLOSED_SHARE_SRC)/native/oracle/jfr ] ; then \
+    echo true; \
+  else \
+    echo false; \
+  fi)
+
+JFR =
+ifndef OPENJDK
+  ifndef JAVASE_EMBEDDED
+    ifeq ($(JFR_SRCDIRS_EXIST), true)
+      JFR = jfr
+    endif
+  endif
+endif
+
 # build com/oracle/security/ucrypto on Solaris platform for non-OpenJDK builds
 UCRYPTO =
 ifndef OPENJDK
@@ -38,13 +54,6 @@
   endif
 endif
 
-JFR =
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED
-	JFR = jfr
-endif
-endif
-
 SUBDIRS = $(JFR) net nio util $(UCRYPTO)
 
 include $(BUILDDIR)/common/Subdirs.gmk
--- a/make/common/Defs-solaris.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/common/Defs-solaris.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -99,6 +99,9 @@
 # variable names because the incoming option value can be overridden
 # in some situations, e.g., a VARIANT != OPT build.
 
+ADD_GNU_DEBUGLINK = $(ABS_BUILDTOOLBINDIR)/add_gnu_debuglink
+FIX_EMPTY_SEC_HDR_FLAGS = $(ABS_BUILDTOOLBINDIR)/fix_empty_sec_hdr_flags
+
 ifeq ($(VARIANT), OPT)
   FULL_DEBUG_SYMBOLS ?= 1
   ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
@@ -113,26 +116,11 @@
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   # Default OBJCOPY comes from the SUNWbinutils package:
   DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
-  ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
-    # On Solaris AMD64/X64, gobjcopy is not happy and fails:
-    #
-    # usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
-    # BFD: stKPaiop: Not enough room for program headers, try linking with -N
-    # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
-    # BFD: stKPaiop: Not enough room for program headers, try linking with -N
-    # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
-    # BFD: stKPaiop: Not enough room for program headers, try linking with -N
-    # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
-    _JUNK_ := $(shell \
-      echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64")
-    OBJCOPY=
-  else
-    OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
-    ifneq ($(ALT_OBJCOPY),)
-      _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
-      # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
-      OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
-    endif
+  OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
+  ifneq ($(ALT_OBJCOPY),)
+    _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
+    # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
+    OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
   endif
 
   # Setting ENABLE_FULL_DEBUG_SYMBOLS=1 (and OBJCOPY) above enables the
@@ -243,18 +231,21 @@
 # optimization flags as used by FASTDEBUG. We also want all the
 # debug info in one place (-xs).
 #
+CFLAGS_COMMON=
+CXXFLAGS_COMMON=
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
     ifeq ($(VARIANT), OPT)
-      CC_OPT   = -g  -xs $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-      CXX_OPT  = -g0 -xs $(CXX_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
+      OPTIMIZATION_LEVEL = $(FASTDEBUG_OPTIMIZATION_LEVEL)
+      CFLAGS_COMMON += -g  -xs
+      CXXFLAGS_COMMON += -g0 -xs
     endif
     CFLAGS_DEBUG_OPTION    += -xs
     CXXFLAGS_DEBUG_OPTION  += -xs
   endif
 endif
 
-CFLAGS_COMMON   = -L$(OBJDIR)
+CFLAGS_COMMON  += -L$(OBJDIR)
 
 # Do not allow C99 language features like declarations in code etc.
 CFLAGS_COMMON  += -xc99=%none
--- a/make/common/Defs.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/common/Defs.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1995, 2012, 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
@@ -297,6 +297,7 @@
 ABS_BUILDTOOLJARDIR = $(ABS_OUTPUTDIR)/btjars
 # for generated tool class files
 BUILDTOOLBINDIR     = $(OUTPUTDIR)/btbins
+ABS_BUILDTOOLBINDIR = $(ABS_OUTPUTDIR)/btbins
 # for generated java source files
 GENSRCDIR           = $(OUTPUTDIR)/gensrc
 # for generated C source files (not javah)
--- a/make/common/Library.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/common/Library.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -245,6 +245,12 @@
   ARFLAGS = -r
 endif
 
+ifeq ($(PLATFORM), solaris)
+  ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
+$(ACTUAL_LIBRARY):: $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS)
+  endif
+endif
+
 $(ACTUAL_LIBRARY):: $(COMPILE_FILES_o) $(FILES_m) $(FILES_reorder)
 	@$(prep-target)
 	@$(ECHO) "STATS: LIBRARY=$(LIBRARY), PRODUCT=$(PRODUCT), OPTIMIZATION_LEVEL=$(OPTIMIZATION_LEVEL)"
@@ -260,11 +266,29 @@
   ifneq ($(PLATFORM), macosx)
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
       ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
+        ifeq ($(PLATFORM), solaris)
+# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
+# Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
+# empty section headers until a fixed $(OBJCOPY) is available.
+# An empty section header has sh_addr == 0 and sh_size == 0.
+# This problem has only been seen on Solaris X64, but we call this tool
+# on all Solaris builds just in case.
+#
+# $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
+# Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
 	(set -e ; \
 	 $(CD) $(@D) ; \
-	 $(OBJCOPY) --only-keep-debug $(@F) $(LIBRARY).debuginfo ; \
-	 $(OBJCOPY) --add-gnu-debuglink=$(LIBRARY).debuginfo $(@F) ; \
+	 $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
+	 $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+         $(ADD_GNU_DEBUGLINK) $(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
 	)
+        else # PLATFORM != solaris
+	(set -e ; \
+	 $(CD) $(@D) ; \
+	 $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+	 $(OBJCOPY) --add-gnu-debuglink=$(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \
+	)
+        endif # PLATFORM == solaris
         ifeq ($(STRIP_POLICY),all_strip)
 	  $(STRIP) $@
         else
@@ -281,8 +305,8 @@
         ifeq ($(ZIP_DEBUGINFO_FILES),1)
 	  (set -e ; \
 	   $(CD) $(@D) ; \
-	   $(ZIPEXE) -q $(LIBRARY).diz $(LIBRARY).debuginfo ; \
-	   $(RM) $(LIBRARY).debuginfo ; \
+	   $(ZIPEXE) -q $(LIB_PREFIX)$(LIBRARY).diz $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
+	   $(RM) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \
 	  )
         endif
       endif # LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
--- a/make/common/Program.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/common/Program.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -230,6 +230,13 @@
   #
   # This rule only applies on unix.  It supports quantify and its ilk.
   #
+
+  ifeq ($(PLATFORM), solaris)
+    ifeq ($(PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
+  $(ACTUAL_PROGRAM):: $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS)
+    endif
+  endif
+
   $(ACTUAL_PROGRAM):: $(FILES_o)
 	@$(prep-target)
 	@set -- $?; \
@@ -244,11 +251,29 @@
   ifneq ($(PLATFORM), macosx)
     ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
       ifeq ($(PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
+        ifeq ($(PLATFORM), solaris)
+# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
+# Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
+# empty section headers until a fixed $(OBJCOPY) is available.
+# An empty section header has sh_addr == 0 and sh_size == 0.
+# This problem has only been seen on Solaris X64, but we call this tool
+# on all Solaris builds just in case.
+#
+# $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
+# Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
+	(set -e ; \
+	 $(CD) $(@D) ; \
+	 $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \
+	 $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
+         $(ADD_GNU_DEBUGLINK) $(@F).debuginfo $(@F) ; \
+	)
+        else # PLATFORM != solaris
 	(set -e ; \
 	 $(CD) $(@D) ; \
 	 $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \
 	 $(OBJCOPY) --add-gnu-debuglink=$(@F).debuginfo $(@F) ; \
 	)
+        endif # PLATFORM == solaris
         ifeq ($(STRIP_POLICY),all_strip)
 	  $(STRIP) $@
         else
--- a/make/java/java/FILES_c.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/java/java/FILES_c.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -69,7 +69,6 @@
 	jdk_util_md.c \
 	check_version.c \
 	java_props_md.c \
-	DriverManager.c \
 	ConstantPool.c \
 	MessageUtils.c \
 	GC.c \
--- a/make/java/java/FILES_java.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/java/java/FILES_java.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -482,6 +482,7 @@
     sun/misc/JavaNioAccess.java \
     sun/misc/Perf.java \
     sun/misc/PerfCounter.java \
+    sun/misc/Hashing.java \
     sun/net/www/protocol/jar/Handler.java \
     sun/net/www/protocol/jar/JarURLConnection.java \
     sun/net/www/protocol/file/Handler.java \
--- a/make/java/java/mapfile-vers	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/java/java/mapfile-vers	Sun Jun 17 22:07:44 2012 -0700
@@ -232,7 +232,6 @@
 		Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedExceptionAction_2Ljava_security_AccessControlContext_2;
 		Java_java_security_AccessController_getStackAccessControlContext;
 		Java_java_security_AccessController_getInheritedAccessControlContext;
-		Java_java_sql_DriverManager_getCallerClassLoader;
 		Java_java_util_ResourceBundle_getClassContext;
 		Java_java_util_TimeZone_getSystemTimeZoneID;
 		Java_java_util_TimeZone_getSystemGMTOffsetID;
--- a/make/java/nio/Makefile	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/java/nio/Makefile	Sun Jun 17 22:07:44 2012 -0700
@@ -55,6 +55,9 @@
 	sun/nio/ch/DevPollArrayWrapper.java \
 	sun/nio/ch/DevPollSelectorImpl.java \
         sun/nio/ch/DevPollSelectorProvider.java \
+	sun/nio/ch/EventPortSelectorImpl.java \
+	sun/nio/ch/EventPortSelectorProvider.java \
+	sun/nio/ch/EventPortWrapper.java \
 	sun/nio/ch/InheritedChannel.java \
         sun/nio/ch/PollSelectorProvider.java \
         sun/nio/ch/PollSelectorImpl.java \
--- a/make/java/nio/mapfile-linux	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/java/nio/mapfile-linux	Sun Jun 17 22:07:44 2012 -0700
@@ -39,7 +39,6 @@
                 Java_sun_nio_ch_EPollArrayWrapper_epollCreate;
                 Java_sun_nio_ch_EPollArrayWrapper_epollCtl;
                 Java_sun_nio_ch_EPollArrayWrapper_epollWait;
-		Java_sun_nio_ch_EPollArrayWrapper_fdLimit;
 		Java_sun_nio_ch_EPollArrayWrapper_init;
 		Java_sun_nio_ch_EPollArrayWrapper_interrupt;
 		Java_sun_nio_ch_EPollArrayWrapper_offsetofData;
@@ -87,6 +86,7 @@
                 Java_sun_nio_ch_IOUtil_configureBlocking;
                 Java_sun_nio_ch_IOUtil_drain;
                 Java_sun_nio_ch_IOUtil_fdVal;
+		Java_sun_nio_ch_IOUtil_fdLimit;
                 Java_sun_nio_ch_IOUtil_initIDs;
                 Java_sun_nio_ch_IOUtil_makePipe;
                 Java_sun_nio_ch_IOUtil_randomBytes;
--- a/make/java/nio/mapfile-solaris	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/java/nio/mapfile-solaris	Sun Jun 17 22:07:44 2012 -0700
@@ -36,7 +36,6 @@
                 Java_sun_nio_ch_DatagramDispatcher_readv0;
                 Java_sun_nio_ch_DatagramDispatcher_write0;
                 Java_sun_nio_ch_DatagramDispatcher_writev0;
-                Java_sun_nio_ch_DevPollArrayWrapper_fdLimit;
                 Java_sun_nio_ch_DevPollArrayWrapper_init;
                 Java_sun_nio_ch_DevPollArrayWrapper_interrupt;
                 Java_sun_nio_ch_DevPollArrayWrapper_poll0;
@@ -74,6 +73,7 @@
 		Java_sun_nio_ch_InheritedChannel_soType0;
                 Java_sun_nio_ch_IOUtil_configureBlocking;
                 Java_sun_nio_ch_IOUtil_drain;
+		Java_sun_nio_ch_IOUtil_fdLimit;
                 Java_sun_nio_ch_IOUtil_fdVal;
                 Java_sun_nio_ch_IOUtil_initIDs;
                 Java_sun_nio_ch_IOUtil_makePipe;
@@ -112,13 +112,13 @@
 		Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_accept0;
 		Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_initIDs;
 		Java_sun_nio_ch_UnixAsynchronousSocketChannelImpl_checkConnect;
-		Java_sun_nio_ch_SolarisEventPort_init;
-		Java_sun_nio_ch_SolarisEventPort_portCreate;
-		Java_sun_nio_ch_SolarisEventPort_portClose;
-		Java_sun_nio_ch_SolarisEventPort_portAssociate;
-		Java_sun_nio_ch_SolarisEventPort_portGet;
-		Java_sun_nio_ch_SolarisEventPort_portGetn;
-		Java_sun_nio_ch_SolarisEventPort_portSend;
+		Java_sun_nio_ch_SolarisEventPort_port_1create;
+		Java_sun_nio_ch_SolarisEventPort_port_1close;
+		Java_sun_nio_ch_SolarisEventPort_port_1associate;
+		Java_sun_nio_ch_SolarisEventPort_port_1dissociate;
+		Java_sun_nio_ch_SolarisEventPort_port_1get;
+		Java_sun_nio_ch_SolarisEventPort_port_1getn;
+		Java_sun_nio_ch_SolarisEventPort_port_1send;
 		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGio;
 		Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGio;
 		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGnomeVfs;
--- a/make/jprt.properties	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/jprt.properties	Sun Jun 17 22:07:44 2012 -0700
@@ -89,6 +89,7 @@
     ${jprt.my.test.target.set:TESTNAME=jdk_text},               \
     ${jprt.my.test.target.set:TESTNAME=jdk_tools1},             \
     ${jprt.my.test.target.set:TESTNAME=jdk_tools2},             \
+    ${jprt.my.test.target.set:TESTNAME=jdk_jfr},                \
     ${jprt.my.test.target.set:TESTNAME=jdk_misc}
 
 # All vm test targets (testset=all)
--- a/make/netbeans/jconsole/build.xml	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/netbeans/jconsole/build.xml	Sun Jun 17 22:07:44 2012 -0700
@@ -50,6 +50,7 @@
             <fileset dir="${classes.dir}">
                 <include name="sun/tools/jconsole/**/*.class"/>
                 <include name="com/sun/tools/jconsole/**/*.class"/>
+                <include name="sun/tools/jconsole/resources/*.properties"/>
                 <include name="sun/tools/jconsole/resources/*.gif"/>
                 <include name="sun/tools/jconsole/resources/*.png"/>
             </fileset>
--- a/make/sun/jconsole/FILES.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/sun/jconsole/FILES.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -30,17 +30,22 @@
 MANIFEST = sun/tools/jconsole/manifest
 
 PNG_FILES = \
-	sun/tools/jconsole/resources/brandlogo.png \
-	sun/tools/jconsole/resources/collapse-winlf.png \
-	sun/tools/jconsole/resources/connected16.png \
-	sun/tools/jconsole/resources/connected24.png \
-	sun/tools/jconsole/resources/disconnected16.png \
-	sun/tools/jconsole/resources/disconnected24.png \
-	sun/tools/jconsole/resources/expand-winlf.png \
-	sun/tools/jconsole/resources/masthead-left.png \
-	sun/tools/jconsole/resources/masthead-right.png
+  sun/tools/jconsole/resources/brandlogo.png \
+  sun/tools/jconsole/resources/collapse-winlf.png \
+  sun/tools/jconsole/resources/connected16.png \
+  sun/tools/jconsole/resources/connected24.png \
+  sun/tools/jconsole/resources/disconnected16.png \
+  sun/tools/jconsole/resources/disconnected24.png \
+  sun/tools/jconsole/resources/expand-winlf.png \
+  sun/tools/jconsole/resources/masthead-left.png \
+  sun/tools/jconsole/resources/masthead-right.png
 
 GIF_FILES = \
-	sun/tools/jconsole/resources/mbean.gif \
-	sun/tools/jconsole/resources/mbeanserverdelegate.gif \
-	sun/tools/jconsole/resources/xobject.gif
+  sun/tools/jconsole/resources/mbean.gif \
+  sun/tools/jconsole/resources/mbeanserverdelegate.gif \
+  sun/tools/jconsole/resources/xobject.gif
+
+PROP_FILES = \
+  sun/tools/jconsole/resources/messages.properties \
+  sun/tools/jconsole/resources/messages_ja.properties \
+  sun/tools/jconsole/resources/messages_zh_CN.properties
--- a/make/sun/jconsole/Makefile	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/sun/jconsole/Makefile	Sun Jun 17 22:07:44 2012 -0700
@@ -53,21 +53,21 @@
 
 FILES_png = $(PNG_FILES:%.png=$(CLASSBINDIR)/%.png)
 FILES_gif = $(GIF_FILES:%.gif=$(CLASSBINDIR)/%.gif)
-
+FILES_prop = $(PROP_FILES:%.properties=$(CLASSBINDIR)/%.properties)
 build: $(GENSRCDIR)/sun/tools/jconsole/Version.java
 
 #
 # Resources
 #
 LOCALE_SET_DEFINITION = jdk
-RESOURCE_BUNDLES_JAVA = $(PKGDIR)/resources/JConsoleResources.java
+RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES = $(PKGDIR)/resources/messages.properties
 
 #
 # Rules.
 #
 include $(BUILDDIR)/common/Classes.gmk
 
-build: $(FILES_png) $(FILES_gif) $(TEMPDIR)/manifest $(JARFILE)
+build: $(FILES_png) $(FILES_gif) $(FILES_prop) $(TEMPDIR)/manifest $(JARFILE)
 
 $(GENSRCDIR)/sun/tools/jconsole/Version.java: \
                 $(SHARE_SRC)/classes/sun/tools/jconsole/Version.java.template
@@ -85,7 +85,7 @@
 # Extra rule to build jconsole.jar
 #
 
-$(JARFILE): $(LIBDIR) $(FILES_class) $(FILES_png) $(FILES_gif) $(TEMPDIR)/manifest
+$(JARFILE): $(LIBDIR) $(FILES_class) $(FILES_png) $(FILES_gif) $(FILES_prop) $(TEMPDIR)/manifest
 	$(BOOT_JAR_CMD) -cfm $(JARFILE) $(TEMPDIR)/manifest \
                -C $(CLASSBINDIR) sun/tools/jconsole \
                -C $(CLASSBINDIR) com/sun/tools/jconsole \
--- a/make/tools/CharsetMapping/GBK.map	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/tools/CharsetMapping/GBK.map	Sun Jun 17 22:07:44 2012 -0700
@@ -3,6 +3,10 @@
 # (1)sorted
 # (2)added the singlebyte entries
 #
+# (3)updated 0xA140-0xA7A0 mappings to follow GB18030/MS936
+# (4)added euro sign entry A2E3 20AC (instead of 0xA2E3  0xE76C)
+#    this is what gb18030 does.
+#
 0x00	0x0000
 0x01	0x0001
 0x02	0x0002
@@ -6508,12 +6512,12 @@
 0xA2A8	0x2177
 0xA2A9	0x2178
 0xA2AA	0x2179
-0xA2AB	0xE586
-0xA2AC	0xE587
-0xA2AD	0xE588
-0xA2AE	0xE589
-0xA2AF	0xE58A
-0xA2B0	0xE58B
+0xA2AB	0xE766
+0xA2AC	0xE767
+0xA2AD	0xE768
+0xA2AE	0xE769
+0xA2AF	0xE76A
+0xA2B0	0xE76B
 0xA2B1	0x2488
 0xA2B2	0x2489
 0xA2B3	0x248A
@@ -6564,8 +6568,8 @@
 0xA2E0	0x2467
 0xA2E1	0x2468
 0xA2E2	0x2469
-0xA2E3	0xE58C
-0xA2E4	0xE58D
+0xA2E3	0x20AC
+0xA2E4	0xE76D
 0xA2E5	0x3220
 0xA2E6	0x3221
 0xA2E7	0x3222
@@ -6576,8 +6580,8 @@
 0xA2EC	0x3227
 0xA2ED	0x3228
 0xA2EE	0x3229
-0xA2EF	0xE58E
-0xA2F0	0xE58F
+0xA2EF	0xE76E
+0xA2F0	0xE76F
 0xA2F1	0x2160
 0xA2F2	0x2161
 0xA2F3	0x2162
@@ -6590,104 +6594,104 @@
 0xA2FA	0x2169
 0xA2FB	0x216A
 0xA2FC	0x216B
-0xA2FD	0xE590
-0xA2FE	0xE591
-0xA340	0xE592
-0xA341	0xE593
-0xA342	0xE594
-0xA343	0xE595
-0xA344	0xE596
-0xA345	0xE597
-0xA346	0xE598
-0xA347	0xE599
-0xA348	0xE59A
-0xA349	0xE59B
-0xA34A	0xE59C
-0xA34B	0xE59D
-0xA34C	0xE59E
-0xA34D	0xE59F
-0xA34E	0xE5A0
-0xA34F	0xE5A1
-0xA350	0xE5A2
-0xA351	0xE5A3
-0xA352	0xE5A4
-0xA353	0xE5A5
-0xA354	0xE5A6
-0xA355	0xE5A7
-0xA356	0xE5A8
-0xA357	0xE5A9
-0xA358	0xE5AA
-0xA359	0xE5AB
-0xA35A	0xE5AC
-0xA35B	0xE5AD
-0xA35C	0xE5AE
-0xA35D	0xE5AF
-0xA35E	0xE5B0
-0xA35F	0xE5B1
-0xA360	0xE5B2
-0xA361	0xE5B3
-0xA362	0xE5B4
-0xA363	0xE5B5
-0xA364	0xE5B6
-0xA365	0xE5B7
-0xA366	0xE5B8
-0xA367	0xE5B9
-0xA368	0xE5BA
-0xA369	0xE5BB
-0xA36A	0xE5BC
-0xA36B	0xE5BD
-0xA36C	0xE5BE
-0xA36D	0xE5BF
-0xA36E	0xE5C0
-0xA36F	0xE5C1
-0xA370	0xE5C2
-0xA371	0xE5C3
-0xA372	0xE5C4
-0xA373	0xE5C5
-0xA374	0xE5C6
-0xA375	0xE5C7
-0xA376	0xE5C8
-0xA377	0xE5C9
-0xA378	0xE5CA
-0xA379	0xE5CB
-0xA37A	0xE5CC
-0xA37B	0xE5CD
-0xA37C	0xE5CE
-0xA37D	0xE5CF
-0xA37E	0xE5D0
-0xA380	0xE5D1
-0xA381	0xE5D2
-0xA382	0xE5D3
-0xA383	0xE5D4
-0xA384	0xE5D5
-0xA385	0xE5D6
-0xA386	0xE5D7
-0xA387	0xE5D8
-0xA388	0xE5D9
-0xA389	0xE5DA
-0xA38A	0xE5DB
-0xA38B	0xE5DC
-0xA38C	0xE5DD
-0xA38D	0xE5DE
-0xA38E	0xE5DF
-0xA38F	0xE5E0
-0xA390	0xE5E1
-0xA391	0xE5E2
-0xA392	0xE5E3
-0xA393	0xE5E4
-0xA394	0xE5E5
-0xA395	0xE5E6
-0xA396	0xE5E7
-0xA397	0xE5E8
-0xA398	0xE5E9
-0xA399	0xE5EA
-0xA39A	0xE5EB
-0xA39B	0xE5EC
-0xA39C	0xE5ED
-0xA39D	0xE5EE
-0xA39E	0xE5EF
-0xA39F	0xE5F0
-0xA3A0	0xE5F1
+0xA2FD	0xE770
+0xA2FE	0xE771
+0xA340	0xE586
+0xA341	0xE587
+0xA342	0xE588
+0xA343	0xE589
+0xA344	0xE58A
+0xA345	0xE58B
+0xA346	0xE58C
+0xA347	0xE58D
+0xA348	0xE58E
+0xA349	0xE58F
+0xA34A	0xE590
+0xA34B	0xE591
+0xA34C	0xE592
+0xA34D	0xE593
+0xA34E	0xE594
+0xA34F	0xE595
+0xA350	0xE596
+0xA351	0xE597
+0xA352	0xE598
+0xA353	0xE599
+0xA354	0xE59A
+0xA355	0xE59B
+0xA356	0xE59C
+0xA357	0xE59D
+0xA358	0xE59E
+0xA359	0xE59F
+0xA35A	0xE5A0
+0xA35B	0xE5A1
+0xA35C	0xE5A2
+0xA35D	0xE5A3
+0xA35E	0xE5A4
+0xA35F	0xE5A5
+0xA360	0xE5A6
+0xA361	0xE5A7
+0xA362	0xE5A8
+0xA363	0xE5A9
+0xA364	0xE5AA
+0xA365	0xE5AB
+0xA366	0xE5AC
+0xA367	0xE5AD
+0xA368	0xE5AE
+0xA369	0xE5AF
+0xA36A	0xE5B0
+0xA36B	0xE5B1
+0xA36C	0xE5B2
+0xA36D	0xE5B3
+0xA36E	0xE5B4
+0xA36F	0xE5B5
+0xA370	0xE5B6
+0xA371	0xE5B7
+0xA372	0xE5B8
+0xA373	0xE5B9
+0xA374	0xE5BA
+0xA375	0xE5BB
+0xA376	0xE5BC
+0xA377	0xE5BD
+0xA378	0xE5BE
+0xA379	0xE5BF
+0xA37A	0xE5C0
+0xA37B	0xE5C1
+0xA37C	0xE5C2
+0xA37D	0xE5C3
+0xA37E	0xE5C4
+0xA380	0xE5C5
+0xA381	0xE5C6
+0xA382	0xE5C7
+0xA383	0xE5C8
+0xA384	0xE5C9
+0xA385	0xE5CA
+0xA386	0xE5CB
+0xA387	0xE5CC
+0xA388	0xE5CD
+0xA389	0xE5CE
+0xA38A	0xE5CF
+0xA38B	0xE5D0
+0xA38C	0xE5D1
+0xA38D	0xE5D2
+0xA38E	0xE5D3
+0xA38F	0xE5D4
+0xA390	0xE5D5
+0xA391	0xE5D6
+0xA392	0xE5D7
+0xA393	0xE5D8
+0xA394	0xE5D9
+0xA395	0xE5DA
+0xA396	0xE5DB
+0xA397	0xE5DC
+0xA398	0xE5DD
+0xA399	0xE5DE
+0xA39A	0xE5DF
+0xA39B	0xE5E0
+0xA39C	0xE5E1
+0xA39D	0xE5E2
+0xA39E	0xE5E3
+0xA39F	0xE5E4
+0xA3A0	0xE5E5
 0xA3A1	0xFF01
 0xA3A2	0xFF02
 0xA3A3	0xFF03
@@ -6782,102 +6786,102 @@
 0xA3FC	0xFF5C
 0xA3FD	0xFF5D
 0xA3FE	0xFFE3
-0xA440	0xE5F2
-0xA441	0xE5F3
-0xA442	0xE5F4
-0xA443	0xE5F5
-0xA444	0xE5F6
-0xA445	0xE5F7
-0xA446	0xE5F8
-0xA447	0xE5F9
-0xA448	0xE5FA
-0xA449	0xE5FB
-0xA44A	0xE5FC
-0xA44B	0xE5FD
-0xA44C	0xE5FE
-0xA44D	0xE5FF
-0xA44E	0xE600
-0xA44F	0xE601
-0xA450	0xE602
-0xA451	0xE603
-0xA452	0xE604
-0xA453	0xE605
-0xA454	0xE606
-0xA455	0xE607
-0xA456	0xE608
-0xA457	0xE609
-0xA458	0xE60A
-0xA459	0xE60B
-0xA45A	0xE60C
-0xA45B	0xE60D
-0xA45C	0xE60E
-0xA45D	0xE60F
-0xA45E	0xE610
-0xA45F	0xE611
-0xA460	0xE612
-0xA461	0xE613
-0xA462	0xE614
-0xA463	0xE615
-0xA464	0xE616
-0xA465	0xE617
-0xA466	0xE618
-0xA467	0xE619
-0xA468	0xE61A
-0xA469	0xE61B
-0xA46A	0xE61C
-0xA46B	0xE61D
-0xA46C	0xE61E
-0xA46D	0xE61F
-0xA46E	0xE620
-0xA46F	0xE621
-0xA470	0xE622
-0xA471	0xE623
-0xA472	0xE624
-0xA473	0xE625
-0xA474	0xE626
-0xA475	0xE627
-0xA476	0xE628
-0xA477	0xE629
-0xA478	0xE62A
-0xA479	0xE62B
-0xA47A	0xE62C
-0xA47B	0xE62D
-0xA47C	0xE62E
-0xA47D	0xE62F
-0xA47E	0xE630
-0xA480	0xE631
-0xA481	0xE632
-0xA482	0xE633
-0xA483	0xE634
-0xA484	0xE635
-0xA485	0xE636
-0xA486	0xE637
-0xA487	0xE638
-0xA488	0xE639
-0xA489	0xE63A
-0xA48A	0xE63B
-0xA48B	0xE63C
-0xA48C	0xE63D
-0xA48D	0xE63E
-0xA48E	0xE63F
-0xA48F	0xE640
-0xA490	0xE641
-0xA491	0xE642
-0xA492	0xE643
-0xA493	0xE644
-0xA494	0xE645
-0xA495	0xE646
-0xA496	0xE647
-0xA497	0xE648
-0xA498	0xE649
-0xA499	0xE64A
-0xA49A	0xE64B
-0xA49B	0xE64C
-0xA49C	0xE64D
-0xA49D	0xE64E
-0xA49E	0xE64F
-0xA49F	0xE650
-0xA4A0	0xE651
+0xA440	0xE5E6
+0xA441	0xE5E7
+0xA442	0xE5E8
+0xA443	0xE5E9
+0xA444	0xE5EA
+0xA445	0xE5EB
+0xA446	0xE5EC
+0xA447	0xE5ED
+0xA448	0xE5EE
+0xA449	0xE5EF
+0xA44A	0xE5F0
+0xA44B	0xE5F1
+0xA44C	0xE5F2
+0xA44D	0xE5F3
+0xA44E	0xE5F4
+0xA44F	0xE5F5
+0xA450	0xE5F6
+0xA451	0xE5F7
+0xA452	0xE5F8
+0xA453	0xE5F9
+0xA454	0xE5FA
+0xA455	0xE5FB
+0xA456	0xE5FC
+0xA457	0xE5FD
+0xA458	0xE5FE
+0xA459	0xE5FF
+0xA45A	0xE600
+0xA45B	0xE601
+0xA45C	0xE602
+0xA45D	0xE603
+0xA45E	0xE604
+0xA45F	0xE605
+0xA460	0xE606
+0xA461	0xE607
+0xA462	0xE608
+0xA463	0xE609
+0xA464	0xE60A
+0xA465	0xE60B
+0xA466	0xE60C
+0xA467	0xE60D
+0xA468	0xE60E
+0xA469	0xE60F
+0xA46A	0xE610
+0xA46B	0xE611
+0xA46C	0xE612
+0xA46D	0xE613
+0xA46E	0xE614
+0xA46F	0xE615
+0xA470	0xE616
+0xA471	0xE617
+0xA472	0xE618
+0xA473	0xE619
+0xA474	0xE61A
+0xA475	0xE61B
+0xA476	0xE61C
+0xA477	0xE61D
+0xA478	0xE61E
+0xA479	0xE61F
+0xA47A	0xE620
+0xA47B	0xE621
+0xA47C	0xE622
+0xA47D	0xE623
+0xA47E	0xE624
+0xA480	0xE625
+0xA481	0xE626
+0xA482	0xE627
+0xA483	0xE628
+0xA484	0xE629
+0xA485	0xE62A
+0xA486	0xE62B
+0xA487	0xE62C
+0xA488	0xE62D
+0xA489	0xE62E
+0xA48A	0xE62F
+0xA48B	0xE630
+0xA48C	0xE631
+0xA48D	0xE632
+0xA48E	0xE633
+0xA48F	0xE634
+0xA490	0xE635
+0xA491	0xE636
+0xA492	0xE637
+0xA493	0xE638
+0xA494	0xE639
+0xA495	0xE63A
+0xA496	0xE63B
+0xA497	0xE63C
+0xA498	0xE63D
+0xA499	0xE63E
+0xA49A	0xE63F
+0xA49B	0xE640
+0xA49C	0xE641
+0xA49D	0xE642
+0xA49E	0xE643
+0xA49F	0xE644
+0xA4A0	0xE645
 0xA4A1	0x3041
 0xA4A2	0x3042
 0xA4A3	0x3043
@@ -6961,113 +6965,113 @@
 0xA4F1	0x3091
 0xA4F2	0x3092
 0xA4F3	0x3093
-0xA4F4	0xE652
-0xA4F5	0xE653
-0xA4F6	0xE654
-0xA4F7	0xE655
-0xA4F8	0xE656
-0xA4F9	0xE657
-0xA4FA	0xE658
-0xA4FB	0xE659
-0xA4FC	0xE65A
-0xA4FD	0xE65B
-0xA4FE	0xE65C
-0xA540	0xE65D
-0xA541	0xE65E
-0xA542	0xE65F
-0xA543	0xE660
-0xA544	0xE661
-0xA545	0xE662
-0xA546	0xE663
-0xA547	0xE664
-0xA548	0xE665
-0xA549	0xE666
-0xA54A	0xE667
-0xA54B	0xE668
-0xA54C	0xE669
-0xA54D	0xE66A
-0xA54E	0xE66B
-0xA54F	0xE66C
-0xA550	0xE66D
-0xA551	0xE66E
-0xA552	0xE66F
-0xA553	0xE670
-0xA554	0xE671
-0xA555	0xE672
-0xA556	0xE673
-0xA557	0xE674
-0xA558	0xE675
-0xA559	0xE676
-0xA55A	0xE677
-0xA55B	0xE678
-0xA55C	0xE679
-0xA55D	0xE67A
-0xA55E	0xE67B
-0xA55F	0xE67C
-0xA560	0xE67D
-0xA561	0xE67E
-0xA562	0xE67F
-0xA563	0xE680
-0xA564	0xE681
-0xA565	0xE682
-0xA566	0xE683
-0xA567	0xE684
-0xA568	0xE685
-0xA569	0xE686
-0xA56A	0xE687
-0xA56B	0xE688
-0xA56C	0xE689
-0xA56D	0xE68A
-0xA56E	0xE68B
-0xA56F	0xE68C
-0xA570	0xE68D
-0xA571	0xE68E
-0xA572	0xE68F
-0xA573	0xE690
-0xA574	0xE691
-0xA575	0xE692
-0xA576	0xE693
-0xA577	0xE694
-0xA578	0xE695
-0xA579	0xE696
-0xA57A	0xE697
-0xA57B	0xE698
-0xA57C	0xE699
-0xA57D	0xE69A
-0xA57E	0xE69B
-0xA580	0xE69C
-0xA581	0xE69D
-0xA582	0xE69E
-0xA583	0xE69F
-0xA584	0xE6A0
-0xA585	0xE6A1
-0xA586	0xE6A2
-0xA587	0xE6A3
-0xA588	0xE6A4
-0xA589	0xE6A5
-0xA58A	0xE6A6
-0xA58B	0xE6A7
-0xA58C	0xE6A8
-0xA58D	0xE6A9
-0xA58E	0xE6AA
-0xA58F	0xE6AB
-0xA590	0xE6AC
-0xA591	0xE6AD
-0xA592	0xE6AE
-0xA593	0xE6AF
-0xA594	0xE6B0
-0xA595	0xE6B1
-0xA596	0xE6B2
-0xA597	0xE6B3
-0xA598	0xE6B4
-0xA599	0xE6B5
-0xA59A	0xE6B6
-0xA59B	0xE6B7
-0xA59C	0xE6B8
-0xA59D	0xE6B9
-0xA59E	0xE6BA
-0xA59F	0xE6BB
-0xA5A0	0xE6BC
+0xA4F4	0xE772
+0xA4F5	0xE773
+0xA4F6	0xE774
+0xA4F7	0xE775
+0xA4F8	0xE776
+0xA4F9	0xE777
+0xA4FA	0xE778
+0xA4FB	0xE779
+0xA4FC	0xE77A
+0xA4FD	0xE77B
+0xA4FE	0xE77C
+0xA540	0xE646
+0xA541	0xE647
+0xA542	0xE648
+0xA543	0xE649
+0xA544	0xE64A
+0xA545	0xE64B
+0xA546	0xE64C
+0xA547	0xE64D
+0xA548	0xE64E
+0xA549	0xE64F
+0xA54A	0xE650
+0xA54B	0xE651
+0xA54C	0xE652
+0xA54D	0xE653
+0xA54E	0xE654
+0xA54F	0xE655
+0xA550	0xE656
+0xA551	0xE657
+0xA552	0xE658
+0xA553	0xE659
+0xA554	0xE65A
+0xA555	0xE65B
+0xA556	0xE65C
+0xA557	0xE65D
+0xA558	0xE65E
+0xA559	0xE65F
+0xA55A	0xE660
+0xA55B	0xE661
+0xA55C	0xE662
+0xA55D	0xE663
+0xA55E	0xE664
+0xA55F	0xE665
+0xA560	0xE666
+0xA561	0xE667
+0xA562	0xE668
+0xA563	0xE669
+0xA564	0xE66A
+0xA565	0xE66B
+0xA566	0xE66C
+0xA567	0xE66D
+0xA568	0xE66E
+0xA569	0xE66F
+0xA56A	0xE670
+0xA56B	0xE671
+0xA56C	0xE672
+0xA56D	0xE673
+0xA56E	0xE674
+0xA56F	0xE675
+0xA570	0xE676
+0xA571	0xE677
+0xA572	0xE678
+0xA573	0xE679
+0xA574	0xE67A
+0xA575	0xE67B
+0xA576	0xE67C
+0xA577	0xE67D
+0xA578	0xE67E
+0xA579	0xE67F
+0xA57A	0xE680
+0xA57B	0xE681
+0xA57C	0xE682
+0xA57D	0xE683
+0xA57E	0xE684
+0xA580	0xE685
+0xA581	0xE686
+0xA582	0xE687
+0xA583	0xE688
+0xA584	0xE689
+0xA585	0xE68A
+0xA586	0xE68B
+0xA587	0xE68C
+0xA588	0xE68D
+0xA589	0xE68E
+0xA58A	0xE68F
+0xA58B	0xE690
+0xA58C	0xE691
+0xA58D	0xE692
+0xA58E	0xE693
+0xA58F	0xE694
+0xA590	0xE695
+0xA591	0xE696
+0xA592	0xE697
+0xA593	0xE698
+0xA594	0xE699
+0xA595	0xE69A
+0xA596	0xE69B
+0xA597	0xE69C
+0xA598	0xE69D
+0xA599	0xE69E
+0xA59A	0xE69F
+0xA59B	0xE6A0
+0xA59C	0xE6A1
+0xA59D	0xE6A2
+0xA59E	0xE6A3
+0xA59F	0xE6A4
+0xA5A0	0xE6A5
 0xA5A1	0x30A1
 0xA5A2	0x30A2
 0xA5A3	0x30A3
@@ -7154,110 +7158,110 @@
 0xA5F4	0x30F4
 0xA5F5	0x30F5
 0xA5F6	0x30F6
-0xA5F7	0xE6BD
-0xA5F8	0xE6BE
-0xA5F9	0xE6BF
-0xA5FA	0xE6C0
-0xA5FB	0xE6C1
-0xA5FC	0xE6C2
-0xA5FD	0xE6C3
-0xA5FE	0xE6C4
-0xA640	0xE6C5
-0xA641	0xE6C6
-0xA642	0xE6C7
-0xA643	0xE6C8
-0xA644	0xE6C9
-0xA645	0xE6CA
-0xA646	0xE6CB
-0xA647	0xE6CC
-0xA648	0xE6CD
-0xA649	0xE6CE
-0xA64A	0xE6CF
-0xA64B	0xE6D0
-0xA64C	0xE6D1
-0xA64D	0xE6D2
-0xA64E	0xE6D3
-0xA64F	0xE6D4
-0xA650	0xE6D5
-0xA651	0xE6D6
-0xA652	0xE6D7
-0xA653	0xE6D8
-0xA654	0xE6D9
-0xA655	0xE6DA
-0xA656	0xE6DB
-0xA657	0xE6DC
-0xA658	0xE6DD
-0xA659	0xE6DE
-0xA65A	0xE6DF
-0xA65B	0xE6E0
-0xA65C	0xE6E1
-0xA65D	0xE6E2
-0xA65E	0xE6E3
-0xA65F	0xE6E4
-0xA660	0xE6E5
-0xA661	0xE6E6
-0xA662	0xE6E7
-0xA663	0xE6E8
-0xA664	0xE6E9
-0xA665	0xE6EA
-0xA666	0xE6EB
-0xA667	0xE6EC
-0xA668	0xE6ED
-0xA669	0xE6EE
-0xA66A	0xE6EF
-0xA66B	0xE6F0
-0xA66C	0xE6F1
-0xA66D	0xE6F2
-0xA66E	0xE6F3
-0xA66F	0xE6F4
-0xA670	0xE6F5
-0xA671	0xE6F6
-0xA672	0xE6F7
-0xA673	0xE6F8
-0xA674	0xE6F9
-0xA675	0xE6FA
-0xA676	0xE6FB
-0xA677	0xE6FC
-0xA678	0xE6FD
-0xA679	0xE6FE
-0xA67A	0xE6FF
-0xA67B	0xE700
-0xA67C	0xE701
-0xA67D	0xE702
-0xA67E	0xE703
-0xA680	0xE704
-0xA681	0xE705
-0xA682	0xE706
-0xA683	0xE707
-0xA684	0xE708
-0xA685	0xE709
-0xA686	0xE70A
-0xA687	0xE70B
-0xA688	0xE70C
-0xA689	0xE70D
-0xA68A	0xE70E
-0xA68B	0xE70F
-0xA68C	0xE710
-0xA68D	0xE711
-0xA68E	0xE712
-0xA68F	0xE713
-0xA690	0xE714
-0xA691	0xE715
-0xA692	0xE716
-0xA693	0xE717
-0xA694	0xE718
-0xA695	0xE719
-0xA696	0xE71A
-0xA697	0xE71B
-0xA698	0xE71C
-0xA699	0xE71D
-0xA69A	0xE71E
-0xA69B	0xE71F
-0xA69C	0xE720
-0xA69D	0xE721
-0xA69E	0xE722
-0xA69F	0xE723
-0xA6A0	0xE724
+0xA5F7	0xE77D
+0xA5F8	0xE77E
+0xA5F9	0xE77F
+0xA5FA	0xE780
+0xA5FB	0xE781
+0xA5FC	0xE782
+0xA5FD	0xE783
+0xA5FE	0xE784
+0xA640	0xE6A6
+0xA641	0xE6A7
+0xA642	0xE6A8
+0xA643	0xE6A9
+0xA644	0xE6AA
+0xA645	0xE6AB
+0xA646	0xE6AC
+0xA647	0xE6AD
+0xA648	0xE6AE
+0xA649	0xE6AF
+0xA64A	0xE6B0
+0xA64B	0xE6B1
+0xA64C	0xE6B2
+0xA64D	0xE6B3
+0xA64E	0xE6B4
+0xA64F	0xE6B5
+0xA650	0xE6B6
+0xA651	0xE6B7
+0xA652	0xE6B8
+0xA653	0xE6B9
+0xA654	0xE6BA
+0xA655	0xE6BB
+0xA656	0xE6BC
+0xA657	0xE6BD
+0xA658	0xE6BE
+0xA659	0xE6BF
+0xA65A	0xE6C0
+0xA65B	0xE6C1
+0xA65C	0xE6C2
+0xA65D	0xE6C3
+0xA65E	0xE6C4
+0xA65F	0xE6C5
+0xA660	0xE6C6
+0xA661	0xE6C7
+0xA662	0xE6C8
+0xA663	0xE6C9
+0xA664	0xE6CA
+0xA665	0xE6CB
+0xA666	0xE6CC
+0xA667	0xE6CD
+0xA668	0xE6CE
+0xA669	0xE6CF
+0xA66A	0xE6D0
+0xA66B	0xE6D1
+0xA66C	0xE6D2
+0xA66D	0xE6D3
+0xA66E	0xE6D4
+0xA66F	0xE6D5
+0xA670	0xE6D6
+0xA671	0xE6D7
+0xA672	0xE6D8
+0xA673	0xE6D9
+0xA674	0xE6DA
+0xA675	0xE6DB
+0xA676	0xE6DC
+0xA677	0xE6DD
+0xA678	0xE6DE
+0xA679	0xE6DF
+0xA67A	0xE6E0
+0xA67B	0xE6E1
+0xA67C	0xE6E2
+0xA67D	0xE6E3
+0xA67E	0xE6E4
+0xA680	0xE6E5
+0xA681	0xE6E6
+0xA682	0xE6E7
+0xA683	0xE6E8
+0xA684	0xE6E9
+0xA685	0xE6EA
+0xA686	0xE6EB
+0xA687	0xE6EC
+0xA688	0xE6ED
+0xA689	0xE6EE
+0xA68A	0xE6EF
+0xA68B	0xE6F0
+0xA68C	0xE6F1
+0xA68D	0xE6F2
+0xA68E	0xE6F3
+0xA68F	0xE6F4
+0xA690	0xE6F5
+0xA691	0xE6F6
+0xA692	0xE6F7
+0xA693	0xE6F8
+0xA694	0xE6F9
+0xA695	0xE6FA
+0xA696	0xE6FB
+0xA697	0xE6FC
+0xA698	0xE6FD
+0xA699	0xE6FE
+0xA69A	0xE6FF
+0xA69B	0xE700
+0xA69C	0xE701
+0xA69D	0xE702
+0xA69E	0xE703
+0xA69F	0xE704
+0xA6A0	0xE705
 0xA6A1	0x0391
 0xA6A2	0x0392
 0xA6A3	0x0393
@@ -7282,14 +7286,14 @@
 0xA6B6	0x03A7
 0xA6B7	0x03A8
 0xA6B8	0x03A9
-0xA6B9	0xE725
-0xA6BA	0xE726
-0xA6BB	0xE727
-0xA6BC	0xE728
-0xA6BD	0xE729
-0xA6BE	0xE72A
-0xA6BF	0xE72B
-0xA6C0	0xE72C
+0xA6B9	0xE785
+0xA6BA	0xE786
+0xA6BB	0xE787
+0xA6BC	0xE788
+0xA6BD	0xE789
+0xA6BE	0xE78A
+0xA6BF	0xE78B
+0xA6C0	0xE78C
 0xA6C1	0x03B1
 0xA6C2	0x03B2
 0xA6C3	0x03B3
@@ -7314,13 +7318,13 @@
 0xA6D6	0x03C7
 0xA6D7	0x03C8
 0xA6D8	0x03C9
-0xA6D9	0xE72D
-0xA6DA	0xE72E
-0xA6DB	0xE72F
-0xA6DC	0xE730
-0xA6DD	0xE731
-0xA6DE	0xE732
-0xA6DF	0xE733
+0xA6D9	0xE78D
+0xA6DA	0xE78E
+0xA6DB	0xE78F
+0xA6DC	0xE790
+0xA6DD	0xE791
+0xA6DE	0xE792
+0xA6DF	0xE793
 0xA6E0	0xFE35
 0xA6E1	0xFE36
 0xA6E2	0xFE39
@@ -7333,121 +7337,121 @@
 0xA6E9	0xFE42
 0xA6EA	0xFE43
 0xA6EB	0xFE44
-0xA6EC	0xE734
-0xA6ED	0xE735
+0xA6EC	0xE794
+0xA6ED	0xE795
 0xA6EE	0xFE3B
 0xA6EF	0xFE3C
 0xA6F0	0xFE37
 0xA6F1	0xFE38
 0xA6F2	0xFE31
-0xA6F3	0xE736
+0xA6F3	0xE796
 0xA6F4	0xFE33
 0xA6F5	0xFE34
-0xA6F6	0xE737
-0xA6F7	0xE738
-0xA6F8	0xE739
-0xA6F9	0xE73A
-0xA6FA	0xE73B
-0xA6FB	0xE73C
-0xA6FC	0xE73D
-0xA6FD	0xE73E
-0xA6FE	0xE73F
-0xA740	0xE740
-0xA741	0xE741
-0xA742	0xE742
-0xA743	0xE743
-0xA744	0xE744
-0xA745	0xE745
-0xA746	0xE746
-0xA747	0xE747
-0xA748	0xE748
-0xA749	0xE749
-0xA74A	0xE74A
-0xA74B	0xE74B
-0xA74C	0xE74C
-0xA74D	0xE74D
-0xA74E	0xE74E
-0xA74F	0xE74F
-0xA750	0xE750
-0xA751	0xE751
-0xA752	0xE752
-0xA753	0xE753
-0xA754	0xE754
-0xA755	0xE755
-0xA756	0xE756
-0xA757	0xE757
-0xA758	0xE758
-0xA759	0xE759
-0xA75A	0xE75A
-0xA75B	0xE75B
-0xA75C	0xE75C
-0xA75D	0xE75D
-0xA75E	0xE75E
-0xA75F	0xE75F
-0xA760	0xE760
-0xA761	0xE761
-0xA762	0xE762
-0xA763	0xE763
-0xA764	0xE764
-0xA765	0xE765
-0xA766	0xE766
-0xA767	0xE767
-0xA768	0xE768
-0xA769	0xE769
-0xA76A	0xE76A
-0xA76B	0xE76B
-0xA76C	0xE76C
-0xA76D	0xE76D
-0xA76E	0xE76E
-0xA76F	0xE76F
-0xA770	0xE770
-0xA771	0xE771
-0xA772	0xE772
-0xA773	0xE773
-0xA774	0xE774
-0xA775	0xE775
-0xA776	0xE776
-0xA777	0xE777
-0xA778	0xE778
-0xA779	0xE779
-0xA77A	0xE77A
-0xA77B	0xE77B
-0xA77C	0xE77C
-0xA77D	0xE77D
-0xA77E	0xE77E
-0xA780	0xE77F
-0xA781	0xE780
-0xA782	0xE781
-0xA783	0xE782
-0xA784	0xE783
-0xA785	0xE784
-0xA786	0xE785
-0xA787	0xE786
-0xA788	0xE787
-0xA789	0xE788
-0xA78A	0xE789
-0xA78B	0xE78A
-0xA78C	0xE78B
-0xA78D	0xE78C
-0xA78E	0xE78D
-0xA78F	0xE78E
-0xA790	0xE78F
-0xA791	0xE790
-0xA792	0xE791
-0xA793	0xE792
-0xA794	0xE793
-0xA795	0xE794
-0xA796	0xE795
-0xA797	0xE796
-0xA798	0xE797
-0xA799	0xE798
-0xA79A	0xE799
-0xA79B	0xE79A
-0xA79C	0xE79B
-0xA79D	0xE79C
-0xA79E	0xE79D
-0xA79F	0xE79E
-0xA7A0	0xE79F
+0xA6F6	0xE797
+0xA6F7	0xE798
+0xA6F8	0xE799
+0xA6F9	0xE79A
+0xA6FA	0xE79B
+0xA6FB	0xE79C
+0xA6FC	0xE79D
+0xA6FD	0xE79E
+0xA6FE	0xE79F
+0xA740	0xE706
+0xA741	0xE707
+0xA742	0xE708
+0xA743	0xE709
+0xA744	0xE70A
+0xA745	0xE70B
+0xA746	0xE70C
+0xA747	0xE70D
+0xA748	0xE70E
+0xA749	0xE70F
+0xA74A	0xE710
+0xA74B	0xE711
+0xA74C	0xE712
+0xA74D	0xE713
+0xA74E	0xE714
+0xA74F	0xE715
+0xA750	0xE716
+0xA751	0xE717
+0xA752	0xE718
+0xA753	0xE719
+0xA754	0xE71A
+0xA755	0xE71B
+0xA756	0xE71C
+0xA757	0xE71D
+0xA758	0xE71E
+0xA759	0xE71F
+0xA75A	0xE720
+0xA75B	0xE721
+0xA75C	0xE722
+0xA75D	0xE723
+0xA75E	0xE724
+0xA75F	0xE725
+0xA760	0xE726
+0xA761	0xE727
+0xA762	0xE728
+0xA763	0xE729
+0xA764	0xE72A
+0xA765	0xE72B
+0xA766	0xE72C
+0xA767	0xE72D
+0xA768	0xE72E
+0xA769	0xE72F
+0xA76A	0xE730
+0xA76B	0xE731
+0xA76C	0xE732
+0xA76D	0xE733
+0xA76E	0xE734
+0xA76F	0xE735
+0xA770	0xE736
+0xA771	0xE737
+0xA772	0xE738
+0xA773	0xE739
+0xA774	0xE73A
+0xA775	0xE73B
+0xA776	0xE73C
+0xA777	0xE73D
+0xA778	0xE73E
+0xA779	0xE73F
+0xA77A	0xE740
+0xA77B	0xE741
+0xA77C	0xE742
+0xA77D	0xE743
+0xA77E	0xE744
+0xA780	0xE745
+0xA781	0xE746
+0xA782	0xE747
+0xA783	0xE748
+0xA784	0xE749
+0xA785	0xE74A
+0xA786	0xE74B
+0xA787	0xE74C
+0xA788	0xE74D
+0xA789	0xE74E
+0xA78A	0xE74F
+0xA78B	0xE750
+0xA78C	0xE751
+0xA78D	0xE752
+0xA78E	0xE753
+0xA78F	0xE754
+0xA790	0xE755
+0xA791	0xE756
+0xA792	0xE757
+0xA793	0xE758
+0xA794	0xE759
+0xA795	0xE75A
+0xA796	0xE75B
+0xA797	0xE75C
+0xA798	0xE75D
+0xA799	0xE75E
+0xA79A	0xE75F
+0xA79B	0xE760
+0xA79C	0xE761
+0xA79D	0xE762
+0xA79E	0xE763
+0xA79F	0xE764
+0xA7A0	0xE765
 0xA7A1	0x0410
 0xA7A2	0x0411
 0xA7A3	0x0412
--- a/make/tools/CharsetMapping/MS936.map	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/tools/CharsetMapping/MS936.map	Sun Jun 17 22:07:44 2012 -0700
@@ -1,31 +1,8 @@
-# Copy/pasted from MS936.b2c
 #
-# This table comes from MS CP936 table posted on unicode.org webpage
-# with the modifications of 
+# This table comes from MultiByteToWideChar, the only entry
+# not included is
 #
-# (1)added Euro sign
-#      0x80 - 0x20ac
-# (2)removed DBCS lead byte entries 
-#      0x80 - 0xff  
-# (3)added GBK UDC block (1894)
-#      0xAAA1 - 0xAFFE  U+E000 - U+E233
-#      0xF8A1 - 0xFEFE  U+E234 - U+E4C5
-#      0xA140 - 0xA7A0  U+E4C6 - U+E79F
-# (4)added Microsoft defined "not GBK" EUDC
-#     a:  u+E586 - u+E591
-#     b:  u+E652 - u+E65C 
-#     c:  u+E6BD - u+E6C4
-#     d:  u+E725 - u+E73F
-#     e:  u+E7A0 - u+E864
-# 
-#    Mapping of (3) and (4) comes from Masayuki Fuse at FUSE@jp.ibm.com
-#
-#    Format: Three tab-separated columns
-#        Column #1 is the cp936 code (in hex)
-#        Column #2 is the Unicode (in hex as 0xXXXX)
-#        Column #3 is the Unicode name (follows a comment sign, '#')
-#
-#    The entries are in unicode order
+# 0xFF	0xF8F5
 #
 0x00	0x0000
 0x01	0x0001
@@ -6533,12 +6510,12 @@
 0xA2A8	0x2177  #SMALL ROMAN NUMERAL EIGHT
 0xA2A9	0x2178  #SMALL ROMAN NUMERAL NINE
 0xA2AA	0x2179  #SMALL ROMAN NUMERAL TEN
-0xA2AB  0xE586  #PRIVATE USE AREA-E586
-0xA2AC  0xE587  #PRIVATE USE AREA-E587
-0xA2AD  0xE588  #PRIVATE USE AREA-E588
-0xA2AE  0xE589  #PRIVATE USE AREA-E589
-0xA2AF  0xE58A  #PRIVATE USE AREA-E58A
-0xA2B0  0xE58B  #PRIVATE USE AREA-E58B
+0xA2AB  0xE766  #PRIVATE USE AREA-E766
+0xA2AC  0xE767  #PRIVATE USE AREA-E767
+0xA2AD  0xE768  #PRIVATE USE AREA-E768
+0xA2AE  0xE769  #PRIVATE USE AREA-E769
+0xA2AF  0xE76A  #PRIVATE USE AREA-E76A
+0xA2B0  0xE76B  #PRIVATE USE AREA-E76B
 0xA2B1	0x2488  #DIGIT ONE FULL STOP
 0xA2B2	0x2489  #DIGIT TWO FULL STOP
 0xA2B3	0x248A  #DIGIT THREE FULL STOP
@@ -6589,8 +6566,8 @@
 0xA2E0	0x2467  #CIRCLED DIGIT EIGHT
 0xA2E1	0x2468  #CIRCLED DIGIT NINE
 0xA2E2	0x2469  #CIRCLED NUMBER TEN
-0xA2E3  0xE58C  #PRIVATE USE AREA-E58C
-0xA2E4  0xE58D  #PRIVATE USE AREA-E58D
+0xA2E3  0xE76C  #PRIVATE USE AREA-E76C
+0xA2E4  0xE76D  #PRIVATE USE AREA-E76D
 0xA2E5	0x3220  #PARENTHESIZED IDEOGRAPH ONE
 0xA2E6	0x3221  #PARENTHESIZED IDEOGRAPH TWO
 0xA2E7	0x3222  #PARENTHESIZED IDEOGRAPH THREE
@@ -6601,8 +6578,8 @@
 0xA2EC	0x3227  #PARENTHESIZED IDEOGRAPH EIGHT
 0xA2ED	0x3228  #PARENTHESIZED IDEOGRAPH NINE
 0xA2EE	0x3229  #PARENTHESIZED IDEOGRAPH TEN
-0xA2EF  0xE58E  #PRIVATE USE AREA-E58E
-0xA2F0  0xE58F  #PRIVATE USE AREA-E58F
+0xA2EF  0xE76E  #PRIVATE USE AREA-E76E
+0xA2F0  0xE76F  #PRIVATE USE AREA-E76F
 0xA2F1	0x2160  #ROMAN NUMERAL ONE
 0xA2F2	0x2161  #ROMAN NUMERAL TWO
 0xA2F3	0x2162  #ROMAN NUMERAL THREE
@@ -6615,104 +6592,104 @@
 0xA2FA	0x2169  #ROMAN NUMERAL TEN
 0xA2FB	0x216A  #ROMAN NUMERAL ELEVEN
 0xA2FC	0x216B  #ROMAN NUMERAL TWELVE
-0xA2FD  0xE590  #PRIVATE USE AREA-E590
-0xA2FE  0xE591  #PRIVATE USE AREA-E591
-0xA340  0xE592  #PRIVATE USE AREA-E592
-0xA341  0xE593  #PRIVATE USE AREA-E593
-0xA342  0xE594  #PRIVATE USE AREA-E594
-0xA343  0xE595  #PRIVATE USE AREA-E595
-0xA344  0xE596  #PRIVATE USE AREA-E596
-0xA345  0xE597  #PRIVATE USE AREA-E597
-0xA346  0xE598  #PRIVATE USE AREA-E598
-0xA347  0xE599  #PRIVATE USE AREA-E599
-0xA348  0xE59A  #PRIVATE USE AREA-E59A
-0xA349  0xE59B  #PRIVATE USE AREA-E59B
-0xA34A  0xE59C  #PRIVATE USE AREA-E59C
-0xA34B  0xE59D  #PRIVATE USE AREA-E59D
-0xA34C  0xE59E  #PRIVATE USE AREA-E59E
-0xA34D  0xE59F  #PRIVATE USE AREA-E59F
-0xA34E  0xE5A0  #PRIVATE USE AREA-E5A0
-0xA34F  0xE5A1  #PRIVATE USE AREA-E5A1
-0xA350  0xE5A2  #PRIVATE USE AREA-E5A2
-0xA351  0xE5A3  #PRIVATE USE AREA-E5A3
-0xA352  0xE5A4  #PRIVATE USE AREA-E5A4
-0xA353  0xE5A5  #PRIVATE USE AREA-E5A5
-0xA354  0xE5A6  #PRIVATE USE AREA-E5A6
-0xA355  0xE5A7  #PRIVATE USE AREA-E5A7
-0xA356  0xE5A8  #PRIVATE USE AREA-E5A8
-0xA357  0xE5A9  #PRIVATE USE AREA-E5A9
-0xA358  0xE5AA  #PRIVATE USE AREA-E5AA
-0xA359  0xE5AB  #PRIVATE USE AREA-E5AB
-0xA35A  0xE5AC  #PRIVATE USE AREA-E5AC
-0xA35B  0xE5AD  #PRIVATE USE AREA-E5AD
-0xA35C  0xE5AE  #PRIVATE USE AREA-E5AE
-0xA35D  0xE5AF  #PRIVATE USE AREA-E5AF
-0xA35E  0xE5B0  #PRIVATE USE AREA-E5B0
-0xA35F  0xE5B1  #PRIVATE USE AREA-E5B1
-0xA360  0xE5B2  #PRIVATE USE AREA-E5B2
-0xA361  0xE5B3  #PRIVATE USE AREA-E5B3
-0xA362  0xE5B4  #PRIVATE USE AREA-E5B4
-0xA363  0xE5B5  #PRIVATE USE AREA-E5B5
-0xA364  0xE5B6  #PRIVATE USE AREA-E5B6
-0xA365  0xE5B7  #PRIVATE USE AREA-E5B7
-0xA366  0xE5B8  #PRIVATE USE AREA-E5B8
-0xA367  0xE5B9  #PRIVATE USE AREA-E5B9
-0xA368  0xE5BA  #PRIVATE USE AREA-E5BA
-0xA369  0xE5BB  #PRIVATE USE AREA-E5BB
-0xA36A  0xE5BC  #PRIVATE USE AREA-E5BC
-0xA36B  0xE5BD  #PRIVATE USE AREA-E5BD
-0xA36C  0xE5BE  #PRIVATE USE AREA-E5BE
-0xA36D  0xE5BF  #PRIVATE USE AREA-E5BF
-0xA36E  0xE5C0  #PRIVATE USE AREA-E5C0
-0xA36F  0xE5C1  #PRIVATE USE AREA-E5C1
-0xA370  0xE5C2  #PRIVATE USE AREA-E5C2
-0xA371  0xE5C3  #PRIVATE USE AREA-E5C3
-0xA372  0xE5C4  #PRIVATE USE AREA-E5C4
-0xA373  0xE5C5  #PRIVATE USE AREA-E5C5
-0xA374  0xE5C6  #PRIVATE USE AREA-E5C6
-0xA375  0xE5C7  #PRIVATE USE AREA-E5C7
-0xA376  0xE5C8  #PRIVATE USE AREA-E5C8
-0xA377  0xE5C9  #PRIVATE USE AREA-E5C9
-0xA378  0xE5CA  #PRIVATE USE AREA-E5CA
-0xA379  0xE5CB  #PRIVATE USE AREA-E5CB
-0xA37A  0xE5CC  #PRIVATE USE AREA-E5CC
-0xA37B  0xE5CD  #PRIVATE USE AREA-E5CD
-0xA37C  0xE5CE  #PRIVATE USE AREA-E5CE
-0xA37D  0xE5CF  #PRIVATE USE AREA-E5CF
-0xA37E  0xE5D0  #PRIVATE USE AREA-E5D0
-0xA380  0xE5D1  #PRIVATE USE AREA-E5D1
-0xA381  0xE5D2  #PRIVATE USE AREA-E5D2
-0xA382  0xE5D3  #PRIVATE USE AREA-E5D3
-0xA383  0xE5D4  #PRIVATE USE AREA-E5D4
-0xA384  0xE5D5  #PRIVATE USE AREA-E5D5
-0xA385  0xE5D6  #PRIVATE USE AREA-E5D6
-0xA386  0xE5D7  #PRIVATE USE AREA-E5D7
-0xA387  0xE5D8  #PRIVATE USE AREA-E5D8
-0xA388  0xE5D9  #PRIVATE USE AREA-E5D9
-0xA389  0xE5DA  #PRIVATE USE AREA-E5DA
-0xA38A  0xE5DB  #PRIVATE USE AREA-E5DB
-0xA38B  0xE5DC  #PRIVATE USE AREA-E5DC
-0xA38C  0xE5DD  #PRIVATE USE AREA-E5DD
-0xA38D  0xE5DE  #PRIVATE USE AREA-E5DE
-0xA38E  0xE5DF  #PRIVATE USE AREA-E5DF
-0xA38F  0xE5E0  #PRIVATE USE AREA-E5E0
-0xA390  0xE5E1  #PRIVATE USE AREA-E5E1
-0xA391  0xE5E2  #PRIVATE USE AREA-E5E2
-0xA392  0xE5E3  #PRIVATE USE AREA-E5E3
-0xA393  0xE5E4  #PRIVATE USE AREA-E5E4
-0xA394  0xE5E5  #PRIVATE USE AREA-E5E5
-0xA395  0xE5E6  #PRIVATE USE AREA-E5E6
-0xA396  0xE5E7  #PRIVATE USE AREA-E5E7
-0xA397  0xE5E8  #PRIVATE USE AREA-E5E8
-0xA398  0xE5E9  #PRIVATE USE AREA-E5E9
-0xA399  0xE5EA  #PRIVATE USE AREA-E5EA
-0xA39A  0xE5EB  #PRIVATE USE AREA-E5EB
-0xA39B  0xE5EC  #PRIVATE USE AREA-E5EC
-0xA39C  0xE5ED  #PRIVATE USE AREA-E5ED
-0xA39D  0xE5EE  #PRIVATE USE AREA-E5EE
-0xA39E  0xE5EF  #PRIVATE USE AREA-E5EF
-0xA39F  0xE5F0  #PRIVATE USE AREA-E5F0
-0xA3A0  0xE5F1  #PRIVATE USE AREA-E5F1
+0xA2FD  0xE770  #PRIVATE USE AREA-E770
+0xA2FE  0xE771  #PRIVATE USE AREA-E771
+0xA340  0xE586  #PRIVATE USE AREA-E586
+0xA341  0xE587  #PRIVATE USE AREA-E587
+0xA342  0xE588  #PRIVATE USE AREA-E588
+0xA343  0xE589  #PRIVATE USE AREA-E589
+0xA344  0xE58A  #PRIVATE USE AREA-E58A
+0xA345  0xE58B  #PRIVATE USE AREA-E58B
+0xA346  0xE58C  #PRIVATE USE AREA-E58C
+0xA347  0xE58D  #PRIVATE USE AREA-E58D
+0xA348  0xE58E  #PRIVATE USE AREA-E58E
+0xA349  0xE58F  #PRIVATE USE AREA-E58F
+0xA34A  0xE590  #PRIVATE USE AREA-E590
+0xA34B  0xE591  #PRIVATE USE AREA-E591
+0xA34C  0xE592  #PRIVATE USE AREA-E592
+0xA34D  0xE593  #PRIVATE USE AREA-E593
+0xA34E  0xE594  #PRIVATE USE AREA-E594
+0xA34F  0xE595  #PRIVATE USE AREA-E595
+0xA350  0xE596  #PRIVATE USE AREA-E596
+0xA351  0xE597  #PRIVATE USE AREA-E597
+0xA352  0xE598  #PRIVATE USE AREA-E598
+0xA353  0xE599  #PRIVATE USE AREA-E599
+0xA354  0xE59A  #PRIVATE USE AREA-E59A
+0xA355  0xE59B  #PRIVATE USE AREA-E59B
+0xA356  0xE59C  #PRIVATE USE AREA-E59C
+0xA357  0xE59D  #PRIVATE USE AREA-E59D
+0xA358  0xE59E  #PRIVATE USE AREA-E59E
+0xA359  0xE59F  #PRIVATE USE AREA-E59F
+0xA35A  0xE5A0  #PRIVATE USE AREA-E5A0
+0xA35B  0xE5A1  #PRIVATE USE AREA-E5A1
+0xA35C  0xE5A2  #PRIVATE USE AREA-E5A2
+0xA35D  0xE5A3  #PRIVATE USE AREA-E5A3
+0xA35E  0xE5A4  #PRIVATE USE AREA-E5A4
+0xA35F  0xE5A5  #PRIVATE USE AREA-E5A5
+0xA360  0xE5A6  #PRIVATE USE AREA-E5A6
+0xA361  0xE5A7  #PRIVATE USE AREA-E5A7
+0xA362  0xE5A8  #PRIVATE USE AREA-E5A8
+0xA363  0xE5A9  #PRIVATE USE AREA-E5A9
+0xA364  0xE5AA  #PRIVATE USE AREA-E5AA
+0xA365  0xE5AB  #PRIVATE USE AREA-E5AB
+0xA366  0xE5AC  #PRIVATE USE AREA-E5AC
+0xA367  0xE5AD  #PRIVATE USE AREA-E5AD
+0xA368  0xE5AE  #PRIVATE USE AREA-E5AE
+0xA369  0xE5AF  #PRIVATE USE AREA-E5AF
+0xA36A  0xE5B0  #PRIVATE USE AREA-E5B0
+0xA36B  0xE5B1  #PRIVATE USE AREA-E5B1
+0xA36C  0xE5B2  #PRIVATE USE AREA-E5B2
+0xA36D  0xE5B3  #PRIVATE USE AREA-E5B3
+0xA36E  0xE5B4  #PRIVATE USE AREA-E5B4
+0xA36F  0xE5B5  #PRIVATE USE AREA-E5B5
+0xA370  0xE5B6  #PRIVATE USE AREA-E5B6
+0xA371  0xE5B7  #PRIVATE USE AREA-E5B7
+0xA372  0xE5B8  #PRIVATE USE AREA-E5B8
+0xA373  0xE5B9  #PRIVATE USE AREA-E5B9
+0xA374  0xE5BA  #PRIVATE USE AREA-E5BA
+0xA375  0xE5BB  #PRIVATE USE AREA-E5BB
+0xA376  0xE5BC  #PRIVATE USE AREA-E5BC
+0xA377  0xE5BD  #PRIVATE USE AREA-E5BD
+0xA378  0xE5BE  #PRIVATE USE AREA-E5BE
+0xA379  0xE5BF  #PRIVATE USE AREA-E5BF
+0xA37A  0xE5C0  #PRIVATE USE AREA-E5C0
+0xA37B  0xE5C1  #PRIVATE USE AREA-E5C1
+0xA37C  0xE5C2  #PRIVATE USE AREA-E5C2
+0xA37D  0xE5C3  #PRIVATE USE AREA-E5C3
+0xA37E  0xE5C4  #PRIVATE USE AREA-E5C4
+0xA380  0xE5C5  #PRIVATE USE AREA-E5C5
+0xA381  0xE5C6  #PRIVATE USE AREA-E5C6
+0xA382  0xE5C7  #PRIVATE USE AREA-E5C7
+0xA383  0xE5C8  #PRIVATE USE AREA-E5C8
+0xA384  0xE5C9  #PRIVATE USE AREA-E5C9
+0xA385  0xE5CA  #PRIVATE USE AREA-E5CA
+0xA386  0xE5CB  #PRIVATE USE AREA-E5CB
+0xA387  0xE5CC  #PRIVATE USE AREA-E5CC
+0xA388  0xE5CD  #PRIVATE USE AREA-E5CD
+0xA389  0xE5CE  #PRIVATE USE AREA-E5CE
+0xA38A  0xE5CF  #PRIVATE USE AREA-E5CF
+0xA38B  0xE5D0  #PRIVATE USE AREA-E5D0
+0xA38C  0xE5D1  #PRIVATE USE AREA-E5D1
+0xA38D  0xE5D2  #PRIVATE USE AREA-E5D2
+0xA38E  0xE5D3  #PRIVATE USE AREA-E5D3
+0xA38F  0xE5D4  #PRIVATE USE AREA-E5D4
+0xA390  0xE5D5  #PRIVATE USE AREA-E5D5
+0xA391  0xE5D6  #PRIVATE USE AREA-E5D6
+0xA392  0xE5D7  #PRIVATE USE AREA-E5D7
+0xA393  0xE5D8  #PRIVATE USE AREA-E5D8
+0xA394  0xE5D9  #PRIVATE USE AREA-E5D9
+0xA395  0xE5DA  #PRIVATE USE AREA-E5DA
+0xA396  0xE5DB  #PRIVATE USE AREA-E5DB
+0xA397  0xE5DC  #PRIVATE USE AREA-E5DC
+0xA398  0xE5DD  #PRIVATE USE AREA-E5DD
+0xA399  0xE5DE  #PRIVATE USE AREA-E5DE
+0xA39A  0xE5DF  #PRIVATE USE AREA-E5DF
+0xA39B  0xE5E0  #PRIVATE USE AREA-E5E0
+0xA39C  0xE5E1  #PRIVATE USE AREA-E5E1
+0xA39D  0xE5E2  #PRIVATE USE AREA-E5E2
+0xA39E  0xE5E3  #PRIVATE USE AREA-E5E3
+0xA39F  0xE5E4  #PRIVATE USE AREA-E5E4
+0xA3A0  0xE5E5  #PRIVATE USE AREA-E5E5
 0xA3A1	0xFF01  #FULLWIDTH EXCLAMATION MARK
 0xA3A2	0xFF02  #FULLWIDTH QUOTATION MARK
 0xA3A3	0xFF03  #FULLWIDTH NUMBER SIGN
@@ -6807,102 +6784,102 @@
 0xA3FC	0xFF5C  #FULLWIDTH VERTICAL LINE
 0xA3FD	0xFF5D  #FULLWIDTH RIGHT CURLY BRACKET
 0xA3FE	0xFFE3  #FULLWIDTH MACRON
-0xA440  0xE5F2  #PRIVATE USE AREA-E5F2
-0xA441  0xE5F3  #PRIVATE USE AREA-E5F3
-0xA442  0xE5F4  #PRIVATE USE AREA-E5F4
-0xA443  0xE5F5  #PRIVATE USE AREA-E5F5
-0xA444  0xE5F6  #PRIVATE USE AREA-E5F6
-0xA445  0xE5F7  #PRIVATE USE AREA-E5F7
-0xA446  0xE5F8  #PRIVATE USE AREA-E5F8
-0xA447  0xE5F9  #PRIVATE USE AREA-E5F9
-0xA448  0xE5FA  #PRIVATE USE AREA-E5FA
-0xA449  0xE5FB  #PRIVATE USE AREA-E5FB
-0xA44A  0xE5FC  #PRIVATE USE AREA-E5FC
-0xA44B  0xE5FD  #PRIVATE USE AREA-E5FD
-0xA44C  0xE5FE  #PRIVATE USE AREA-E5FE
-0xA44D  0xE5FF  #PRIVATE USE AREA-E5FF
-0xA44E  0xE600  #PRIVATE USE AREA-E600
-0xA44F  0xE601  #PRIVATE USE AREA-E601
-0xA450  0xE602  #PRIVATE USE AREA-E602
-0xA451  0xE603  #PRIVATE USE AREA-E603
-0xA452  0xE604  #PRIVATE USE AREA-E604
-0xA453  0xE605  #PRIVATE USE AREA-E605
-0xA454  0xE606  #PRIVATE USE AREA-E606
-0xA455  0xE607  #PRIVATE USE AREA-E607
-0xA456  0xE608  #PRIVATE USE AREA-E608
-0xA457  0xE609  #PRIVATE USE AREA-E609
-0xA458  0xE60A  #PRIVATE USE AREA-E60A
-0xA459  0xE60B  #PRIVATE USE AREA-E60B
-0xA45A  0xE60C  #PRIVATE USE AREA-E60C
-0xA45B  0xE60D  #PRIVATE USE AREA-E60D
-0xA45C  0xE60E  #PRIVATE USE AREA-E60E
-0xA45D  0xE60F  #PRIVATE USE AREA-E60F
-0xA45E  0xE610  #PRIVATE USE AREA-E610
-0xA45F  0xE611  #PRIVATE USE AREA-E611
-0xA460  0xE612  #PRIVATE USE AREA-E612
-0xA461  0xE613  #PRIVATE USE AREA-E613
-0xA462  0xE614  #PRIVATE USE AREA-E614
-0xA463  0xE615  #PRIVATE USE AREA-E615
-0xA464  0xE616  #PRIVATE USE AREA-E616
-0xA465  0xE617  #PRIVATE USE AREA-E617
-0xA466  0xE618  #PRIVATE USE AREA-E618
-0xA467  0xE619  #PRIVATE USE AREA-E619
-0xA468  0xE61A  #PRIVATE USE AREA-E61A
-0xA469  0xE61B  #PRIVATE USE AREA-E61B
-0xA46A  0xE61C  #PRIVATE USE AREA-E61C
-0xA46B  0xE61D  #PRIVATE USE AREA-E61D
-0xA46C  0xE61E  #PRIVATE USE AREA-E61E
-0xA46D  0xE61F  #PRIVATE USE AREA-E61F
-0xA46E  0xE620  #PRIVATE USE AREA-E620
-0xA46F  0xE621  #PRIVATE USE AREA-E621
-0xA470  0xE622  #PRIVATE USE AREA-E622
-0xA471  0xE623  #PRIVATE USE AREA-E623
-0xA472  0xE624  #PRIVATE USE AREA-E624
-0xA473  0xE625  #PRIVATE USE AREA-E625
-0xA474  0xE626  #PRIVATE USE AREA-E626
-0xA475  0xE627  #PRIVATE USE AREA-E627
-0xA476  0xE628  #PRIVATE USE AREA-E628
-0xA477  0xE629  #PRIVATE USE AREA-E629
-0xA478  0xE62A  #PRIVATE USE AREA-E62A
-0xA479  0xE62B  #PRIVATE USE AREA-E62B
-0xA47A  0xE62C  #PRIVATE USE AREA-E62C
-0xA47B  0xE62D  #PRIVATE USE AREA-E62D
-0xA47C  0xE62E  #PRIVATE USE AREA-E62E
-0xA47D  0xE62F  #PRIVATE USE AREA-E62F
-0xA47E  0xE630  #PRIVATE USE AREA-E630
-0xA480  0xE631  #PRIVATE USE AREA-E631
-0xA481  0xE632  #PRIVATE USE AREA-E632
-0xA482  0xE633  #PRIVATE USE AREA-E633
-0xA483  0xE634  #PRIVATE USE AREA-E634
-0xA484  0xE635  #PRIVATE USE AREA-E635
-0xA485  0xE636  #PRIVATE USE AREA-E636
-0xA486  0xE637  #PRIVATE USE AREA-E637
-0xA487  0xE638  #PRIVATE USE AREA-E638
-0xA488  0xE639  #PRIVATE USE AREA-E639
-0xA489  0xE63A  #PRIVATE USE AREA-E63A
-0xA48A  0xE63B  #PRIVATE USE AREA-E63B
-0xA48B  0xE63C  #PRIVATE USE AREA-E63C
-0xA48C  0xE63D  #PRIVATE USE AREA-E63D
-0xA48D  0xE63E  #PRIVATE USE AREA-E63E
-0xA48E  0xE63F  #PRIVATE USE AREA-E63F
-0xA48F  0xE640  #PRIVATE USE AREA-E640
-0xA490  0xE641  #PRIVATE USE AREA-E641
-0xA491  0xE642  #PRIVATE USE AREA-E642
-0xA492  0xE643  #PRIVATE USE AREA-E643
-0xA493  0xE644  #PRIVATE USE AREA-E644
-0xA494  0xE645  #PRIVATE USE AREA-E645
-0xA495  0xE646  #PRIVATE USE AREA-E646
-0xA496  0xE647  #PRIVATE USE AREA-E647
-0xA497  0xE648  #PRIVATE USE AREA-E648
-0xA498  0xE649  #PRIVATE USE AREA-E649
-0xA499  0xE64A  #PRIVATE USE AREA-E64A
-0xA49A  0xE64B  #PRIVATE USE AREA-E64B
-0xA49B  0xE64C  #PRIVATE USE AREA-E64C
-0xA49C  0xE64D  #PRIVATE USE AREA-E64D
-0xA49D  0xE64E  #PRIVATE USE AREA-E64E
-0xA49E  0xE64F  #PRIVATE USE AREA-E64F
-0xA49F  0xE650  #PRIVATE USE AREA-E650
-0xA4A0  0xE651  #PRIVATE USE AREA-E651
+0xA440  0xE5E6  #PRIVATE USE AREA-E5E6
+0xA441  0xE5E7  #PRIVATE USE AREA-E5E7
+0xA442  0xE5E8  #PRIVATE USE AREA-E5E8
+0xA443  0xE5E9  #PRIVATE USE AREA-E5E9
+0xA444  0xE5EA  #PRIVATE USE AREA-E5EA
+0xA445  0xE5EB  #PRIVATE USE AREA-E5EB
+0xA446  0xE5EC  #PRIVATE USE AREA-E5EC
+0xA447  0xE5ED  #PRIVATE USE AREA-E5ED
+0xA448  0xE5EE  #PRIVATE USE AREA-E5EE
+0xA449  0xE5EF  #PRIVATE USE AREA-E5EF
+0xA44A  0xE5F0  #PRIVATE USE AREA-E5F0
+0xA44B  0xE5F1  #PRIVATE USE AREA-E5F1
+0xA44C  0xE5F2  #PRIVATE USE AREA-E5F2
+0xA44D  0xE5F3  #PRIVATE USE AREA-E5F3
+0xA44E  0xE5F4  #PRIVATE USE AREA-E5F4
+0xA44F  0xE5F5  #PRIVATE USE AREA-E5F5
+0xA450  0xE5F6  #PRIVATE USE AREA-E5F6
+0xA451  0xE5F7  #PRIVATE USE AREA-E5F7
+0xA452  0xE5F8  #PRIVATE USE AREA-E5F8
+0xA453  0xE5F9  #PRIVATE USE AREA-E5F9
+0xA454  0xE5FA  #PRIVATE USE AREA-E5FA
+0xA455  0xE5FB  #PRIVATE USE AREA-E5FB
+0xA456  0xE5FC  #PRIVATE USE AREA-E5FC
+0xA457  0xE5FD  #PRIVATE USE AREA-E5FD
+0xA458  0xE5FE  #PRIVATE USE AREA-E5FE
+0xA459  0xE5FF  #PRIVATE USE AREA-E5FF
+0xA45A  0xE600  #PRIVATE USE AREA-E600
+0xA45B  0xE601  #PRIVATE USE AREA-E601
+0xA45C  0xE602  #PRIVATE USE AREA-E602
+0xA45D  0xE603  #PRIVATE USE AREA-E603
+0xA45E  0xE604  #PRIVATE USE AREA-E604
+0xA45F  0xE605  #PRIVATE USE AREA-E605
+0xA460  0xE606  #PRIVATE USE AREA-E606
+0xA461  0xE607  #PRIVATE USE AREA-E607
+0xA462  0xE608  #PRIVATE USE AREA-E608
+0xA463  0xE609  #PRIVATE USE AREA-E609
+0xA464  0xE60A  #PRIVATE USE AREA-E60A
+0xA465  0xE60B  #PRIVATE USE AREA-E60B
+0xA466  0xE60C  #PRIVATE USE AREA-E60C
+0xA467  0xE60D  #PRIVATE USE AREA-E60D
+0xA468  0xE60E  #PRIVATE USE AREA-E60E
+0xA469  0xE60F  #PRIVATE USE AREA-E60F
+0xA46A  0xE610  #PRIVATE USE AREA-E610
+0xA46B  0xE611  #PRIVATE USE AREA-E611
+0xA46C  0xE612  #PRIVATE USE AREA-E612
+0xA46D  0xE613  #PRIVATE USE AREA-E613
+0xA46E  0xE614  #PRIVATE USE AREA-E614
+0xA46F  0xE615  #PRIVATE USE AREA-E615
+0xA470  0xE616  #PRIVATE USE AREA-E616
+0xA471  0xE617  #PRIVATE USE AREA-E617
+0xA472  0xE618  #PRIVATE USE AREA-E618
+0xA473  0xE619  #PRIVATE USE AREA-E619
+0xA474  0xE61A  #PRIVATE USE AREA-E61A
+0xA475  0xE61B  #PRIVATE USE AREA-E61B
+0xA476  0xE61C  #PRIVATE USE AREA-E61C
+0xA477  0xE61D  #PRIVATE USE AREA-E61D
+0xA478  0xE61E  #PRIVATE USE AREA-E61E
+0xA479  0xE61F  #PRIVATE USE AREA-E61F
+0xA47A  0xE620  #PRIVATE USE AREA-E620
+0xA47B  0xE621  #PRIVATE USE AREA-E621
+0xA47C  0xE622  #PRIVATE USE AREA-E622
+0xA47D  0xE623  #PRIVATE USE AREA-E623
+0xA47E  0xE624  #PRIVATE USE AREA-E624
+0xA480  0xE625  #PRIVATE USE AREA-E625
+0xA481  0xE626  #PRIVATE USE AREA-E626
+0xA482  0xE627  #PRIVATE USE AREA-E627
+0xA483  0xE628  #PRIVATE USE AREA-E628
+0xA484  0xE629  #PRIVATE USE AREA-E629
+0xA485  0xE62A  #PRIVATE USE AREA-E62A
+0xA486  0xE62B  #PRIVATE USE AREA-E62B
+0xA487  0xE62C  #PRIVATE USE AREA-E62C
+0xA488  0xE62D  #PRIVATE USE AREA-E62D
+0xA489  0xE62E  #PRIVATE USE AREA-E62E
+0xA48A  0xE62F  #PRIVATE USE AREA-E62F
+0xA48B  0xE630  #PRIVATE USE AREA-E630
+0xA48C  0xE631  #PRIVATE USE AREA-E631
+0xA48D  0xE632  #PRIVATE USE AREA-E632
+0xA48E  0xE633  #PRIVATE USE AREA-E633
+0xA48F  0xE634  #PRIVATE USE AREA-E634
+0xA490  0xE635  #PRIVATE USE AREA-E635
+0xA491  0xE636  #PRIVATE USE AREA-E636
+0xA492  0xE637  #PRIVATE USE AREA-E637
+0xA493  0xE638  #PRIVATE USE AREA-E638
+0xA494  0xE639  #PRIVATE USE AREA-E639
+0xA495  0xE63A  #PRIVATE USE AREA-E63A
+0xA496  0xE63B  #PRIVATE USE AREA-E63B
+0xA497  0xE63C  #PRIVATE USE AREA-E63C
+0xA498  0xE63D  #PRIVATE USE AREA-E63D
+0xA499  0xE63E  #PRIVATE USE AREA-E63E
+0xA49A  0xE63F  #PRIVATE USE AREA-E63F
+0xA49B  0xE640  #PRIVATE USE AREA-E640
+0xA49C  0xE641  #PRIVATE USE AREA-E641
+0xA49D  0xE642  #PRIVATE USE AREA-E642
+0xA49E  0xE643  #PRIVATE USE AREA-E643
+0xA49F  0xE644  #PRIVATE USE AREA-E644
+0xA4A0  0xE645  #PRIVATE USE AREA-E645
 0xA4A1	0x3041  #HIRAGANA LETTER SMALL A
 0xA4A2	0x3042  #HIRAGANA LETTER A
 0xA4A3	0x3043  #HIRAGANA LETTER SMALL I
@@ -6986,113 +6963,113 @@
 0xA4F1	0x3091  #HIRAGANA LETTER WE
 0xA4F2	0x3092  #HIRAGANA LETTER WO
 0xA4F3	0x3093  #HIRAGANA LETTER N
-0xA4F4  0xE652  #PRIVATE USE AREA-E652
-0xA4F5  0xE653  #PRIVATE USE AREA-E653
-0xA4F6  0xE654  #PRIVATE USE AREA-E654
-0xA4F7  0xE655  #PRIVATE USE AREA-E655
-0xA4F8  0xE656  #PRIVATE USE AREA-E656
-0xA4F9  0xE657  #PRIVATE USE AREA-E657
-0xA4FA  0xE658  #PRIVATE USE AREA-E658
-0xA4FB  0xE659  #PRIVATE USE AREA-E659
-0xA4FC  0xE65A  #PRIVATE USE AREA-E65A
-0xA4FD  0xE65B  #PRIVATE USE AREA-E65B
-0xA4FE  0xE65C  #PRIVATE USE AREA-E65C
-0xA540  0xE65D  #PRIVATE USE AREA-E65D
-0xA541  0xE65E  #PRIVATE USE AREA-E65E
-0xA542  0xE65F  #PRIVATE USE AREA-E65F
-0xA543  0xE660  #PRIVATE USE AREA-E660
-0xA544  0xE661  #PRIVATE USE AREA-E661
-0xA545  0xE662  #PRIVATE USE AREA-E662
-0xA546  0xE663  #PRIVATE USE AREA-E663
-0xA547  0xE664  #PRIVATE USE AREA-E664
-0xA548  0xE665  #PRIVATE USE AREA-E665
-0xA549  0xE666  #PRIVATE USE AREA-E666
-0xA54A  0xE667  #PRIVATE USE AREA-E667
-0xA54B  0xE668  #PRIVATE USE AREA-E668
-0xA54C  0xE669  #PRIVATE USE AREA-E669
-0xA54D  0xE66A  #PRIVATE USE AREA-E66A
-0xA54E  0xE66B  #PRIVATE USE AREA-E66B
-0xA54F  0xE66C  #PRIVATE USE AREA-E66C
-0xA550  0xE66D  #PRIVATE USE AREA-E66D
-0xA551  0xE66E  #PRIVATE USE AREA-E66E
-0xA552  0xE66F  #PRIVATE USE AREA-E66F
-0xA553  0xE670  #PRIVATE USE AREA-E670
-0xA554  0xE671  #PRIVATE USE AREA-E671
-0xA555  0xE672  #PRIVATE USE AREA-E672
-0xA556  0xE673  #PRIVATE USE AREA-E673
-0xA557  0xE674  #PRIVATE USE AREA-E674
-0xA558  0xE675  #PRIVATE USE AREA-E675
-0xA559  0xE676  #PRIVATE USE AREA-E676
-0xA55A  0xE677  #PRIVATE USE AREA-E677
-0xA55B  0xE678  #PRIVATE USE AREA-E678
-0xA55C  0xE679  #PRIVATE USE AREA-E679
-0xA55D  0xE67A  #PRIVATE USE AREA-E67A
-0xA55E  0xE67B  #PRIVATE USE AREA-E67B
-0xA55F  0xE67C  #PRIVATE USE AREA-E67C
-0xA560  0xE67D  #PRIVATE USE AREA-E67D
-0xA561  0xE67E  #PRIVATE USE AREA-E67E
-0xA562  0xE67F  #PRIVATE USE AREA-E67F
-0xA563  0xE680  #PRIVATE USE AREA-E680
-0xA564  0xE681  #PRIVATE USE AREA-E681
-0xA565  0xE682  #PRIVATE USE AREA-E682
-0xA566  0xE683  #PRIVATE USE AREA-E683
-0xA567  0xE684  #PRIVATE USE AREA-E684
-0xA568  0xE685  #PRIVATE USE AREA-E685
-0xA569  0xE686  #PRIVATE USE AREA-E686
-0xA56A  0xE687  #PRIVATE USE AREA-E687
-0xA56B  0xE688  #PRIVATE USE AREA-E688
-0xA56C  0xE689  #PRIVATE USE AREA-E689
-0xA56D  0xE68A  #PRIVATE USE AREA-E68A
-0xA56E  0xE68B  #PRIVATE USE AREA-E68B
-0xA56F  0xE68C  #PRIVATE USE AREA-E68C
-0xA570  0xE68D  #PRIVATE USE AREA-E68D
-0xA571  0xE68E  #PRIVATE USE AREA-E68E
-0xA572  0xE68F  #PRIVATE USE AREA-E68F
-0xA573  0xE690  #PRIVATE USE AREA-E690
-0xA574  0xE691  #PRIVATE USE AREA-E691
-0xA575  0xE692  #PRIVATE USE AREA-E692
-0xA576  0xE693  #PRIVATE USE AREA-E693
-0xA577  0xE694  #PRIVATE USE AREA-E694
-0xA578  0xE695  #PRIVATE USE AREA-E695
-0xA579  0xE696  #PRIVATE USE AREA-E696
-0xA57A  0xE697  #PRIVATE USE AREA-E697
-0xA57B  0xE698  #PRIVATE USE AREA-E698
-0xA57C  0xE699  #PRIVATE USE AREA-E699
-0xA57D  0xE69A  #PRIVATE USE AREA-E69A
-0xA57E  0xE69B  #PRIVATE USE AREA-E69B
-0xA580  0xE69C  #PRIVATE USE AREA-E69C
-0xA581  0xE69D  #PRIVATE USE AREA-E69D
-0xA582  0xE69E  #PRIVATE USE AREA-E69E
-0xA583  0xE69F  #PRIVATE USE AREA-E69F
-0xA584  0xE6A0  #PRIVATE USE AREA-E6A0
-0xA585  0xE6A1  #PRIVATE USE AREA-E6A1
-0xA586  0xE6A2  #PRIVATE USE AREA-E6A2
-0xA587  0xE6A3  #PRIVATE USE AREA-E6A3
-0xA588  0xE6A4  #PRIVATE USE AREA-E6A4
-0xA589  0xE6A5  #PRIVATE USE AREA-E6A5
-0xA58A  0xE6A6  #PRIVATE USE AREA-E6A6
-0xA58B  0xE6A7  #PRIVATE USE AREA-E6A7
-0xA58C  0xE6A8  #PRIVATE USE AREA-E6A8
-0xA58D  0xE6A9  #PRIVATE USE AREA-E6A9
-0xA58E  0xE6AA  #PRIVATE USE AREA-E6AA
-0xA58F  0xE6AB  #PRIVATE USE AREA-E6AB
-0xA590  0xE6AC  #PRIVATE USE AREA-E6AC
-0xA591  0xE6AD  #PRIVATE USE AREA-E6AD
-0xA592  0xE6AE  #PRIVATE USE AREA-E6AE
-0xA593  0xE6AF  #PRIVATE USE AREA-E6AF
-0xA594  0xE6B0  #PRIVATE USE AREA-E6B0
-0xA595  0xE6B1  #PRIVATE USE AREA-E6B1
-0xA596  0xE6B2  #PRIVATE USE AREA-E6B2
-0xA597  0xE6B3  #PRIVATE USE AREA-E6B3
-0xA598  0xE6B4  #PRIVATE USE AREA-E6B4
-0xA599  0xE6B5  #PRIVATE USE AREA-E6B5
-0xA59A  0xE6B6  #PRIVATE USE AREA-E6B6
-0xA59B  0xE6B7  #PRIVATE USE AREA-E6B7
-0xA59C  0xE6B8  #PRIVATE USE AREA-E6B8
-0xA59D  0xE6B9  #PRIVATE USE AREA-E6B9
-0xA59E  0xE6BA  #PRIVATE USE AREA-E6BA
-0xA59F  0xE6BB  #PRIVATE USE AREA-E6BB
-0xA5A0  0xE6BC  #PRIVATE USE AREA-E6BC
+0xA4F4  0xE772  #PRIVATE USE AREA-E772
+0xA4F5  0xE773  #PRIVATE USE AREA-E773
+0xA4F6  0xE774  #PRIVATE USE AREA-E774
+0xA4F7  0xE775  #PRIVATE USE AREA-E775
+0xA4F8  0xE776  #PRIVATE USE AREA-E776
+0xA4F9  0xE777  #PRIVATE USE AREA-E777
+0xA4FA  0xE778  #PRIVATE USE AREA-E778
+0xA4FB  0xE779  #PRIVATE USE AREA-E779
+0xA4FC  0xE77A  #PRIVATE USE AREA-E77A
+0xA4FD  0xE77B  #PRIVATE USE AREA-E77B
+0xA4FE  0xE77C  #PRIVATE USE AREA-E77C
+0xA540  0xE646  #PRIVATE USE AREA-E646
+0xA541  0xE647  #PRIVATE USE AREA-E647
+0xA542  0xE648  #PRIVATE USE AREA-E648
+0xA543  0xE649  #PRIVATE USE AREA-E649
+0xA544  0xE64A  #PRIVATE USE AREA-E64A
+0xA545  0xE64B  #PRIVATE USE AREA-E64B
+0xA546  0xE64C  #PRIVATE USE AREA-E64C
+0xA547  0xE64D  #PRIVATE USE AREA-E64D
+0xA548  0xE64E  #PRIVATE USE AREA-E64E
+0xA549  0xE64F  #PRIVATE USE AREA-E64F
+0xA54A  0xE650  #PRIVATE USE AREA-E650
+0xA54B  0xE651  #PRIVATE USE AREA-E651
+0xA54C  0xE652  #PRIVATE USE AREA-E652
+0xA54D  0xE653  #PRIVATE USE AREA-E653
+0xA54E  0xE654  #PRIVATE USE AREA-E654
+0xA54F  0xE655  #PRIVATE USE AREA-E655
+0xA550  0xE656  #PRIVATE USE AREA-E656
+0xA551  0xE657  #PRIVATE USE AREA-E657
+0xA552  0xE658  #PRIVATE USE AREA-E658
+0xA553  0xE659  #PRIVATE USE AREA-E659
+0xA554  0xE65A  #PRIVATE USE AREA-E65A
+0xA555  0xE65B  #PRIVATE USE AREA-E65B
+0xA556  0xE65C  #PRIVATE USE AREA-E65C
+0xA557  0xE65D  #PRIVATE USE AREA-E65D
+0xA558  0xE65E  #PRIVATE USE AREA-E65E
+0xA559  0xE65F  #PRIVATE USE AREA-E65F
+0xA55A  0xE660  #PRIVATE USE AREA-E660
+0xA55B  0xE661  #PRIVATE USE AREA-E661
+0xA55C  0xE662  #PRIVATE USE AREA-E662
+0xA55D  0xE663  #PRIVATE USE AREA-E663
+0xA55E  0xE664  #PRIVATE USE AREA-E664
+0xA55F  0xE665  #PRIVATE USE AREA-E665
+0xA560  0xE666  #PRIVATE USE AREA-E666
+0xA561  0xE667  #PRIVATE USE AREA-E667
+0xA562  0xE668  #PRIVATE USE AREA-E668
+0xA563  0xE669  #PRIVATE USE AREA-E669
+0xA564  0xE66A  #PRIVATE USE AREA-E66A
+0xA565  0xE66B  #PRIVATE USE AREA-E66B
+0xA566  0xE66C  #PRIVATE USE AREA-E66C
+0xA567  0xE66D  #PRIVATE USE AREA-E66D
+0xA568  0xE66E  #PRIVATE USE AREA-E66E
+0xA569  0xE66F  #PRIVATE USE AREA-E66F
+0xA56A  0xE670  #PRIVATE USE AREA-E670
+0xA56B  0xE671  #PRIVATE USE AREA-E671
+0xA56C  0xE672  #PRIVATE USE AREA-E672
+0xA56D  0xE673  #PRIVATE USE AREA-E673
+0xA56E  0xE674  #PRIVATE USE AREA-E674
+0xA56F  0xE675  #PRIVATE USE AREA-E675
+0xA570  0xE676  #PRIVATE USE AREA-E676
+0xA571  0xE677  #PRIVATE USE AREA-E677
+0xA572  0xE678  #PRIVATE USE AREA-E678
+0xA573  0xE679  #PRIVATE USE AREA-E679
+0xA574  0xE67A  #PRIVATE USE AREA-E67A
+0xA575  0xE67B  #PRIVATE USE AREA-E67B
+0xA576  0xE67C  #PRIVATE USE AREA-E67C
+0xA577  0xE67D  #PRIVATE USE AREA-E67D
+0xA578  0xE67E  #PRIVATE USE AREA-E67E
+0xA579  0xE67F  #PRIVATE USE AREA-E67F
+0xA57A  0xE680  #PRIVATE USE AREA-E680
+0xA57B  0xE681  #PRIVATE USE AREA-E681
+0xA57C  0xE682  #PRIVATE USE AREA-E682
+0xA57D  0xE683  #PRIVATE USE AREA-E683
+0xA57E  0xE684  #PRIVATE USE AREA-E684
+0xA580  0xE685  #PRIVATE USE AREA-E685
+0xA581  0xE686  #PRIVATE USE AREA-E686
+0xA582  0xE687  #PRIVATE USE AREA-E687
+0xA583  0xE688  #PRIVATE USE AREA-E688
+0xA584  0xE689  #PRIVATE USE AREA-E689
+0xA585  0xE68A  #PRIVATE USE AREA-E68A
+0xA586  0xE68B  #PRIVATE USE AREA-E68B
+0xA587  0xE68C  #PRIVATE USE AREA-E68C
+0xA588  0xE68D  #PRIVATE USE AREA-E68D
+0xA589  0xE68E  #PRIVATE USE AREA-E68E
+0xA58A  0xE68F  #PRIVATE USE AREA-E68F
+0xA58B  0xE690  #PRIVATE USE AREA-E690
+0xA58C  0xE691  #PRIVATE USE AREA-E691
+0xA58D  0xE692  #PRIVATE USE AREA-E692
+0xA58E  0xE693  #PRIVATE USE AREA-E693
+0xA58F  0xE694  #PRIVATE USE AREA-E694
+0xA590  0xE695  #PRIVATE USE AREA-E695
+0xA591  0xE696  #PRIVATE USE AREA-E696
+0xA592  0xE697  #PRIVATE USE AREA-E697
+0xA593  0xE698  #PRIVATE USE AREA-E698
+0xA594  0xE699  #PRIVATE USE AREA-E699
+0xA595  0xE69A  #PRIVATE USE AREA-E69A
+0xA596  0xE69B  #PRIVATE USE AREA-E69B
+0xA597  0xE69C  #PRIVATE USE AREA-E69C
+0xA598  0xE69D  #PRIVATE USE AREA-E69D
+0xA599  0xE69E  #PRIVATE USE AREA-E69E
+0xA59A  0xE69F  #PRIVATE USE AREA-E69F
+0xA59B  0xE6A0  #PRIVATE USE AREA-E6A0
+0xA59C  0xE6A1  #PRIVATE USE AREA-E6A1
+0xA59D  0xE6A2  #PRIVATE USE AREA-E6A2
+0xA59E  0xE6A3  #PRIVATE USE AREA-E6A3
+0xA59F  0xE6A4  #PRIVATE USE AREA-E6A4
+0xA5A0  0xE6A5  #PRIVATE USE AREA-E6A5
 0xA5A1	0x30A1  #KATAKANA LETTER SMALL A
 0xA5A2	0x30A2  #KATAKANA LETTER A
 0xA5A3	0x30A3  #KATAKANA LETTER SMALL I
@@ -7179,110 +7156,110 @@
 0xA5F4	0x30F4  #KATAKANA LETTER VU
 0xA5F5	0x30F5  #KATAKANA LETTER SMALL KA
 0xA5F6	0x30F6  #KATAKANA LETTER SMALL KE
-0xA5F7  0xE6BD  #PRIVATE USE AREA-E6BD
-0xA5F8  0xE6BE  #PRIVATE USE AREA-E6BE
-0xA5F9  0xE6BF  #PRIVATE USE AREA-E6BF
-0xA5FA  0xE6C0  #PRIVATE USE AREA-E6C0
-0xA5FB  0xE6C1  #PRIVATE USE AREA-E6C1
-0xA5FC  0xE6C2  #PRIVATE USE AREA-E6C2
-0xA5FD  0xE6C3  #PRIVATE USE AREA-E6C3
-0xA5FE  0xE6C4  #PRIVATE USE AREA-E6C4
-0xA640  0xE6C5  #PRIVATE USE AREA-E6C5
-0xA641  0xE6C6  #PRIVATE USE AREA-E6C6
-0xA642  0xE6C7  #PRIVATE USE AREA-E6C7
-0xA643  0xE6C8  #PRIVATE USE AREA-E6C8
-0xA644  0xE6C9  #PRIVATE USE AREA-E6C9
-0xA645  0xE6CA  #PRIVATE USE AREA-E6CA
-0xA646  0xE6CB  #PRIVATE USE AREA-E6CB
-0xA647  0xE6CC  #PRIVATE USE AREA-E6CC
-0xA648  0xE6CD  #PRIVATE USE AREA-E6CD
-0xA649  0xE6CE  #PRIVATE USE AREA-E6CE
-0xA64A  0xE6CF  #PRIVATE USE AREA-E6CF
-0xA64B  0xE6D0  #PRIVATE USE AREA-E6D0
-0xA64C  0xE6D1  #PRIVATE USE AREA-E6D1
-0xA64D  0xE6D2  #PRIVATE USE AREA-E6D2
-0xA64E  0xE6D3  #PRIVATE USE AREA-E6D3
-0xA64F  0xE6D4  #PRIVATE USE AREA-E6D4
-0xA650  0xE6D5  #PRIVATE USE AREA-E6D5
-0xA651  0xE6D6  #PRIVATE USE AREA-E6D6
-0xA652  0xE6D7  #PRIVATE USE AREA-E6D7
-0xA653  0xE6D8  #PRIVATE USE AREA-E6D8
-0xA654  0xE6D9  #PRIVATE USE AREA-E6D9
-0xA655  0xE6DA  #PRIVATE USE AREA-E6DA
-0xA656  0xE6DB  #PRIVATE USE AREA-E6DB
-0xA657  0xE6DC  #PRIVATE USE AREA-E6DC
-0xA658  0xE6DD  #PRIVATE USE AREA-E6DD
-0xA659  0xE6DE  #PRIVATE USE AREA-E6DE
-0xA65A  0xE6DF  #PRIVATE USE AREA-E6DF
-0xA65B  0xE6E0  #PRIVATE USE AREA-E6E0
-0xA65C  0xE6E1  #PRIVATE USE AREA-E6E1
-0xA65D  0xE6E2  #PRIVATE USE AREA-E6E2
-0xA65E  0xE6E3  #PRIVATE USE AREA-E6E3
-0xA65F  0xE6E4  #PRIVATE USE AREA-E6E4
-0xA660  0xE6E5  #PRIVATE USE AREA-E6E5
-0xA661  0xE6E6  #PRIVATE USE AREA-E6E6
-0xA662  0xE6E7  #PRIVATE USE AREA-E6E7
-0xA663  0xE6E8  #PRIVATE USE AREA-E6E8
-0xA664  0xE6E9  #PRIVATE USE AREA-E6E9
-0xA665  0xE6EA  #PRIVATE USE AREA-E6EA
-0xA666  0xE6EB  #PRIVATE USE AREA-E6EB
-0xA667  0xE6EC  #PRIVATE USE AREA-E6EC
-0xA668  0xE6ED  #PRIVATE USE AREA-E6ED
-0xA669  0xE6EE  #PRIVATE USE AREA-E6EE
-0xA66A  0xE6EF  #PRIVATE USE AREA-E6EF
-0xA66B  0xE6F0  #PRIVATE USE AREA-E6F0
-0xA66C  0xE6F1  #PRIVATE USE AREA-E6F1
-0xA66D  0xE6F2  #PRIVATE USE AREA-E6F2
-0xA66E  0xE6F3  #PRIVATE USE AREA-E6F3
-0xA66F  0xE6F4  #PRIVATE USE AREA-E6F4
-0xA670  0xE6F5  #PRIVATE USE AREA-E6F5
-0xA671  0xE6F6  #PRIVATE USE AREA-E6F6
-0xA672  0xE6F7  #PRIVATE USE AREA-E6F7
-0xA673  0xE6F8  #PRIVATE USE AREA-E6F8
-0xA674  0xE6F9  #PRIVATE USE AREA-E6F9
-0xA675  0xE6FA  #PRIVATE USE AREA-E6FA
-0xA676  0xE6FB  #PRIVATE USE AREA-E6FB
-0xA677  0xE6FC  #PRIVATE USE AREA-E6FC
-0xA678  0xE6FD  #PRIVATE USE AREA-E6FD
-0xA679  0xE6FE  #PRIVATE USE AREA-E6FE
-0xA67A  0xE6FF  #PRIVATE USE AREA-E6FF
-0xA67B  0xE700  #PRIVATE USE AREA-E700
-0xA67C  0xE701  #PRIVATE USE AREA-E701
-0xA67D  0xE702  #PRIVATE USE AREA-E702
-0xA67E  0xE703  #PRIVATE USE AREA-E703
-0xA680  0xE704  #PRIVATE USE AREA-E704
-0xA681  0xE705  #PRIVATE USE AREA-E705
-0xA682  0xE706  #PRIVATE USE AREA-E706
-0xA683  0xE707  #PRIVATE USE AREA-E707
-0xA684  0xE708  #PRIVATE USE AREA-E708
-0xA685  0xE709  #PRIVATE USE AREA-E709
-0xA686  0xE70A  #PRIVATE USE AREA-E70A
-0xA687  0xE70B  #PRIVATE USE AREA-E70B
-0xA688  0xE70C  #PRIVATE USE AREA-E70C
-0xA689  0xE70D  #PRIVATE USE AREA-E70D
-0xA68A  0xE70E  #PRIVATE USE AREA-E70E
-0xA68B  0xE70F  #PRIVATE USE AREA-E70F
-0xA68C  0xE710  #PRIVATE USE AREA-E710
-0xA68D  0xE711  #PRIVATE USE AREA-E711
-0xA68E  0xE712  #PRIVATE USE AREA-E712
-0xA68F  0xE713  #PRIVATE USE AREA-E713
-0xA690  0xE714  #PRIVATE USE AREA-E714
-0xA691  0xE715  #PRIVATE USE AREA-E715
-0xA692  0xE716  #PRIVATE USE AREA-E716
-0xA693  0xE717  #PRIVATE USE AREA-E717
-0xA694  0xE718  #PRIVATE USE AREA-E718
-0xA695  0xE719  #PRIVATE USE AREA-E719
-0xA696  0xE71A  #PRIVATE USE AREA-E71A
-0xA697  0xE71B  #PRIVATE USE AREA-E71B
-0xA698  0xE71C  #PRIVATE USE AREA-E71C
-0xA699  0xE71D  #PRIVATE USE AREA-E71D
-0xA69A  0xE71E  #PRIVATE USE AREA-E71E
-0xA69B  0xE71F  #PRIVATE USE AREA-E71F
-0xA69C  0xE720  #PRIVATE USE AREA-E720
-0xA69D  0xE721  #PRIVATE USE AREA-E721
-0xA69E  0xE722  #PRIVATE USE AREA-E722
-0xA69F  0xE723  #PRIVATE USE AREA-E723
-0xA6A0  0xE724  #PRIVATE USE AREA-E724
+0xA5F7  0xE77D  #PRIVATE USE AREA-E77D
+0xA5F8  0xE77E  #PRIVATE USE AREA-E77E
+0xA5F9  0xE77F  #PRIVATE USE AREA-E77F
+0xA5FA  0xE780  #PRIVATE USE AREA-E780
+0xA5FB  0xE781  #PRIVATE USE AREA-E781
+0xA5FC  0xE782  #PRIVATE USE AREA-E782
+0xA5FD  0xE783  #PRIVATE USE AREA-E783
+0xA5FE  0xE784  #PRIVATE USE AREA-E784
+0xA640  0xE6A6  #PRIVATE USE AREA-E6A6
+0xA641  0xE6A7  #PRIVATE USE AREA-E6A7
+0xA642  0xE6A8  #PRIVATE USE AREA-E6A8
+0xA643  0xE6A9  #PRIVATE USE AREA-E6A9
+0xA644  0xE6AA  #PRIVATE USE AREA-E6AA
+0xA645  0xE6AB  #PRIVATE USE AREA-E6AB
+0xA646  0xE6AC  #PRIVATE USE AREA-E6AC
+0xA647  0xE6AD  #PRIVATE USE AREA-E6AD
+0xA648  0xE6AE  #PRIVATE USE AREA-E6AE
+0xA649  0xE6AF  #PRIVATE USE AREA-E6AF
+0xA64A  0xE6B0  #PRIVATE USE AREA-E6B0
+0xA64B  0xE6B1  #PRIVATE USE AREA-E6B1
+0xA64C  0xE6B2  #PRIVATE USE AREA-E6B2
+0xA64D  0xE6B3  #PRIVATE USE AREA-E6B3
+0xA64E  0xE6B4  #PRIVATE USE AREA-E6B4
+0xA64F  0xE6B5  #PRIVATE USE AREA-E6B5
+0xA650  0xE6B6  #PRIVATE USE AREA-E6B6
+0xA651  0xE6B7  #PRIVATE USE AREA-E6B7
+0xA652  0xE6B8  #PRIVATE USE AREA-E6B8
+0xA653  0xE6B9  #PRIVATE USE AREA-E6B9
+0xA654  0xE6BA  #PRIVATE USE AREA-E6BA
+0xA655  0xE6BB  #PRIVATE USE AREA-E6BB
+0xA656  0xE6BC  #PRIVATE USE AREA-E6BC
+0xA657  0xE6BD  #PRIVATE USE AREA-E6BD
+0xA658  0xE6BE  #PRIVATE USE AREA-E6BE
+0xA659  0xE6BF  #PRIVATE USE AREA-E6BF
+0xA65A  0xE6C0  #PRIVATE USE AREA-E6C0
+0xA65B  0xE6C1  #PRIVATE USE AREA-E6C1
+0xA65C  0xE6C2  #PRIVATE USE AREA-E6C2
+0xA65D  0xE6C3  #PRIVATE USE AREA-E6C3
+0xA65E  0xE6C4  #PRIVATE USE AREA-E6C4
+0xA65F  0xE6C5  #PRIVATE USE AREA-E6C5
+0xA660  0xE6C6  #PRIVATE USE AREA-E6C6
+0xA661  0xE6C7  #PRIVATE USE AREA-E6C7
+0xA662  0xE6C8  #PRIVATE USE AREA-E6C8
+0xA663  0xE6C9  #PRIVATE USE AREA-E6C9
+0xA664  0xE6CA  #PRIVATE USE AREA-E6CA
+0xA665  0xE6CB  #PRIVATE USE AREA-E6CB
+0xA666  0xE6CC  #PRIVATE USE AREA-E6CC
+0xA667  0xE6CD  #PRIVATE USE AREA-E6CD
+0xA668  0xE6CE  #PRIVATE USE AREA-E6CE
+0xA669  0xE6CF  #PRIVATE USE AREA-E6CF
+0xA66A  0xE6D0  #PRIVATE USE AREA-E6D0
+0xA66B  0xE6D1  #PRIVATE USE AREA-E6D1
+0xA66C  0xE6D2  #PRIVATE USE AREA-E6D2
+0xA66D  0xE6D3  #PRIVATE USE AREA-E6D3
+0xA66E  0xE6D4  #PRIVATE USE AREA-E6D4
+0xA66F  0xE6D5  #PRIVATE USE AREA-E6D5
+0xA670  0xE6D6  #PRIVATE USE AREA-E6D6
+0xA671  0xE6D7  #PRIVATE USE AREA-E6D7
+0xA672  0xE6D8  #PRIVATE USE AREA-E6D8
+0xA673  0xE6D9  #PRIVATE USE AREA-E6D9
+0xA674  0xE6DA  #PRIVATE USE AREA-E6DA
+0xA675  0xE6DB  #PRIVATE USE AREA-E6DB
+0xA676  0xE6DC  #PRIVATE USE AREA-E6DC
+0xA677  0xE6DD  #PRIVATE USE AREA-E6DD
+0xA678  0xE6DE  #PRIVATE USE AREA-E6DE
+0xA679  0xE6DF  #PRIVATE USE AREA-E6DF
+0xA67A  0xE6E0  #PRIVATE USE AREA-E6E0
+0xA67B  0xE6E1  #PRIVATE USE AREA-E6E1
+0xA67C  0xE6E2  #PRIVATE USE AREA-E6E2
+0xA67D  0xE6E3  #PRIVATE USE AREA-E6E3
+0xA67E  0xE6E4  #PRIVATE USE AREA-E6E4
+0xA680  0xE6E5  #PRIVATE USE AREA-E6E5
+0xA681  0xE6E6  #PRIVATE USE AREA-E6E6
+0xA682  0xE6E7  #PRIVATE USE AREA-E6E7
+0xA683  0xE6E8  #PRIVATE USE AREA-E6E8
+0xA684  0xE6E9  #PRIVATE USE AREA-E6E9
+0xA685  0xE6EA  #PRIVATE USE AREA-E6EA
+0xA686  0xE6EB  #PRIVATE USE AREA-E6EB
+0xA687  0xE6EC  #PRIVATE USE AREA-E6EC
+0xA688  0xE6ED  #PRIVATE USE AREA-E6ED
+0xA689  0xE6EE  #PRIVATE USE AREA-E6EE
+0xA68A  0xE6EF  #PRIVATE USE AREA-E6EF
+0xA68B  0xE6F0  #PRIVATE USE AREA-E6F0
+0xA68C  0xE6F1  #PRIVATE USE AREA-E6F1
+0xA68D  0xE6F2  #PRIVATE USE AREA-E6F2
+0xA68E  0xE6F3  #PRIVATE USE AREA-E6F3
+0xA68F  0xE6F4  #PRIVATE USE AREA-E6F4
+0xA690  0xE6F5  #PRIVATE USE AREA-E6F5
+0xA691  0xE6F6  #PRIVATE USE AREA-E6F6
+0xA692  0xE6F7  #PRIVATE USE AREA-E6F7
+0xA693  0xE6F8  #PRIVATE USE AREA-E6F8
+0xA694  0xE6F9  #PRIVATE USE AREA-E6F9
+0xA695  0xE6FA  #PRIVATE USE AREA-E6FA
+0xA696  0xE6FB  #PRIVATE USE AREA-E6FB
+0xA697  0xE6FC  #PRIVATE USE AREA-E6FC
+0xA698  0xE6FD  #PRIVATE USE AREA-E6FD
+0xA699  0xE6FE  #PRIVATE USE AREA-E6FE
+0xA69A  0xE6FF  #PRIVATE USE AREA-E6FF
+0xA69B  0xE700  #PRIVATE USE AREA-E700
+0xA69C  0xE701  #PRIVATE USE AREA-E701
+0xA69D  0xE702  #PRIVATE USE AREA-E702
+0xA69E  0xE703  #PRIVATE USE AREA-E703
+0xA69F  0xE704  #PRIVATE USE AREA-E704
+0xA6A0  0xE705  #PRIVATE USE AREA-E705
 0xA6A1	0x0391  #GREEK CAPITAL LETTER ALPHA
 0xA6A2	0x0392  #GREEK CAPITAL LETTER BETA
 0xA6A3	0x0393  #GREEK CAPITAL LETTER GAMMA
@@ -7307,14 +7284,14 @@
 0xA6B6	0x03A7  #GREEK CAPITAL LETTER CHI
 0xA6B7	0x03A8  #GREEK CAPITAL LETTER PSI
 0xA6B8	0x03A9  #GREEK CAPITAL LETTER OMEGA
-0xA6B9  0xE725  #PRIVATE USE AREA-E725
-0xA6BA  0xE726  #PRIVATE USE AREA-E726
-0xA6BB  0xE727  #PRIVATE USE AREA-E727
-0xA6BC  0xE728  #PRIVATE USE AREA-E728
-0xA6BD  0xE729  #PRIVATE USE AREA-E729
-0xA6BE  0xE72A  #PRIVATE USE AREA-E72A
-0xA6BF  0xE72B  #PRIVATE USE AREA-E72B
-0xA6C0  0xE72C  #PRIVATE USE AREA-E72C
+0xA6B9  0xE785  #PRIVATE USE AREA-E785
+0xA6BA  0xE786  #PRIVATE USE AREA-E786
+0xA6BB  0xE787  #PRIVATE USE AREA-E787
+0xA6BC  0xE788  #PRIVATE USE AREA-E788
+0xA6BD  0xE789  #PRIVATE USE AREA-E789
+0xA6BE  0xE78A  #PRIVATE USE AREA-E78A
+0xA6BF  0xE78B  #PRIVATE USE AREA-E78B
+0xA6C0  0xE78C  #PRIVATE USE AREA-E78C
 0xA6C1	0x03B1  #GREEK SMALL LETTER ALPHA
 0xA6C2	0x03B2  #GREEK SMALL LETTER BETA
 0xA6C3	0x03B3  #GREEK SMALL LETTER GAMMA
@@ -7339,13 +7316,13 @@
 0xA6D6	0x03C7  #GREEK SMALL LETTER CHI
 0xA6D7	0x03C8  #GREEK SMALL LETTER PSI
 0xA6D8	0x03C9  #GREEK SMALL LETTER OMEGA
-0xA6D9  0xE72D  #PRIVATE USE AREA-E72D
-0xA6DA  0xE72E  #PRIVATE USE AREA-E72E
-0xA6DB  0xE72F  #PRIVATE USE AREA-E72F
-0xA6DC  0xE730  #PRIVATE USE AREA-E730
-0xA6DD  0xE731  #PRIVATE USE AREA-E731
-0xA6DE  0xE732  #PRIVATE USE AREA-E732
-0xA6DF  0xE733  #PRIVATE USE AREA-E733
+0xA6D9  0xE78D  #PRIVATE USE AREA-E78D
+0xA6DA  0xE78E  #PRIVATE USE AREA-E78E
+0xA6DB  0xE78F  #PRIVATE USE AREA-E78F
+0xA6DC  0xE790  #PRIVATE USE AREA-E790
+0xA6DD  0xE791  #PRIVATE USE AREA-E791
+0xA6DE  0xE792  #PRIVATE USE AREA-E792
+0xA6DF  0xE793  #PRIVATE USE AREA-E793
 0xA6E0	0xFE35  #PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
 0xA6E1	0xFE36  #PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
 0xA6E2	0xFE39  #PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
@@ -7358,121 +7335,121 @@
 0xA6E9	0xFE42  #PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
 0xA6EA	0xFE43  #PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
 0xA6EB	0xFE44  #PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-0xA6EC  0xE734  #PRIVATE USE AREA-E734
-0xA6ED  0xE735  #PRIVATE USE AREA-E735
+0xA6EC  0xE794  #PRIVATE USE AREA-E794
+0xA6ED  0xE795  #PRIVATE USE AREA-E795
 0xA6EE	0xFE3B  #PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
 0xA6EF	0xFE3C  #PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
 0xA6F0	0xFE37  #PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
 0xA6F1	0xFE38  #PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
 0xA6F2	0xFE31  #PRESENTATION FORM FOR VERTICAL EM DASH
-0xA6F3  0xE736  #PRIVATE USE AREA-E736
+0xA6F3  0xE796  #PRIVATE USE AREA-E796
 0xA6F4	0xFE33  #PRESENTATION FORM FOR VERTICAL LOW LINE
 0xA6F5	0xFE34  #PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-0xA6F6  0xE737  #PRIVATE USE AREA-E737
-0xA6F7  0xE738  #PRIVATE USE AREA-E738
-0xA6F8  0xE739  #PRIVATE USE AREA-E739
-0xA6F9  0xE73A  #PRIVATE USE AREA-E73A
-0xA6FA  0xE73B  #PRIVATE USE AREA-E73B
-0xA6FB  0xE73C  #PRIVATE USE AREA-E73C
-0xA6FC  0xE73D  #PRIVATE USE AREA-E73D
-0xA6FD  0xE73E  #PRIVATE USE AREA-E73E
-0xA6FE  0xE73F  #PRIVATE USE AREA-E73F
-0xA740  0xE740  #PRIVATE USE AREA-E740
-0xA741  0xE741  #PRIVATE USE AREA-E741
-0xA742  0xE742  #PRIVATE USE AREA-E742
-0xA743  0xE743  #PRIVATE USE AREA-E743
-0xA744  0xE744  #PRIVATE USE AREA-E744
-0xA745  0xE745  #PRIVATE USE AREA-E745
-0xA746  0xE746  #PRIVATE USE AREA-E746
-0xA747  0xE747  #PRIVATE USE AREA-E747
-0xA748  0xE748  #PRIVATE USE AREA-E748
-0xA749  0xE749  #PRIVATE USE AREA-E749
-0xA74A  0xE74A  #PRIVATE USE AREA-E74A
-0xA74B  0xE74B  #PRIVATE USE AREA-E74B
-0xA74C  0xE74C  #PRIVATE USE AREA-E74C
-0xA74D  0xE74D  #PRIVATE USE AREA-E74D
-0xA74E  0xE74E  #PRIVATE USE AREA-E74E
-0xA74F  0xE74F  #PRIVATE USE AREA-E74F
-0xA750  0xE750  #PRIVATE USE AREA-E750
-0xA751  0xE751  #PRIVATE USE AREA-E751
-0xA752  0xE752  #PRIVATE USE AREA-E752
-0xA753  0xE753  #PRIVATE USE AREA-E753
-0xA754  0xE754  #PRIVATE USE AREA-E754
-0xA755  0xE755  #PRIVATE USE AREA-E755
-0xA756  0xE756  #PRIVATE USE AREA-E756
-0xA757  0xE757  #PRIVATE USE AREA-E757
-0xA758  0xE758  #PRIVATE USE AREA-E758
-0xA759  0xE759  #PRIVATE USE AREA-E759
-0xA75A  0xE75A  #PRIVATE USE AREA-E75A
-0xA75B  0xE75B  #PRIVATE USE AREA-E75B
-0xA75C  0xE75C  #PRIVATE USE AREA-E75C
-0xA75D  0xE75D  #PRIVATE USE AREA-E75D
-0xA75E  0xE75E  #PRIVATE USE AREA-E75E
-0xA75F  0xE75F  #PRIVATE USE AREA-E75F
-0xA760  0xE760  #PRIVATE USE AREA-E760
-0xA761  0xE761  #PRIVATE USE AREA-E761
-0xA762  0xE762  #PRIVATE USE AREA-E762
-0xA763  0xE763  #PRIVATE USE AREA-E763
-0xA764  0xE764  #PRIVATE USE AREA-E764
-0xA765  0xE765  #PRIVATE USE AREA-E765
-0xA766  0xE766  #PRIVATE USE AREA-E766
-0xA767  0xE767  #PRIVATE USE AREA-E767
-0xA768  0xE768  #PRIVATE USE AREA-E768
-0xA769  0xE769  #PRIVATE USE AREA-E769
-0xA76A  0xE76A  #PRIVATE USE AREA-E76A
-0xA76B  0xE76B  #PRIVATE USE AREA-E76B
-0xA76C  0xE76C  #PRIVATE USE AREA-E76C
-0xA76D  0xE76D  #PRIVATE USE AREA-E76D
-0xA76E  0xE76E  #PRIVATE USE AREA-E76E
-0xA76F  0xE76F  #PRIVATE USE AREA-E76F
-0xA770  0xE770  #PRIVATE USE AREA-E770
-0xA771  0xE771  #PRIVATE USE AREA-E771
-0xA772  0xE772  #PRIVATE USE AREA-E772
-0xA773  0xE773  #PRIVATE USE AREA-E773
-0xA774  0xE774  #PRIVATE USE AREA-E774
-0xA775  0xE775  #PRIVATE USE AREA-E775
-0xA776  0xE776  #PRIVATE USE AREA-E776
-0xA777  0xE777  #PRIVATE USE AREA-E777
-0xA778  0xE778  #PRIVATE USE AREA-E778
-0xA779  0xE779  #PRIVATE USE AREA-E779
-0xA77A  0xE77A  #PRIVATE USE AREA-E77A
-0xA77B  0xE77B  #PRIVATE USE AREA-E77B
-0xA77C  0xE77C  #PRIVATE USE AREA-E77C
-0xA77D  0xE77D  #PRIVATE USE AREA-E77D
-0xA77E  0xE77E  #PRIVATE USE AREA-E77E
-0xA780  0xE77F  #PRIVATE USE AREA-E77F
-0xA781  0xE780  #PRIVATE USE AREA-E780
-0xA782  0xE781  #PRIVATE USE AREA-E781
-0xA783  0xE782  #PRIVATE USE AREA-E782
-0xA784  0xE783  #PRIVATE USE AREA-E783
-0xA785  0xE784  #PRIVATE USE AREA-E784
-0xA786  0xE785  #PRIVATE USE AREA-E785
-0xA787  0xE786  #PRIVATE USE AREA-E786
-0xA788  0xE787  #PRIVATE USE AREA-E787
-0xA789  0xE788  #PRIVATE USE AREA-E788
-0xA78A  0xE789  #PRIVATE USE AREA-E789
-0xA78B  0xE78A  #PRIVATE USE AREA-E78A
-0xA78C  0xE78B  #PRIVATE USE AREA-E78B
-0xA78D  0xE78C  #PRIVATE USE AREA-E78C
-0xA78E  0xE78D  #PRIVATE USE AREA-E78D
-0xA78F  0xE78E  #PRIVATE USE AREA-E78E
-0xA790  0xE78F  #PRIVATE USE AREA-E78F
-0xA791  0xE790  #PRIVATE USE AREA-E790
-0xA792  0xE791  #PRIVATE USE AREA-E791
-0xA793  0xE792  #PRIVATE USE AREA-E792
-0xA794  0xE793  #PRIVATE USE AREA-E793
-0xA795  0xE794  #PRIVATE USE AREA-E794
-0xA796  0xE795  #PRIVATE USE AREA-E795
-0xA797  0xE796  #PRIVATE USE AREA-E796
-0xA798  0xE797  #PRIVATE USE AREA-E797
-0xA799  0xE798  #PRIVATE USE AREA-E798
-0xA79A  0xE799  #PRIVATE USE AREA-E799
-0xA79B  0xE79A  #PRIVATE USE AREA-E79A
-0xA79C  0xE79B  #PRIVATE USE AREA-E79B
-0xA79D  0xE79C  #PRIVATE USE AREA-E79C
-0xA79E  0xE79D  #PRIVATE USE AREA-E79D
-0xA79F  0xE79E  #PRIVATE USE AREA-E79E
-0xA7A0  0xE79F  #PRIVATE USE AREA-E79F
+0xA6F6  0xE797  #PRIVATE USE AREA-E797
+0xA6F7  0xE798  #PRIVATE USE AREA-E798
+0xA6F8  0xE799  #PRIVATE USE AREA-E799
+0xA6F9  0xE79A  #PRIVATE USE AREA-E79A
+0xA6FA  0xE79B  #PRIVATE USE AREA-E79B
+0xA6FB  0xE79C  #PRIVATE USE AREA-E79C
+0xA6FC  0xE79D  #PRIVATE USE AREA-E79D
+0xA6FD  0xE79E  #PRIVATE USE AREA-E79E
+0xA6FE  0xE79F  #PRIVATE USE AREA-E79F
+0xA740  0xE706  #PRIVATE USE AREA-E706
+0xA741  0xE707  #PRIVATE USE AREA-E707
+0xA742  0xE708  #PRIVATE USE AREA-E708
+0xA743  0xE709  #PRIVATE USE AREA-E709
+0xA744  0xE70A  #PRIVATE USE AREA-E70A
+0xA745  0xE70B  #PRIVATE USE AREA-E70B
+0xA746  0xE70C  #PRIVATE USE AREA-E70C
+0xA747  0xE70D  #PRIVATE USE AREA-E70D
+0xA748  0xE70E  #PRIVATE USE AREA-E70E
+0xA749  0xE70F  #PRIVATE USE AREA-E70F
+0xA74A  0xE710  #PRIVATE USE AREA-E710
+0xA74B  0xE711  #PRIVATE USE AREA-E711
+0xA74C  0xE712  #PRIVATE USE AREA-E712
+0xA74D  0xE713  #PRIVATE USE AREA-E713
+0xA74E  0xE714  #PRIVATE USE AREA-E714
+0xA74F  0xE715  #PRIVATE USE AREA-E715
+0xA750  0xE716  #PRIVATE USE AREA-E716
+0xA751  0xE717  #PRIVATE USE AREA-E717
+0xA752  0xE718  #PRIVATE USE AREA-E718
+0xA753  0xE719  #PRIVATE USE AREA-E719
+0xA754  0xE71A  #PRIVATE USE AREA-E71A
+0xA755  0xE71B  #PRIVATE USE AREA-E71B
+0xA756  0xE71C  #PRIVATE USE AREA-E71C
+0xA757  0xE71D  #PRIVATE USE AREA-E71D
+0xA758  0xE71E  #PRIVATE USE AREA-E71E
+0xA759  0xE71F  #PRIVATE USE AREA-E71F
+0xA75A  0xE720  #PRIVATE USE AREA-E720
+0xA75B  0xE721  #PRIVATE USE AREA-E721
+0xA75C  0xE722  #PRIVATE USE AREA-E722
+0xA75D  0xE723  #PRIVATE USE AREA-E723
+0xA75E  0xE724  #PRIVATE USE AREA-E724
+0xA75F  0xE725  #PRIVATE USE AREA-E725
+0xA760  0xE726  #PRIVATE USE AREA-E726
+0xA761  0xE727  #PRIVATE USE AREA-E727
+0xA762  0xE728  #PRIVATE USE AREA-E728
+0xA763  0xE729  #PRIVATE USE AREA-E729
+0xA764  0xE72A  #PRIVATE USE AREA-E72A
+0xA765  0xE72B  #PRIVATE USE AREA-E72B
+0xA766  0xE72C  #PRIVATE USE AREA-E72C
+0xA767  0xE72D  #PRIVATE USE AREA-E72D
+0xA768  0xE72E  #PRIVATE USE AREA-E72E
+0xA769  0xE72F  #PRIVATE USE AREA-E72F
+0xA76A  0xE730  #PRIVATE USE AREA-E730
+0xA76B  0xE731  #PRIVATE USE AREA-E731
+0xA76C  0xE732  #PRIVATE USE AREA-E732
+0xA76D  0xE733  #PRIVATE USE AREA-E733
+0xA76E  0xE734  #PRIVATE USE AREA-E734
+0xA76F  0xE735  #PRIVATE USE AREA-E735
+0xA770  0xE736  #PRIVATE USE AREA-E736
+0xA771  0xE737  #PRIVATE USE AREA-E737
+0xA772  0xE738  #PRIVATE USE AREA-E738
+0xA773  0xE739  #PRIVATE USE AREA-E739
+0xA774  0xE73A  #PRIVATE USE AREA-E73A
+0xA775  0xE73B  #PRIVATE USE AREA-E73B
+0xA776  0xE73C  #PRIVATE USE AREA-E73C
+0xA777  0xE73D  #PRIVATE USE AREA-E73D
+0xA778  0xE73E  #PRIVATE USE AREA-E73E
+0xA779  0xE73F  #PRIVATE USE AREA-E73F
+0xA77A  0xE740  #PRIVATE USE AREA-E740
+0xA77B  0xE741  #PRIVATE USE AREA-E741
+0xA77C  0xE742  #PRIVATE USE AREA-E742
+0xA77D  0xE743  #PRIVATE USE AREA-E743
+0xA77E  0xE744  #PRIVATE USE AREA-E744
+0xA780  0xE745  #PRIVATE USE AREA-E745
+0xA781  0xE746  #PRIVATE USE AREA-E746
+0xA782  0xE747  #PRIVATE USE AREA-E747
+0xA783  0xE748  #PRIVATE USE AREA-E748
+0xA784  0xE749  #PRIVATE USE AREA-E749
+0xA785  0xE74A  #PRIVATE USE AREA-E74A
+0xA786  0xE74B  #PRIVATE USE AREA-E74B
+0xA787  0xE74C  #PRIVATE USE AREA-E74C
+0xA788  0xE74D  #PRIVATE USE AREA-E74D
+0xA789  0xE74E  #PRIVATE USE AREA-E74E
+0xA78A  0xE74F  #PRIVATE USE AREA-E74F
+0xA78B  0xE750  #PRIVATE USE AREA-E750
+0xA78C  0xE751  #PRIVATE USE AREA-E751
+0xA78D  0xE752  #PRIVATE USE AREA-E752
+0xA78E  0xE753  #PRIVATE USE AREA-E753
+0xA78F  0xE754  #PRIVATE USE AREA-E754
+0xA790  0xE755  #PRIVATE USE AREA-E755
+0xA791  0xE756  #PRIVATE USE AREA-E756
+0xA792  0xE757  #PRIVATE USE AREA-E757
+0xA793  0xE758  #PRIVATE USE AREA-E758
+0xA794  0xE759  #PRIVATE USE AREA-E759
+0xA795  0xE75A  #PRIVATE USE AREA-E75A
+0xA796  0xE75B  #PRIVATE USE AREA-E75B
+0xA797  0xE75C  #PRIVATE USE AREA-E75C
+0xA798  0xE75D  #PRIVATE USE AREA-E75D
+0xA799  0xE75E  #PRIVATE USE AREA-E75E
+0xA79A  0xE75F  #PRIVATE USE AREA-E75F
+0xA79B  0xE760  #PRIVATE USE AREA-E760
+0xA79C  0xE761  #PRIVATE USE AREA-E761
+0xA79D  0xE762  #PRIVATE USE AREA-E762
+0xA79E  0xE763  #PRIVATE USE AREA-E763
+0xA79F  0xE764  #PRIVATE USE AREA-E764
+0xA7A0  0xE765  #PRIVATE USE AREA-E765
 0xA7A1	0x0410  #CYRILLIC CAPITAL LETTER A
 0xA7A2	0x0411  #CYRILLIC CAPITAL LETTER BE
 0xA7A3	0x0412  #CYRILLIC CAPITAL LETTER VE
--- a/make/tools/Makefile	Thu Jun 14 16:34:43 2012 -0700
+++ b/make/tools/Makefile	Sun Jun 17 22:07:44 2012 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2012, 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
@@ -58,6 +58,11 @@
   SUBDIRS += generate_nimbus
 endif
 
+ifeq ($(PLATFORM), solaris)
+  # temporary tools to work around gobjcopy bugs
+  SUBDIRS += add_gnu_debuglink fix_empty_sec_hdr_flags
+endif
+
 include $(BUILDDIR)/common/Subdirs.gmk
 
 all build clean clobber::
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/add_gnu_debuglink/Makefile	Sun Jun 17 22:07:44 2012 -0700
@@ -0,0 +1,46 @@
+#
+# Copyright (c) 2012, 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.
+#
+# 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.
+#  
+#
+
+# Rules to build add_gnu_debuglink, used by various Makefiles on Solaris
+
+BUILDDIR = ../..
+include $(BUILDDIR)/common/Defs.gmk
+
+# Default name
+PROGRAM = add_gnu_debuglink
+ADD_GNU_DEBUGLINK_PROG = $(ABS_BUILDTOOLBINDIR)/$(PROGRAM)
+
+ADD_GNU_DEBUGLINK_SRC     = add_gnu_debuglink.c
+ADD_GNU_DEBUGLINK_FLAGS   = 
+LIBS_ADD_GNU_DEBUGLINK   += -lelf
+
+all: $(ADD_GNU_DEBUGLINK)
+
+$(ADD_GNU_DEBUGLINK_PROG): $(ADD_GNU_DEBUGLINK_SRC)
+	$(MKDIR) -p $(BUILDTOOLBINDIR)
+	$(CC) -g -o $@ $< $(ADD_GNU_DEBUGLINK_FLAGS) $(LIBS_ADD_GNU_DEBUGLINK)
+
+clean::
+	$(RM) $(ADD_GNU_DEBUGLINK_PROG)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/add_gnu_debuglink/add_gnu_debuglink.c	Sun Jun 17 22:07:44 2012 -0700
@@ -0,0 +1,285 @@
+/*
+ * Copyright (c) 2012, 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.
+ *
+ * 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.
+ *
+ */
+
+/*
+ * Name:        add_gnu_debuglink.c
+ *
+ * Description: Add a ".gnu_debuglink" section that refers to the specified
+ *     debug_info_path to the specified ELF object.
+ *
+ *     This program is adapted from the example program shown on the
+ *     elf(3elf) man page and from code from the Solaris compiler
+ *     driver.
+ */
+
+/*
+ * needed to define SHF_EXCLUDE
+ */
+#define ELF_TARGET_ALL
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <libelf.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+static void failure(void);
+static unsigned int gnu_debuglink_crc32(unsigned int crc, unsigned char *buf,
+                                        size_t len);
+
+void
+main(int argc, char ** argv) {
+                                 /* new ELF section name */
+    static char SEC_NAME[] = ".gnu_debuglink";
+
+    unsigned char buffer[8 * 1024];  /* I/O buffer */
+    int           buffer_len;        /* buffer length */
+    char *        debug_info_path;   /* debug info path */
+    void *        ehdr;              /* ELF header */
+    Elf *         elf;               /* ELF descriptor */
+    char *        elf_ident;         /* ELF identity string */
+    char *        elf_obj;           /* elf_obj file */
+    int           fd;                /* descriptor for files */
+    unsigned int  file_crc = 0;      /* CRC for debug info file */
+    int           is_elfclass64;     /* is an ELFCLASS64 file? */
+    Elf_Data *    link_dat;          /* ELF data for new debug info link */
+    Elf_Data *    name_dat;          /* ELF data for new section name */
+    Elf_Scn *     new_scn;           /* new ELF section descriptor */
+    void *        new_shdr;          /* new ELF section header */
+    Elf_Scn *     scn;               /* ELF section descriptor */
+    void *        shdr;              /* ELF section header */
+
+    if (argc != 3) {
+        (void) fprintf(stderr, "Usage: %s debug_info_path elf_obj\n", argv[0]);
+        exit(2);
+    }
+
+    debug_info_path = argv[1];  /* save for later */
+    if ((fd = open(debug_info_path, O_RDONLY)) == -1) {
+        (void) fprintf(stderr, "%s: cannot open file.\n", debug_info_path);
+        exit(3);
+    }
+
+    (void) printf("Computing CRC for '%s'\n", debug_info_path);
+    (void) fflush(stdout);
+    /* compute CRC for the debug info file */
+    for (;;) {
+        int len = read(fd, buffer, sizeof buffer);
+        if (len <= 0) {
+            break;
+        }
+        file_crc = gnu_debuglink_crc32(file_crc, buffer, len);
+    }
+    (void) close(fd);
+
+    /* open the elf_obj */
+    elf_obj = argv[2];
+    if ((fd = open(elf_obj, O_RDWR)) == -1) {
+        (void) fprintf(stderr, "%s: cannot open file.\n", elf_obj);
+        exit(4);
+    }
+
+    (void) printf("Opening '%s' for update\n", elf_obj);
+    (void) fflush(stdout);
+    (void) elf_version(EV_CURRENT);  /* coordinate ELF versions */
+
+    /* obtain the ELF descriptors from the input file */
+    if ((elf = elf_begin(fd, ELF_C_RDWR, NULL)) == NULL) {
+        failure();
+    }
+
+    /* determine if ELFCLASS64 or not? */
+    elf_ident = elf_getident(elf, NULL);
+    is_elfclass64 = (elf_ident[EI_CLASS] == ELFCLASS64);
+
+    /* get the ELF header */
+    if (is_elfclass64) {
+        ehdr = elf64_getehdr(elf);
+    } else {
+        ehdr = elf32_getehdr(elf);
+    }
+    if (ehdr == NULL) {
+        failure();
+    }
+
+    /* get the ELF section descriptor */
+    if (is_elfclass64) {
+        scn = elf_getscn(elf, ((Elf64_Ehdr *) ehdr)->e_shstrndx);
+    } else {
+        scn = elf_getscn(elf, ((Elf32_Ehdr *) ehdr)->e_shstrndx);
+    }
+    if (scn == NULL) {
+        failure();
+    }
+
+    /* get the section header */
+    if (is_elfclass64) {
+        shdr = elf64_getshdr(scn);
+    } else {
+        shdr = elf32_getshdr(scn);
+    }
+    if (shdr == NULL) {
+        failure();
+    }
+
+    (void) printf("Adding ELF data for new section name\n");
+    (void) fflush(stdout);
+    name_dat = elf_newdata(scn);
+    name_dat->d_buf = (void *) SEC_NAME;
+    if (is_elfclass64) {
+        name_dat->d_off = ((Elf64_Shdr *) shdr)->sh_size + 1;
+    } else {
+        name_dat->d_off = ((Elf32_Shdr *) shdr)->sh_size + 1;
+    }
+    name_dat->d_align = 1;
+    name_dat->d_size = strlen(SEC_NAME) + 1;
+
+    new_scn = elf_newscn(elf);
+
+    if (is_elfclass64) {
+        new_shdr = elf64_getshdr(new_scn);
+        ((Elf64_Shdr *) new_shdr)->sh_flags = SHF_EXCLUDE;
+        ((Elf64_Shdr *) new_shdr)->sh_type = SHT_PROGBITS;
+        ((Elf64_Shdr *) new_shdr)->sh_name = ((Elf64_Shdr *) shdr)->sh_size;
+        ((Elf64_Shdr *) new_shdr)->sh_addralign = 1;
+        ((Elf64_Shdr *) shdr)->sh_size += (strlen(SEC_NAME) + 1);
+    } else {
+        new_shdr = elf32_getshdr(new_scn);
+        ((Elf32_Shdr *) new_shdr)->sh_flags = SHF_EXCLUDE;
+        ((Elf32_Shdr *) new_shdr)->sh_type = SHT_PROGBITS;
+        ((Elf32_Shdr *) new_shdr)->sh_name = ((Elf32_Shdr *) shdr)->sh_size;
+        ((Elf32_Shdr *) new_shdr)->sh_addralign = 1;
+        ((Elf32_Shdr *) shdr)->sh_size += (strlen(SEC_NAME) + 1);
+    }
+
+    (void) printf("Adding ELF data for debug_info_path value\n");
+    (void) fflush(stdout);
+    (void) memset(buffer, 0, sizeof buffer);
+    buffer_len = strlen(debug_info_path) + 1;  /* +1 for NUL */
+    (void) strncpy((char *) buffer, debug_info_path, buffer_len);
+    if (buffer_len % 4 != 0) {
+        /* not on a 4 byte boundary so pad to the next one */
+        buffer_len += (4 - buffer_len % 4);
+    }
+    /* save the CRC */
+    (void) memcpy(&buffer[buffer_len], &file_crc, sizeof file_crc);
+    buffer_len += sizeof file_crc;
+
+    link_dat = elf_newdata(new_scn);
+    link_dat->d_type = ELF_T_BYTE;
+    link_dat->d_size = buffer_len;
+    link_dat->d_buf = buffer;
+    link_dat->d_align = 1;
+
+    (void) printf("Saving updates to '%s'\n", elf_obj);
+    (void) fflush(stdout);
+    (void) elf_update(elf, ELF_C_NULL);   /* recalc ELF memory structures */
+    (void) elf_update(elf, ELF_C_WRITE);  /* write out changes to ELF obj */
+    (void) elf_end(elf);                  /* done with ELF obj */
+    (void) close(fd);
+
+    (void) printf("Done updating '%s'\n", elf_obj);
+    (void) fflush(stdout);
+    exit(0);
+}  /* end main */
+
+
+static void
+failure() {
+    (void) fprintf(stderr, "%s\n", elf_errmsg(elf_errno()));
+    exit(5);
+}
+
+
+/*
+ * The CRC used in gnu_debuglink, retrieved from
+ * http://sourceware.org/gdb/current/onlinedocs/gdb/Separate-Debug-Files.html#Separate-Debug-Files.
+ */
+
+static unsigned int
+gnu_debuglink_crc32(unsigned int crc, unsigned char *buf, size_t len) {
+    static const unsigned int crc32_table[256] = {
+        0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
+        0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4,
+        0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07,
+        0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
+        0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
+        0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
+        0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4,
+        0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+        0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
+        0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a,
+        0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
+        0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+        0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190,
+        0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f,
+        0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e,
+        0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+        0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
+        0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
+        0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3,
+        0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
+        0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a,
+        0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5,
+        0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
+        0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+        0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17,
+        0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6,
+        0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
+        0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
+        0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
+        0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
+        0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a,
+        0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+        0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1,
+        0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c,
+        0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
+        0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+        0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe,
+        0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31,
+        0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c,
+        0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+        0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
+        0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
+        0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1,
+        0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
+        0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
+        0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7,
+        0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
+        0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+        0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605,
+        0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8,
+        0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b,
+        0x2d02ef8d
+    };
+
+    unsigned char *end;
+
+    crc = ~crc & 0xffffffff;
+    for (end = buf + len; buf < end; ++buf) {
+        crc = crc32_table[(crc ^ *buf) & 0xff] ^ (crc >> 8);
+    }
+    return ~crc & 0xffffffff;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/fix_empty_sec_hdr_flags/Makefile	Sun Jun 17 22:07:44 2012 -0700
@@ -0,0 +1,46 @@
+#
+# Copyright (c) 2012, 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.
+#
+# 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.
+#  
+#
+
+# Rules to build fix_empty_sec_hdr_flags, used by various Makefiles on Solaris
+
+BUILDDIR = ../..
+include $(BUILDDIR)/common/Defs.gmk
+
+# Default name
+PROGRAM = fix_empty_sec_hdr_flags
+FIX_EMPTY_SEC_HDR_FLAGS_PROG = $(ABS_BUILDTOOLBINDIR)/$(PROGRAM)
+
+FIX_EMPTY_SEC_HDR_FLAGS_SRC     = fix_empty_sec_hdr_flags.c
+FIX_EMPTY_SEC_HDR_FLAGS_FLAGS   = 
+LIBS_FIX_EMPTY_SEC_HDR_FLAGS   += -lelf
+
+all: $(FIX_EMPTY_SEC_HDR_FLAGS)
+
+$(FIX_EMPTY_SEC_HDR_FLAGS_PROG): $(FIX_EMPTY_SEC_HDR_FLAGS_SRC)
+	$(MKDIR) -p $(BUILDTOOLBINDIR)
+	$(CC) -g -o $@ $< $(FIX_EMPTY_SEC_HDR_FLAGS_FLAGS) $(LIBS_FIX_EMPTY_SEC_HDR_FLAGS)
+
+clean::
+	$(RM) $(FIX_EMPTY_SEC_HDR_FLAGS_PROG)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/tools/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c	Sun Jun 17 22:07:44 2012 -0700
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2012, 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.
+ *
+ * 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.
+ *
+ */
+
+/*
+ * Name:        fix_empty_sec_hdr_flags.c
+ *
+ * Description: Remove the SHF_ALLOC flag from "empty" section headers.
+ *     An "empty" section header has sh_addr == 0 and sh_size == 0.
+ *
+ *     This program is adapted from the example program shown on the
+ *     elf(3elf) man page and from code from the Solaris compiler
+ *     driver.
+ */
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <libelf.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+static void failure(void);
+
+void
+main(int argc, char ** argv) {
+    void *        ehdr;           /* ELF header */
+    unsigned int  i;              /* section counter */
+    int           fd;             /* descriptor for file */
+    Elf *         elf;            /* ELF descriptor */
+    char *        elf_ident;      /* ELF identity string */
+    char *        elf_obj;        /* elf_obj file */
+    int           fix_count;      /* number of flags fixed */
+    int           is_elfclass64;  /* is an ELFCLASS64 file? */
+    Elf_Scn *     scn;            /* ELF section descriptor */
+    void *        shdr;           /* ELF section header */
+    Elf_Data *    shstrtab;       /* ELF section header string table */
+
+    if (argc != 2) {
+        (void) fprintf(stderr, "Usage: %s elf_obj\n", argv[0]);
+        exit(2);
+    }
+
+    /* open the elf_obj */
+    elf_obj = argv[1];
+    if ((fd = open(elf_obj, O_RDWR)) == -1) {
+        (void) fprintf(stderr, "%s: cannot open file.\n", elf_obj);
+        exit(3);
+    }
+
+    (void) printf("Opening '%s' for update\n", elf_obj);
+    (void) fflush(stdout);
+    (void) elf_version(EV_CURRENT);  /* coordinate ELF versions */
+
+    /* obtain the ELF descriptors from the input file */
+    if ((elf = elf_begin(fd, ELF_C_RDWR, NULL)) == NULL) {
+        failure();
+    }
+
+    /* determine if ELFCLASS64 or not? */
+    elf_ident = elf_getident(elf, NULL);
+    is_elfclass64 = (elf_ident[EI_CLASS] == ELFCLASS64);
+
+    /* get the ELF header */
+    if (is_elfclass64) {
+        ehdr = elf64_getehdr(elf);
+    } else {
+        ehdr = elf32_getehdr(elf);
+    }
+    if (ehdr == NULL) {
+        failure();
+    }
+
+    /* get the ELF section descriptor */
+    if (is_elfclass64) {
+        scn = elf_getscn(elf, ((Elf64_Ehdr *) ehdr)->e_shstrndx);
+    } else {
+        scn = elf_getscn(elf, ((Elf32_Ehdr *) ehdr)->e_shstrndx);
+    }
+    if (scn == NULL) {
+        failure();
+    }
+
+    /* get the section header string table */
+    shstrtab = elf_getdata(scn, NULL);
+    if (shstrtab == NULL) {
+        failure();
+    }
+
+    fix_count = 0;
+
+    /* traverse the sections of the input file */
+    for (i = 1, scn = NULL; scn = elf_nextscn(elf, scn); i++) {
+        int    has_flag_set;  /* is SHF_ALLOC flag set? */
+        int    is_empty;      /* is section empty? */
+        char * name;          /* short hand pointer */
+
+        /* get the section header */
+        if (is_elfclass64) {
+            shdr = elf64_getshdr(scn);
+        } else {
+            shdr = elf32_getshdr(scn);
+        }
+        if (shdr == NULL) {
+            failure();
+        }
+
+        if (is_elfclass64) {
+            name = (char *)shstrtab->d_buf + ((Elf64_Shdr *) shdr)->sh_name;
+        } else {
+            name = (char *)shstrtab->d_buf + ((Elf32_Shdr *) shdr)->sh_name;
+        }
+
+        if (is_elfclass64) {
+            has_flag_set = ((Elf64_Shdr *) shdr)->sh_flags & SHF_ALLOC;
+            is_empty = ((Elf64_Shdr *) shdr)->sh_addr == 0 &&
+                ((Elf64_Shdr *) shdr)->sh_size == 0;
+        } else {
+            has_flag_set = ((Elf32_Shdr *) shdr)->sh_flags & SHF_ALLOC;
+            is_empty = ((Elf32_Shdr *) shdr)->sh_addr == 0 &&
+                ((Elf32_Shdr *) shdr)->sh_size == 0;
+        }
+
+        if (is_empty && has_flag_set) {
+            (void) printf("section[%u] '%s' is empty, "
+                "but SHF_ALLOC flag is set.\n", i, name);
+            (void) printf("Clearing the SHF_ALLOC flag.\n");
+
+            if (is_elfclass64) {
+                ((Elf64_Shdr *) shdr)->sh_flags &= ~SHF_ALLOC;
+            } else {
+                ((Elf32_Shdr *) shdr)->sh_flags &= ~SHF_ALLOC;
+            }
+            fix_count++;
+        }
+    }  /* end for each ELF section */
+
+    if (fix_count > 0) {
+        (void) printf("Saving %d updates to '%s'\n", fix_count, elf_obj);
+        (void) fflush(stdout);
+        (void) elf_update(elf, ELF_C_NULL);   /* recalc ELF memory structures */
+        (void) elf_update(elf, ELF_C_WRITE);  /* write out changes to ELF obj */
+    } else {
+        (void) printf("No SHF_ALLOC flags needed to be cleared.\n");
+    }
+
+    (void) elf_end(elf);                  /* done with ELF obj */
+    (void) close(fd);
+
+    (void) printf("Done %s '%s'\n",
+               (fix_count > 0) ? "updating" : "with", elf_obj);
+    (void) fflush(stdout);
+    exit(0);
+}  /* end main */
+
+
+static void
+failure() {
+    (void) fprintf(stderr, "%s\n", elf_errmsg(elf_errno()));
+    exit(6);
+}
--- a/makefiles/CompileDemos.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/makefiles/CompileDemos.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -134,9 +134,9 @@
 			$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/$6share/demo/$2/$1/,$7)))
     ifneq ($7,)
         $(JDK_OUTPUTDIR)/newdemo/$2/$1/% : $(JDK_TOPDIR)/src/$6share/demo/$2/$1/%
-		mkdir -p $$(@D)
-		cp $$< $$@
-		chmod -f ug+w $$@
+		$(MKDIR) -p $$(@D)
+		$(CP) $$< $$@
+		$(CHMOD) -f ug+w $$@
 
         BUILD_DEMOS += $$($1_COPY_TARGETS)
     endif
@@ -155,7 +155,7 @@
 		cd META-INF/services && \
 		$(JAR) uf $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/CodePointIM.jar java.awt.im.spi.InputMethodDescriptor)
 	$(RM) -r $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/_the.tmp
-	touch $@
+	$(TOUCH) $@
 
 BUILD_DEMOS+=$(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/_the.services
 
@@ -167,12 +167,12 @@
 $(eval $(call SetupDemo,SwingApplet,jfc,,SwingApplet,,,README* *.html))
 $(eval $(call SetupDemo,TableExample,jfc,,TableExample,,,README*))
 $(eval $(call SetupDemo,TransparentRuler,jfc,,transparentruler.Ruler,,,README*))
-$(eval $(call SetupDemo,jconsole-plugin,scripting,-cp $(JDK_OUTPUTDIR)/lib/jconsole.jar,,,,*.xml *.txt))
+$(eval $(call SetupDemo,jconsole-plugin,scripting,-cp $(JDK_OUTPUTDIR)/lib/jconsole.jar,,,,*.xml *.txt,,,,Main-Class: \n))
 $(eval $(call SetupDemo,FullThreadDump,management,,FullThreadDump,,,README*))
 $(eval $(call SetupDemo,JTop,management,-cp $(JDK_OUTPUTDIR)/lib/jconsole.jar,JTop,,,README*))
 $(eval $(call SetupDemo,MemoryMonitor,management,,MemoryMonitor,,,README*))
 $(eval $(call SetupDemo,VerboseGC,management,,VerboseGC,,,README*))
-$(eval $(call SetupDemo,zipfs,nio,,,,,README* *.java))
+$(eval $(call SetupDemo,zipfs,nio,,,,,README* *.java,,,,Main-Class: \n))
 
 ifndef OPENJDK
     $(eval $(call SetupDemo,Laffy,jfc,,,,closed/,*))
@@ -188,9 +188,9 @@
 			$(JDK_OUTPUTDIR)/newdemo/nbproject/%,\
 			$(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/demo/nbproject/ -type f))
     $(JDK_OUTPUTDIR)/newdemo/nbproject/% : $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%
-		mkdir -p $(@D)
-		cp $< $@
-		chmod -f ug+w $@
+		$(MKDIR) -p $(@D)
+		$(CP) $< $@
+		$(CHMOD) -f ug+w $@
 endif
 
 ##################################################################################################
@@ -231,6 +231,7 @@
 		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
 		LANG:=$$(BUILD_DEMO_JVMTI_$1_LANG),\
 		CFLAGS:=$(CFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\
+		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\
 		LDFLAGS:=$(LDFLAGS_JDKLIB),\
 		LDFLAGS_SUFFIX:=$$($1_EXTRA_CXX),\
 		LDFLAGS_SUFFIX_posix:=$5,\
@@ -255,7 +256,7 @@
 		BIN:=$(JDK_OUTPUTDIR)/newdemoclasses/jvmti/$1,\
 		COPY:=$(PATTERNS_TO_COPY),\
 		JAR:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar,\
-		JARMAIN:=,\
+		EXTRA_MANIFEST_ATTR:=Main-Class: \n,\
 		MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf))
 
          BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar
@@ -290,11 +291,11 @@
 JPDA_FILES:=$(subst $(JDK_TOPDIR)/src/share/classes/,,$(JPDA_SOURCES))
 
 $(JDK_OUTPUTDIR)/newdemo/jpda/src.zip : $(JPDA_SOURCES)
-		mkdir -p $(@D)
+		$(MKDIR) -p $(@D)
 		(cd $(JDK_TOPDIR)/src/share/classes && $(ZIP) -qru $@ com -i "com/sun/tools/example/*")
 
 $(JDK_OUTPUTDIR)/newdemo/jpda/examples.jar : $(JPDA_SOURCES)
-		mkdir -p $(@D)
+		$(MKDIR) -p $(@D)
 		$(RM) $(@D)/_the.sources
 		$(call ListPathsSafely,JPDA_FILES,\n, >> $(@D)/_the.sources)
 		$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" 		\
@@ -304,7 +305,7 @@
 		(cd $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example && $(JAR) uf $@ README)
 
 $(JDK_OUTPUTDIR)/newdemo/jpda/com/sun/tools/example/README : $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example/README
-		mkdir -p $(@D)
+		$(MKDIR) -p $(@D)
 		$(CP) $< $@
 		$(CHMOD) -f ug+w $@
 
@@ -314,12 +315,12 @@
 ##################################################################################################
 
 $(JDK_OUTPUTDIR)/newdemo/management/index.html : $(JDK_TOPDIR)/src/share/demo/management/index.html
-		mkdir -p $(@D)
+		$(MKDIR) -p $(@D)
 		$(CP) $< $@
 		$(CHMOD) -f ug+w $@
 
 $(JDK_OUTPUTDIR)/newdemo/jvmti/index.html : $(JDK_TOPDIR)/src/share/demo/jvmti/index.html
-		mkdir -p $(@D)
+		$(MKDIR) -p $(@D)
 		$(CP) $< $@
 		$(CHMOD) -f ug+w $@
 
@@ -329,24 +330,102 @@
 ##################################################################################################
 
 # The netbeans project files are copied into the demo directory.
+BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%,\
+		$(JDK_OUTPUTDIR)/newdemo/nbproject/%,\
+		$(shell $(FIND) $(JDK_TOPDIR)/src/share/demo/nbproject/ -type f))
 
-NETBEANS_DEMO_PROJECTS_FILES=$(shell $(FIND) $(JDK_TOPDIR)/src/share/demo/nbproject -type f)
-
-$(JDK_OUTPUTDIR)/newdemo/_the.nbproject: $(NETBEANS_DEMO_PROJECTS_FILES)
-	$(MKDIR) -p $(JDK_OUTPUTDIR)/newdemo
-	$(RM) -rf $(JDK_OUTPUTDIR)/newdemo/nbproject
-	echo Copying Netbeans demo projects
-	(cd $(JDK_TOPDIR)/src/share/demo && cp -r nbproject $(JDK_OUTPUTDIR)/newdemo)
-	touch $@
+$(JDK_OUTPUTDIR)/newdemo/nbproject/% : $(JDK_TOPDIR)/src/share/demo/nbproject/%
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+	$(CHMOD) -f ug+w $@
 
 ##################################################################################################
 
-$(JDK_OUTPUTDIR)/newdemo/README : $(JDK_TOPDIR)/src/share/demo/README
-	mkdir -p $(@D)
-	cp $< $@
+$(JDK_OUTPUTDIR)/newdemo/README: $(JDK_TOPDIR)/src/share/demo/README
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/README
 
 ##################################################################################################
 
-all: $(BUILD_DEMOS) $(JDK_OUTPUTDIR)/newdemo/_the.nbproject $(JDK_OUTPUTDIR)/newdemo/README
+ifeq ($(PLATFORM), solaris)
+
+$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/% : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/%
+		$(MKDIR) -p $(@D)
+		$(CP) $< $@
+		$(CHMOD) -f ug+w $@
+
+$(JDK_OUTPUTDIR)/newdemo/jni/Poller/README.txt : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/README.txt
+		$(MKDIR) -p $(@D)
+		$(CP) $< $@
+		$(CHMOD) -f ug+w $@
+
+$(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar : \
+  $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/README.txt $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/Poller.c
+
+$(eval $(call SetupJavaCompilation,BUILD_DEMO_POLLER_JAR,\
+		SETUP:=GENERATE_USINGJDKBYTECODE, \
+		SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \
+		BIN:=$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
+		HEADERS:=$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
+		JAR:=$(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar, \
+		MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf, \
+		SRCZIP:=$(JDK_OUTPUTDIR)/newdemo/jni/Poller/src.zip, \
+		COPY := README.txt Poller.c, \
+		JARMAIN := Client))
+
+
+
+BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar $(JDK_OUTPUTDIR)/newdemo/jni/Poller/src.zip \
+               $(JDK_OUTPUTDIR)/newdemo/jni/Poller/README.txt
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBPOLLER,\
+		SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \
+		LANG := C, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        -I$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB), \
+		BIN:=$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller,\
+		LIB:=$(JDK_OUTPUTDIR)/newdemoobjs/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)))
+
+#
+# We can only compile native code after jar has been build (since we depend on generated .h files)
+#
+$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller/Poller.o : $(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar
+
+$(JDK_OUTPUTDIR)/newdemo/jni/Poller/lib/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX) : \
+  $(JDK_OUTPUTDIR)/newdemoobjs/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jni/Poller/lib/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)
+
+endif
+
+##################################################################################################
+
+ifndef OPENJDK
+    DB_DEMO_ZIPFILE := $(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/db -name "*demo*.zip")
+
+    $(JDK_OUTPUTDIR)/newdemo/_the.db.unzipped: $(DB_DEMO_ZIPFILE)
+	$(MKDIR) -p $(@D)
+	$(RM) -rf $(JDK_OUTPUTDIR)/newdemo/db $(JDK_OUTPUTDIR)/newdemo/demo
+	$(CD) $(JDK_OUTPUTDIR)/newdemo && $(UNZIP) -o $<
+	$(MV) $(JDK_OUTPUTDIR)/newdemo/demo $(JDK_OUTPUTDIR)/newdemo/db
+	$(TOUCH) $@
+
+#    Copy this after the unzip above to avoid race with directory creation and mv command.
+     $(JDK_OUTPUTDIR)/newdemo/db/README-JDK-DEMOS.html: \
+		$(JDK_TOPDIR)/src/closed/share/db/README-JDK-DEMOS.html \
+		| $(JDK_OUTPUTDIR)/newdemo/_the.db.unzipped
+	$(MKDIR) -p $(@D)
+	$(CP) '$<' '$@'
+     BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/_the.db.unzipped $(JDK_OUTPUTDIR)/newdemo/db/README-JDK-DEMOS.html
+endif
+
+##################################################################################################
+
+all: $(BUILD_DEMOS)
 
 .PHONY: all
--- a/makefiles/CompileJavaClasses.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/makefiles/CompileJavaClasses.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -32,36 +32,44 @@
 # Setup the java compilers for the JDK build.
 include Setup.gmk
 
-EXCLUDES:=	sun/dc \
-		sun/security/pkcs11 \
-		com/sun/pept \
+JARS :=
+EXFILES :=
+EXCLUDES :=
+
+##########################################################################################
+
+EXCLUDES +=	com/sun/pept \
 		com/sun/tools/example/trace\
 		com/sun/tools/example/debug/bdi\
 		com/sun/tools/example/debug/event\
 		com/sun/tools/example/debug/gui \
-		javax/crypto \
 		com/oracle/security
 
+ifeq ($(PLATFORM)-$(ARCH_DATA_MODEL),windows-64)
+     EXCLUDES += sun/security/pkcs11
+endif
+
 ifdef OPENJDK
-    EXCLUDES+=	com/sun/jmx/snmp \
+    EXCLUDES+=	sun/dc \
+		com/sun/jmx/snmp \
 		sun/management/snmp \
 		com/sun/script
 endif
 
+ifndef OPENJDK
+   # There exists two versions of this file...
+   EXFILES := $(JDK_TOPDIR)/src/share/classes/javax/crypto/JarVerifier.java
+endif
+
 ifneq ($(PLATFORM),solaris)
    # Exclude Solaris nio and two security related files in src/share/classes
-   EXFILES:=SolarisAclFileAttributeView.java \
+   EXFILES += SolarisAclFileAttributeView.java \
 	SolarisFileStore.java \
 	SolarisFileSystem.java \
 	SolarisFileSystemProvider.java \
 	SolarisNativeDispatcher.java \
 	SolarisUserDefinedFileAttributeView.java \
 	SolarisWatchService.java \
-	DevPollArrayWrapper.java \
-	DevPollSelectorImpl.java \
-	DevPollSelectorProvider.java \
-	SolarisAsynchronousChannelProvider.java \
-	SolarisEventPort.java \
 	SolarisAclFileAttributeView.java \
 	SolarisFileStore.java \
 	SolarisFileSystem.java \
@@ -75,8 +83,11 @@
 	sun/tools/attach/SolarisVirtualMachine.java
 endif
 
-# Why?
-EXFILES+=WrapperGenerator.java
+# In the old build, this isn't excluded on macosx, even though it probably
+# should be.
+ifneq ($(PLATFORM),macosx)
+	EXFILES+=WrapperGenerator.java
+endif
 
 ifneq ($(PLATFORM),windows)
     # Exclude Window security related files in src/share/classes
@@ -86,14 +97,20 @@
 endif
 
 ifeq ($(PLATFORM),windows)
-    # Does nio channels exist on Windows?
-    EXCLUDES+=sun/nio/ch
+    # Don't build GTK L&F on Windows
+    EXCLUDES+=	com/sun/java/swing/plaf/gtk
 endif
 
 ifneq ($(PLATFORM),linux)
-    EXCLUDES+=com/sun/java/swing/plaf/gtk
     EXFILES+=sun/tools/attach/LinuxAttachProvider.java \
-	sun/tools/attach/LinuxVirtualMachine.java
+	sun/tools/attach/LinuxVirtualMachine.java \
+	sun/nio/fs/LinuxDosFileAttributeView.java \
+	sun/nio/fs/LinuxFileStore.java \
+	sun/nio/fs/LinuxFileSystem.java \
+	sun/nio/fs/LinuxFileSystemProvider.java \
+	sun/nio/fs/LinuxNativeDispatcher.java \
+	sun/nio/fs/LinuxUserDefinedFileAttributeView.java \
+	sun/nio/fs/LinuxWatchService.java
 endif
 
 ifneq ($(PLATFORM),macosx)
@@ -105,19 +122,6 @@
              sun/tools/attach/BsdVirtualMachine.java
 endif
 
-# Generated nimbus files that apparently should not be compiled...
-EXFILES+=InternalFrameTitlePanePainter.java \
-	OptionPaneMessageAreaPainter.java \
-        ScrollBarPainter.java \
-	SliderPainter.java \
-	SpinnerPainter.java \
-	SplitPanePainter.java \
-	TabbedPanePainter.java
-
-# New class /java/lang/annotation/ContainerAnnotation.java is not included in old 
-# build
-EXFILES+=java/lang/annotation/ContainerAnnotation.java
-
 # Exclude BreakIterator classes that are just used in compile process to generate
 # data files and shouldn't go in the product
 EXFILES+=sun/text/resources/BreakIteratorRules.java \
@@ -130,16 +134,17 @@
 
 ifdef OPENJDK
     EXCLUDES+=sun/java2d/cmm/kcms
-else
-    EXCLUDES+=sun/java2d/cmm/lcms
 endif
 
-# Not used on windows
-ifneq ($(PLATFORM), windows)
+# Used on windows and macosx
+ifeq (,$(filter $(PLATFORM), windows macosx))
     EXFILES+=sun/awt/AWTCharset.java
 endif
 
-# Exclude some generated AWT files that were implicitly not included by the old build.
+ifneq ($(PLATFORM), macosx)
+#
+# Not in rt.jar on solaris and linux...(windows not checked)
+#     in rt.jar on macosx ??
 EXFILES+=sun/awt/X11/ScreenFormat.java \
          sun/awt/X11/XArc.java \
          sun/awt/X11/XChar2b.java \
@@ -182,19 +187,15 @@
          sun/awt/X11/XdbeSwapInfo.java \
          sun/awt/X11/XmbTextItem.java \
          sun/awt/X11/XwcTextItem.java
-
-# Exclude sun/security files that should go in a separate jar
-EXFILES+=sun/security/ec/ECDHKeyAgreement.java \
-         sun/security/ec/ECDSASignature.java \
-         sun/security/ec/ECKeyPairGenerator.java \
-         sun/security/ec/SunEC$1.java \
-         sun/security/ec/SunEC.java \
-         sun/security/ec/SunECEntries.java
+endif
 
 # Exclude another implicitly not included file.
 EXFILES+=sun/util/locale/AsciiUtil.java
 
-ifeq ($(PLATFORM), linux)
+ifeq (,$(filter $(PLATFORM), solaris macosx))
+#
+# only solaris and macosx
+#
     EXFILES+=sun/nio/fs/PollingWatchService.java
 endif
 
@@ -205,11 +206,42 @@
 
 # TODO: Is this necessary?
 ifeq ($(PLATFORM), windows)
+    EXFILES+=sun/nio/ch/AbstractPollSelectorImpl.java \
+	sun/nio/ch/DevPollArrayWrapper.java \
+	sun/nio/ch/DevPollSelectorImpl.java \
+        sun/nio/ch/DevPollSelectorProvider.java \
+	sun/nio/ch/InheritedChannel.java \
+        sun/nio/ch/PollSelectorProvider.java \
+        sun/nio/ch/PollSelectorImpl.java \
+	sun/nio/ch/Port.java \
+	sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
+	sun/nio/ch/SolarisAsynchronousChannelProvider.java \
+	sun/nio/ch/SolarisEventPort.java \
+	sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
+	sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
     EXFILES+=sun/net/sdp/SdpProvider.java
 else
     EXFILES+=sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java
 endif
 
+ifdef DISABLE_NIMBUS
+    # TODO: need to check when it happens
+    # Exclude nimus if disabled
+    EXCLUDES+=	javax/swing/plaf/nimbus \
+		com/sun/java/swing/plaf/nimbus
+else
+#
+# These are never put into rt.jar
+#
+EXFILES+=  javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
+           javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
+           javax/swing/plaf/nimbus/ScrollBarPainter.java \
+           javax/swing/plaf/nimbus/SliderPainter.java \
+           javax/swing/plaf/nimbus/SpinnerPainter.java \
+           javax/swing/plaf/nimbus/SplitPanePainter.java \
+           javax/swing/plaf/nimbus/TabbedPanePainter.java
+endif
+
 # Acquire a list of files that should be copied straight over to the classes.
 include CopyIntoClasses.gmk
 # Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA
@@ -219,25 +251,105 @@
 		     $(JDK_TOPDIR)/src/closed/$(LEGACY_HOST_OS_API)/classes
 endif
 
+MACOSX_SRC_DIRS :=
+ifeq ($(PLATFORM),macosx)
+     MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
+
+     # this files are duplicated in MACOSX_SRC_DIRS
+     EXFILES+= $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \
+               $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
+               $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
+	       $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java
+endif
+
+# The exception handling of swing beaninfo
+# These resources violates the convention of having code and resources together under
+# $(JDK_TOPDIR)/src/.../classes directories
+$(JDK_OUTPUTDIR)/classes/javax/swing/beaninfo/images/%.gif: $(JDK_TOPDIR)/make/tools/swing-beans/beaninfo/images/%.gif
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
 $(eval $(call SetupJavaCompilation,BUILD_JDK,\
                 SETUP:=GENERATE_JDKBYTECODE,\
 		SRC:=$(JDK_TOPDIR)/src/share/classes \
 		     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes \
+		     $(MACOSX_SRC_DIRS) \
 		     $(JDK_OUTPUTDIR)/gensrc \
+		     $(JDK_OUTPUTDIR)/gensrc_swing/javax/swing/beaninfo \
 		     $(CLOSED_SRC_DIRS),\
 		EXCLUDES:=$(EXCLUDES),\
 		EXCLUDE_FILES:=$(EXFILES),\
-		BIN:=$(JDK_OUTPUTDIR)/newclasses,\
+		BIN:=$(JDK_OUTPUTDIR)/classes,\
 		COPY:=$(COPY_PATTERNS),\
 		COPY_FILES:=$(COPY_FILES),\
-		JAR:=$(JDK_OUTPUTDIR)/newrt.jar,\
 		HEADERS:=$(JDK_OUTPUTDIR)/gensrc_headers))
 
+##########################################################################################
+# Special handling of header file generation for classes in the jigsaw base module which
+# currently can't add the annotaion GenerateNativeHeaders. For these specific classes the
+# java file and the class have the same names which enables shortcutting the dependencies.
+
+JDK_BASE_HEADER_CLASSES:=java.lang.Integer \
+			 java.lang.Long \
+			 java.net.SocketOptions \
+			 sun.nio.ch.IOStatus
+
+JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\
+				$(subst .,/,$(JDK_BASE_HEADER_CLASSES)))
+
+ifeq ($(PLATFORM),windows)
+    JDK_BASE_HEADER_CLASSES_WINDOWS:=sun.nio.ch.PollArrayWrapper
+    JDK_BASE_HEADER_CLASSES+=$(JDK_BASE_HEADER_CLASSES_WINDOWS)
+    JDK_BASE_HEADER_JAVA_FILES+=$(patsubst %,$(JDK_TOPDIR)/src/windows/classes/%.java,\
+				$(subst .,/,$(JDK_BASE_HEADER_CLASSES_WINDOWS)))
+endif
+
+# Set prereqs to the java files since make doesn't know about the class files. Add BUILD_JDK
+# as an order only dependency to avoid race with the java compilation.
+$(JDK_OUTPUTDIR)/classes/_the.jdk.base.headers: $(JDK_BASE_HEADER_JAVA_FILES) | $(BUILD_JDK)
+	$(ECHO) Generating headers for jdk base classes
+	$(JAVAH) -bootclasspath $(JDK_OUTPUTDIR)/classes -d $(JDK_OUTPUTDIR)/gensrc_headers \
+		$(JDK_BASE_HEADER_CLASSES)
+	$(TOUCH) $@
+
+##########################################################################################
+
+#
+# This is an empty jar (only contains manifest) and fits poorly into framework...
+#   create simple rule instead
+#
+MANAGEMENT_AGENT_JAR_DEPS := $(JDK_TOPDIR)/src/share/classes/sun/management/manifest
+
+$(JDK_OUTPUTDIR)/lib/management-agent.jar : $(JDK_TOPDIR)/src/share/classes/sun/management/manifest
+	$(JAR) cfm $@ $(JDK_TOPDIR)/src/share/classes/sun/management/manifest
+
+JARS += $(JDK_OUTPUTDIR)/lib/management-agent.jar
+
+##########################################################################################
+
+ifndef OPENJDK
+
+$(eval $(call SetupJavaCompilation,BUILD_ALTCLASSES_JAR,\
+		SETUP:=GENERATE_JDKBYTECODE,\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/altclasses, \
+		BIN:=$(JDK_OUTPUTDIR)/altclasses_classes,\
+		JAR:=$(JDK_OUTPUTDIR)/lib/alt-rt.jar))
+
+$(BUILD_ALTCLASSES_JAR): $(BUILD_JDK)
+JARS += $(JDK_OUTPUTDIR)/lib/alt-rt.jar
+
+endif
+
+##########################################################################################
+
+$(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin:
+	$(MKDIR) -p $(@D)
+	$(TOUCH) $@
+
+##########################################################################################
+
 # copy with -a to preserve timestamps so dependencies down the line aren't messed up
-all: $(BUILD_JDK) $(JDK_OUTPUTDIR)/newrt.jar $(COPY_EXTRA)
-	(cd $(JDK_OUTPUTDIR); \
-		$(CP) -rp newclasses/* classes; \
-		$(FIND) classes -name "_the.*" $(FIND_DELETE); \
-		$(TOUCH) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin)
+all: $(BUILD_JDK) $(JARS) $(COPY_EXTRA) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
+	$(JDK_OUTPUTDIR)/classes/_the.jdk.base.headers
 
 .PHONY: all
--- a/makefiles/CompileLaunchers.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/makefiles/CompileLaunchers.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -41,6 +41,16 @@
     # Parameter 3 are extra LDFLAGS
     # Parameter 4 are extra LDFLAGS_SUFFIX_posix
     # Parameter 5 are extra LDFLAGS_SUFFIX_winapi
+
+    $1_WINDOWS_JLI_LIB:=$(JDK_OUTPUTDIR)/objs/jli.lib
+    ifneq ($6,)
+        $1_WINDOWS_JLI_LIB:=$6
+    endif
+    $1_VERSION_INFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc
+    ifneq ($8,)
+        $1_VERSION_INFO_RESOURCE:=$8
+    endif
+
     $(call SetupNativeCompilation,BUILD_LAUNCHER_$1,\
 	SRC:=$(JDK_TOPDIR)/src/share/bin,\
 	INCLUDE_FILES:=main.c,\
@@ -61,19 +71,22 @@
                  $(call SET_SHARED_LIBRARY_ORIGIN,../lib/$(LIBARCH)/jli) \
                  $(call SET_SHARED_LIBRARY_ORIGIN,../jre/lib/$(LIBARCH)/jli) \
 		 $3,\
-        LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/launchers/mapfile-$(ARCH)),\
+	MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(ARCH), \
         LDFLAGS_SUFFIX:=$(LDFLAGS_JDKEXE_SUFFIX),\
 	LDFLAGS_SUFFIX_posix:=$4 -lc,\
-	LDFLAGS_SUFFIX_winapi:=$5,\
-	BIN:=$(JDK_OUTPUTDIR)/newobjs/$1_objs,\
-	EXE:=$(JDK_OUTPUTDIR)/newobjs/$1$(EXE_SUFFIX),\
-	VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
+	LDFLAGS_SUFFIX_winapi:=$$($1_WINDOWS_JLI_LIB) \
+			       $(JDK_OUTPUTDIR)/objs/java.lib advapi32.lib $5,\
+	BIN:=$(JDK_OUTPUTDIR)/objs/$1_objs,\
+	EXE:=$(JDK_OUTPUTDIR)/objs/$1$(EXE_SUFFIX),\
+	VERSIONINFO_RESOURCE:=$$($1_VERSION_INFO_RESOURCE),\
 	RC_FLAGS:=$(RC_FLAGS)\
 		  /D "JDK_FNAME=$1$(EXE_SUFFIX)" \
 		  /D "JDK_INTERNAL_NAME=$1" \
-		  /D "JDK_FTYPE=0x1L")
+		  /D "JDK_FTYPE=0x1L" \
+		  $7,\
+	MANIFEST:=$(JDK_TOPDIR)/src/windows/resource/java.manifest)
 
-    BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/newobjs/$1$(EXE_SUFFIX) $(JDK_OUTPUTDIR)/bin/$1$(EXE_SUFFIX)
+    BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/$1$(EXE_SUFFIX)
 endef
 
 ##########################################################################################
@@ -84,8 +97,23 @@
     XLIBS:=
 endif
 
+ifdef OPENJDK
+    JAVA_RC_FLAGS += -i "$(JDK_TOPDIR)/src/windows/resource/icons"
+else
+    JAVA_RC_FLAGS += -i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
+endif
+
 $(eval $(call SetupLauncher,java,\
-    -DEXPAND_CLASSPATH_WILDCARDS))
+    -DEXPAND_CLASSPATH_WILDCARDS,,,user32.lib comctl32.lib,\
+    $(JDK_OUTPUTDIR)/objs/jli_static.lib,$(JAVA_RC_FLAGS),\
+    $(JDK_TOPDIR)/src/windows/resource/java.rc))
+
+ifeq ($(HOST_OS),windows)
+    $(eval $(call SetupLauncher,javaw,\
+        -DEXPAND_CLASSPATH_WILDCARDS,,,user32.lib comctl32.lib,\
+        $(JDK_OUTPUTDIR)/objs/jli_static.lib,$(JAVA_RC_FLAGS),\
+        $(JDK_TOPDIR)/src/windows/resource/java.rc))
+endif
 
 ifeq ($(PLATFORM),solaris)
     THREAD_LIB:=-lthread
@@ -257,58 +285,111 @@
 ##########################################################################################
 # The order of the object files on the link command line affects the size of the resulting
 # binary (at least on linux) which causes the size to differ between old and new build.
-UNPACKEXE_ZIPOBJS = 	$(JDK_OUTPUTDIR)/newobjs/libzip/zcrc32$(OBJ_SUFFIX) \
-		     	$(JDK_OUTPUTDIR)/newobjs/libzip/deflate$(OBJ_SUFFIX) \
-			$(JDK_OUTPUTDIR)/newobjs/libzip/trees$(OBJ_SUFFIX) \
-			$(JDK_OUTPUTDIR)/newobjs/libzip/zadler32$(OBJ_SUFFIX) \
-			$(JDK_OUTPUTDIR)/newobjs/libzip/compress$(OBJ_SUFFIX) \
-			$(JDK_OUTPUTDIR)/newobjs/libzip/zutil$(OBJ_SUFFIX) \
-			$(JDK_OUTPUTDIR)/newobjs/libzip/inflate$(OBJ_SUFFIX) \
-			$(JDK_OUTPUTDIR)/newobjs/libzip/infback$(OBJ_SUFFIX) \
-			$(JDK_OUTPUTDIR)/newobjs/libzip/inftrees$(OBJ_SUFFIX) \
-			$(JDK_OUTPUTDIR)/newobjs/libzip/inffast$(OBJ_SUFFIX)
+ifeq ($(USE_EXTERNAL_LIBZ), true)
+UNPACKEXE_ZIPOBJS := -lz
+else
+UNPACKEXE_ZIPOBJS := 	$(JDK_OUTPUTDIR)/objs/libzip/zcrc32$(OBJ_SUFFIX) \
+		     	$(JDK_OUTPUTDIR)/objs/libzip/deflate$(OBJ_SUFFIX) \
+			$(JDK_OUTPUTDIR)/objs/libzip/trees$(OBJ_SUFFIX) \
+			$(JDK_OUTPUTDIR)/objs/libzip/zadler32$(OBJ_SUFFIX) \
+			$(JDK_OUTPUTDIR)/objs/libzip/compress$(OBJ_SUFFIX) \
+			$(JDK_OUTPUTDIR)/objs/libzip/zutil$(OBJ_SUFFIX) \
+			$(JDK_OUTPUTDIR)/objs/libzip/inflate$(OBJ_SUFFIX) \
+			$(JDK_OUTPUTDIR)/objs/libzip/infback$(OBJ_SUFFIX) \
+			$(JDK_OUTPUTDIR)/objs/libzip/inftrees$(OBJ_SUFFIX) \
+			$(JDK_OUTPUTDIR)/objs/libzip/inffast$(OBJ_SUFFIX)
+
+
+$(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX): $(UNPACKEXE_ZIPOBJS)
+
+endif
 
 $(eval $(call SetupNativeCompilation,BUILD_UNPACKEXE,\
                 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
 		EXCLUDE_FILES:=jni.cpp,\
-		LANG:=C++,\
+		LANG:=C,\
 		CFLAGS:=$(CXXFLAGS_JDKEXE) $(CXX_O_FLAG_NORM) \
 			 -DFULL \
 			 -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
 		CFLAGS_release:=-DPRODUCT,\
 		CFLAGS_linux:=-fPIC,\
+		MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200, \
 		LDFLAGS:=$(LDFLAGS_JDKEXE) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libunpack/mapfile-vers-unpack200) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN), \
 		LDFLAGS_SUFFIX:=$(UNPACKEXE_ZIPOBJS) $(LIBCXX),\
 		LDFLAGS_SUFFIX_solaris:=-lc,\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/unpackexe,\
-		EXE:=$(JDK_OUTPUTDIR)/newobjs/unpack200$(EXE_SUFFIX),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/unpackexe,\
+		EXE:=$(JDK_OUTPUTDIR)/objs/unpack200$(EXE_SUFFIX),\
 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
 		RC_FLAGS:=$(RC_FLAGS)\
 			  /D "JDK_FNAME=unpack200.exe" \
 			  /D "JDK_INTERNAL_NAME=unpack200" \
-			  /D "JDK_FTYPE=0x1L"))
+			  /D "JDK_FTYPE=0x1L",\
+		MANIFEST:=$(JDK_TOPDIR)/src/windows/resource/unpack200_proto.exe.manifest))
 
-$(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX): $(UNPACKEXE_ZIPOBJS)
+BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
 
-ifeq ($(HOST_OS_API),winapi)
-    UNPACK_MANIFEST:=$(JDK_OUTPUTDIR)/newobjs/unpackexe/unpack200.exe.manifest
-    IMVERSIONVALUE=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
-    SED_ALL_MANIFEST=$(SED) -e 's%IMVERSION%$(IMVERSIONVALUE)%g'
+##########################################################################################
 
-    $(UNPACK_MANIFEST): $(JDK_TOPDIR)/src/windows/resource/unpack200_proto.exe.manifest
-	$(CAT) $< | $(SED_ALL_MANIFEST) > $@
 
-    # Adding a dependency to spec file might be a good idea here, to force rerun on version change.
-    $(JDK_OUTPUTDIR)/newobjs/unpackexe/unpack200.exe.manifest.mt: $(UNPACK_MANIFEST)
-	$(MT) /manifest $< /outputresource:$(JDK_OUTPUTDIR)/newobjs/unpack200$(EXE_SUFFIX);#1
-	touch $@
+BUILD_JEXEC := 
+BUILD_JEXEC_SRC :=
+BUILD_JEXEC_INC :=
+BUILD_JEXEC_DST := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/jexec$(EXE_SUFFIX)
 
-    $(JDK_OUTPUTDIR)/newobjs/unpackexe/unpack200.exe.manifest.mt: $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
+#
+# UNHANDLED:
+# - COMPILE_APPROACH = normal
+#
+
+#
+# jdk/make/java/Makefile
+#
+ifeq ($(PLATFORM), solaris)
+	ifeq ($(ARCH_DATA_MODEL), 32)
+		BUILD_JEXEC := 1
+	endif
 endif
 
-BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
+ifeq ($(PLATFORM), linux)
+	BUILD_JEXEC := 1
+endif # PLATFORM
+
+#
+# jdk/make/java/jexec/Makefile
+#
+ifeq ($(BUILD_JEXEC), 1)
+
+	ifeq ($(PLATFORM),windows)
+	else ifeq ($(PLATFORM),macosx)
+		BUILD_JEXEC_SRC := $(JDK_TOPDIR)/src/macosx/bin
+	else
+		BUILD_JEXEC_SRC := $(JDK_TOPDIR)/src/solaris/bin
+	endif
+
+	ifeq ($(PLATFORM), linux)
+		BUILD_JEXEC_DST := $(JDK_OUTPUTDIR)/lib/jexec$(EXE_SUFFIX)
+		BUILD_JEXEC_INC += -I$(JDK_TOPDIR)/src/share/bin
+	endif
+endif
+
+#
+# Note that the two Makefile's seems to contradict each other,
+#   and that src/macosx/bin/jexec.c seems unused
+#
+ifneq ($(BUILD_JEXEC_SRC),)
+        $(eval $(call SetupNativeCompilation,BUILD_JEXEC,\
+		SRC:=$(BUILD_JEXEC_SRC),\
+		INCLUDE_FILES:=jexec.c,\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKEXE) $(C_O_FLAG_NORM) \
+                        $(BUILD_JEXEC_INC), \
+		LDFLAGS:=$(LDFLAGS_JDKEXE), \
+		BIN:=$(JDK_OUTPUTDIR)/objs/jexec_obj,\
+		EXE:=$(BUILD_JEXEC_DST)))
+
+	BUILD_LAUNCHERS += $(BUILD_JEXEC_DST)
+endif
 
 ##########################################################################################
 
@@ -335,22 +416,25 @@
 ifeq ($(HOST_OS_API),winapi)
     $(eval $(call SetupLauncher,java-rmi,\
         -DEXPAND_CLASSPATH_WILDCARDS,\
-        $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/java/main/java/mapfile-$(ARCH))))
+        $(call SET_SHARED_LIBRARY_MAPFILE,$(JDK_TOPDIR)/makefiles/java/main/java/mapfile-$(ARCH))))
 
-    $(JAVA_RMI_CGI): $(JDK_OUTPUTDIR)/newobjs/java-rmi$(EXE_SUFFIX)
+    $(JAVA_RMI_CGI): $(JDK_OUTPUTDIR)/objs/java-rmi$(EXE_SUFFIX)
+	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 
     BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
 else
     $(JAVA_RMI_CGI): $(JDK_TOPDIR)/src/solaris/bin/java-rmi.cgi.sh
+	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 	$(CHMOD) a+x $@
 endif
 
 ##########################################################################################
 
-$(JDK_OUTPUTDIR)/bin/% : $(JDK_OUTPUTDIR)/newobjs/%
-	echo Copying $(@F)
+$(JDK_OUTPUTDIR)/bin/% : $(JDK_OUTPUTDIR)/objs/%
+	$(ECHO) Copying $(@F)
+	$(MKDIR) -p $(@D)
 	$(CP) $< $@
 
 $(BUILD_LAUNCHERS) : $(JDK_TOPDIR)/makefiles/CompileLaunchers.gmk
--- a/makefiles/CompileNativeLibraries.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/makefiles/CompileNativeLibraries.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -52,8 +52,8 @@
     INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
 endif
 
-$(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) : $(JDK_OUTPUTDIR)/newobjs/%$(SHARED_LIBRARY_SUFFIX)
-	echo Copying $(@F)
+$(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX) : $(JDK_OUTPUTDIR)/objs/%$(SHARED_LIBRARY_SUFFIX)
+	$(ECHO) Copying $(@F)
 	$(CP) $< $@
 
 BUILD_LIBRARIES=
@@ -70,28 +70,64 @@
 
 ##########################################################################################
 
+BUILD_LIBZIP_FILES := \
+        CRC32.c \
+	Adler32.c \
+	Deflater.c \
+	Inflater.c \
+	ZipFile.c \
+	zip_util.c
+
+ifeq ($(USE_EXTERNAL_LIBZ),true)
+	LIBZ := -lz
+else
+BUILD_LIBZIP_FILES += \
+	compress.c \
+	deflate.c \
+	gzclose.c \
+	gzlib.c \
+	gzread.c \
+	gzwrite.c \
+	infback.c \
+	inffast.c \
+	inflate.c \
+	inftrees.c \
+	trees.c \
+	uncompr.c \
+	zadler32.c \
+	zcrc32.c \
+	zutil.c
+	LIBZ_INCLUDE := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
+endif
+
 $(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
+                SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip \
+                     $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
+		INCLUDE_FILES := $(BUILD_LIBZIP_FILES), \
 		LANG:=C,\
 		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-                        -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 \
+                        $(LIBZ_INCLUDE) \
 		        -I$(JDK_TOPDIR)/src/share/native/java/io \
                         -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/io,\
-		CFLAGS_posix:=-DUSE_MMAP,\
+		CFLAGS_posix:=-DUSE_MMAP -UDEBUG,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(EXPORT_ZIP_FUNCS) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libzip/mapfile-vers),\
+			 $(EXPORT_ZIP_FUNCS), \
 		LDFLAGS_winapi:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
-                                -export:ZIP_ReadEntry -export:ZIP_GetNextEntry,\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libzip,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX)))
+                                -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
+                                java.lib,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBZ),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libzip,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
 
 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)zip$(SHARED_LIBRARY_SUFFIX)
 
 ##########################################################################################
 
-LIBUNPACK_LIB_FILE := $(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)
+LIBUNPACK_LIB_FILE := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
                 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
@@ -100,13 +136,14 @@
 		CFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
 			 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
 		CFLAGS_release:=-DPRODUCT,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB)\
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libunpack/mapfile-vers) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_winapi:=-map:$(JDK_OUTPUTDIR)/newobjs/unpack.map /debug,\
+		LDFLAGS_winapi:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map /debug \
+				jvm.lib java.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
 		LDFLAGS_SUFFIX_posix:=$(LIBCXX),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libunpack,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libunpack,\
 		LIB:=$(LIBUNPACK_LIB_FILE),\
 		VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
 		RC_FLAGS:=$(RC_FLAGS)\
@@ -114,46 +151,60 @@
 			  /D "JDK_INTERNAL_NAME=unpack" \
 			  /D "JDK_FTYPE=0x2L"))
 
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)
 
 ifeq ($(HOST_OS_API),winapi)
     $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(LIBUNPACK_LIB_FILE)
-	echo Copying $(@F)
+	$(ECHO) Copying $(@F)
 	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
 
     $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(LIBUNPACK_LIB_FILE)
-	echo Copying $(@F)
+	$(ECHO) Copying $(@F)
 	$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
 endif
 
 ##########################################################################################
 
-$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
-                SRC:=$(JDK_TOPDIR)/src/share/native/common,\
-		EXCLUDE_FILES:=check_version.c jdk_util.c jio.c jni_util.c verify_stub.c,\
-		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) ${C_O_FLAG_HI} $(SHARED_LIBRARY_FLAGS), \
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libverify/mapfile-vers),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libverify,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)
-
-##########################################################################################
-
+BUILD_LIBFDLIBM_OPTIMIZATION:= $(C_O_FLAG_HI)
+
+ifneq ($(PLATFORM), solaris)
+      BUILD_LIBFDLIBM_OPTIMIZATION := $(C_O_FLAG_NONE)
+endif
+
+ifneq ($(PLATFORM),macosx)
 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
                 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) ${C_O_FLAG_NONE}\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFDLIBM_OPTIMIZATION) \
 			-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
 		CFLAGS_winapi_debug:=-DLOGGING,\
 		ARFLAGS:=$(ARFLAGS),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libfdlibm,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
+		BIN:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)))
+else
+#
+# On macosx they do partial (incremental) linking of fdlibm
+#   code it here...rather than add support to NativeCompilation
+#   as this is firt time I see it
+$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
+                SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFDLIBM_OPTIMIZATION) \
+			-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
+		LDFLAGS := -nostdlib -r,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) : \
+	$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(SHARED_LIBRARY_SUFFIX)
+	$(CP) -a $< $@
+endif
+
+
+BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
 
 ##########################################################################################
 
@@ -173,14 +224,17 @@
 		EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
 		LANG:=C,\
 		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(PLATFORM), \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libattach/mapfile-$(PLATFORM)) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_solaris:=-ldoor,\
-		LDFLAGS_winapi:=psapi.lib advapi32.lib,\
+		LDFLAGS_winapi:=psapi.lib advapi32.lib java.lib jvm.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libattach,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX)))
+		BIN:=$(JDK_OUTPUTDIR)/objs/libattach,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
 
 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)attach$(SHARED_LIBRARY_SUFFIX)
 
@@ -196,14 +250,17 @@
 		        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/transport/socket \
                         -I$(JDK_TOPDIR)/src/share/back/export \
                         -I$(JDK_TOPDIR)/src/share/back,\
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libdt_socket/mapfile-vers),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB), \
 		LDFLAGS_SUFFIX_linux:=-lpthread,\
 		LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket,\
 		LDFLAGS_SUFFIX_winapi:=-export:jdwpTransport_OnLoad ws2_32.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libdt_socket,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX)))
+		BIN:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
 
 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)dt_socket$(SHARED_LIBRARY_SUFFIX)
 
@@ -224,8 +281,8 @@
 		LDFLAGS:=$(LDFLAGS_JDKLIB),\
 		LDFLAGS_winapi:=-export:jdwpTransport_OnLoad,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libdt_shmem,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)dt_shmem$(SHARED_LIBRARY_SUFFIX)))
+		BIN:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dt_shmem$(SHARED_LIBRARY_SUFFIX)))
 
   BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)dt_shmem$(SHARED_LIBRARY_SUFFIX)
 
@@ -246,45 +303,55 @@
                  -I$(JDK_TOPDIR)/src/share/back \
                  -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/back \
 		 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
-		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libjdwp/mapfile-vers),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
+		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)), \
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_linux:=-ldl,\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libjdwp,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX)))
+		LDFLAGS_SUFFIX_linux:=$(LIBDL),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
 
 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jdwp$(SHARED_LIBRARY_SUFFIX)
 
 ##########################################################################################
 
+LIBJAAS_MAPFILE :=
 ifneq ($(PLATFORM),solaris)
    LIBJAAS_EXCLUDE_FILES:=Solaris.c
+else
+   # only on solaris...wonder why
+   LIBJAAS_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
 endif
 
 $(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
                 SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/com/sun/security/auth/module,\
 		LANG:=C,\
 		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
+		MAPFILE := $(LIBJAAS_MAPFILE),\
 		LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_winapi:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
-		LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libjaas/mapfile-vers),\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
 		EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libjaas,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)))
-
-BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjaas,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)
 
 # Oddly enough, it is called jaas_nt.dll under winapi and libjaas_unix.so under posix.
 ifeq ($(PLATFORM),windows)
-    $(INSTALL_LIBRARIES_HERE)/jaas_nt.dll : $(JDK_OUTPUTDIR)/newobjs/jaas.dll
-	echo Copying $(@F)
+    $(INSTALL_LIBRARIES_HERE)/jaas_nt.dll : $(JDK_OUTPUTDIR)/objs/jaas.dll
+	$(ECHO) Copying $(@F)
 	$(CP) $< $@
     BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/jaas_nt.dll
 else
-    $(INSTALL_LIBRARIES_HERE)/libjaas_unix$(SHARED_LIBRARY_SUFFIX) : $(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)
-	echo Copying $(@F)
+    $(INSTALL_LIBRARIES_HERE)/libjaas_unix$(SHARED_LIBRARY_SUFFIX) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jaas$(SHARED_LIBRARY_SUFFIX)
+	$(ECHO) Copying $(@F)
 	$(CP) $< $@
     BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/libjaas_unix$(SHARED_LIBRARY_SUFFIX)
 endif
@@ -294,9 +361,7 @@
 ifeq ($(HOST_OS_API),posix)
   # TODO make this work on macosx
   ifneq ($(HOST_OS),macosx)
-#
-# NOTE: Change -L flag to point to new lib location after converting libnio. Also
-#       add dependency on nio from sctp.
+
     $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
                 SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/ch/sctp,\
 		LANG:=C,\
@@ -307,18 +372,20 @@
 			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/ch \
 			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/net,\
 		CFLAGS_linux:=-Werror,\
-		LDFLAGS:=$(LDFLAGS_JDKLIB) -L$(JDK_OUTPUTDIR)/lib/$(LIBARCHDIR)\
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libsctp/mapfile-vers) \
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
 		LDFLAGS_SUFFIX_linux:=-lpthread,\
-		LDFLAGS_SUFFIX_posix:=-ldl -lnio -lnet,\
+		LDFLAGS_SUFFIX_posix:=$(LIBDL) -lnio -lnet,\
 		LDFLAGS_SUFFIX_solaris:=-lsocket,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
 		INCLUDE_FILES:=SctpNet.c SctpChannelImpl.c SctpServerChannelImpl.c,\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libsctp,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX)))
+		BIN:=$(JDK_OUTPUTDIR)/objs/libsctp,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX)))
 
     BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX)
+
+    $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX)
   endif
 endif
 
@@ -330,12 +397,15 @@
 		LANG:=C,\
 		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS)\
 			-I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libjsdt/mapfile-vers) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) -ldl,\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libjsdt,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX)))
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjsdt,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
 
 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsdt$(SHARED_LIBRARY_SUFFIX)
 
@@ -360,42 +430,36 @@
 			-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
 		CFLAGS_solaris:=-xc99=no_lib,\
 		CFLAGS_winapi:=-DCMS_IS_WINDOWS_,\
-		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/liblcms/mapfile-vers),\
-		LDFLAGS_posix:=-L$(JDK_OUTPUTDIR)/lib/$(LIBARCHDIR)xawt,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB), \
 		LDFLAGS_solaris:=/usr/lib$(ISA_DIR)/libm.so.2,\
-		LDFLAGS_winapi:=$(JDK_OUTPUTDIR)/tmp/sun/sun.awt/awt/$(OBJDIRNAME)/awt.lib,\
+		LDFLAGS_winapi:=awt.lib java.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
 		LDFLAGS_SUFFIX_posix:=-lawt,\
 		LDFLAGS_SUFFIX_linux:=-lm,\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/liblcms,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX)))
+		BIN:=$(JDK_OUTPUTDIR)/objs/liblcms,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX)))
 
     BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX)
+
+    $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)lcms$(SHARED_LIBRARY_SUFFIX) : \
+	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
 endif
 
 ##########################################################################################
 
 ifdef OPENJDK
-    BUILD_LIBJPEG_MAPFILE := makefiles/mapfiles/libjpeg/mapfile-vers
+    BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
 else
-    BUILD_LIBJPEG_MAPFILE := makefiles/mapfiles/libjpeg/mapfile-vers-closed
+    BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
     BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
     BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
 endif
 
+BUILD_LIBJPEG_REORDER :=
 ifeq ($(PLATFORM), solaris)
     ifneq ($(ARCH), amd64)
         BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(ARCH)
-        $(JDK_OUTPUTDIR)/newobjs/libjpeg/mapfile-vers : $(JDK_TOPDIR)/$(BUILD_LIBJPEG_MAPFILE) \
-							$(BUILD_LIBJPEG_REORDER)
-		$(MKDIR) -p $(@D)
-		$(CAT) $(JDK_TOPDIR)/$(BUILD_LIBJPEG_MAPFILE) > $@
-		$(SED) -e 's=OUTPUTDIR=$(JDK_OUTPUTDIR)=' $(BUILD_LIBJPEG_REORDER) >> $@
-        LIBJPEG_MAPFILE:=$(JDK_OUTPUTDIR)/newobjs/libjpeg/mapfile-vers
-
-        $(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX): \
-			$(JDK_OUTPUTDIR)/newobjs/libjpeg/mapfile-vers
     endif
 endif
 
@@ -418,29 +482,205 @@
                 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
 		     $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
 		LANG:=C,\
-		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HIGHEST) $(SHARED_LIBRARY_FLAGS) \
 			$(BUILD_LIBJPEG_CLOSED_INCLUDES) \
 			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
-		CFLAGS_solaris:=-xF,\
+		MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,$(BUILD_LIBJPEG_MAPFILE))\
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_linux:=-ldl,\
+		LDFLAGS_linux:=$(LIBDL),\
+		LDFLAGS_winapi:=java.lib jvm.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libjpeg,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX)))
+		REORDER := $(BUILD_LIBJPEG_REORDER),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
 
 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jpeg$(SHARED_LIBRARY_SUFFIX)
 
 ##########################################################################################
 
+BUILD_LIBMLIB_SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib
+BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
+			-I$(BUILD_LIBMLIB_SRC) \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt/medialib 
+
+BUILD_LIBMLIB_LDLIBS :=
+BUILD_LIBMLIB_IMAGE_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
+
+ifneq ($(PLATFORM), sparc)
+	BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
+endif
+
+ifeq ($(ARCH_DATA_MODEL), 64)
+	BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
+endif
+
+ifneq ($(PLATFORM), windows)
+	BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
+		SRC:=$(BUILD_LIBMLIB_SRC),\
+		EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HIGHEST) $(SHARED_LIBRARY_FLAGS) \
+                        $(BUILD_LIBMLIB_CFLAGS),\
+		MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+                         $(BUILD_LIBMLIB_LDLIBS) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+                LDFLAGS_SUFFIX_posix := -lm,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+ifeq ($(PLATFORM),solaris)
+ifeq ($(ARCH),sparc)
+	BUILD_LIBMLIB_IMAGE_V := 1
+else ifeq ($(ARCH), sparcv9)
+	BUILD_LIBMLIB_IMAGE_V := 1
+endif
+endif
+
+ifeq ($(BUILD_LIBMLIB_IMAGE_V), 1)
+
+BUILD_LIBMLIB_IMAGE_V_FILES :=  \
+        mlib_v_ImageLookUp.c \
+        mlib_ImageCreate.c \
+        mlib_ImageAffine.c \
+        mlib_ImageConvMxN.c \
+        mlib_ImageConvKernelConvert.c \
+        mlib_sys.c \
+        mlib_ImageLookUp_64.c \
+        mlib_ImageLookUp_Bit.c \
+        mlib_ImageColorTrue2Index.c \
+        mlib_c_ImageThresh1_U8.c \
+        mlib_v_ImageLookUpS16S16Func.c \
+        mlib_v_ImageLookUpS16S32Func.c \
+        mlib_v_ImageLookUpS16U16Func.c \
+        mlib_v_ImageLookUpS16U8Func.c \
+        mlib_v_ImageLookUpS32S16Func.c \
+        mlib_v_ImageLookUpS32S32Func.c \
+        mlib_v_ImageLookUpS32U16Func.c \
+        mlib_v_ImageLookUpS32U8Func.c \
+        mlib_v_ImageLookUpSIS16S16Func.c \
+        mlib_v_ImageLookUpSIS16S32Func.c \
+        mlib_v_ImageLookUpSIS16U16Func.c \
+        mlib_v_ImageLookUpSIS16U8Func.c \
+        mlib_v_ImageLookUpSIS32S16Func.c \
+        mlib_v_ImageLookUpSIS32S32Func.c \
+        mlib_v_ImageLookUpSIS32U16Func.c \
+        mlib_v_ImageLookUpSIS32U8Func.c \
+        mlib_v_ImageLookUpSIU16S16Func.c \
+        mlib_v_ImageLookUpSIU16S32Func.c \
+        mlib_v_ImageLookUpSIU16U16Func.c \
+        mlib_v_ImageLookUpSIU16U8Func.c \
+        mlib_v_ImageLookUpSIU8S16Func.c \
+        mlib_v_ImageLookUpSIU8S32Func.c \
+        mlib_v_ImageLookUpSIU8U16Func.c \
+        mlib_v_ImageLookUpSIU8U8Func.c \
+        mlib_v_ImageLookUpU16S16Func.c \
+        mlib_v_ImageLookUpU16S32Func.c \
+        mlib_v_ImageLookUpU16U16Func.c \
+        mlib_v_ImageLookUpU16U8Func.c \
+        mlib_v_ImageLookUpU8S16Func.c \
+        mlib_v_ImageLookUpU8S32Func.c \
+        mlib_v_ImageLookUpU8U16Func.c \
+        mlib_v_ImageLookUpU8U8Func.c \
+        mlib_v_ImageAffineIndex_BC.c \
+        mlib_v_ImageAffine_BC.c \
+        mlib_v_ImageAffine_BC_S16.c \
+        mlib_v_ImageAffine_BC_U16.c \
+        mlib_v_ImageAffine_BL.c \
+        mlib_v_ImageAffine_BL_S16.c \
+        mlib_v_ImageAffine_BL_U16.c \
+        mlib_v_ImageAffine_NN.c \
+        mlib_v_ImageFilters.c \
+        mlib_ImageAffineEdge.c \
+        mlib_ImageAffine_BC_D64.c \
+        mlib_ImageAffine_BC_F32.c \
+        mlib_ImageAffine_BC_S32.c \
+        mlib_ImageAffine_BL_D64.c \
+        mlib_ImageAffine_BL_F32.c \
+        mlib_ImageAffine_BL_S32.c \
+        mlib_ImageAffine_NN.c \
+        mlib_ImageAffine_NN_Bit.c \
+        mlib_ImageFilters.c \
+        mlib_ImageScanPoly.c \
+        mlib_ImageConv_8nw.c \
+        mlib_ImageConv_8ext.c \
+        mlib_ImageConv_16nw.c \
+        mlib_ImageConv_16ext.c \
+        mlib_ImageConv_u16nw.c \
+        mlib_ImageConv_u16ext.c \
+        mlib_ImageConv_32nw.c \
+        mlib_ImageConv_F32nw.c \
+        mlib_ImageConvMxN_Fp.c \
+        mlib_ImageConvMxN_ext.c \
+        mlib_ImageConv_D64nw.c \
+        mlib_ImageClipping.c \
+        mlib_ImageConvCopyEdge_Bit.c \
+        mlib_ImageConvClearEdge_Bit.c \
+        mlib_ImageConv2x2_f.c \
+        mlib_ImageConvClearEdge_Fp.c \
+        mlib_v_ImageConvMxN_8.c \
+        mlib_v_ImageConvClearEdge.c \
+        mlib_v_ImageConvCopyEdge.c \
+        mlib_v_ImageConvMxN_8ext.c \
+        mlib_v_ImageConvVersion.c \
+        mlib_v_ImageConv_8nw.c \
+        mlib_ImageConvCopyEdge_Fp.c \
+        mlib_v_ImageChannelInsert_1.c \
+        mlib_v_ImageChannelExtract_43.c \
+        mlib_v_ImageChannelExtract_1.c \
+        mlib_ImageCopy_Bit.c \
+        mlib_v_ImageCopy_f.c \
+        mlib_ImageUtils.c \
+        mlib_ImageDivTables.c
+
+#
+# TODO
+#
+# ASFLAGS += -P
+# INLINE = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
+		SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
+		     $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
+		LANG:=C,\
+		INCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_FILES),\
+		CFLAGS:=$(BUILD_LIBMLIB_CFLAGS) \
+                        $(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
+		MAPFILE := $(JDK_TOPDIR)/$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+                         $(BUILD_LIBMLIB_LDLIBS) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)mlib_image_v$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)mlib_image_v$(SHARED_LIBRARY_SUFFIX)
+
+endif
+
+##########################################################################################
+
 ifndef OPENJDK
     FONT_HEADERS := -I$(CLOSED_SRC)/share/native/$(PKGDIR)/t2k
-    BUILD_LIBFONTMANAGER_MAPFILE := makefiles/mapfiles/libfontmanager/mapfile-vers
+    BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
     LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
 else
     FONT_HEADERS := $(FREETYPE2_CFLAGS)
-    BUILD_LIBFONTMANAGER_MAPFILE := makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
+    BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
     BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE2_LIBS)
 endif
 
@@ -478,18 +718,25 @@
 		CFLAGS_windows=$(C_O_FLAG_NORM)\
 				-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows \
 				-DCC_NOEX, \
+		MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
 		LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,$(BUILD_LIBFONTMANAGER_MAPFILE)) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_solaris:=-L$(JDK_OUTPUTDIR)/lib/$(LIBARCHDIR)headless,\
-		LDFLAGS_windows:=advapi32.lib user32.lib gdi32.lib $(JDK_OUTPUTDIR)/tmp/sun/sun.awt/awt/$(OBJDIRNAME)/awt.lib,\
+		LDFLAGS_windows:=advapi32.lib user32.lib gdi32.lib awt.lib java.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) \
 				$(BUILD_LIBFONTMANAGER_FONTLIB),\
 		LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX),\
 		LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX),\
 		LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup,\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libfontmanager,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)))
+		BIN:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX) : \
+	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
+
+ifneq (,$(findstring $(PLATFORM),solaris macosx))
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX) : \
+	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)
+endif
 
 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)
 
@@ -525,26 +772,35 @@
 		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON) $(CXX_O_FLAG_HI),\
 		CFLAGS_windows=-DCC_NOEX, \
 		CXXFLAGS_windows=-DCC_NOEX, \
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libt2k/mapfile-vers) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/newobjs/fontmanager.lib,\
+		LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/fontmanager.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		LDFLAGS_SUFFIX_linux:=$(LIBCXX) $(LIBM) -L$(INSTALL_LIBRARIES_HERE) -lfontmanager,\
-		LDFLAGS_SUFFIX_solaris:=$(LIBCXX) $(LIBM) -L$(INSTALL_LIBRARIES_HERE) -lfontmanager -lawt \
+		LDFLAGS_SUFFIX_macosx:=$(LIBCXX) $(LIBM) -lfontmanager,\
+		LDFLAGS_SUFFIX_linux:=$(LIBCXX) $(LIBM) -lfontmanager,\
+		LDFLAGS_SUFFIX_solaris:=$(LIBCXX) $(LIBM) -lfontmanager -lawt \
 					-lawt_xawt,\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libt2k,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX)))
+		BIN:=$(JDK_OUTPUTDIR)/objs/libt2k,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX)))
 
     # t2k is linked against fontmanager
-    $(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX): \
-	$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)
+    $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX): \
+	$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fontmanager$(SHARED_LIBRARY_SUFFIX)
 
     BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)t2k$(SHARED_LIBRARY_SUFFIX)
 endif
 
 ##########################################################################################
 
+#
+# TODO replace with X_FLAGS / X_LIBS
+#   and add them to configure
+#
+OPENWIN_LIB := $(OPENWIN_HOME)/lib
+
+BUILD_LIBJAWT_LIB := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)
+
 ifeq ($(PLATFORM), windows)
     ifeq ($(ARCH_DATA_MODEL), 32)
         KERNEL32_LIB := kernel32.lib
@@ -561,41 +817,59 @@
 			-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
 			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/windows, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) \
-			 advapi32.lib $(JDK_OUTPUTDIR)/tmp/sun/sun.awt/awt/$(OBJDIRNAME)/awt.lib,\
+			 advapi32.lib awt.lib,\
 		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libjawt,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)))
-
-$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): \
-		$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)
-	echo Copying $(@F)
-	$(CP) $(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@	
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjawt,\
+		LIB:=$(BUILD_LIBJAWT_LIB)))
+
+$(BUILD_LIBJAWT_LIB) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
+
+$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT_LIB)
+	$(ECHO) Copying $(@F)
+	$(CP) $< $@
 
 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
 
 else # PLATFORM not windows
 
+    JAWT_LIBS := -lawt
     ifndef BUILD_HEADLESS_ONLY
-        MAWT_AWT_LIB =-lawt_xawt
+        JAWT_LIBS += -lawt_xawt
     else
-        MAWT_AWT_LIB =-lawt_headless
+        JAWT_LIBS += -lawt_headless
         HEADLESS_CFLAG += -DHEADLESS
     endif
 
+    JAWT_FILES := jawt.c
+    ifeq ($(PLATFORM), macosx)
+	JAWT_FILES := jawt.m
+	JAWT_LIBS := -lawt_lwawt
+    endif
+
     $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
-                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt,\
-		INCLUDE_FILES:=jawt.c,\
+                SRC:=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
+                     $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
+		INCLUDE_FILES:=$(JAWT_FILES),\
 		LANG:=C,\
 		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM), \
 		CFLAGS_linux:=$(HEADLESS_CFLAG),\
+		CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
 		LDFLAGS:=$(LDFLAGS_JDKLIB) \
-			 $(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libjawt/mapfile-vers) \
 			 $(call SET_SHARED_LIBRARY_ORIGIN),\
-		LDFLAGS_solaris:=-L/usr/openwin/sfw/lib$(ISA_DIR) -L/usr/openwin/lib$(ISA_DIR),\
-		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(MAWT_AWT_LIB) -lawt,\
+		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_LIB)$(ISA_DIR),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(JAWT_LIBS),\
 		LDFLAGS_SUFFIX_solaris:=-lXrender,\
-		BIN:=$(JDK_OUTPUTDIR)/newobjs/libjawt,\
-		LIB:=$(JDK_OUTPUTDIR)/newobjs/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)))
+		LDFLAGS_SUFFIX_macosx:= -framework Cocoa, \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjawt,\
+		LIB:=$(BUILD_LIBJAWT_LIB)))
+
+ifndef BUILD_HEADLESS_ONLY
+$(BUILD_LIBJAWT_LIB) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)
+else
+$(BUILD_LIBJAWT_LIB) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
+endif
+
 endif # PLATFORM
 
 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)
@@ -603,6 +877,2180 @@
 
 ##########################################################################################
 
+BUILD_LIBVERIFY_SRC := check_code.c check_format.c
+
+ifeq ($(PLATFORM), solaris)
+	ifneq ($(ARCH), amd64)
+		BUILD_LIBVERIFY_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(ARCH)
+	endif
+endif
+
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
+		SRC:=$(JDK_TOPDIR)/src/share/native/common,\
+		INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
+		LDFLAGS_SUFFIX_windows:=jvm.lib,\
+		REORDER := $(BUILD_LIBVERIFY_REORDER),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libverify,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+ifndef OPENJDK
+ifneq ($(PLATFORM), macosx)
+
+BUILD_LIBJDBCODBC_DIR     := $(JDK_OUTPUTDIR)/objs/libjdbcodbc
+BUILD_LIBJDBCODBC_NAME    := $(LIBRARY_PREFIX)JdbcOdbc$(SHARED_LIBRARY_SUFFIX)
+BUILD_LIBJDBCODBC_CFLAGS  := 
+BUILD_LIBJDBCODBC_TARGET  := $(JDK_OUTPUTDIR)/objs/$(BUILD_LIBJDBCODBC_NAME)
+BUILD_LIBJDBCODBC_LIBS    :=
+BUILD_LIBJDBCODBC_LDFLAGS :=
+
+ifeq ($(PLATFORM), windows)
+	BUILD_LIBJDBCODBC_LDFLAGS := $(LDFLAGS_JDKLIB)
+	BUILD_LIBJDBCODBC_LIBS += odbc32.lib odbccp32.lib java.lib advapi32.lib
+else
+	BUILD_LIBJDBCODBC_CFLAGS := -DUNIX
+
+#
+# This mimics "current" build system exactly. Link against fake -lodbcinst -lodbc
+#   but...those are linked with the -soname, causing the dependency to be dropped on linux (gnu ld)
+#   but kept with other linker (solaris)
+#
+# IMO very weird behaviour...very weird
+#
+	BUILD_LIBJDBCODBC_LDFLAGS += $(patsubst defs,nodefs,$(LDFLAGS_JDKLIB)) \
+				      -Xlinker -z -Xlinker nodefs
+	BUILD_LIBJDBCODBC_LIBS += -L$(BUILD_LIBJDBCODBC_DIR) -lodbcinst -lodbc
+	BUILD_LIBJDBCODBC_FAKE_LIBS := $(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbcinst$(SHARED_LIBRARY_SUFFIX) \
+                                       $(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbc$(SHARED_LIBRARY_SUFFIX)
+
+	BUILD_LIBJDBCODBC_SONAME := $(call SET_SHARED_LIBRARY_NAME,$(BUILD_LIBJDBCODBC_NAME))
+endif
+
+ifneq ($(PLATFORM), windows)
+
+$(eval $(call SetupNativeCompilation,BUILD_FAKEODBCINST,\
+		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
+		INCLUDE_FILES := dummyodbc1.c,\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(BUILD_LIBJDBCODBC_LDFLAGS),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBJDBCODBC_SONAME),\
+		BIN:=$(BUILD_LIBJDBCODBC_DIR),\
+		LIB:=$(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbcinst$(SHARED_LIBRARY_SUFFIX)))
+
+$(eval $(call SetupNativeCompilation,BUILD_FAKEODBC,\
+		SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
+		INCLUDE_FILES := dummyodbc2.c,\
+		LANG:=C,\
+		CFLAGS:=$(BUILD_LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(BUILD_LIBJDBCODBC_LDFLAGS),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBJDBCODBC_SONAME),\
+		BIN:=$(BUILD_LIBJDBCODBC_DIR),\
+		LIB:=$(BUILD_LIBJDBCODBC_DIR)/$(LIBRARY_PREFIX)odbc$(SHARED_LIBRARY_SUFFIX)))
+
+$(BUILD_LIBJDBCODBC_FAKE_LIBS) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+$(BUILD_LIBJDBCODBC_TARGET) : $(BUILD_LIBJDBCODBC_FAKE_LIBS)
+
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJDBCODBC,\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc,\
+		EXCLUDE_FILES := dummyodbc.c,\
+		LANG:=C,\
+		CFLAGS:=$(BUILD_LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) \
+			$(SHARED_LIBRARY_FLAGS),\
+		LDFLAGS:=$(BUILD_LIBJDBCODBC_LDFLAGS) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN) $(BUILD_LIBJDBCODBC_LIBS),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBJDBCODBC_SONAME),\
+		BIN:=$(BUILD_LIBJDBCODBC_DIR),\
+		LIB:=$(BUILD_LIBJDBCODBC_TARGET)))
+
+$(BUILD_LIBJDBCODBC_TARGET) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JdbcOdbc$(SHARED_LIBRARY_SUFFIX)
+
+endif
+endif
+
+##########################################################################################
+
+BUILD_LIBINSTRUMENT_SRC     := $(JDK_TOPDIR)/src/share/instrument \
+                               $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/io \
+                               $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/instrument
+
+BUILD_LIBINSTRUMENT_FILES   := \
+	EncodingSupport.c \
+	EncodingSupport_md.c \
+	FileSystemSupport_md.c \
+	InstrumentationImplNativeMethods.c \
+	InvocationAdapter.c \
+	JarFacade.c \
+	JPLISAgent.c \
+	JPLISAssert.c \
+	JavaExceptions.c \
+	PathCharsValidator.c \
+	Reentrancy.c \
+	Utilities.c \
+	canonicalize_md.c
+
+BUILD_LIBINSTRUMENT_DIR     := $(JDK_OUTPUTDIR)/objs/libinstrument
+BUILD_LIBINSTRUMENT_NAME    := $(LIBRARY_PREFIX)instrument$(SHARED_LIBRARY_SUFFIX)
+BUILD_LIBINSTRUMENT_CFLAGS  := -I$(JDK_TOPDIR)/src/share/instrument \
+                               -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/instrument \
+                               -I$(JDK_TOPDIR)/src/share/bin
+
+BUILD_LIBINSTRUMENT_TARGET  := $(JDK_OUTPUTDIR)/objs/$(BUILD_LIBINSTRUMENT_NAME)
+BUILD_LIBINSTRUMENT_LDFLAGS :=
+BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX :=
+
+ifeq ($(PLATFORM), windows)
+  BUILD_LIBINSTRUMENT_LDFLAGS += jli_static.lib java.lib \
+				 -export:Agent_OnAttach
+  # equivalent of strcasecmp is stricmp on Windows
+  BUILD_LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
+else
+
+ifneq (,$(findstring $(PLATFORM), macosx))
+	ifneq ($(ARCH), universal)
+		BUILD_LIBINSTRUMENT_LDFLAGS += -Wl,-all_load
+	endif
+
+	BUILD_LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/libjli_static.a
+	BUILD_LIBINSTRUMENT_LDFLAGS += -liconv
+	BUILD_LIBINSTRUMENT_LDFLAGS += -framework Cocoa -framework Security -framework ApplicationServices
+	BUILD_LIBINSTRUMENT_LDFLAGS += $(LIBZ)
+else
+	BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX += -ljli $(LIBDL)
+endif
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
+		SRC:=$(BUILD_LIBINSTRUMENT_SRC),\
+		INCLUDE_FILES:=$(BUILD_LIBINSTRUMENT_FILES),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        $(BUILD_LIBINSTRUMENT_CFLAGS),\
+		CFLAGS_debug := -DJPLIS_LOGGING,\
+		CFLAGS_release := -DNO_JPLIS_LOGGING,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN,jli) \
+                         $(BUILD_LIBINSTRUMENT_LDFLAGS),\
+		LDFLAGS_SUFFIX:=$(LIBZ) $(BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX),\
+		BIN:=$(BUILD_LIBINSTRUMENT_DIR),\
+		LIB:=$(BUILD_LIBINSTRUMENT_TARGET)))
+
+$(BUILD_LIBINSTRUMENT_TARGET) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
+$(BUILD_LIBINSTRUMENT_TARGET) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
+$(BUILD_LIBINSTRUMENT_TARGET) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(BUILD_LIBINSTRUMENT_NAME)
+
+##########################################################################################
+
+BUILD_LIBMANAGEMENT_SRC := $(JDK_TOPDIR)/src/share/native/sun/management \
+                           $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/management \
+                           $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/com/sun/management
+
+BUILD_LIBMANAGEMENT_EXCLUDES :=
+
+BUILD_LIBMANAGEMENT_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/management
+
+ifneq ($(PLATFORM), windows)
+	BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
+else
+	BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
+endif
+
+ifneq ($(PLATFORM),solaris)
+	BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
+endif
+
+ifneq ($(PLATFORM),linux)
+	BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
+endif
+
+ifneq ($(PLATFORM),macosx)
+	BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
+endif
+
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
+		SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
+		EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBMANAGEMENT_CFLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows := java.lib jvm.lib advapi32.lib psapi.lib,\
+		LDFLAGS_solaris := -lkstat,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+BUILD_LIBHPROF_SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/demo/jvmti/hprof
+BUILD_LIBHPROF_CFLAGS := -I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
+                         -I$(JDK_TOPDIR)/src/share/npt \
+                         -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt \
+                         -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
+
+BUILD_LIBHPROF_LDFLAGS :=
+
+ifeq ($(PLATFORM),solaris)
+     BUILD_LIBHPROF_LDFLAGS += -lsocket -lnsl
+endif
+
+ifneq ($(PLATFORM),windows)
+     BUILD_LIBHPROF_LDFLAGS += $(LIBDL)
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
+		SRC:=$(BUILD_LIBHPROF_SRC),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HIGHEST) $(SHARED_LIBRARY_FLAGS) \
+                         $(BUILD_LIBHPROF_CFLAGS),\
+		CFLAGS_debug := -DHPROF_LOGGING,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
+		LDFLAGS_SUFFIX:=$(BUILD_LIBHPROF_LDFLAGS),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libhprof,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)hprof$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)hprof$(SHARED_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
+		SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java_crw_demo$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java_crw_demo$(SHARED_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
+		SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt,\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        -I$(JDK_TOPDIR)/src/share/npt \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/npt,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_macosx := -liconv,\
+		LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libnpt,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)npt$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)npt$(SHARED_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+BUILD_LIBNIO_SRC := \
+        $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/nio \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/ch \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/nio/fs
+
+BUILD_LIBNIO_CFLAGS := \
+	-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
+	-I$(JDK_TOPDIR)/src/share/native/java/io \
+	-I$(JDK_TOPDIR)/src/share/native/java/net \
+        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/net
+
+BUILD_LIBNIO_FILES := \
+        DatagramChannelImpl.c \
+        DatagramDispatcher.c \
+	FileChannelImpl.c \
+	FileDispatcherImpl.c \
+	FileKey.c \
+	IOUtil.c \
+        MappedByteBuffer.c \
+	Net.c \
+	ServerSocketChannelImpl.c \
+	SocketChannelImpl.c \
+	SocketDispatcher.c
+
+ifeq ($(PLATFORM), windows)
+	BUILD_LIBNIO_FILES += \
+		Iocp.c \
+		RegistryFileTypeDetector.c \
+		WindowsAsynchronousFileChannelImpl.c \
+		WindowsAsynchronousServerSocketChannelImpl.c \
+		WindowsAsynchronousSocketChannelImpl.c \
+		WindowsNativeDispatcher.c \
+	        WindowsSelectorImpl.c
+endif
+
+ifeq ($(PLATFORM), linux)
+	BUILD_LIBNIO_LDFLAGS_SUFFIX := -lpthread $(LIBDL)
+	BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-linux
+	BUILD_LIBNIO_FILES += \
+		EPoll.c \
+		EPollArrayWrapper.c \
+		EPollPort.c \
+		InheritedChannel.c \
+		NativeThread.c \
+	        PollArrayWrapper.c \
+		UnixAsynchronousServerSocketChannelImpl.c \
+		UnixAsynchronousSocketChannelImpl.c \
+		GnomeFileTypeDetector.c \
+		LinuxNativeDispatcher.c \
+		LinuxWatchService.c \
+		UnixCopyFile.c \
+		UnixNativeDispatcher.c
+endif
+
+ifeq ($(PLATFORM), macosx)
+	BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-bsd
+	BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
+	BUILD_LIBNIO_FILES += \
+		InheritedChannel.c \
+		NativeThread.c \
+	        PollArrayWrapper.c \
+		UnixAsynchronousServerSocketChannelImpl.c \
+		UnixAsynchronousSocketChannelImpl.c \
+		GnomeFileTypeDetector.c \
+		BsdNativeDispatcher.c \
+		UnixCopyFile.c \
+		UnixNativeDispatcher.c \
+		KQueue.c \
+		KQueuePort.c \
+		KQueueArrayWrapper.c
+endif
+
+ifeq ($(PLATFORM), solaris)
+	BUILD_LIBNIO_LDFLAGS_SUFFIX := $(LIBDL)
+	BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-solaris
+	BUILD_LIBNIO_FILES += \
+		DevPollArrayWrapper.c \
+		InheritedChannel.c \
+		NativeThread.c \
+		PollArrayWrapper.c \
+		SolarisEventPort.c \
+		UnixAsynchronousServerSocketChannelImpl.c \
+		UnixAsynchronousSocketChannelImpl.c \
+		GnomeFileTypeDetector.c \
+		SolarisNativeDispatcher.c \
+		SolarisWatchService.c \
+		UnixCopyFile.c \
+		UnixNativeDispatcher.c
+endif
+
+BUILD_LIBNIO_LDFLAGS :=
+ifeq ($(PLATFORM),windows)
+	BUILD_LIBNIO_LDFLAGS += \
+		java.lib net.lib advapi32.lib jvm.lib ws2_32.lib\
+		$(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
+		$(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj
+endif
+
+ifeq ($(PLATFORM), linux)
+	BUILD_LIBNIO_LDFLAGS_SUFFIX += -ljava -lnet -lpthread $(LIBDL)
+endif
+ifeq ($(PLATFORM), macosx)
+	BUILD_LIBNIO_LDFLAGS_SUFFIX += -ljava -lnet -pthread
+endif
+
+ifeq ($(PLATFORM), solaris)
+	BUILD_LIBNIO_LDFLAGS_SUFFIX += $(JVMLIB) $(LIBSOCKET) -lposix4 $(LIBDL) -lsendfile \
+				       -ljava -lnet
+endif # PLATFORM
+
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
+		SRC:=$(BUILD_LIBNIO_SRC),\
+		INCLUDE_FILES := $(BUILD_LIBNIO_FILES), \
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
+                        $(BUILD_LIBNIO_CFLAGS),\
+		MAPFILE := $(BUILD_LIBNIO_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(BUILD_LIBNIO_LDFLAGS_SUFFIX),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libnio,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX)
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)nio$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX) $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+
+##########################################################################################
+
+LIBNET_SRC_DIRS := $(JDK_TOPDIR)/src/share/native/java/net \
+                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/net \
+                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/dns \
+                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/www/protocol/http/ntlm \
+                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/sdp \
+                   $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/net/spi
+
+LIBNET_CFLAGS := $(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
+
+LIBNET_EXCLUDE_FILES:=
+ifneq ($(PLATFORM),linux)
+	LIBNET_EXCLUDE_FILES += linux_close.c
+endif
+
+ifneq ($(PLATFORM),macosx)
+	LIBNET_EXCLUDE_FILES += bsd_close.c
+endif
+
+ifeq ($(PLATFORM),windows)
+	LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
+else
+	LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
+                                TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
+				NTLMAuthSequence.c NetworkInterface_winXP.c
+endif
+
+LIBNET_LDFLAGS_SUFFIX :=
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
+		SRC:=$(LIBNET_SRC_DIRS),\
+		EXCLUDE_FILES := $(LIBNET_EXCLUDE_FILES), \
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        $(LIBNET_CFLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBNET_LDFLAGS_SUFFIX),\
+		LDFLAGS_SUFFIX_solaris := -lnsl -lsocket $(LIBDL) ,\
+		LDFLAGS_SUFFIX_linux := $(LIBDL) -lpthread ,\
+		LDFLAGS_SUFFIX_windows := ws2_32.lib $(JVMLIB) secur32.lib iphlpapi.lib \
+					  delayimp.lib java.lib jvm.lib advapi32.lib \
+                                          /DELAYLOAD:secur32.dll /DELAYLOAD:iphlpapi.dll, \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libnet,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)net$(SHARED_LIBRARY_SUFFIX)
+
+$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
+	$(ECHO) Copying $(@F)
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
+
+ifeq ($(PLATFORM), solaris)
+$(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${LEGACY_HOST_OS_API}/lib/sdp/sdp.conf.template
+	$(ECHO) Copying $(@F)
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
+endif
+
+##########################################################################################
+
+LIBJAVA_SRC_DIRS := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/lang \
+		$(JDK_TOPDIR)/src/share/native/java/lang \
+		$(JDK_TOPDIR)/src/share/native/java/lang/ref \
+		$(JDK_TOPDIR)/src/share/native/java/lang/reflect \
+		$(JDK_TOPDIR)/src/share/native/java/io \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/io \
+		$(JDK_TOPDIR)/src/share/native/java/nio \
+		$(JDK_TOPDIR)/src/share/native/java/security \
+		$(JDK_TOPDIR)/src/share/native/common \
+		$(JDK_TOPDIR)/src/share/native/sun/misc \
+		$(JDK_TOPDIR)/src/share/native/sun/reflect \
+		$(JDK_TOPDIR)/src/share/native/java/sql \
+		$(JDK_TOPDIR)/src/share/native/java/util \
+		$(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/common \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/java/util \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/provider \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/io
+
+LIBJAVA_CFLAGS := $(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
+		  -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
+                  -DARCHPROPNAME='"$(ARCH)"'
+
+LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
+                  -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
+                  -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
+                  -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"' 
+
+ifneq (,$(JDK_UPDATE_VERSION))
+	LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
+endif
+
+LIBJAVA_EXCLUDE_FILES:= check_code.c check_format.c
+
+ifneq ($(PLATFORM),macosx)
+	LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
+else
+	BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
+endif
+
+ifeq ($(PLATFORM),windows)
+        LIBJAVA_EXCLUDE_FILES += \
+		UNIXProcess_md.c \
+		UnixFileSystem_md.c \
+		FileSystemPreferences.c
+else
+	LIBJAVA_EXCLUDE_FILES += \
+		ProcessImpl_md.c \
+		Win32FileSystem_md.c \
+		WinNTFileSystem_md.c \
+		dirent_md.c \
+		WindowsPreferences.c \
+		sun/security/provider/WinCAPISeedGenerator.c \
+		sun/io/Win32ErrorMode.c
+endif
+
+ifeq ($(PLATFORM), solaris)
+    ifneq ($(ARCH), amd64)
+        LIBJAVA_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(ARCH)
+    endif
+endif
+
+LIBJAVA_FDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
+LIBJAVA_VERIFY := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)verify$(STATIC_LIBRARY_SUFFIX)
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
+		SRC:=$(LIBJAVA_SRC_DIRS),\
+		EXCLUDES := fdlibm/src zip, \
+		EXCLUDE_FILES := $(LIBJAVA_EXCLUDE_FILES), \
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) \
+                        $(LIBJAVA_CFLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_windows:=-export:winFileHandleOpen -export:handleLseek \
+				 $(LIBJAVA_FDLIBM) $(LIBJAVA_VERIFY) jvm.lib \
+				 shell32.lib delayimp.lib /DELAYLOAD:shell32.dll \
+				 advapi32.lib,\
+		LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
+		LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lscf $(LIBDL) $(LIBJAVA_FDLIBM) -lc,\
+		LDFLAGS_SUFFIX_linux := $(LIBDL) $(LIBJAVA_FDLIBM),\
+		LDFLAGS_SUFFIX_macosx := $(LIBJAVA_FDLIBM) \
+                                         -framework CoreFoundation \
+                                         -framework Security -framework SystemConfiguration, \
+		REORDER := $(LIBJAVA_REORDER), \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjava,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) : $(LIBJLI_BINARY)
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)verify$(SHARED_LIBRARY_SUFFIX)
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) : $(LIBJAVA_FDLIBM)
+
+##########################################################################################
+
+BUILD_LIBJLI_SRC_DIRS := $(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin
+BUILD_LIBJLI_CFLAGS := $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
+
+BUILD_LIBJLI_FILES := \
+	java.c \
+	splashscreen_stubs.c \
+	parse_manifest.c \
+	version_comp.c \
+	wildcard.c \
+	jli_util.c
+
+ifeq ($(JVM_VARIANT_ZERO), true)
+	ERGO_FAMILY := zero
+else # !ZERO_BUILD
+	ifneq (,$(findstring $(ARCH), amd64 x86_64))
+		ERGO_FAMILY := i586
+	else # !X86 FAMILY
+		ERGO_FAMILY := $(ARCH)
+	endif #ARCH_FAMILY
+endif # ZERO_BUILD
+
+ifeq ($(PLATFORM), macosx)
+	BUILD_LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
+	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
+	BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
+
+	BUILD_LIBJLI_java_md_macosx.c_CFLAGS := -x objective-c
+	BUILD_LIBJLI_A_java_md_macosx.c_CFLAGS := -x objective-c
+endif
+
+ifeq ($(PLATFORM), windows)
+	BUILD_LIBJLI_FILES += java_md.c
+else ifneq ($(PLATFORM), macosx)
+
+	BUILD_LIBJLI_FILES += java_md_common.c
+	BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c 
+
+	ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
+
+        # if the architecture specific ergo file exists then
+        # use it, else use the generic definitions from ergo.c
+	ifneq ($(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/$(ERGO_ARCH_FILE)),)
+		BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
+	else # !ERGO_ARCH_FILE
+		BUILD_LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
+	endif # ERGO_ARCH_FILE
+endif #WINDOWS
+
+# Names of arch directories
+BUILD_LIBJLI_CFLAGS += -DLIBARCHNAME='"$(LIBARCH)"'
+ifeq ($(PLATFORM), solaris)
+	ifneq (,$(findstring $(ARCH),sparc))
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"sparc"'
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"sparcv9"'
+	else
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"i386"'
+		BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"amd64"'
+	endif
+endif # PLATFORM
+
+ifeq ($(PLATFORM), macosx)
+	BUILD_LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
+endif
+
+ifneq ($(USE_EXTERNAL_LIBZ),true)
+	BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
+	BUILD_LIBJLI_CFLAGS += $(LIBZ_INCLUDE)
+	BUILD_LIBJLI_FILES += \
+		inflate.c \
+		inftrees.c \
+		inffast.c \
+		zadler32.c \
+		zcrc32.c \
+		zutil.c
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
+		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
+		INCLUDE_FILES := $(BUILD_LIBJLI_FILES),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBJLI_CFLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX := $(LIBZ),\
+		LDFLAGS_SUFFIX_posix := $(LIBDL) -lc,\
+		LDFLAGS_SUFFIX_linux := -lpthread,\
+		LDFLAGS_SUFFIX_windows := \
+			-export:JLI_Launch \
+			-export:JLI_ManifestIterate \
+			-export:JLI_SetTraceLauncher \
+			-export:JLI_ReportErrorMessage \
+			-export:JLI_ReportErrorMessageSys \
+			-export:JLI_ReportMessage \
+			-export:JLI_ReportExceptionDescription \
+			advapi32.lib \
+			comctl32.lib \
+			user32.lib,\
+		LDFLAGS_SUFFIX_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjli,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)))
+
+ifeq ($(HOST_OS), windows)
+    LIBJLI_BINARY := $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
+else
+    LIBJLI_BINARY := $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
+
+    $(LIBJLI_BINARY) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
+	$(MKDIR) -p $(@D)
+	$(ECHO) Copying $(@F)
+	$(CP) $< $@
+endif
+BUILD_LIBRARIES += $(LIBJLI_BINARY)
+
+# On windows, the static library has the same suffix as the import library created by
+# with the shared library, so the static library is given a different name. No harm
+# in doing it for all platform to reduce complexity.
+ifneq ($(HOST_OS),macosx)
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
+		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
+		INCLUDE_FILES := $(BUILD_LIBJLI_FILES),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(STATIC_LIBRARY_FLAGS) $(BUILD_LIBJLI_CFLAGS),\
+		ARFLAGS:=$(ARFLAGS),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)))
+else
+    #
+    # On macosx they do partial (incremental) linking of fdlibm
+    #   code it here...rather than add support to NativeCompilation
+    #   as this is first time I see it
+    $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_A,\
+		SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
+		INCLUDE_FILES := $(BUILD_LIBJLI_FILES),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_HI) $(BUILD_LIBJLI_CFLAGS),\
+		LDFLAGS := -nostdlib -r,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)))
+endif
+
+BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+ifndef OPENJDK
+ifndef JAVASE_EMBEDDED
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjfr,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jfr$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jfr$(SHARED_LIBRARY_SUFFIX)
+
+endif
+endif
+
+##########################################################################################
+
+ifndef OPENJDK
+
+BUILD_LIBKCMS_EXCLUDE_FILES :=
+ifeq ($(PLATFORM),windows)
+	BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
+else
+	BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
+		SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
+		LANG:=C,\
+		EXCLUDE_FILES := $(BUILD_LIBKCMS_EXCLUDE_FILES),\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
+		CFLAGS_linux := -Wno-missing-field-initializers,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_linux := -lpthread,\
+		LDFLAGS_SUFFIX_windows := java.lib advapi32.lib user32.lib version.lib, \
+		LDFLAGS_SUFFIX:= -lm $(LDFLAGS_JDKLIB_SUFFIX),\
+		VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libkcms,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)kcms$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)kcms$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)kcms$(SHARED_LIBRARY_SUFFIX)
+
+endif
+
+##########################################################################################
+
+ifndef OPENJDK
+ifeq ($(PLATFORM), solaris)
+ifneq ($(ARCH), amd64)
+
+ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
+
+SUNWJDGA_MAPFILE :=
+ifneq (,$(findstring $(ARCH),sparc))
+	SUNWJDGA_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
+		SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
+		LANG:=C, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+			-I$(JDK_TOPDIR)/src/share/javavm/export \
+			-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/javavm/export \
+			-I$(OPENWIN_HOME)/include, \
+		MAPFILE := $(SUNWJDGA_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX:= -L$(OPENWIN_LIB)$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR) -ldga -lX11 $(LIBDL) -lc, \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libsunwjdga, \
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sunwjdga$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sunwjdga$(SHARED_LIBRARY_SUFFIX)
+
+endif
+endif
+endif
+endif
+
+##########################################################################################
+
+ifeq ($(BUILD_HEADLESS), true)
+ifneq ($(PLATFORM), windows)
+
+# TODO!!
+X11_PATH := /usr/X11R6
+
+LIBAWT_HEADLESS_DIRS := $(JDK_TOPDIR)/src/share/native/sun/font \
+                        $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
+			$(JDK_TOPDIR)/src/solaris/native/sun/font \
+			$(JDK_TOPDIR)/src/solaris/native/sun/awt \
+			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
+			$(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
+
+LIBAWT_HEADLESS_CFLAGS := -DHEADLESS=true \
+                          -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
+			  $(CUPS_CFLAGS) \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
+			  -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+			  -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+			  -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/jdga \
+                          $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
+
+LIBAWT_HEADLESS_FILES := \
+	awt_Font.c \
+	HeadlessToolkit.c \
+	fontpath.c \
+	VDrawingArea.c \
+	X11Color.c \
+	X11Renderer.c \
+	X11PMBlitLoops.c \
+	X11SurfaceData.c \
+	X11FontScaler_md.c \
+	X11TextRenderer_md.c \
+        OGLBlitLoops.c \
+        OGLBufImgOps.c \
+        OGLContext.c \
+        OGLFuncs.c \
+        OGLMaskBlit.c \
+        OGLMaskFill.c \
+        OGLPaints.c \
+        OGLRenderQueue.c \
+        OGLRenderer.c \
+        OGLSurfaceData.c \
+        OGLTextRenderer.c \
+        OGLVertexCache.c \
+        GLXGraphicsConfig.c \
+        GLXSurfaceData.c \
+        AccelGlyphCache.c \
+	CUPSfuncs.c
+
+LIBAWT_HEADLESS_LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX) -lawt -lm
+
+LIBAWT_HEADLESS_REORDER := 
+ifeq ($(PLATFORM), solaris)
+	ifneq ($(ARCH), amd64)
+		LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(ARCH)
+	endif
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
+		SRC:=$(LIBAWT_HEADLESS_DIRS),\
+		INCLUDE_FILES := $(LIBAWT_HEADLESS_FILES),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(LIBAWT_HEADLESS_CFLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		REORDER := $(LIBAWT_HEADLESS_REORDER), \
+		LDFLAGS_SUFFIX := $(LIBAWT_HEADLESS_LDFLAGS_SUFFIX),\
+		LDFLAGS_SUFFIX_posix := $(LIBDL),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX) : \
+	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
+
+endif
+endif
+
+##########################################################################################
+
+ifneq ($(PLATFORM), windows)
+ifndef BUILD_HEADLESS_ONLY
+
+LIBAWT_XAWT_DIRS := \
+		$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+		$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
+		$(JDK_TOPDIR)/src/share/native/sun/font \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/font \
+		$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/opengl \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/x11 \
+		$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/xawt \
+
+LIBAWT_XAWT_CFLAGS := -DXAWT -DXAWT_HACK \
+        -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
+	$(CUPS_CFLAGS) \
+	$(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
+	-I$(JDK_TOPDIR)/src/share/native/sun/java2d \
+	-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
+	-I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+	-I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+	-I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+	-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+	-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+	-I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/jdga
+
+ifeq ($(PLATFORM),solaris)
+	LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
+endif
+
+ifeq ($(MILESTONE),internal)
+	LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
+endif
+
+LIBAWT_XAWT_FILES := \
+	XlibWrapper.c \
+	XWindow.c \
+	XToolkit.c \
+	X11Color.c \
+	X11SurfaceData.c \
+	awt_GraphicsEnv.c \
+	awt_InputMethod.c \
+	robot_common.c \
+	awt_Robot.c \
+        list.c \
+        multiVis.c \
+	initIDs.c \
+	awt_util.c \
+	awt_Desktop.c \
+	awt_UNIXToolkit.c \
+	X11FontScaler_md.c \
+	X11TextRenderer_md.c \
+	fontpath.c \
+	awt_Insets.c \
+	awt_Event.c \
+	X11Renderer.c \
+	X11PMBlitLoops.c \
+	OGLBlitLoops.c \
+	OGLBufImgOps.c \
+	OGLContext.c \
+	OGLFuncs.c \
+	OGLMaskBlit.c \
+	OGLMaskFill.c \
+	OGLPaints.c \
+	OGLRenderQueue.c \
+	OGLRenderer.c \
+	OGLSurfaceData.c \
+	OGLTextRenderer.c \
+	OGLVertexCache.c \
+	GLXGraphicsConfig.c \
+	GLXSurfaceData.c \
+	AccelGlyphCache.c \
+	awt_Font.c \
+	multi_font.c \
+	awt_AWTEvent.c \
+	awt_DrawingSurface.c \
+	jawt.c \
+	CUPSfuncs.c \
+	debug_assert.c \
+	debug_mem.c \
+	debug_trace.c \
+	debug_util.c \
+	awt_Plugin.c \
+	gtk2_interface.c \
+        swing_GTKEngine.c \
+        swing_GTKStyle.c \
+        rect.c \
+	sun_awt_X11_GtkFileDialogPeer.c \
+	XRSurfaceData.c \
+	XRBackendNative.c
+
+LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi  -ljava -lverify -ljvm -lc
+
+ifeq ($(PLATFORM), linux)
+	LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
+endif
+
+ifeq ($(PLATFORM), macosx)
+	LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
+		SRC:=$(LIBAWT_XAWT_DIRS),\
+		INCLUDE_FILES := $(LIBAWT_XAWT_FILES),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(LIBAWT_XAWT_CFLAGS) \
+                        $(X_CFLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN) \
+			 $(X_LIBS),\
+		LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_LIB)$(ISA_DIR) \
+				 -R$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR) \
+				 -R/usr/dt/lib$(ISA_DIR),\
+		LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libawt_xawt,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX) : \
+	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX)
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX) : \
+	$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_xawt$(SHARED_LIBRARY_SUFFIX)
+
+endif
+endif
+
+##########################################################################################
+
+ifndef BUILD_HEADLESS_ONLY
+LIBSPLASHSCREEN_DIRS := \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen \
+        $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt/splashscreen
+
+LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE \
+	$(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
+
+ifeq ($(PLATFORM), macosx)
+	LIBSPLASHSCREEN_CFLAGS := -I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
+                                  $(LIBSPLASHSCREEN_CFLAGS) \
+                                  -F/System/Library/Frameworks/JavaVM.framework/Frameworks
+	LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
+	LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
+
+	LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS := -x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0
+	LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0
+
+else ifneq ($(PLATFORM), windows)
+	LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
+else
+	LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
+endif
+
+LIBSPLASHSCREEN_FILES := \
+	java_awt_SplashScreen.c \
+	splashscreen_gfx_impl.c \
+	splashscreen_gif.c \
+	splashscreen_impl.c \
+	splashscreen_jpeg.c \
+	splashscreen_png.c \
+	png.c \
+	pngerror.c \
+	pngget.c \
+	pngmem.c  \
+	pngpread.c \
+	pngread.c \
+	pngrio.c \
+	pngrtran.c \
+	pngrutil.c \
+	pngset.c \
+	pngtrans.c \
+	pngwio.c \
+	pngwrite.c \
+	pngwtran.c \
+	pngwutil.c \
+	dgif_lib.c \
+	gif_err.c \
+	gifalloc.c \
+	jcomapi.c \
+	jdapimin.c \
+	jdapistd.c \
+	jdcoefct.c \
+	jdcolor.c \
+	jddctmgr.c \
+	jdhuff.c \
+	jdinput.c \
+	jdmainct.c \
+	jdmarker.c \
+	jdmaster.c \
+	jdmerge.c \
+	jdphuff.c \
+	jdpostct.c \
+	jdsample.c \
+	jerror.c \
+	jidctflt.c \
+	jidctfst.c \
+	jidctint.c \
+	jidctred.c \
+	jmemmgr.c \
+	jmemnobs.c \
+	jquant1.c \
+	jquant2.c \
+	jutils.c \
+	jcapimin.c \
+	jcapistd.c \
+	jccoefct.c \
+	jccolor.c \
+	jcdctmgr.c \
+	jchuff.c \
+	jcinit.c \
+	jcmainct.c \
+	jcmarker.c \
+	jcmaster.c \
+	jcparam.c \
+	jcphuff.c \
+	jcprepct.c \
+	jcsample.c \
+	jctrans.c \
+	jdtrans.c \
+	jfdctflt.c \
+	jfdctfst.c \
+	jfdctint.c
+
+ifneq ($(PLATFORM), macosx)
+LIBSPLASHSCREEN_FILES += splashscreen_sys.c
+else
+LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
+LIBSPLASHSCREEN_FILES += splashscreen_sys.m
+endif
+
+LIBSPLASHSCREEN_LDFLAGS_SUFFIX :=
+
+ifneq ($(USE_EXTERNAL_LIBZ),true)
+	LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
+	LIBSPLASHSCREEN_CFLAGS += $(LIBZ_INCLUDE)
+	LIBSPLASHSCREEN_FILES += \
+		compress.c \
+		deflate.c \
+		gzclose.c \
+		gzlib.c \
+		gzread.c \
+		gzwrite.c \
+		infback.c \
+		inffast.c \
+		inflate.c \
+		inftrees.c \
+		trees.c \
+		uncompr.c \
+		zadler32.c \
+		zcrc32.c \
+		zutil.c
+endif
+
+ifeq ($(PLATFORM), macosx)
+	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
+				  -framework ApplicationServices \
+				  -framework Foundation \
+				  -framework Cocoa \
+                                  -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+				  -framework JavaNativeFoundation
+else ifneq ($(PLATFORM), windows)
+	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(ISA_DIR) -lX11 -lXext $(LIBM) -lpthread $(LIBDL)
+else # PLATFORM
+	LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib /DELAYLOAD:user32.dll
+endif # PLATFORM
+
+$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
+		SRC:=$(LIBSPLASHSCREEN_DIRS),\
+		INCLUDE_FILES := $(LIBSPLASHSCREEN_FILES),\
+		LANG:=C,\
+		CFLAGS:= $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
+		LDFLAGS:= $(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)splashscreen$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)splashscreen$(SHARED_LIBRARY_SUFFIX)
+
+ifeq ($(PLATFORM),macosx)
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)splashscreen$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
+endif
+
+endif
+
+##########################################################################################
+
+LIBAWT_DIRS := \
+	$(JDK_TOPDIR)/src/share/native/sun/awt \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/awt \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/shell \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/utility \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+	$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+	$(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/opengl \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/x11 \
+	$(JDK_TOPDIR)/src/share/native/sun/font \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/windows \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/windows \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/java2d/d3d
+
+
+LIBAWT_CFLAGS := -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
+	$(foreach dir,$(LIBAWT_DIRS),-I$(dir))
+
+LIBAWT_FILES := \
+	gifdecoder.c \
+	imageInitIDs.c \
+	img_globals.c \
+	SurfaceData.c \
+	Region.c \
+	BufImgSurfaceData.c \
+	Disposer.c \
+	Trace.c \
+	GraphicsPrimitiveMgr.c \
+	Blit.c \
+	BlitBg.c \
+	ScaledBlit.c \
+	FillRect.c \
+	FillSpans.c \
+	FillParallelogram.c \
+	DrawParallelogram.c \
+	DrawLine.c \
+	DrawRect.c \
+	DrawPolygons.c \
+	DrawPath.c \
+	FillPath.c \
+	ProcessPath.c \
+	MaskBlit.c \
+	MaskFill.c \
+	TransformHelper.c \
+	AlphaMath.c \
+	AlphaMacros.c \
+	AnyByte.c \
+	ByteBinary1Bit.c \
+	ByteBinary2Bit.c \
+	ByteBinary4Bit.c \
+	ByteIndexed.c \
+	ByteGray.c \
+	Index8Gray.c \
+	Index12Gray.c \
+	AnyShort.c \
+	Ushort555Rgb.c \
+	Ushort565Rgb.c \
+	Ushort4444Argb.c \
+	Ushort555Rgbx.c \
+	UshortGray.c \
+	UshortIndexed.c \
+	Any3Byte.c \
+	ThreeByteBgr.c \
+	AnyInt.c \
+	IntArgb.c \
+	IntArgbPre.c \
+	IntArgbBm.c \
+	IntRgb.c \
+	IntBgr.c \
+	IntRgbx.c \
+	Any4Byte.c \
+	FourByteAbgr.c \
+	FourByteAbgrPre.c \
+	BufferedMaskBlit.c \
+	BufferedRenderPipe.c \
+	ShapeSpanIterator.c \
+	SpanClipRenderer.c \
+	awt_ImageRep.c \
+	awt_ImagingLib.c \
+	awt_Mlib.c \
+	awt_parseImage.c \
+	DataBufferNative.c \
+	dither.c \
+	debug_assert.c \
+	debug_mem.c \
+	debug_trace.c \
+	debug_util.c
+
+ifneq (,$(filter $(PLATFORM), solaris linux))
+	LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
+endif
+
+ifeq ($(PLATFORM),macosx)
+	LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
+	LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
+	LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
+
+	LIBAWT_MacOSXResourceBundle.m_CFLAGS := -O0
+endif
+
+ifeq ($(PLATFORM)-$(ARCH_FAMILY), solaris-sparc)
+#
+# TODO...
+#
+
+#	FILES_c += $(FILES_2D_vis)
+#	ASFLAGS += -P
+#	FILES_s += mlib_v_ImageCopy_blk.s
+#	INLINE_VIS = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
+#	CFLAGS_sparcv9 = -DMLIB_OS64BIT
+#	CFLAGS += $(CFLAGS_$(ARCH)) -DMLIB_ADD_SUFF $(INLINE_VIS)
+else
+	LIBAWT_FILES += MapAccelFunc.c
+endif
+
+ifneq ($(PLATFORM),solaris)
+	LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
+endif
+
+LIBAWT_LANG := C
+
+ifeq ($(PLATFORM),windows)
+	LIBAWT_FILES += AccelGlyphCache.c \
+			ShaderList.c \
+			CmdIDList.cpp \
+			Hashtable.cpp \
+			GDIHashtable.cpp \
+			Devices.cpp \
+			ObjectList.cpp \
+			GDIBlitLoops.cpp \
+			GDIRenderer.cpp \
+			GDIWindowSurfaceData.cpp \
+			WindowsFlags.cpp \
+			WPrinterJob.cpp \
+			awt_%.cpp \
+			D3DBlitLoops.cpp \
+			D3DBufImgOps.cpp \
+			D3DContext.cpp \
+			D3DGlyphCache.cpp \
+			D3DGraphicsDevice.cpp \
+			D3DMaskBlit.cpp \
+			D3DMaskCache.cpp \
+			D3DMaskFill.cpp \
+			D3DPipelineManager.cpp \
+			D3DPaints.cpp \
+			D3DRenderer.cpp \
+			D3DRenderQueue.cpp \
+			D3DResourceManager.cpp \
+			D3DSurfaceData.cpp \
+			D3DTextRenderer.cpp \
+			D3DVertexCacher.cpp \
+			ShellFolder2.cpp \
+			ThemeReader.cpp \
+			ComCtl32Util.cpp \
+			DllUtil.cpp \
+			initIDs.cpp \
+			MouseInfo.cpp \
+			rect.c
+	LIBAWT_LANG := C++
+	LIBAWT_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
+	ifeq ($(ARCH_DATA_MODEL), 64)
+		LIBAWT_CFLAGS += -DMLIB_OS64BIT
+	endif
+
+	ifdef OPENJDK
+		LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/windows/resource/icons"
+	else
+		LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
+	endif
+	LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
+endif
+
+ifeq ($(MILESTONE), internal)
+	LIBAWT_CFLAGS += -DINTERNAL_BUILD
+endif
+
+LIBAWT_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
+ifeq ($(PLATFORM),linux)
+	LIBAWT_MAPFILE :=
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
+		SRC:=$(LIBAWT_DIRS),\
+		INCLUDE_FILES := $(LIBAWT_FILES),\
+		LANG:=$(LIBAWT_LANG),\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(LIBAWT_CFLAGS),\
+		MAPFILE := $(LIBAWT_MAPFILE), \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=advapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
+				 imm32.lib ole32.lib uuid.lib shell32.lib \
+				 comdlg32.lib winmm.lib comctl32.lib \
+				 shlwapi.lib delayimp.lib java.lib jvm.lib \
+				 /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
+				 /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
+				 /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
+				 /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
+				 /DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll,\
+		LDFLAGS_macosx :=-framework Cocoa \
+				 -framework OpenGL \
+				 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+				 -framework JavaNativeFoundation \
+				 -framework JavaRuntimeSupport \
+				 -framework ApplicationServices \
+				 -framework AudioToolbox,\
+		LDFLAGS_solaris := -R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR),\
+		LDFLAGS_SUFFIX_posix := -ljvm $(LIBM) -ljava $(LIBDL),\
+		VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE),\
+		RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
+			  /D "JDK_FNAME=awt.dll" \
+			  /D "JDK_INTERNAL_NAME=awt" \
+			  /D "JDK_FTYPE=0x2L",\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libawt,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+ifndef OPENJDK
+
+LIBDCPR_SRC_DIRS := \
+	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
+	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
+	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
+	$(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
+
+LIBDCPR_CFLAGS := $(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
+	          -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
+		SRC:=$(LIBDCPR_SRC_DIRS),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+			$(LIBDCPR_CFLAGS), \
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) $(LIBM)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_posix := $(LIBDL) -lm,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dcpr$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)dcpr$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)dcpr$(SHARED_LIBRARY_SUFFIX)
+
+endif
+
+##########################################################################################
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
+		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
+                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/smartcardio,\
+		LANG:=C,\
+		CFLAGS_posix:= -D__sun_jdk,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                     -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
+                     -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/smartcardio\
+                     -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/smartcardio/MUSCLE,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_posix := $(LIBDL), \
+		LDFLAGS_SUFFIX_windows := winscard.lib,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2pcsc$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2pcsc$(SHARED_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+ifneq ($(PLATFORM), windows)
+$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
+		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
+                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/jgss/wrapper,\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                     -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
+                     -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/jgss/wrapper,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX := $(LIBDL), \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libj2gss,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2gss$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2gss$(SHARED_LIBRARY_SUFFIX)
+endif
+
+##########################################################################################
+
+BUILD_LIBKRB5_NAME :=
+ifeq ($(PLATFORM), windows)
+     BUILD_LIBKRB5_NAME := w2k_lsa_auth
+     BUILD_LIBKRB5_FILES := NativeCreds.c WindowsDirectory.c
+     BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/krb5
+     BUILD_LIBKRB5_LIBS := Secur32.lib netapi32.lib \
+	kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \
+	advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib \
+	odbccp32.lib wsock32.lib
+else ifeq ($(PLATFORM), macosx)
+     BUILD_LIBKRB5_NAME := osxkrb5
+     BUILD_LIBKRB5_FILES := nativeccache.c
+     BUILD_LIBKRB5_LIBS := -framework Kerberos
+endif
+
+ifneq ($(BUILD_LIBKRB5_NAME),)
+$(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
+		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
+                     $(BUILD_LIBKRB5_SRC) ,\
+		INCLUDE_FILES := $(BUILD_LIBKRB5_FILES),\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		        -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/krb5 ,\
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX := $(BUILD_LIBKRB5_LIBS) ,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)$(BUILD_LIBKRB5_NAME)$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)$(BUILD_LIBKRB5_NAME)$(SHARED_LIBRARY_SUFFIX)
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM), windows)
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
+		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/mscapi \
+		     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/mscapi,\
+		INCLUDE_FILES := security.cpp, \
+		LANG:=C++,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		        -I$(JDK_TOPDIR)/src/share/native/sun/security/mscapi \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/mscapi ,\
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX := Crypt32.Lib advapi32.lib,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sunmscapi$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sunmscapi$(SHARED_LIBRARY_SUFFIX)
+endif
+
+##########################################################################################
+
+ifneq ($(PLATFORM)-$(ARCH_DATA_MODEL), windows-64)
+$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
+		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
+                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11 \
+                     $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
+                     $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11/wrapper,\
+		LANG:=C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+		        -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
+		        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11 \
+		        -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
+                        -I$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/sun/security/pkcs11/wrapper,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX_posix := $(LIBDL), \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2pkcs11$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2pkcs11$(SHARED_LIBRARY_SUFFIX)
+endif
+
+##########################################################################################
+
+ifndef DISABLE_INTREE_EC
+#
+# TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
+#      is not present
+#
+BUILD_LIBSUNEC_FLAGS := -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B \
+                        -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
+                        -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
+		SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
+                     $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
+		LANG := C++, \
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBSUNEC_FLAGS),\
+		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) $(BUILD_LIBSUNEC_FLAGS),\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB) \
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX := $(LIBCXX),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libsunec,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)sunec$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)sunec$(SHARED_LIBRARY_SUFFIX)
+endif
+
+##########################################################################################
+
+LIBJSOUND_SRC_DIRS := \
+	$(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
+	$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/native/com/sun/media/sound
+
+LIBJSOUND_SRC_FILES := Utilities.c Platform.c
+
+LIBJSOUND_LANG := C
+LIBJSOUND_CFLAGS := $(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
+
+EXTRA_SOUND_JNI_LIBS := 
+
+LIBJSOUND_MIDIFILES := \
+	MidiInDevice.c \
+	MidiInDeviceProvider.c \
+	MidiOutDevice.c \
+	MidiOutDeviceProvider.c \
+	PlatformMidi.c
+
+# files needed for ports
+LIBJSOUND_PORTFILES := \
+	PortMixerProvider.c \
+	PortMixer.c
+
+# files needed for direct audio
+LIBJSOUND_DAUDIOFILES := \
+	DirectAudioDeviceProvider.c \
+	DirectAudioDevice.c
+
+ifeq ($(PLATFORM), windows)
+	EXTRA_SOUND_JNI_LIBS += jsoundds
+	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
+                            -DUSE_PLATFORM_MIDI_OUT=TRUE \
+                            -DUSE_PLATFORM_MIDI_IN=TRUE \
+                            -DUSE_PORTS=TRUE
+	LIBJSOUND_SRC_FILES += \
+		PLATFORM_API_WinOS_MidiIn.cpp \
+		PLATFORM_API_WinOS_MidiOut.c \
+		PLATFORM_API_WinOS_Util.c \
+		PLATFORM_API_WinOS_Ports.c
+	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
+	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
+endif # PLATFORM windows
+
+ifeq ($(PLATFORM), linux)
+	EXTRA_SOUND_JNI_LIBS += jsoundalsa
+	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
+endif # PLATFORM linux
+
+ifeq ($(PLATFORM), macosx)
+	LIBJSOUND_LANG := C++
+	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
+                            -DUSE_PORTS=TRUE \
+                            -DUSE_DAUDIO=TRUE \
+                            -DUSE_PLATFORM_MIDI_OUT=TRUE \
+                            -DUSE_PLATFORM_MIDI_IN=TRUE
+	LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
+	LIBJSOUND_SRC_FILES += \
+		PLATFORM_API_MacOSX_Utils.cpp \
+		PLATFORM_API_MacOSX_PCM.cpp \
+		PLATFORM_API_MacOSX_Ports.cpp \
+                PLATFORM_API_MacOSX_MidiIn.c \
+                PLATFORM_API_MacOSX_MidiOut.c \
+                PLATFORM_API_MacOSX_MidiUtils.c
+	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
+	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
+	LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
+endif # PLATFORM macosx
+
+ifeq ($(PLATFORM), solaris)
+	LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
+                            -DUSE_PORTS=TRUE \
+                            -DUSE_DAUDIO=TRUE
+	LIBJSOUND_SRC_FILES += \
+		PLATFORM_API_SolarisOS_Utils.c \
+		PLATFORM_API_SolarisOS_Ports.c \
+		PLATFORM_API_SolarisOS_PCM.c
+	LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
+	LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
+	LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
+endif # PLATFORM solaris
+
+
+ifeq ($(JVM_VARIANT_ZERO), true)
+	LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
+else
+  ifeq ($(ARCH), i586)
+	LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
+  endif # ARCH i586
+
+  ifeq ($(ARCH), sparc)
+	LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
+  endif # ARCH sparc
+
+  ifeq ($(ARCH), sparcv9)
+	LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
+  endif # ARCH sparcv9
+
+  ifeq ($(ARCH), amd64)
+	LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
+  endif # ARCH amd64
+
+  ifeq ($(ARCH), arm)
+	LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
+  endif # ARCH arm
+
+  ifeq ($(ARCH), ppc)
+	LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
+  endif # ARCH ppc
+endif
+
+LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
+		SRC:=$(LIBJSOUND_SRC_DIRS),\
+		INCLUDE_FILES := $(LIBJSOUND_SRC_FILES),\
+		LANG:=$(LIBJSOUND_LANG),\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+			$(LIBJSOUND_CFLAGS), \
+		CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(CXX_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+			$(LIBJSOUND_CFLAGS), \
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_windows:=java.lib advapi32.lib winmm.lib,\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
+		LDFLAGS_SUFFIX_solaris:=-lc ,\
+		LDFLAGS_SUFFIX_macosx := -framework CoreAudio -framework CoreFoundation \
+             -framework CoreServices -framework AudioUnit $(LIBCXX) \
+             -framework CoreMIDI -framework AudioToolbox ,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjsound,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsound$(SHARED_LIBRARY_SUFFIX)
+
+##########################################################################################
+
+ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
+		SRC:=$(LIBJSOUND_SRC_DIRS),\
+		INCLUDE_FILES := Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
+                                $(LIBJSOUND_DAUDIOFILES) \
+				PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \
+				PLATFORM_API_LinuxOS_ALSA_PCM.c     \
+				PLATFORM_API_LinuxOS_ALSA_PCMUtils.c   \
+				PLATFORM_API_LinuxOS_ALSA_MidiIn.c  \
+				PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
+				PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
+				PLATFORM_API_LinuxOS_ALSA_Ports.c,\
+		LANG := C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+			$(LIBJSOUND_CFLAGS) \
+			-DUSE_DAUDIO=TRUE \
+			-DUSE_PORTS=TRUE  \
+			-DUSE_PLATFORM_MIDI_OUT=TRUE \
+			-DUSE_PLATFORM_MIDI_IN=TRUE, \
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) -lasound,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsoundalsa$(SHARED_LIBRARY_SUFFIX)
+
+endif
+
+##########################################################################################
+
+ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
+		SRC:=$(LIBJSOUND_SRC_DIRS),\
+		INCLUDE_FILES := Utilities.c $(LIBJSOUND_DAUDIOFILES) \
+				PLATFORM_API_WinOS_DirectSound.cpp, \
+		LANG := C++,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+			$(LIBJSOUND_CFLAGS) \
+			-DUSE_DAUDIO=TRUE, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN),\
+		LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundds$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jsoundds$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)jsoundds$(SHARED_LIBRARY_SUFFIX)
+
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM), solaris)
+ifndef OPENJDK
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
+		SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
+		LANG := C,\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+			-I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
+		MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX:=$(LIBDL),\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2ucrypto$(SHARED_LIBRARY_SUFFIX)))
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)j2ucrypto$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)j2ucrypto$(SHARED_LIBRARY_SUFFIX)
+
+endif
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM), macosx)
+
+LIBAPPLESCRIPTENGINE_FILES := \
+	AppleScriptEngine.m \
+        AppleScriptExecutionContext.m \
+        AS_NS_ConversionUtils.m \
+        NS_Java_ConversionUtils.m
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
+		SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
+		LANG := C,\
+		INCLUDE_FILES:=$(LIBAPPLESCRIPTENGINE_FILES),\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+			-I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
+			-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+                        -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX:= \
+    -framework Cocoa \
+    -framework Carbon \
+    -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+    -framework JavaNativeFoundation, \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)AppleScriptEngine$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)AppleScriptEngine$(SHARED_LIBRARY_SUFFIX)
+
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM), macosx)
+
+LIBOSXAPP_FILES := \
+	NSApplicationAWT.m \
+	QueuingApplicationDelegate.m \
+	PropertiesUtilities.m \
+	ThreadUtilities.m
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
+		SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
+		LANG := C,\
+		INCLUDE_FILES:=$(LIBOSXAPP_FILES),\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+			-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
+                        -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+                        -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX_macosx := \
+	-framework Accelerate \
+	-framework ApplicationServices \
+	-framework AudioToolbox \
+	-framework Carbon \
+	-framework Cocoa \
+	-framework Security \
+	-framework ExceptionHandling \
+        -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+	-framework JavaNativeFoundation \
+	-framework JavaRuntimeSupport \
+	-framework OpenGL \
+	-framework IOSurface \
+	-framework QuartzCore, \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libosxapp,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
+
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM), macosx)
+
+LIBOSX_FILES := \
+    Dispatch.m \
+    CFileManager.m \
+    KeystoreImpl.m \
+    JavaAppLauncher.m \
+    MacOSXPreferencesFile.m \
+    SCDynamicStoreConfig.m
+
+LIBOSX_DIRS := \
+  $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
+  $(JDK_TOPDIR)/src/macosx/native/java/util \
+  $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
+  $(JDK_TOPDIR)/src/macosx/native/apple/security \
+  $(JDK_TOPDIR)/src/macosx/native/apple/launcher
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
+		SRC:=$(LIBOSX_DIRS),\
+		LANG := C,\
+		INCLUDE_FILES:=$(LIBOSX_FILES),\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
+                        -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
+                        -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+                        -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX_macosx := \
+    -losxapp \
+    -framework Cocoa \
+    -framework ApplicationServices \
+    -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+    -framework JavaNativeFoundation \
+    -framework JavaRuntimeSupport \
+    -framework Security \
+    -framework SystemConfiguration \
+    $(LDFLAGS_JDKLIB_SUFFIX), \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libosx,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX)
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osx$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM), macosx)
+
+LIBAWT_LWAWT_FILES := \
+        awt.m \
+        ApplicationDelegate.m \
+        CFRetainedResource.m \
+        CGLGraphicsConfig.m \
+        CGLSurfaceData.m \
+        CGLLayer.m \
+        CGraphicsConfig.m \
+        CGraphicsDevice.m \
+        CGraphicsEnv.m \
+        CCharToGlyphMapper.m \
+        CSystemColors.m \
+        AWTFont.m \
+        CGGlyphOutlines.m \
+        CGGlyphImages.m \
+        CoreTextSupport.m \
+        AWTStrike.m \
+        InitIDs.m \
+        AWTEvent.m \
+        AWTView.m \
+        AWTWindow.m \
+        AWTSurfaceLayers.m \
+        CCursorManager.m \
+        CClipboard.m \
+        CDataTransferer.m \
+        CDragSource.m \
+        CDragSourceContextPeer.m \
+        CDropTarget.m \
+        CDropTargetContextPeer.m \
+        CInputMethod.m \
+        CDesktopPeer.m \
+        OSVersion.m \
+        DnDUtilities.m \
+        CFileDialog.m \
+        CImage.m \
+        CMenu.m \
+        CMenuBar.m \
+        CMenuComponent.m \
+        CMenuItem.m \
+        CPopupMenu.m \
+        CRobot.m \
+        CTrayIcon.m \
+        CWrapper.m \
+        JavaAccessibilityAction.m \
+        JavaAccessibilityUtilities.m \
+        JavaComponentAccessibility.m \
+        JavaTextAccessibility.m \
+        LWCToolkit.m \
+        GeomUtilities.m \
+        CPrinterJob.m \
+        PrintModel.m \
+        PrinterSurfaceData.m \
+        PrinterView.m \
+        QuartzSurfaceData.m \
+        QuartzRenderer.m \
+        CTextPipe.m \
+        ImageSurfaceData.m \
+        awt_DrawingSurface.m \
+        \
+        OGLBlitLoops.c \
+        OGLBufImgOps.c \
+        OGLContext.c \
+        OGLFuncs.c \
+        OGLMaskBlit.c \
+        OGLMaskFill.c \
+        OGLPaints.c \
+        OGLRenderQueue.c \
+        OGLRenderer.c \
+        OGLSurfaceData.c \
+        OGLTextRenderer.c \
+        OGLVertexCache.c \
+        AccelGlyphCache.c \
+        CUPSfuncs.c
+
+
+LIBAWT_LWAWT_DIRS := \
+  $(JDK_TOPDIR)/src/macosx/native/sun/awt \
+  $(JDK_TOPDIR)/src/macosx/native/sun/font \
+  $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
+  $(JDK_TOPDIR)/src/solaris/native/sun/awt \
+  $(JDK_TOPDIR)/src/share/native/sun/font \
+  $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
+		SRC:=$(LIBAWT_LWAWT_DIRS),\
+		LANG := C,\
+		INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
+                        -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
+                        -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
+                        -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
+                        -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
+                        -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
+                        -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
+                        -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
+                        -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
+                        -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+                        -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX_macosx := \
+	-lawt -lmlib_image -losxapp $(LDFLAGS_JDKLIB_SUFFIX) $(LIBM) \
+	-framework Accelerate \
+	-framework ApplicationServices \
+	-framework AudioToolbox \
+	-framework Carbon \
+	-framework Cocoa \
+	-framework Security \
+	-framework ExceptionHandling \
+        -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+	-framework JavaNativeFoundation \
+	-framework JavaRuntimeSupport \
+	-framework OpenGL \
+        -framework QuartzCore ,\
+		BIN:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX) 
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)mlib_image$(SHARED_LIBRARY_SUFFIX) 
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM), macosx)
+
+LIBOSXUI_FILES := \
+        AquaFileView.m \
+        AquaLookAndFeel.m \
+        AquaNativeResources.m \
+        JRSUIConstantSync.m \
+        JRSUIController.m \
+        JRSUIFocus.m \
+        ScreenPopupFactory.m \
+        ScreenMenu.m
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
+		SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
+		LANG := C,\
+		INCLUDE_FILES:=$(LIBOSXUI_FILES),\
+		CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
+                        -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
+			-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
+			-I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
+                        -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
+		LDFLAGS:=$(LDFLAGS_JDKLIB)\
+			 $(call SET_SHARED_LIBRARY_ORIGIN), \
+		LDFLAGS_SUFFIX_macosx := \
+    -lawt -losxapp -lawt_lwawt \
+    -framework Cocoa \
+    -framework Carbon \
+    -framework ApplicationServices \
+    -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+    -framework JavaNativeFoundation \
+    -framework JavaRuntimeSupport, \
+		BIN:=$(JDK_OUTPUTDIR)/objs/libosxui,\
+		LIB:=$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX)))
+
+BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX)
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt$(SHARED_LIBRARY_SUFFIX) 
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 
+
+$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
+  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) 
+
+#$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)osxui$(SHARED_LIBRARY_SUFFIX) : \
+#  $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)java$(SHARED_LIBRARY_SUFFIX) 
+
+endif
+
+##########################################################################################
+
 all: $(COPY_FILES) $(BUILD_LIBRARIES)
 
 .PHONY: all
--- a/makefiles/CopyFiles.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/makefiles/CopyFiles.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -24,9 +24,15 @@
 #
 
 INCLUDEDIR = $(JDK_OUTPUTDIR)/include
-# TODO: Platform dir needs to be "win32" on windows /erikj
+
 PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM)
 
+ifeq ($(PLATFORM), windows)
+     PLATFORM_INCLUDE = $(INCLUDEDIR)/win32
+else ifeq ($(PLATFORM), macosx)
+     PLATFORM_INCLUDE = $(INCLUDEDIR)/darwin
+endif
+
 #
 # Copy exported header files to outputdir.
 #
@@ -41,12 +47,12 @@
 
 $(INCLUDEDIR)/%.h: $(JDK_TOPDIR)/src/share/javavm/export/%.h
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 $(PLATFORM_INCLUDE)/%.h: $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/javavm/export/%.h
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 COPY_FILES = $(H_TARGET_FILES)
@@ -58,7 +64,7 @@
 
 $(SERVICETAG_LIBDIR)/jdk_header.png: $(JDK_TOPDIR)/src/share/classes/com/sun/servicetag/resources/jdk_header.png
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 	$(CHMOD) 444 $@
 
@@ -73,13 +79,13 @@
 
 $(MGMT_LIBDIR)/management.properties: $(MGMT_LIB_SRC)/management.properties
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 	$(CHMOD) 644 $@
 
 $(MGMT_LIBDIR)/%: $(MGMT_LIB_SRC)/%
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 	$(CHMOD) 444 $@
 
@@ -91,7 +97,7 @@
 
 $(LIBDIR)/logging.properties: $(LOGGING_LIB_SRC)/logging.properties
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 COPY_FILES += $(LIBDIR)/logging.properties
@@ -104,9 +110,9 @@
 PSFONTPROPFILE_SRCS = $(wildcard $(PSFONTPROPFILE_SRC_DIR)/*.properties*)
 PSFONTPROPFILE_TARGET_FILES = $(subst $(PSFONTPROPFILE_SRC_DIR),$(LIBDIR),$(PSFONTPROPFILE_SRCS))
 
-$(PSFONTPROPFILE_TARGET_FILES): $(PSFONTPROPFILE_SRCS)
+$(LIBDIR)/%: $(PSFONTPROPFILE_SRC_DIR)/%
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 COPY_FILES += $(PSFONTPROPFILE_TARGET_FILES)
@@ -119,7 +125,7 @@
 
 $(LIBDIR)/flavormap.properties: $(PLATFORM_LIB_SRC)/flavormap.properties
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 COPY_FILES += $(LIBDIR)/flavormap.properties
@@ -129,7 +135,7 @@
 
 $(CURSORS_DEST_DIR)/cursors.properties: $(CURSORS_PLATFORM_LIB_SRC)/cursors.properties
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 COPY_FILES += $(CURSORS_DEST_DIR)/cursors.properties
@@ -142,9 +148,9 @@
 endif # PLATFORM
 CURSORS_TARGET_FILES =  $(subst $(CURSORS_LIB_SRC),$(CURSORS_DEST_DIR),$(CURSORS_SRC_FILES))
 
-$(CURSORS_TARGET_FILES): $(CURSORS_SRC_FILES)
+$(CURSORS_DEST_DIR)/%: $(CURSORS_LIB_SRC)/%
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 COPY_FILES += $(CURSORS_TARGET_FILES)
@@ -155,13 +161,39 @@
 
 $(LIBDIR)/content-types.properties: $(CONTENT_TYPES_SRC)/content-types.properties
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 COPY_FILES += $(LIBDIR)/content-types.properties
 
 ##########################################################################################
 
+CALENDARS_SRC := $(JDK_TOPDIR)/src/share/lib
+
+$(LIBDIR)/calendars.properties: $(CALENDARS_SRC)/calendars.properties
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+
+COPY_FILES += $(LIBDIR)/calendars.properties
+
+##########################################################################################
+
+ifeq ($(PLATFORM),windows)
+
+TZMAPPINGS_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
+
+$(LIBDIR)/tzmappings: $(TZMAPPINGS_SRC)/tzmappings
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+
+COPY_FILES += $(LIBDIR)/tzmappings
+
+endif
+
+##########################################################################################
+
 ICCPROFILE_DEST_DIR := $(LIBDIR)/cmm
 
 ifdef OPENJDK
@@ -175,7 +207,7 @@
 
 $(ICCPROFILE_DEST_DIR)%.pf: $(ICCPROFILE_SRC_DIR)%.pf
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 	$(CHMOD) 444 $@
 
@@ -209,8 +241,11 @@
         endif
     endif 
 
-    $(FREETYPE_LIB):
+    $(FREETYPE_LIB): $(FREETYPE2_LIB_PATH)/$(call SHARED_LIBRARY,freetype)
 	$(CP) $(FREETYPE2_LIB_PATH)/$(call SHARED_LIBRARY,freetype) $@
+    ifeq ($(BUILD_OS), windows)
+	$(CHMOD) +rx $@
+    endif
 
     COPY_FILES += $(FREETYPE_LIB)
 endif
@@ -223,10 +258,336 @@
     MSVCRNN_TARGET := $(JDK_OUTPUTDIR)/bin/$(notdir $(MSVCRNN_DLL))
     $(MSVCRNN_TARGET): $(MSVCRNN_DLL)
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
     COPY_FILES += $(MSVCRNN_TARGET)
 endif
 
 ##########################################################################################
+
+HPROF_SRC=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof/jvm.hprof.txt
+
+$(LIBDIR)/jvm.hprof.txt : $(HPROF_SRC)
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+
+COPY_FILES += $(LIBDIR)/jvm.hprof.txt
+
+##########################################################################################
+
+#
+# How to install jvm.cfg.
+#
+ifeq ($(JVM_VARIANT_ZERO), true)
+JVMCFG_ARCH := zero
+else
+    JVMCFG_ARCH := $(ARCH)
+endif
+
+ifeq ($(PLATFORM),macosx)
+  ifeq ($(JVMCFG_ARCH),amd64)
+      JVMCFG_ARCH := x86_64
+  endif
+  JVMCFG_SRC := $(JDK_TOPDIR)/src/macosx/bin/$(JVMCFG_ARCH)/jvm.cfg
+  JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib
+else
+  JVMCFG_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/$(JVMCFG_ARCH)/jvm.cfg
+  JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)
+endif
+
+JVMCFG := $(JVMCFG_DIR)/jvm.cfg
+
+
+ifeq ($(ARCH_DATA_MODEL),32)
+    # On 32 bit machines, we can have client and/or server libjvms installed.
+    # Since the currently committed jvm.cfg expects clientANDserver, we need 
+    # to patch the jvm.cfg when we have built only a client or only a server.
+    # This should also support -kernel, -zero and -zeroshark.
+    ifeq ($(JVM_VARIANTS),$(COMMA)client$(COMMA))
+        # Create a patched jvm.cfg to use -client by default and alias -server to -client.
+        $(JVMCFG):
+		$(MKDIR) -p $(@D)
+		$(RM) -f $(JVMCFG)
+		$(PRINTF) "-client KNOWN\n">$(JVMCFG)
+		$(PRINTF) "-server IGNORE\n">>$(JVMCFG)
+		$(PRINTF) "-hotspot ALIASED_TO -client\n">>$(JVMCFG)
+		$(PRINTF) "-classic WARN\n">>$(JVMCFG)
+		$(PRINTF) "-native ERROR\n">>$(JVMCFG)
+		$(PRINTF) "-green ERROR\n">>$(JVMCFG)
+
+    else
+        ifeq ($(JVM_VARIANTS),$(COMMA)server$(COMMA))
+            # Create a patched jvm.cfg to use -server by default and alias -client to -server.
+
+            $(JVMCFG):
+		$(MKDIR) -p $(@D)
+		$(RM) -f $(JVMCFG)
+		$(PRINTF) "-server KNOWN\n">$(JVMCFG)
+		$(PRINTF) "-client IGNORE\n">>$(JVMCFG)
+		$(PRINTF) "-hotspot IGNORE\n">>$(JVMCFG)
+		$(PRINTF) "-classic WARN\n">>$(JVMCFG)
+		$(PRINTF) "-native ERROR\n">>$(JVMCFG)
+		$(PRINTF) "-green ERROR\n">>$(JVMCFG)
+        else
+            # Use the default jvm.cfg for this 32 bit setup. 
+            $(JVMCFG): $(JVMCFG_SRC)
+	    	$(MKDIR) -p $(@D)
+		$(RM) -f $@
+		$(CP) $< $@
+        endif
+    endif
+else
+    # Use the default jvm.cfg for this 64 bit setup.
+    $(JVMCFG): $(JVMCFG_SRC)
+		$(MKDIR) -p $(@D)
+		$(RM) -f $@
+		$(CP) $< $@
+endif
+
+COPY_FILES += $(JVMCFG)
+
+##########################################################################################
+
+PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security
+PROPS_DST := $(JDK_OUTPUTDIR)/lib/security/java.security
+
+ifeq ($(PLATFORM), solaris)
+	PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-solaris
+endif
+
+ifeq ($(PLATFORM), windows)
+	PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-windows
+endif
+
+ifeq ($(PLATFORM), macosx)
+	PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-macosx
+endif
+
+$(PROPS_DST): $(PROPS_SRC)
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+
+COPY_FILES += $(PROPS_DST)
+
+##########################################################################################
+
+POLICY_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.policy
+POLICY_DST := $(JDK_OUTPUTDIR)/lib/security/java.policy
+
+$(POLICY_DST): $(POLICY_SRC)
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+
+COPY_FILES += $(POLICY_DST)
+
+##########################################################################################
+
+CACERTS_SRC := $(CACERTS_FILE)
+CACERTS_DST := $(JDK_OUTPUTDIR)/lib/security/cacerts
+
+$(CACERTS_DST): $(CACERTS_SRC)
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+
+COPY_FILES += $(CACERTS_DST)
+
+##########################################################################################
+
+ifndef OPENJDK
+
+BLACKLIST_SRC   := $(JDK_TOPDIR)/src/closed/share/lib/security/blacklist
+BLACKLIST_DST   := $(JDK_OUTPUTDIR)/lib/security/blacklist
+
+TRUSTEDLIBS_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/trusted.libraries
+TRUSTEDLIBS_DST := $(JDK_OUTPUTDIR)/lib/security/trusted.libraries
+
+$(BLACKLIST_DST): $(BLACKLIST_SRC)
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+
+COPY_FILES += $(BLACKLIST_DST)
+
+$(TRUSTEDLIBS_DST): $(TRUSTEDLIBS_SRC)
+	$(MKDIR) -p $(@D)
+	$(RM) -f $@
+	$(CP) $< $@
+
+COPY_FILES += $(TRUSTEDLIBS_DST)
+
+endif
+
+##########################################################################################
+
+ifndef OPENJDK
+
+SHARED_FONTS_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/lib/fonts
+SHARED_FONTS_DST_DIR := $(JDK_OUTPUTDIR)/lib/fonts
+SHARED_FONTS_FILES   := \
+	LucidaTypewriterRegular.ttf	\
+	LucidaTypewriterBold.ttf        \
+	LucidaBrightRegular.ttf         \
+	LucidaBrightDemiBold.ttf        \
+	LucidaBrightItalic.ttf          \
+	LucidaBrightDemiItalic.ttf	\
+	LucidaSansRegular.ttf       	\
+	LucidaSansDemiBold.ttf       	\
+
+SHARED_FONTS_SRC := $(foreach F,$(SHARED_FONTS_FILES),$(SHARED_FONTS_SRC_DIR)/$(F))
+SHARED_FONTS_DST := $(foreach F,$(SHARED_FONTS_FILES),$(SHARED_FONTS_DST_DIR)/$(F))
+
+$(SHARED_FONTS_DST_DIR)/%.ttf : $(SHARED_FONTS_SRC_DIR)/%.ttf
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $@
+
+$(SHARED_FONTS_DST_DIR)/fonts.dir : $(JDK_TOPDIR)/src/solaris/classes/sun/awt/motif/java.fonts.dir
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $@
+
+COPY_FILES += $(SHARED_FONTS_DST) $(SHARED_FONTS_DST_DIR)/fonts.dir
+
+ifeq ($(PLATFORM), linux)
+
+# The oblique fonts are only needed/wanted on Linux.
+
+OBL_FONTS_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/lib/fonts/oblique
+OBL_FONTS_DST_DIR := $(JDK_OUTPUTDIR)/lib/oblique-fonts
+OBL_FONTS_FILES   := LucidaTypewriterOblique.ttf LucidaTypewriterBoldOblique.ttf \
+                    LucidaSansOblique.ttf LucidaSansDemiOblique.ttf
+
+OBL_FONTS_SRC := $(foreach F,$(OBL_FONTS_FILES),$(OBL_FONTS_SRC_DIR)/$(F))
+OBL_FONTS_DST := $(foreach F,$(OBL_FONTS_FILES),$(OBL_FONTS_DST_DIR)/$(F))
+
+$(OBL_FONTS_DST_DIR)/%.ttf : $(OBL_FONTS_SRC_DIR)/%.ttf
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $@
+
+$(OBL_FONTS_DST_DIR)/fonts.dir : $(JDK_TOPDIR)/src/solaris/classes/sun/awt/motif/java.oblique-fonts.dir
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $@
+
+COPY_FILES += $(OBL_FONTS_DST) $(OBL_FONTS_DST_DIR)/fonts.dir
+
+endif # linux
+endif # OPENJDK
+
+##########################################################################################
+
+ifndef OPENJDK
+
+JS_RESOURCES_FILES := Messages.properties Messages_fr.properties
+JS_RESOURCES_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/classes/sun/org/mozilla/javascript/internal/resources
+JS_RESOURCES_DST_DIR := $(JDK_OUTPUTDIR)/classes/sun/org/mozilla/javascript/internal/resources
+
+JS_RESOURCES_SRC := $(foreach F,$(JS_RESOURCES_FILES),$(JS_RESOURCES_SRC_DIR)/$(F))
+JS_RESOURCES_DST := $(foreach F,$(JS_RESOURCES_FILES),$(JS_RESOURCES_DST_DIR)/$(F))
+
+$(JS_RESOURCES_DST_DIR)/% : $(JS_RESOURCES_SRC_DIR)/%
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $@
+
+COPY_FILES += $(JS_RESOURCES_DST)
+
+endif
+
+##########################################################################################
+
+ifndef OPENJDK
+
+#
+# Solaris X11 Direct Graphics Access library
+#
+
+_DGALIBS_sparc = \
+	libxinerama.so \
+	libjdgaSUNWcg6.so \
+	libjdgaSUNWffb.so \
+	libjdgaSUNWm64.so \
+	libjdgaSUNWafb.so
+
+_DGALIBS_sparcv9 = \
+	libxinerama.so \
+	libjdgaSUNWcg6.so \
+	libjdgaSUNWffb.so \
+	libjdgaSUNWm64.so \
+	libjdgaSUNWafb.so
+
+_DGALIBS_i586 = 	# no i586 library yet
+
+_DGALIBS_amd64 = 	# no amd64 library yet
+
+DGALIBS = $(_DGALIBS_$(ARCH):%=$(JDK_OUTPUTDIR)/lib/$(LIBARCH)/%)
+
+$(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libxinerama.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(ARCH)/libxinerama.so
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $@
+
+$(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNW%.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(ARCH)/libjdgaSUNW%.so
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $@
+
+$(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNWafb.so: $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNWffb.so
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(LN) -s $< $@
+
+COPY_FILES += $(DGALIBS)
+
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM), solaris)
+
+SUNPKCS11_CFG_SRC := $(JDK_TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg
+SUNPKCS11_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/sunpkcs11-solaris.cfg
+
+$(SUNPKCS11_CFG_DST) : $(SUNPKCS11_CFG_SRC)
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $@
+
+COPY_FILES += $(SUNPKCS11_CFG_DST)
+
+endif
+
+##########################################################################################
+
+ifndef OPENJDK
+ifeq ($(PLATFORM), solaris)
+
+UCRYPTO_CFG_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/ucrypto-solaris.cfg
+UCRYPTO_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/ucrypto-solaris.cfg
+
+$(UCRYPTO_CFG_DST) : $(UCRYPTO_CFG_SRC)
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $@
+
+COPY_FILES += $(UCRYPTO_CFG_DST)
+
+endif
+endif
+
+##########################################################################################
+
+$(JDK_OUTPUTDIR)/lib/sound.properties : $(JDK_TOPDIR)/src/share/lib/sound.properties
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $(@)
+
+COPY_FILES += $(JDK_OUTPUTDIR)/lib/sound.properties
+
+##########################################################################################
--- a/makefiles/CopyIntoClasses.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/makefiles/CopyIntoClasses.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -83,6 +83,83 @@
 COPY_FILES += \
   $(JDK_TOPDIR)/src/share/classes/sun/net/idn/uidna.spp
 
+#
+# Swing plaf resources
+#
+SWING_PLAF_WINDOWS_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/windows
+COPY_FILES += \
+  $(wildcard $(SWING_PLAF_WINDOWS_RESOURCES_DIR)/icons/*.gif) \
+  $(wildcard $(SWING_PLAF_WINDOWS_RESOURCES_DIR)/icons/*.png)
+
+ifndef OPENJDK
+  SWING_PLAF_WINDOWS_RESOURCES_DIR_CLOSED = $(JDK_TOPDIR)/src/closed/share/classes/com/sun/java/swing/plaf/windows
+  # Filter out JavaCup32.png from OpenJDK
+  COPY_FILES := $(filter-out $(SWING_PLAF_WINDOWS_RESOURCES_DIR)/icons/JavaCup32.png, $(COPY_FILES))
+  # Alter JavaCup32.png from ClosedJDK
+  COPY_FILES += \
+    $(SWING_PLAF_WINDOWS_RESOURCES_DIR_CLOSED)/icons/JavaCup32.png
+endif
+
+SWING_PLAF_BASIC_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/javax/swing/plaf/basic
+COPY_FILES += \
+  $(wildcard $(SWING_PLAF_BASIC_RESOURCES_DIR)/icons/*.png)
+
+ifndef OPENJDK
+  SWING_PLAF_BASIC_RESOURCES_DIR_CLOSED = $(JDK_TOPDIR)/src/closed/share/classes/javax/swing/plaf/basic
+  # Filter out JavaCup16.png from OpenJDK
+  COPY_FILES := $(filter-out $(SWING_PLAF_BASIC_RESOURCES_DIR)/icons/JavaCup16.png, $(COPY_FILES))
+  # Alter JavaCup16.png from ClosedJDK
+  COPY_FILES += \
+    $(SWING_PLAF_BASIC_RESOURCES_DIR_CLOSED)/icons/JavaCup16.png
+endif
+
+ifdef OPENJDK
+  SWING_PLAF_MOTIF_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/motif
+  COPY_FILES += \
+    $(wildcard $(SWING_PLAF_MOTIF_RESOURCES_DIR)/icons/*.gif) \
+    $(wildcard $(SWING_PLAF_MOTIF_RESOURCES_DIR)/icons/*.png)
+else
+  SWING_PLAF_MOTIF_RESOURCES_DIR_CLOSED = $(JDK_TOPDIR)/src/closed/share/classes/com/sun/java/swing/plaf/motif
+  COPY_FILES += \
+    $(wildcard $(SWING_PLAF_MOTIF_RESOURCES_DIR_CLOSED)/icons/*.gif) \
+    $(wildcard $(SWING_PLAF_MOTIF_RESOURCES_DIR_CLOSED)/icons/*.png)
+endif
+
+SWING_PLAF_METAL_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/javax/swing/plaf/metal
+COPY_FILES += \
+  $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/*.gif) \
+  $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/*.png) \
+  $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.gif) \
+  $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.png) \
+  $(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/sounds/*.wav)
+
+ifneq ($(PLATFORM), windows)
+  # Only copy GTK resources on Solaris/Linux
+  SWING_PLAF_GTK_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk
+  COPY_FILES += \
+    $(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/icons/*.gif) \
+    $(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/icons/*.png) \
+    $(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/resources/metacity/SwingFallbackTheme/metacity-1/*.xml)
+endif
+# END: Swing plaf resources
+
+# The exception handling of swing beaninfo
+# These resources violates the convention of having code and resources together under
+# $(JDK_TOPDIR)/src/.../classes directories 
+SWING_BEANINFO_RESOURCES_SRC_DIR = $(JDK_TOPDIR)/make/tools/swing-beans/beaninfo/images
+SWING_BEANINFO_RESOURCES_SRC = $(wildcard $(SWING_BEANINFO_RESOURCES_SRC_DIR)/*.gif)
+OUT_BEANINFO_RESOURCES = $(addprefix $(JDK_OUTPUTDIR)/classes/javax/swing/beaninfo/images/,\
+	$(shell $(PRINTF) "$(SWING_BEANINFO_RESOURCES_SRC)\n" | $(SED) -e 's|/[^ ]*/beaninfo/images/||g'))
+
+COPY_EXTRA += $(OUT_BEANINFO_RESOURCES)
+# END: Swing beaninfo resources
+
+# Swing text resources
+SWING_TEXT_RESOURCEDIR = $(JDK_TOPDIR)/src/share/classes/javax/swing/text
+COPY_FILES += \
+  $(SWING_TEXT_RESOURCEDIR)/html/default.css \
+  $(wildcard $(SWING_TEXT_RESOURCEDIR)/rtf/charsets/*.txt)
+
 ##########################################################################################
 #
 # Copy the META-INF/services configuration files that are scattered around the source tree
@@ -94,7 +171,7 @@
 # are uncommented and the configuration file is stored in the output META-INF directory.
 
 # Make sure the output directory is created.
-$(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/newclasses/META-INF/services)
+$(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/classes/META-INF/services)
 # Find all META-INF/services/* files
 ALL_META-INF_DIRS_share:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes -type d -a -name META-INF)
 ALL_META-INF_DIRS_hostapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes -type d -a -name META-INF)
@@ -107,12 +184,22 @@
     ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_share)
 endif
 # Filter out META-INF dirs that shouldn't be included
-ALL_META-INF_DIRS:=$(filter-out %sun/nio/cs/ext/META-INF,$(ALL_META-INF_DIRS))
 ifdef OPENJDK
   ALL_META-INF_DIRS:=$(filter-out %com/sun/script/javascript/META-INF,$(ALL_META-INF_DIRS))
 endif
 
+ifndef OPENJDK
+ifneq ($(PLATFORM), macosx)
+    ALL_META-INF_DIRS += $(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc/META-INF
+endif
+endif
+
+ifndef OPENJDK
+    ALL_META-INF_DIRS += $(JDK_TOPDIR)/src/closed/share/classes/sun/java2d/cmm/kcms/META-INF
+endif
+
 SRC_SERVICES_FILES:=$(wildcard $(addsuffix /services/*,$(ALL_META-INF_DIRS)))
+
 ifdef OPENJDK
     SRC_SERVICES_FILES:=$(filter-out %sun/dc/META-INF/services/sun.java2d.pipe.RenderingEngine,$(SRC_SERVICES_FILES))
     SRC_SERVICES_FILES:=$(filter-out %sun/java2d/cmm/kcms/META-INF/services/sun.java2d.cmm.PCMM,$(SRC_SERVICES_FILES))
@@ -120,16 +207,17 @@
     SRC_SERVICES_FILES:=$(filter-out %sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine,$(SRC_SERVICES_FILES))
     SRC_SERVICES_FILES:=$(filter-out %sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM,$(SRC_SERVICES_FILES))
 endif
+
 # The number of services files are relatively few. If the increase in numbers, then
 # we have to use ListPathsSafelyNow here.
-# Change $(JDK_TOPDIR)/src/.../META-INF/services/yyyy into $(JDK_OUTPUTDIR)/newclasses/META-INF/services/yyyy
+# Change $(JDK_TOPDIR)/src/.../META-INF/services/yyyy into $(JDK_OUTPUTDIR)/classes/META-INF/services/yyyy
 # The \n in the printf command is needed to make sed work on Solaris.
-OUT_SERVICES_FILES:=$(addprefix $(JDK_OUTPUTDIR)/newclasses/META-INF/services/,\
+OUT_SERVICES_FILES:=$(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
 	$(shell $(PRINTF) "$(SRC_SERVICES_FILES)\n" | $(SED) -e 's|/[^ ]*/META-INF/services/||g'))
 OUT_SERVICES_FILES_COLON:=$(addsuffix :,$(OUT_SERVICES_FILES))
 # Exception handling for print services with no META-INF directory
 SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/*)
-OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/newclasses/META-INF/services/,\
+OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
 	$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/%,%,\
 		$(SRC_SERVICES_FILES_PRINT)))
 OUT_SERVICES_FILES_PRINT_COLON = $(addsuffix :,$(OUT_SERVICES_FILES_PRINT))
@@ -148,3 +236,45 @@
 
 COPY_EXTRA += $(OUT_SERVICES_FILES)
 COPY_EXTRA += $(OUT_SERVICES_FILES_PRINT)
+
+###
+
+$(JDK_OUTPUTDIR)/classes/sun/nio/cs/ext/sjis0213.dat : $(JDK_OUTPUTDIR)/gensrc/sun/nio/cs/ext/sjis0213.dat
+	$(MKDIR) -p $(@D)
+	$(RM) $@
+	$(CP) $< $(@)
+
+COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/sun/nio/cs/ext/sjis0213.dat
+
+###
+
+JAVAX_SOUND_SRC := $(JDK_TOPDIR)/src/share/classes/com/sun/media/sound/services
+
+JAVAX_SOUND_SRC_FILES := \
+            javax.sound.midi.spi.MidiDeviceProvider \
+            javax.sound.midi.spi.MidiFileReader \
+            javax.sound.midi.spi.MidiFileWriter \
+            javax.sound.midi.spi.SoundbankReader \
+            javax.sound.sampled.spi.AudioFileReader \
+            javax.sound.sampled.spi.AudioFileWriter \
+            javax.sound.sampled.spi.FormatConversionProvider
+
+COPY_EXTRA += $(foreach F,$(notdir $(JAVAX_SOUND_SRC_FILES)),$(JDK_OUTPUTDIR)/classes/META-INF/services/${F})
+
+ifeq ($(PLATFORM)-$(ARCH),windows-ia64)
+	JAVAX_SOUND_SRC_FILES += windows-ia64/javax.sound.sampled.spi.MixerProvider
+	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
+else ifeq ($(PLATFORM),windows)
+	JAVAX_SOUND_SRC_FILES += windows-i586/javax.sound.sampled.spi.MixerProvider
+	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
+else ifeq ($(PLATFORM)-$(ARCH),linux-i586)
+	JAVAX_SOUND_SRC_FILES += linux-i586/javax.sound.sampled.spi.MixerProvider
+	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
+else
+	JAVAX_SOUND_SRC_FILES += javax.sound.sampled.spi.MixerProvider
+	COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
+endif
+
+JAVAX_SOUND_RULES := $(foreach F,$(JAVAX_SOUND_SRC_FILES),$(JDK_OUTPUTDIR)/classes/META-INF/services/$(notdir $F):$(JAVAX_SOUND_SRC)/$F)
+
+$(foreach R,$(JAVAX_SOUND_RULES),$(eval $(call addto_meta-inf_services,$R)))
--- a/makefiles/CopySamples.gmk	Thu Jun 14 16:34:43 2012 -0700
+++ b/makefiles/CopySamples.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -46,7 +46,7 @@
     SAMPLE_TARGET += $(SAMPLE_CLOSED_TARGET)
 endif
 
-ifeq ($(PLATFORM),solaris)
+ifneq (, $(filter $(PLATFORM), solaris macosx))
     SAMPLE_SOLARIS_SOURCE := $(shell $(FIND) $(SAMPLE_SOLARIS_SOURCE_DIR) -type f -print)
     SAMPLE_SOLARIS_TARGET := $(subst $(SAMPLE_SOLARIS_SOURCE_DIR),$(SAMPLE_TARGET_DIR),$(SAMPLE_SOLARIS_SOURCE))
     SAMPLE_TARGET += $(SAMPLE_SOLARIS_TARGET)
@@ -54,17 +54,17 @@
 
 $(SAMPLE_TARGET_DIR)/dtrace/%: $(SAMPLE_SOLARIS_SOURCE_DIR)/dtrace/%
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 $(SAMPLE_TARGET_DIR)/webservices/%: $(SAMPLE_CLOSED_SOURCE_DIR)/webservices/%
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 $(SAMPLE_TARGET_DIR)/%: $(SAMPLE_SOURCE_DIR)/%
 	$(MKDIR) -p $(@D)
-	rm -f $@
+	$(RM) -f $@
 	$(CP) $< $@
 
 COPY_FILES += $(SAMPLE_TARGET)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/makefiles/CreateJars.gmk	Sun Jun 17 22:07:44 2012 -0700
@@ -0,0 +1,809 @@
+#
+# Copyright (c) 2011, 2012, 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.
+#
+
+include $(SPEC)
+include MakeBase.gmk
+include JavaCompilation.gmk
+include Setup.gmk
+
+default: all
+
+include Tools.gmk
+
+
+MAINMANIFEST := $(JDK_TOPDIR)/make/tools/manifest.mf
+BEANMANIFEST := $(JDK_TOPDIR)/make/javax/swing/beaninfo/manifest
+
+JARS:=
+
+##########################################################################################
+
+JCONSOLE_JAR_DEPS := \
+  $(shell $(FIND) $(JDK_OUTPUTDIR)/classes/sun/tools/jconsole/ -name "_the.package") \
+  $(shell $(FIND) $(JDK_OUTPUTDIR)/classes/com/sun/tools/jconsole/ -name "_the.package")
+
+$(eval $(call SetupArchive,BUILD_JCONSOLE_JAR,$(JCONSOLE_JAR_DEPS),\
+		SRCS:=$(JDK_OUTPUTDIR)/classes,\
+		SUFFIXES:=.class .gif .png,\
+		INCLUDES:=sun/tools/jconsole com/sun/tools/jconsole,\
+		JARMAIN:=sun.tools.jconsole.JConsole,\
+		JAR:=$(JDK_OUTPUTDIR)/lib/jconsole.jar,\
+		SKIP_METAINF:=true))
+
+JARS+=$(JDK_OUTPUTDIR)/lib/jconsole.jar
+
+##########################################################################################
+
+DNS_JAR_DEPS := \
+  $(shell $(FIND) $(JDK_OUTPUTDIR)/classes/sun/net/spi/nameservice/dns/ -name "_the.package") \
+
+$(eval $(call SetupArchive,BUILD_DNS_JAR,$(DNS_JAR_DEPS),\
+		SRCS:=$(JDK_OUTPUTDIR)/classes,\
+		INCLUDES:=sun/net/spi/nameservice/dns,\
+		EXTRA_FILES:=META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor,\
+		JAR:=$(JDK_OUTPUTDIR)/lib/ext/dnsns.jar,\
+		SKIP_METAINF:=true))
+
+JARS+=$(JDK_OUTPUTDIR)/lib/ext/dnsns.jar
+
+##########################################################################################
+
+LOCALEDATA_INCLUDE_PATTERNS := \
+	sun/text/resources/*_ar* \
+	sun/text/resources/*_hi* \
+	sun/text/resources/*_iw* \
+	sun/text/resources/*_iw* \
+	sun/text/resources/*_ja* \
+	sun/text/resources/*_ko* \
+	sun/text/resources/*_th.* \
+	sun/text/resources/*_th_* \
+	sun/text/resources/*_vi* \
+	sun/text/resources/*_zh* \
+	sun/text/resources/*Data_th \
+	sun/text/resources/thai_dict \
+	sun/util/resources/*_ar* \
+	sun/util/resources/*_hi* \
+	sun/util/resources/*_iw* \
+	sun/util/resources/*_iw* \
+	sun/util/resources/*_ja* \
+	sun/util/resources/*_ko* \
+	sun/util/resources/*_th_* \
+	sun/util/resources/*_th.* \
+	sun/util/resources/*_vi* \
+	sun/util/resources/*_zh*
+
+LOCALEDATA_INCLUDES := $(patsubst $(JDK_OUTPUTDIR)/classes/%,%,\
+	$(foreach i,$(LOCALEDATA_INCLUDE_PATTERNS), $(wildcard $(JDK_OUTPUTDIR)/classes/$i)))
+
+$(eval $(call SetupArchive,BUILD_LOCALEDATA_JAR,,\
+		SRCS:=$(JDK_OUTPUTDIR)/classes,\
+		SUFFIXES:=.class _dict _th,\
+		INCLUDES:=$(LOCALEDATA_INCLUDES),\
+		JAR:=$(JDK_OUTPUTDIR)/lib/ext/localedata.jar,\
+		SKIP_METAINF:=true))
+
+JARS+=$(JDK_OUTPUTDIR)/lib/ext/localedata.jar
+
+##########################################################################################
+# rt.jar and resources.jar are being built in the same way as in the old build. They require
+# the files to be in a certain order and converting that is not easy and will not be needed
+# in jigsaw anyway.
+
+# Exclude list for rt.jar and resources.jar
+RT_JAR_EXCLUDES := \
+	com/sun/javadoc \
+	com/sun/jdi \
+	com/sun/jarsigner \
+	com/sun/source \
+	com/sun/istack/internal/tools \
+	META-INF/services/com.sun.jdi.connect.Connector \
+	META-INF/services/com.sun.jdi.connect.spi.TransportService \
+	META-INF/services/com.sun.tools.xjc.Plugin \
+	com/sun/tools \
+	sun/jvmstat \
+	sun/nio/cs/ext \
+	sun/awt/HKSCS.class \
+	sun/awt/motif/X11GB2312\$$$$Decoder.class \
+	sun/awt/motif/X11GB2312\$$$$Encoder.class \
+	sun/awt/motif/X11GB2312.class \
+	sun/awt/motif/X11GBK\$$$$Encoder.class \
+	sun/awt/motif/X11GBK.class \
+	sun/awt/motif/X11KSC5601\$$$$Decoder.class \
+	sun/awt/motif/X11KSC5601\$$$$Encoder.class \
+	sun/awt/motif/X11KSC5601.class \
+	META-INF/services/java.nio.charset.spi.CharsetProvider \
+	sun/rmi/rmic \
+	sun/tools/asm \
+	sun/tools/java \
+	sun/tools/javac \
+	com/sun/tools/classfile \
+	com/sun/tools/javap \
+	sun/tools/jcmd \
+	sun/tools/jconsole \
+	sun/tools/jps \
+	sun/tools/jstat \
+	sun/tools/jstatd \
+	sun/tools/native2ascii \
+	sun/tools/serialver \
+	sun/tools/tree \
+	sun/tools/util \
+	sun/security/tools/JarBASE64Encoder.class \
+	sun/security/tools/JarSigner.class \
+	sun/security/tools/JarSignerParameters.class \
+	sun/security/tools/JarSignerResources.class \
+	sun/security/tools/JarSignerResources_ja.class \
+	sun/security/tools/JarSignerResources_zh_CN.class \
+	sun/security/tools/SignatureFile\$$$$Block.class \
+	sun/security/tools/SignatureFile.class \
+	sun/security/tools/TimestampedSigner.class \
+	sun/security/provider/Sun.class \
+	sun/security/rsa/SunRsaSign.class \
+	sun/security/ssl \
+	sun/security/ec/ECDHKeyAgreement.class \
+	sun/security/ec/ECDSASignature\$$$$Raw.class \
+	sun/security/ec/ECDSASignature\$$$$SHA1.class \
+	sun/security/ec/ECDSASignature\$$$$SHA224.class \
+	sun/security/ec/ECDSASignature\$$$$SHA256.class \
+	sun/security/ec/ECDSASignature\$$$$SHA384.class \
+	sun/security/ec/ECDSASignature\$$$$SHA512.class \
+	sun/security/ec/ECDSASignature.class \
+	sun/security/ec/ECKeyPairGenerator.class \
+	sun/security/ec/SunEC\$$$$1.class \
+	sun/security/ec/SunEC.class \
+	sun/security/ec/SunECEntries.class \
+	sun/security/pkcs11 \
+	com/sun/net/ssl/internal/ssl \
+	javax/crypto \
+	sun/security/internal \
+	com/sun/crypto/provider \
+	META-INF/services/com.sun.tools.attach.spi.AttachProvider \
+	com/sun/tools/attach \
+	org/relaxng/datatype \
+	com/sun/codemodel \
+	com/sun/xml/internal/dtdparser \
+	com/sun/xml/internal/rngom \
+	com/sun/xml/internal/xsom \
+	com/sun/tools/script/shell \
+	sun/tools/attach \
+	sun/tools/jstack \
+	sun/tools/jinfo \
+	sun/tools/jmap \
+	sun/net/spi/nameservice/dns \
+	META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor \
+	javax/swing/beaninfo \
+	javax/swing/AbstractButtonBeanInfo.class \
+	javax/swing/BoxBeanInfo.class \
+	javax/swing/JAppletBeanInfo.class \
+	javax/swing/JButtonBeanInfo.class \
+	javax/swing/JCheckBoxBeanInfo.class \
+	javax/swing/JCheckBoxMenuItemBeanInfo.class \
+	javax/swing/JColorChooserBeanInfo.class \
+	javax/swing/JComboBoxBeanInfo.class \
+	javax/swing/JComponentBeanInfo.class \
+	javax/swing/JDesktopPaneBeanInfo.class \
+	javax/swing/JDialogBeanInfo.class \
+	javax/swing/JEditorPaneBeanInfo.class \
+	javax/swing/JFileChooserBeanInfo.class \
+	javax/swing/JFormattedTextFieldBeanInfo.class \
+	javax/swing/JFrameBeanInfo.class \
+	javax/swing/JInternalFrameBeanInfo.class \
+	javax/swing/JLabelBeanInfo.class \
+	javax/swing/JLayeredPaneBeanInfo.class \
+	javax/swing/JListBeanInfo.class \
+	javax/swing/JMenuBarBeanInfo.class \
+	javax/swing/JMenuBeanInfo.class \
+	javax/swing/JMenuItemBeanInfo.class \
+	javax/swing/JOptionPaneBeanInfo.class \
+	javax/swing/JPanelBeanInfo.class \
+	javax/swing/JPasswordFieldBeanInfo.class \
+	javax/swing/JPopupMenuBeanInfo.class \
+	javax/swing/JProgressBarBeanInfo.class \
+	javax/swing/JRadioButtonBeanInfo.class \
+	javax/swing/JRadioButtonMenuItemBeanInfo.class \
+	javax/swing/JScrollBarBeanInfo.class \
+	javax/swing/JScrollPaneBeanInfo.class \
+	javax/swing/JSeparatorBeanInfo.class \
+	javax/swing/JSliderBeanInfo.class \
+	javax/swing/JSpinnerBeanInfo.class \
+	javax/swing/JSplitPaneBeanInfo.class \
+	javax/swing/JTabbedPaneBeanInfo.class \
+	javax/swing/JTableBeanInfo.class \
+	javax/swing/JTextAreaBeanInfo.class \
+	javax/swing/JTextFieldBeanInfo.class \
+	javax/swing/JTextPaneBeanInfo.class \
+	javax/swing/JToggleButtonBeanInfo.class \
+	javax/swing/JToolBarBeanInfo.class \
+	javax/swing/JTreeBeanInfo.class \
+	javax/swing/JWindowBeanInfo.class \
+	javax/swing/SwingBeanInfoBase.class \
+	javax/swing/text/JTextComponentBeanInfo.class \
+	sun/swing/BeanInfoUtils.class \
+	$(LOCALEDATA_INCLUDES)
+
+ifndef OPENJDK
+ifndef JAVASE_EMBEDDED
+RT_JAR_EXCLUDES += \
+	com/oracle/jrockit/jfr \
+	oracle/jrockit/jfr
+endif
+endif
+
+# Find all files in the classes dir to use as dependencies. This could be more fine granular.
+ALL_FILES_IN_CLASSES := $(shell $(FIND) $(JDK_OUTPUTDIR)/classes -type f \
+			| $(GREP) -v -e '/_the\.*' -e '^_the\.*')
+
+RT_JAR_MANIFEST_FILE := $(JDK_OUTPUTDIR)/lib/_the.rt.jar_manifest
+RESOURCE_JAR_MANIFEST_FILE := $(JDK_OUTPUTDIR)/lib/_the.resources.jar_manifest
+
+$(RT_JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST)
+	$(MKDIR) -p $(@D)
+	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" 		\
+	       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
+	       $(MAINMANIFEST) >> $@
+	$(ECHO) >> $@
+	$(CAT) $(BEANMANIFEST) >> $@
+
+$(RESOURCE_JAR_MANIFEST_FILE): $(MAINMANIFEST)
+	$(MKDIR) -p $(@D)
+	$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" 		\
+	       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
+	       $(MAINMANIFEST) >> $@
+
+$(JDK_OUTPUTDIR)/lib/_the.jars.exclude:
+	$(MKDIR) -p $(@D)
+	$(call ListPathsSafely,RT_JAR_EXCLUDES,\n, >> $@)
+
+$(JDK_OUTPUTDIR)/lib/_the.jars.contents: $(BUILD_TOOLS) $(JDK_OUTPUTDIR)/lib/_the.jars.exclude \
+					 $(ALL_FILES_IN_CLASSES)
+	$(MKDIR) -p $(@D)
+	$(RM) $@.temp
+	($(CD) $(JDK_OUTPUTDIR)/classes && \
+	    $(TOOL_JARREORDER) \
+		-o  $@.temp $(JDK_OUTPUTDIR)/lib/classlist $(JDK_OUTPUTDIR)/lib/_the.jars.exclude . )
+	$(MV) $@.temp $@
+
+$(JDK_OUTPUTDIR)/lib/_the.rt.jar.contents: $(JDK_OUTPUTDIR)/lib/_the.jars.contents
+	$(GREP) -e '\.class$$' $(JDK_OUTPUTDIR)/lib/_the.jars.contents > $@
+
+$(JDK_OUTPUTDIR)/lib/_the.resources.jar.contents: $(JDK_OUTPUTDIR)/lib/_the.jars.contents
+	$(GREP) -v -e '\.class$$' -e '/_the\.*' -e '^_the\.*' $(JDK_OUTPUTDIR)/lib/_the.jars.contents > $@
+
+$(JDK_OUTPUTDIR)/lib/rt.jar: $(JDK_OUTPUTDIR)/lib/_the.rt.jar.contents $(RT_JAR_MANIFEST_FILE)
+	$(ECHO) Creating rt.jar
+	$(CD) $(JDK_OUTPUTDIR)/classes && \
+	    $(JAR) cfm $@ $(RT_JAR_MANIFEST_FILE) \
+	        @$(JDK_OUTPUTDIR)/lib/_the.rt.jar.contents
+
+$(JDK_OUTPUTDIR)/lib/resources.jar: $(JDK_OUTPUTDIR)/lib/_the.resources.jar.contents \
+				    $(RESOURCE_JAR_MANIFEST_FILE)
+	$(ECHO) Creating resources.jar
+	$(CD) $(JDK_OUTPUTDIR)/classes && \
+	    $(JAR) cfm $@ $(RESOURCE_JAR_MANIFEST_FILE) \
+	        @$(JDK_OUTPUTDIR)/lib/_the.resources.jar.contents
+
+JARS+=$(JDK_OUTPUTDIR)/lib/rt.jar $(JDK_OUTPUTDIR)/lib/resources.jar
+
+##########################################################################################
+
+CHARSETS_JAR_DEPS :=
+
+ifneq ($(HOST_OS), windows)
+    CHARSETS_EXTRA_FILES:=sun/awt/motif/X11GBK.class \
+                          sun/awt/motif/X11GB2312\$$$$Decoder.class \
+                          sun/awt/motif/X11GB2312.class \
+                          sun/awt/motif/X11KSC5601\$$$$Decoder.class \
+                          sun/awt/motif/X11KSC5601\$$$$Encoder.class \
+                          sun/awt/motif/X11GB2312\$$$$Encoder.class \
+                          sun/awt/motif/X11GBK\$$$$Encoder.class \
+                          sun/awt/motif/X11KSC5601.class
+endif
+
+$(eval $(call SetupArchive,BUILD_CHARSETS_JAR,$(CHARSETS_JAR_DEPS),\
+		SRCS:=$(JDK_OUTPUTDIR)/classes, \
+		SUFFIXES:=.class .dat,\
+		INCLUDES:=sun/nio/cs/ext,\
+		EXTRA_FILES := sun/awt/HKSCS.class \
+			       $(CHARSETS_EXTRA_FILES) \
+                               META-INF/services/java.nio.charset.spi.CharsetProvider, \
+		JAR:=$(JDK_OUTPUTDIR)/lib/charsets.jar, \
+		SKIP_METAINF := true))
+
+JARS+=$(JDK_OUTPUTDIR)/lib/charsets.jar
+
+##########################################################################################
+
+ifndef OPENJDK
+    $(eval $(call SetupArchive,BUILD_JFR_JAR,,\
+		SRCS:=$(JDK_OUTPUTDIR)/classes,\
+		INCLUDES:=com/oracle/jrockit/jfr \
+			  oracle/jrockit/jfr,\
+		JAR:=$(JDK_OUTPUTDIR)/lib/jfr.jar,\
+		SKIP_METAINF:=true,\
+		MANIFEST:=$(MAINMANIFEST)))
+
+    JARS+=$(JDK_OUTPUTDIR)/lib/jfr.jar
+endif
+
+##########################################################################################
+
+$(eval $(call SetupArchive,BUILD_JSSE_JAR,,\
+		SRCS:=$(JDK_OUTPUTDIR)/classes,\
+		INCLUDES:=sun/security/provider/Sun.class \
+			  sun/security/rsa/SunRsaSign.class \
+			  sun/security/ssl \
+			  com/sun/net/ssl/internal/ssl,\
+		JAR:=$(JDK_OUTPUTDIR)/lib/jsse.jar,\
+		SKIP_METAINF:=true,\
+		MANIFEST:=$(MAINMANIFEST)))
+
+JARS+=$(JDK_OUTPUTDIR)/lib/jsse.jar
+
+##########################################################################################
+
+ifneq ($(PLATFORM)-$(ARCH_DATA_MODEL),windows-64)
+    SUNPKCS11_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunpkcs11.jar
+
+    ifndef OPENJDK
+
+        SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar
+
+        $(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_SRC)
+		@$(ECHO) "\n>>>Installing prebuilt SunPKCS11 provider..."
+		$(RM) $@
+		$(CP) $< $@
+
+    else
+
+         $(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,$(SUNPKCS11_JAR_DEPS),\
+		SRCS:=$(JDK_OUTPUTDIR)/classes, \
+		SUFFIXES:=.class,\
+		INCLUDES:=sun/security/pkcs11,\
+		JAR:=$(SUNPKCS11_JAR_DST), \
+		SKIP_METAINF := true))
+
+    endif
+
+    JARS += $(SUNPKCS11_JAR_DST)
+endif
+
+##########################################################################################
+
+SUNEC_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunec.jar
+
+ifndef OPENJDK
+
+SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar
+
+$(SUNEC_JAR_DST) : $(SUNEC_JAR_SRC)
+	@$(ECHO) "\n>>>Installing prebuilt SunEC provider..."
+	$(RM) $@
+	$(CP) $< $@
+
+else
+
+$(eval $(call SetupArchive,BUILD_SUNEC_JAR,,\
+		SRCS:=$(JDK_OUTPUTDIR)/classes, \
+		SUFFIXES:=.class,\
+		INCLUDES:=sun/security/ec,\
+		EXCLUDE_FILES := sun/security/ec/ECKeyFactory.class \
+			sun/security/ec/ECParameters.class \
+			sun/security/ec/ECPrivateKeyImpl.class \
+			sun/security/ec/ECPublicKeyImpl.class \
+			sun/security/ec/NamedCurve.class \
+			sun/security/ec/ECKeyFactory*,\
+		JAR:=$(SUNEC_JAR_DST), \
+		SKIP_METAINF := true))
+
+endif
+
+JARS += $(SUNEC_JAR_DST)
+
+##########################################################################################
+
+$(eval $(call SetupArchive,BUILD_SWINGBEANS_JAR,,\
+		SRCS:=$(JDK_OUTPUTDIR)/classes,\
+		SUFFIXES:=BeanInfo.class .gif,\
+		INCLUDES:=javax/swing sun/swing,\
+		EXCLUDES:=javax/swing/plaf,\
+		EXTRA_FILES:=javax/swing/SwingBeanInfoBase.class sun/swing/BeanInfoUtils.class,\
+		JAR:=$(JDK_OUTPUTDIR)/lib/dt.jar,\
+		SKIP_METAINF:=true))
+
+JARS+=$(JDK_OUTPUTDIR)/lib/dt.jar
+
+##########################################################################################
+
+SUNJCE_PROVIDER_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunjce_provider.jar
+
+ifndef OPENJDK
+    SUNJCE_PROVIDER_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/sunjce_provider.jar
+
+    $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_SRC)
+	@$(ECHO) "\n>>>Installing prebuilt SunJCE provider..."
+	$(RM) $@
+	$(CP) $< $@
+else
+
+    $(eval $(call SetupArchive,BUILD_SUNJCE_PROVIDER_JAR,$(SUNJCE_PROVIDER_JAR_DEPS),\
+		SRCS:=$(JDK_OUTPUTDIR)/classes, \
+		SUFFIXES:=.class,\
+		INCLUDES:= com/sun/crypto/provider,\
+		JAR:=$(SUNJCE_PROVIDER_JAR_DST), \
+		MANIFEST := $(JDK_TOPDIR)/make/tools/manifest.mf, \
+		EXTRA_MANIFEST_ATTR := Extension-Name: javax.crypto\nImplementation-Vendor-Id: com.sun, \
+		SKIP_METAINF := true))
+endif
+
+JARS += $(SUNJCE_PROVIDER_JAR_DST)
+
+JCE_JAR_DST := $(JDK_OUTPUTDIR)/lib/jce.jar
+
+ifndef OPENJDK
+
+JCE_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar
+
+$(JCE_JAR_DST) : $(JCE_JAR_SRC)
+	@$(ECHO) "\n>>>Installing prebuilt jce.jar..."
+	$(RM) $@
+	$(CP) $< $@
+
+else
+
+$(eval $(call SetupArchive,BUILD_JCE_JAR,$(JCE_JAR_DEPS),\
+		SRCS:=$(JDK_OUTPUTDIR)/classes, \
+		SUFFIXES:=.class,\
+		INCLUDES:= javax/crypto sun/security/internal,\
+		JAR:=$(JCE_JAR_DST), \
+		MANIFEST := $(JDK_TOPDIR)/make/tools/manifest.mf, \
+		EXTRA_MANIFEST_ATTR := Extension-Name: javax.crypto\nImplementation-Vendor-Id: com.sun, \
+		SKIP_METAINF := true))
+endif
+
+JARS += $(JCE_JAR_DST)
+
+##########################################################################################
+
+ifdef OPENJDK
+
+#
+# TODO fix so that SetupArchive does not write files into SRCS
+#   then we don't need this extra copying
+#
+US_EXPORT_POLICY_JAR_DST := $(JDK_OUTPUTDIR)/lib/security/US_export_policy.jar
+US_EXPORT_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited
+US_EXPORT_POLICY_JAR_TMP := $(JDK_OUTPUTDIR)/US_export_policy_jar.tmp
+
+$(US_EXPORT_POLICY_JAR_TMP)/% : $(US_EXPORT_POLICY_JAR_SRC_DIR)/%
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+US_EXPORT_POLICY_JAR_DEPS := $(US_EXPORT_POLICY_JAR_TMP)/default_US_export.policy
+
+$(eval $(call SetupArchive,BUILD_US_EXPORT_POLICY_JAR,$(US_EXPORT_POLICY_JAR_DEPS),\
+		SRCS:=$(US_EXPORT_POLICY_JAR_TMP), \
+		SUFFIXES:= .policy,\
+		JAR:=$(US_EXPORT_POLICY_JAR_DST), \
+		EXTRA_MANIFEST_ATTR := Crypto-Strength: unlimited, \
+		SKIP_METAINF := true))
+
+JARS += $(US_EXPORT_POLICY_JAR_DST)
+
+endif
+
+##########################################################################################
+
+
+ifdef OPENJDK
+
+#
+# TODO fix so that SetupArchive does not write files into SRCS
+#   then we don't need this extra copying
+#
+LOCAL_POLICY_JAR_DST := $(JDK_OUTPUTDIR)/lib/security/local_policy.jar
+LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/limited
+LOCAL_POLICY_JAR_TMP := $(JDK_OUTPUTDIR)/local_policy_jar.tmp
+
+LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/exempt_local.policy $(LOCAL_POLICY_JAR_TMP)/default_local.policy
+
+$(LOCAL_POLICY_JAR_TMP)/% : $(LOCAL_POLICY_JAR_SRC_DIR)/%
+	$(MKDIR) -p $(@D)
+	$(CP) $< $@
+
+$(eval $(call SetupArchive,BUILD_LOCAL_POLICY_JAR,$(LOCAL_POLICY_JAR_DEPS),\
+		SRCS:=$(LOCAL_POLICY_JAR_TMP),\
+		SUFFIXES:= .policy,\
+		JAR:=$(LOCAL_POLICY_JAR_DST), \
+		EXTRA_MANIFEST_ATTR := Crypto-Strength: limited, \
+		SKIP_METAINF := true))
+
+JARS += $(LOCAL_POLICY_JAR_DST)
+
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM),windows)
+
+SUNMSCAPI_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunmscapi.jar
+
+ifndef OPENJDK
+SUNMSCAPI_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/mscapi/sunmscapi.jar
+
+$(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_SRC)
+	@$(ECHO) "\n>>>Installing prebuilt SunMSCAPI provider..."
+	$(RM) $@
+	$(CP) $< $@
+
+else
+
+$(eval $(call SetupArchive,BUILD_SUNMSCAPI_JAR,$(SUNMSCAPI_JAR_DEPS),\
+		SRCS:=$(JDK_OUTPUTDIR)/classes, \
+		SUFFIXES:=.class,\
+		INCLUDES:= sun/security/mscapi,\
+		JAR:=$(SUNMSCAPI_JAR_DST), \
+		MANIFEST := $(JDK_TOPDIR)/make/tools/manifest.mf, \
+		EXTRA_MANIFEST_ATTR := Extension-Name: javax.crypto\nImplementation-Vendor-Id: com.sun, \
+		SKIP_METAINF := true))
+endif
+
+JARS += $(SUNMSCAPI_JAR_DST)
+
+endif
+
+##########################################################################################
+
+ifeq ($(PLATFORM),solaris)
+ifndef OPENJDK
+
+UCRYPTO_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/ucrypto.jar
+UCRYPTO_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ucrypto/ucrypto.jar
+
+$(UCRYPTO_JAR_DST) : $(UCRYPTO_JAR_SRC)
+	@$(ECHO) "\n>>>Installing prebuilt OracleUcrypto provider..."
+	$(RM) $@
+	$(CP) $< $@
+
+JARS += $(UCRYPTO_JAR_DST)
+
+endif
+endif
+
+##########################################################################################
+
+TOOLS_JAR_INCLUDES := \
+	sun/tools/asm		\
+	sun/tools/jar		\
+	sun/tools/java		\
+	sun/tools/javac		\
+	sun/tools/jcmd		\
+	sun/tools/jps		\
+	sun/tools/jstat		\
+	sun/tools/jstatd	\
+	sun/tools/native2ascii	\
+	sun/tools/serialver	\
+	sun/tools/tree		\
+	sun/tools/util		\
+	sun/security/tools/JarBASE64Encoder.class \
+	sun/security/tools/JarSigner.class \
+	sun/security/tools/JarSignerParameters.class \
+	sun/security/tools/JarSignerResources.class \
+	sun/security/tools/JarSignerResources_ja.class \
+	sun/security/tools/JarSignerResources_zh_CN.class \
+	sun/security/tools/SignatureFile* \
+	sun/security/tools/TimestampedSigner.class \
+	sun/rmi/rmic		\
+	sun/applet		\
+	sun/jvmstat		\
+	com/sun/javadoc		\
+	com/sun/jdi		\
+	com/sun/jarsigner	\
+	com/sun/source          \
+	com/sun/tools/classfile \
+	com/sun/tools/doclets   \
+	com/sun/tools/example/debug/expr \
+	com/sun/tools/example/debug/tty  \
+	com/sun/tools/extcheck  \
+	com/sun/tools/hat       \
+	com/sun/tools/javac     \
+	com/sun/tools/javadoc   \
+	com/sun/tools/javah     \
+	com/sun/tools/javap     \
+	com/sun/tools/corba     \
+	com/sun/tools/internal/xjc       \
+	com/sun/tools/internal/ws       \
+	com/sun/istack/internal/tools       \
+	com/sun/tools/internal/jxc/ap   \
+	com/sun/tools/internal/ws/wscompile/plugin/at_generated \
+        com/sun/codemodel       \
+        com/sun/tools/internal/jxc             \
+        com/sun/xml/internal/rngom       \
+        com/sun/xml/internal/xsom       \
+        org/relaxng/datatype   \
+	com/sun/xml/internal/dtdparser \
+	com/sun/tools/jdi	\
+	com/sun/tools/script/shell	\
+	com/sun/tools/attach	\
+	sun/tools/attach	\
+	sun/tools/jstack        \
+	sun/tools/jinfo         \
+	sun/tools/jmap
+
+$(eval $(call SetupArchive,BUILD_TOOLS_JAR,$(TOOLS_JAR_DEPS),\
+		SRCS:=$(JDK_OUTPUTDIR)/classes,\
+		SUFFIXES:=.class .prp .gif .properties .xml .css .xsd .js .html .txt .java \
+			  Tool aliasmap options,\
+		INCLUDES:=$(TOOLS_JAR_INCLUDES),\
+		EXTRA_FILES:=META-INF/services/com.sun.jdi.connect.Connector \
+			     META-INF/services/com.sun.jdi.connect.spi.TransportService \
+			     META-INF/services/com.sun.tools.attach.spi.AttachProvider \