changeset 1810:668ba5feb9a8

Merge
author prr
date Wed, 02 Dec 2015 11:22:12 -0800
parents 7fd7d794d73e 90f455b5ff5e
children 5582a7989259 d2ec5fa5ef7a
files common/bin/test_builds.sh make/common/CORE_PKGS.gmk
diffstat 37 files changed, 3826 insertions(+), 1168 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Mon Nov 23 12:26:31 2015 -0800
+++ b/.hgtags	Wed Dec 02 11:22:12 2015 -0800
@@ -335,3 +335,5 @@
 cf1dc4c035fb84693d4ae5ad818785cb4d1465d1 jdk9-b90
 122142a185381ce5cea959bf13b923d8cc333628 jdk9-b91
 106c06398f7ab330eef9e335fbd3a5a8ead23b77 jdk9-b92
+331fda57dfd323c61804ba0472776790de572937 jdk9-b93
+349488425abcaf3ff62f580007860b4b56875d10 jdk9-b94
--- a/common/autoconf/basics_windows.m4	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/basics_windows.m4	Wed Dec 02 11:22:12 2015 -0800
@@ -423,7 +423,10 @@
       AC_MSG_ERROR([fixpath did not work!])
     fi
     AC_MSG_RESULT([yes])
+
+    FIXPATH_DETACH_FLAG="--detach"
   fi
 
   AC_SUBST(FIXPATH)
+  AC_SUBST(FIXPATH_DETACH_FLAG)
 ])
--- a/common/autoconf/boot-jdk.m4	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/boot-jdk.m4	Wed Dec 02 11:22:12 2015 -0800
@@ -77,7 +77,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          [FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`]
+          [FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`]
           if test "x$FOUND_CORRECT_VERSION" = x; then
             AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring])
             AC_MSG_NOTICE([(Your Boot JDK must be version 8 or 9)])
@@ -375,6 +375,9 @@
   JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
   AC_SUBST(JAVA_FLAGS_BIG)
 
+  # By default, the main javac compilations use big
+  JAVA_FLAGS_JAVAC="$JAVA_FLAGS_BIG"
+  AC_SUBST(JAVA_FLAGS_JAVAC)
 
   AC_MSG_CHECKING([flags for boot jdk java command for small workloads])
 
--- a/common/autoconf/bootcycle-spec.gmk.in	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/bootcycle-spec.gmk.in	Wed Dec 02 11:22:12 2015 -0800
@@ -59,3 +59,8 @@
 JAR_CMD:=$(BOOT_JDK)/bin/jar
 JARSIGNER_CMD:=$(BOOT_JDK)/bin/jarsigner
 SJAVAC_SERVER_JAVA_CMD:=$(JAVA_CMD)
+# When building a 32bit target, make sure the sjavac server flags are compatible
+# with a 32bit JVM.
+ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
+  SJAVAC_SERVER_JAVA_FLAGS:= -Xms256M -Xmx1500M
+endif
--- a/common/autoconf/build-performance.m4	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/build-performance.m4	Wed Dec 02 11:22:12 2015 -0800
@@ -138,14 +138,6 @@
       JOBS="$memory_gb"
     else
       JOBS="$NUM_CORES"
-      # On bigger machines, leave some room for other processes to run
-      if test "$JOBS" -gt "4"; then
-        JOBS=`expr $JOBS '*' 90 / 100`
-      fi
-    fi
-    # Cap number of jobs to 16
-    if test "$JOBS" -gt "16"; then
-      JOBS=16
     fi
     if test "$JOBS" -eq "0"; then
       JOBS=1
@@ -246,6 +238,73 @@
   fi
 ])
 
+################################################################################
+#
+# Optionally enable distributed compilation of native code using icecc/icecream
+#
+AC_DEFUN([BPERF_SETUP_ICECC],
+[
+  AC_ARG_ENABLE([icecc], [AS_HELP_STRING([--enable-icecc],
+      [enable distribted compilation of native code using icecc/icecream @<:@disabled@:>@])])
+
+  if test "x${enable_icecc}" = "xyes"; then
+    BASIC_REQUIRE_PROGS(ICECC_CMD, icecc)
+    old_path="$PATH"
+
+    # Look for icecc-create-env in some known places
+    PATH="$PATH:/usr/lib/icecc:/usr/lib64/icecc"
+    BASIC_REQUIRE_PROGS(ICECC_CREATE_ENV, icecc-create-env)
+    # Use icecc-create-env to create a minimal compilation environment that can
+    # be sent to the other hosts in the icecream cluster.
+    icecc_create_env_log="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env.log"
+    ${MKDIR} -p ${CONFIGURESUPPORT_OUTPUTDIR}/icecc
+    AC_MSG_CHECKING([for icecc build environment for target compiler])
+    if test "x${TOOLCHAIN_TYPE}" = "xgcc"; then
+      cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
+          && ${ICECC_CREATE_ENV} --gcc ${CC} ${CXX} > ${icecc_create_env_log}
+    elif test "x$TOOLCHAIN_TYPE" = "xclang"; then
+      # For clang, the icecc compilerwrapper is needed. It usually resides next
+      # to icecc-create-env.
+      BASIC_REQUIRE_PROGS(ICECC_WRAPPER, compilerwrapper)
+      cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
+          && ${ICECC_CREATE_ENV} --clang ${CC} ${ICECC_WRAPPER} > ${icecc_create_env_log}
+    else
+      AC_MSG_ERROR([Can only create icecc compiler packages for toolchain types gcc and clang])
+    fi
+    PATH="$old_path"
+    # The bundle with the compiler gets a name based on checksums. Parse log file
+    # to find it.
+    ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log}`"
+    ICECC_ENV_BUNDLE="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/${ICECC_ENV_BUNDLE_BASENAME}"
+    AC_MSG_RESULT([${ICECC_ENV_BUNDLE}])
+    ICECC="ICECC_VERSION=${ICECC_ENV_BUNDLE} ICECC_CC=${CC} ICECC_CXX=${CXX} ${ICECC_CMD}"
+
+    if test "x${COMPILE_TYPE}" = "xcross"; then
+      # If cross compiling, create a separate env package for the build compiler
+      AC_MSG_CHECKING([for icecc build environment for build compiler])
+      # Assume "gcc" or "cc" is gcc and "clang" is clang. Otherwise bail.
+      if test "x${BUILD_CC##*/}" = "xgcc" ||  test "x${BUILD_CC##*/}" = "xcc"; then
+        cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
+            && ${ICECC_CREATE_ENV} --gcc ${BUILD_CC} ${BUILD_CXX} > ${icecc_create_env_log}
+      elif test "x${BUILD_CC##*/}" = "xclang"; then
+        cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
+            && ${ICECC_CREATE_ENV} --clang ${BUILD_CC} ${ICECC_WRAPPER} > ${icecc_create_env_log}
+      else
+        AC_MSG_ERROR([Cannot create icecc compiler package for ${BUILD_CC}])
+      fi
+      ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log}`"
+      ICECC_ENV_BUNDLE="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/${ICECC_ENV_BUNDLE_BASENAME}"
+      AC_MSG_RESULT([${ICECC_ENV_BUNDLE}])
+      BUILD_ICECC="ICECC_VERSION=${ICECC_ENV_BUNDLE} ICECC_CC=${BUILD_CC} \
+          ICECC_CXX=${BUILD_CXX} ${ICECC_CMD}"
+    else
+      BUILD_ICECC="${ICECC}"
+    fi
+    AC_SUBST(ICECC)
+    AC_SUBST(BUILD_ICECC)
+  fi
+])
+
 AC_DEFUN_ONCE([BPERF_SETUP_PRECOMPILED_HEADERS],
 [
 
@@ -258,8 +317,15 @@
       [ENABLE_PRECOMPH=${enable_precompiled_headers}], [ENABLE_PRECOMPH=yes])
 
   USE_PRECOMPILED_HEADER=1
+  AC_MSG_CHECKING([If precompiled header is enabled])
   if test "x$ENABLE_PRECOMPH" = xno; then
+    AC_MSG_RESULT([no, forced])
     USE_PRECOMPILED_HEADER=0
+  elif test "x$ICECC" != "x"; then
+    AC_MSG_RESULT([no, does not work effectively with icecc])
+    USE_PRECOMPILED_HEADER=0
+  else
+    AC_MSG_RESULT([yes])
   fi
 
   if test "x$ENABLE_PRECOMPH" = xyes; then
@@ -337,9 +403,9 @@
   AC_MSG_RESULT([$ENABLE_SJAVAC])
   AC_SUBST(ENABLE_SJAVAC)
 
-  AC_ARG_ENABLE([javac-server], [AS_HELP_STRING([--enable-javac-server],
-      [use only the server part of sjavac for faster javac compiles @<:@disabled@:>@])],
-      [ENABLE_JAVAC_SERVER="${enableval}"], [ENABLE_JAVAC_SERVER="no"])
+  AC_ARG_ENABLE([javac-server], [AS_HELP_STRING([--disable-javac-server],
+      [disable javac server @<:@enabled@:>@])],
+      [ENABLE_JAVAC_SERVER="${enableval}"], [ENABLE_JAVAC_SERVER="yes"])
   if test "x$JVM_ARG_OK" = "xfalse"; then
     AC_MSG_WARN([Could not set -Xms${MS_VALUE}M -Xmx${MX_VALUE}M, disabling javac server])
     ENABLE_JAVAC_SERVER="no"
@@ -347,4 +413,10 @@
   AC_MSG_CHECKING([whether to use javac server])
   AC_MSG_RESULT([$ENABLE_JAVAC_SERVER])
   AC_SUBST(ENABLE_JAVAC_SERVER)
+
+  if test "x$ENABLE_JAVAC_SERVER" = "xyes" || "x$ENABLE_SJAVAC" = "xyes"; then
+    # When using a server javac, the small client instances do not need much
+    # resources.
+    JAVA_FLAGS_JAVAC="$JAVA_FLAGS_SMALL"
+  fi
 ])
--- a/common/autoconf/configure.ac	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/configure.ac	Wed Dec 02 11:22:12 2015 -0800
@@ -45,6 +45,7 @@
 m4_include([flags.m4])
 m4_include([help.m4])
 m4_include([jdk-options.m4])
+m4_include([jdk-version.m4])
 m4_include([libraries.m4])
 m4_include([platform.m4])
 m4_include([source-dirs.m4])
@@ -128,7 +129,7 @@
 
 # We need build & target for this.
 JDKOPT_SETUP_JDK_OPTIONS
-JDKOPT_SETUP_JDK_VERSION_NUMBERS
+JDKVER_SETUP_JDK_VERSION_NUMBERS
 
 ###############################################################################
 #
@@ -236,6 +237,9 @@
 # Setup smart javac (after cores and memory have been setup)
 BPERF_SETUP_SMART_JAVAC
 
+# Setup use of icecc if requested
+BPERF_SETUP_ICECC
+
 # Can the C/C++ compiler use precompiled headers?
 BPERF_SETUP_PRECOMPILED_HEADERS
 
--- a/common/autoconf/flags.m4	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/flags.m4	Wed Dec 02 11:22:12 2015 -0800
@@ -191,13 +191,13 @@
     # The \$ are escaped to the shell, and the $(...) variables
     # are evaluated by make.
     RC_FLAGS="$RC_FLAGS \
-        -D\"JDK_BUILD_ID=\$(FULL_VERSION)\" \
+        -D\"JDK_VERSION_STRING=\$(VERSION_STRING)\" \
         -D\"JDK_COMPANY=\$(COMPANY_NAME)\" \
         -D\"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
-        -D\"JDK_VER=\$(JDK_MINOR_VERSION).\$(JDK_MICRO_VERSION).\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0).\$(COOKED_BUILD_NUMBER)\" \
+        -D\"JDK_VER=\$(VERSION_NUMBER)\" \
         -D\"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
-        -D\"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(JDK_MINOR_VERSION) \$(JDK_UPDATE_META_TAG)\" \
-        -D\"JDK_FVER=\$(JDK_MINOR_VERSION),\$(JDK_MICRO_VERSION),\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0),\$(COOKED_BUILD_NUMBER)\""
+        -D\"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(VERSION_MAJOR)\" \
+        -D\"JDK_FVER=\$(subst .,\$(COMMA),\$(VERSION_NUMBER_FOUR_POSITIONS))\""
   fi
   AC_SUBST(RC_FLAGS)
 
@@ -666,10 +666,6 @@
     COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DDEBUG"
   fi
 
-  # Setup release name
-  COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'"
-
-
   # Set some additional per-OS defines.
   if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
@@ -980,6 +976,19 @@
         DISABLE_WARNING_PREFIX=
       fi
       CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
+      # Repeate the check for the BUILD_CC
+      CC_OLD="$CC"
+      CC="$BUILD_CC"
+      FLAGS_COMPILER_CHECK_ARGUMENTS([-Wno-this-is-a-warning-that-do-not-exist],
+          [BUILD_CC_CAN_DISABLE_WARNINGS=true],
+          [BUILD_CC_CAN_DISABLE_WARNINGS=false]
+      )
+      if test "x$BUILD_CC_CAN_DISABLE_WARNINGS" = "xtrue"; then
+        BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
+      else
+        BUILD_CC_DISABLE_WARNING_PREFIX=
+      fi
+      CC="$CC_OLD"
       ;;
     clang)
       DISABLE_WARNING_PREFIX="-Wno-"
--- a/common/autoconf/generated-configure.sh	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/generated-configure.sh	Wed Dec 02 11:22:12 2015 -0800
@@ -632,12 +632,18 @@
 CFLAGS_CCACHE
 CCACHE
 USE_PRECOMPILED_HEADER
+BUILD_ICECC
+ICECC
+ICECC_WRAPPER
+ICECC_CREATE_ENV
+ICECC_CMD
 ENABLE_JAVAC_SERVER
 ENABLE_SJAVAC
 SJAVAC_SERVER_JAVA_FLAGS
 SJAVAC_SERVER_JAVA
 JAVA_TOOL_FLAGS_SMALL
 JAVA_FLAGS_SMALL
+JAVA_FLAGS_JAVAC
 JAVA_FLAGS_BIG
 JAVA_FLAGS
 JOBS
@@ -679,6 +685,7 @@
 MSVCR_DLL
 LIBCXX
 STATIC_CXX_SETTING
+FIXPATH_DETACH_FLAG
 FIXPATH
 GCOV_ENABLED
 ZIP_DEBUGINFO_FILES
@@ -742,7 +749,10 @@
 HOTSPOT_CXX
 HOTSPOT_RC
 HOTSPOT_MT
+BUILD_AS
 BUILD_LD
+BUILD_AR
+BUILD_NM
 BUILD_CXX
 BUILD_CC
 BUILD_SYSROOT_LDFLAGS
@@ -825,9 +835,18 @@
 BOOT_JDK
 JAVA_CHECK
 JAVAC_CHECK
-COOKED_BUILD_NUMBER
-JDK_VERSION
-COPYRIGHT_YEAR
+VERSION_IS_GA
+VERSION_SHORT
+VERSION_STRING
+VERSION_NUMBER_FOUR_POSITIONS
+VERSION_NUMBER
+VERSION_OPT
+VERSION_BUILD
+VERSION_PRE
+VERSION_PATCH
+VERSION_SECURITY
+VERSION_MINOR
+VERSION_MAJOR
 MACOSX_BUNDLE_ID_BASE
 MACOSX_BUNDLE_NAME_BASE
 COMPANY_NAME
@@ -835,13 +854,7 @@
 PRODUCT_SUFFIX
 PRODUCT_NAME
 LAUNCHER_NAME
-MILESTONE
-JDK_BUILD_NUMBER
-JDK_UPDATE_VERSION
-JDK_MICRO_VERSION
-JDK_MINOR_VERSION
-JDK_MAJOR_VERSION
-USER_RELEASE_SUFFIX
+COPYRIGHT_YEAR
 COMPRESS_JARS
 UNLIMITED_CRYPTO
 CACERTS_FILE
@@ -1058,11 +1071,19 @@
 enable_hotspot_test_in_build
 with_cacerts_file
 enable_unlimited_crypto
+with_copyright_year
 with_milestone
 with_update_version
 with_user_release_suffix
 with_build_number
-with_copyright_year
+with_version_string
+with_version_pre
+with_version_opt
+with_version_build
+with_version_major
+with_version_minor
+with_version_security
+with_version_patch
 with_boot_jdk
 with_add_source_root
 with_override_source_root
@@ -1119,6 +1140,7 @@
 with_sjavac_server_java
 enable_sjavac
 enable_javac_server
+enable_icecc
 enable_precompiled_headers
 enable_ccache
 with_ccache_dir
@@ -1213,6 +1235,8 @@
 OBJDUMP
 BUILD_CC
 BUILD_CXX
+BUILD_NM
+BUILD_AR
 JTREGEXE
 XMKMF
 FREETYPE_CFLAGS
@@ -1225,6 +1249,9 @@
 PNG_LIBS
 LCMS_CFLAGS
 LCMS_LIBS
+ICECC_CMD
+ICECC_CREATE_ENV
+ICECC_WRAPPER
 CCACHE'
 
 
@@ -1870,8 +1897,9 @@
                           --with-freetype, disabled otherwise]
   --enable-sjavac         use sjavac to do fast incremental compiles
                           [disabled]
-  --enable-javac-server   use only the server part of sjavac for faster javac
-                          compiles [disabled]
+  --disable-javac-server  disable javac server [enabled]
+  --enable-icecc          enable distribted compilation of native code using
+                          icecc/icecream [disabled]
   --disable-precompiled-headers
                           disable using precompiled headers when compiling C++
                           [enabled]
@@ -1906,13 +1934,31 @@
   --with-output-sync      set make output sync type if supported by make.
                           [recurse]
   --with-cacerts-file     specify alternative cacerts file
-  --with-milestone        Set milestone value for build [internal]
-  --with-update-version   Set update version value for build [b00]
+  --with-copyright-year   Set copyright year value for build [current year]
+  --with-milestone        Deprecated. Option is kept for backwards
+                          compatibility and is ignored
+  --with-update-version   Deprecated. Option is kept for backwards
+                          compatibility and is ignored
   --with-user-release-suffix
-                          Add a custom string to the version string if build
-                          number is not set.[username_builddateb00]
-  --with-build-number     Set build number value for build [b00]
-  --with-copyright-year   Set copyright year value for build [current year]
+                          Deprecated. Option is kept for backwards
+                          compatibility and is ignored
+  --with-build-number     Deprecated. Option is kept for backwards
+                          compatibility and is ignored
+  --with-version-string   Set version string [calculated]
+  --with-version-pre      Set the base part of the version 'PRE' field
+                          (pre-release identifier) ['internal']
+  --with-version-opt      Set version 'OPT' field (build metadata)
+                          [<timestamp>.<user>.<dirname>]
+  --with-version-build    Set version 'BUILD' field (build number) [not
+                          specified]
+  --with-version-major    Set version 'MAJOR' field (first number) [current
+                          source value]
+  --with-version-minor    Set version 'MINOR' field (second number) [current
+                          source value]
+  --with-version-security Set version 'SECURITY' field (third number) [current
+                          source value]
+  --with-version-patch    Set version 'PATCH' field (fourth number) [not
+                          specified]
   --with-boot-jdk         path to Boot JDK (used to bootstrap build) [probed]
   --with-add-source-root  Deprecated. Option is kept for backwards
                           compatibility and is ignored
@@ -2101,6 +2147,8 @@
   OBJDUMP     Override default value for OBJDUMP
   BUILD_CC    Override default value for BUILD_CC
   BUILD_CXX   Override default value for BUILD_CXX
+  BUILD_NM    Override default value for BUILD_NM
+  BUILD_AR    Override default value for BUILD_AR
   JTREGEXE    Override default value for JTREGEXE
   XMKMF       Path to xmkmf, Makefile generator for X Window System
   FREETYPE_CFLAGS
@@ -2116,6 +2164,11 @@
   PNG_LIBS    linker flags for PNG, overriding pkg-config
   LCMS_CFLAGS C compiler flags for LCMS, overriding pkg-config
   LCMS_LIBS   linker flags for LCMS, overriding pkg-config
+  ICECC_CMD   Override default value for ICECC_CMD
+  ICECC_CREATE_ENV
+              Override default value for ICECC_CREATE_ENV
+  ICECC_WRAPPER
+              Override default value for ICECC_WRAPPER
   CCACHE      Override default value for CCACHE
 
 Use these variables to override the choices made by `configure' or to help
@@ -3713,6 +3766,12 @@
 
 
 
+################################################################################
+#
+# Optionally enable distributed compilation of native code using icecc/icecream
+#
+
+
 
 
 
@@ -3976,20 +4035,60 @@
 
 
 
+
+
 ###############################################################################
 #
+# Enable or disable the elliptic curve crypto implementation
+#
+
+
+
+
+
+################################################################################
+#
+# Gcov coverage data for hotspot
+#
+
+
+#
+# Copyright (c) 2015, 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.
+#
+
+###############################################################################
+#
 # Setup version numbers
 #
 
-
-
-
-
-
-################################################################################
-#
-# Gcov coverage data for hotspot
-#
+# Verify that a given string represents a valid version number, and assign it
+# to a variable.
+
+# Argument 1: the variable to assign to
+# Argument 2: the value given by the user
+
+
 
 
 ################################################################################
@@ -4610,7 +4709,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1446762265
+DATE_WHEN_GENERATED=1449049746
 
 ###############################################################################
 #
@@ -23047,106 +23146,13 @@
 
   ###############################################################################
   #
-  # Enable or disable the elliptic curve crypto implementation
-  #
-
-
-  ###############################################################################
-  #
   # Compress jars
   #
   COMPRESS_JARS=false
 
 
 
-
-  # Source the version numbers
-  . $AUTOCONF_DIR/version-numbers
-
-  # Get the settings from parameters
-
-# Check whether --with-milestone was given.
-if test "${with_milestone+set}" = set; then :
-  withval=$with_milestone;
-fi
-
-  if test "x$with_milestone" = xyes; then
-    as_fn_error $? "Milestone must have a value" "$LINENO" 5
-  elif test "x$with_milestone" != x; then
-    MILESTONE="$with_milestone"
-  fi
-  if test "x$MILESTONE" = x; then
-    MILESTONE=internal
-  fi
-
-
-# Check whether --with-update-version was given.
-if test "${with_update_version+set}" = set; then :
-  withval=$with_update_version;
-fi
-
-  if test "x$with_update_version" = xyes; then
-    as_fn_error $? "Update version must have a value" "$LINENO" 5
-  elif test "x$with_update_version" != x; then
-    JDK_UPDATE_VERSION="$with_update_version"
-    # On macosx 10.7, it's not possible to set --with-update-version=0X due
-    # to a bug in expr (which reduces it to just X). To work around this, we
-    # always add a 0 to one digit update versions.
-    if test "${#JDK_UPDATE_VERSION}" = "1"; then
-      JDK_UPDATE_VERSION="0${JDK_UPDATE_VERSION}"
-    fi
-  fi
-
-
-# Check whether --with-user-release-suffix was given.
-if test "${with_user_release_suffix+set}" = set; then :
-  withval=$with_user_release_suffix;
-fi
-
-  if test "x$with_user_release_suffix" = xyes; then
-    as_fn_error $? "Release suffix must have a value" "$LINENO" 5
-  elif test "x$with_user_release_suffix" != x; then
-    USER_RELEASE_SUFFIX="$with_user_release_suffix"
-  fi
-
-
-# Check whether --with-build-number was given.
-if test "${with_build_number+set}" = set; then :
-  withval=$with_build_number;
-fi
-
-  if test "x$with_build_number" = xyes; then
-    as_fn_error $? "Build number must have a value" "$LINENO" 5
-  elif test "x$with_build_number" != x; then
-    JDK_BUILD_NUMBER="$with_build_number"
-  fi
-  # Define default USER_RELEASE_SUFFIX if BUILD_NUMBER and USER_RELEASE_SUFFIX are not set
-  if test "x$JDK_BUILD_NUMBER" = x; then
-    JDK_BUILD_NUMBER=b00
-    if test "x$USER_RELEASE_SUFFIX" = x; then
-      BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
-      # Avoid [:alnum:] since it depends on the locale.
-      CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`
-      USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-    fi
-  fi
-
-  # Now set the JDK version, milestone, build number etc.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+  # Setup default copyright year. Mostly overridden when building close to a new year.
 
 # Check whether --with-copyright-year was given.
 if test "${with_copyright_year+set}" = set; then :
@@ -23162,14 +23168,442 @@
   fi
 
 
-  if test "x$JDK_UPDATE_VERSION" != x; then
-    JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
-  else
-    JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
-  fi
-
-
-  COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'`
+
+  # Warn user that old version arguments are deprecated.
+
+
+# Check whether --with-milestone was given.
+if test "${with_milestone+set}" = set; then :
+  withval=$with_milestone; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-milestone is deprecated and will be ignored." >&5
+$as_echo "$as_me: WARNING: Option --with-milestone is deprecated and will be ignored." >&2;}
+fi
+
+
+
+
+# Check whether --with-update-version was given.
+if test "${with_update_version+set}" = set; then :
+  withval=$with_update_version; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-update-version is deprecated and will be ignored." >&5
+$as_echo "$as_me: WARNING: Option --with-update-version is deprecated and will be ignored." >&2;}
+fi
+
+
+
+
+# Check whether --with-user-release-suffix was given.
+if test "${with_user_release_suffix+set}" = set; then :
+  withval=$with_user_release_suffix; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-user-release-suffix is deprecated and will be ignored." >&5
+$as_echo "$as_me: WARNING: Option --with-user-release-suffix is deprecated and will be ignored." >&2;}
+fi
+
+
+
+
+# Check whether --with-build-number was given.
+if test "${with_build_number+set}" = set; then :
+  withval=$with_build_number; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-build-number is deprecated and will be ignored." >&5
+$as_echo "$as_me: WARNING: Option --with-build-number is deprecated and will be ignored." >&2;}
+fi
+
+
+
+  # Source the version numbers file
+  . $AUTOCONF_DIR/version-numbers
+
+  # Some non-version number information is set in that file
+
+
+
+
+
+
+
+
+  # Override version from arguments
+
+  # If --with-version-string is set, process it first. It is possible to
+  # override parts with more specific flags, since these are processed later.
+
+# Check whether --with-version-string was given.
+if test "${with_version_string+set}" = set; then :
+  withval=$with_version_string;
+fi
+
+  if test "x$with_version_string" = xyes; then
+    as_fn_error $? "--with-version-string must have a value" "$LINENO" 5
+  elif test "x$with_version_string" != x; then
+    # Additional [] needed to keep m4 from mangling shell constructs.
+    if  [[ $with_version_string =~ ^([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(-([a-zA-Z]+))?((\+)([0-9]+)?(-([-a-zA-Z0-9.]+))?)?$ ]] ; then
+      VERSION_MAJOR=${BASH_REMATCH[1]}
+      VERSION_MINOR=${BASH_REMATCH[3]}
+      VERSION_SECURITY=${BASH_REMATCH[5]}
+      VERSION_PATCH=${BASH_REMATCH[7]}
+      VERSION_PRE=${BASH_REMATCH[9]}
+      version_plus_separator=${BASH_REMATCH[11]}
+      VERSION_BUILD=${BASH_REMATCH[12]}
+      VERSION_OPT=${BASH_REMATCH[14]}
+      # Unspecified numerical fields are interpreted as 0.
+      if test "x$VERSION_MINOR" = x; then
+        VERSION_MINOR=0
+      fi
+      if test "x$VERSION_SECURITY" = x; then
+        VERSION_SECURITY=0
+      fi
+      if test "x$VERSION_PATCH" = x; then
+        VERSION_PATCH=0
+      fi
+      if test "x$version_plus_separator" != x \
+          && test "x$VERSION_BUILD$VERSION_OPT" = x; then
+        as_fn_error $? "Version string contains + but both 'BUILD' and 'OPT' are missing" "$LINENO" 5
+      fi
+      # Stop the version part process from setting default values.
+      # We still allow them to explicitely override though.
+      NO_DEFAULT_VERSION_PARTS=true
+    else
+      as_fn_error $? "--with-version-string fails to parse as a valid version string: $with_version_string" "$LINENO" 5
+    fi
+  fi
+
+
+# Check whether --with-version-pre was given.
+if test "${with_version_pre+set}" = set; then :
+  withval=$with_version_pre; with_version_pre_present=true
+else
+  with_version_pre_present=false
+fi
+
+
+  if test "x$with_version_pre_present" = xtrue; then
+    if test "x$with_version_pre" = xyes; then
+      as_fn_error $? "--with-version-pre must have a value" "$LINENO" 5
+    elif test "x$with_version_pre" = xno; then
+      # Interpret --without-* as empty string instead of the literal "no"
+      VERSION_PRE=
+    else
+      # Only [a-zA-Z] is allowed in the VERSION_PRE. Outer [ ] to quote m4.
+       VERSION_PRE=`$ECHO "$with_version_pre" | $TR -c -d '[a-z][A-Z]'`
+      if test "x$VERSION_PRE" != "x$with_version_pre"; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-version-pre value has been sanitized from '$with_version_pre' to '$VERSION_PRE'" >&5
+$as_echo "$as_me: WARNING: --with-version-pre value has been sanitized from '$with_version_pre' to '$VERSION_PRE'" >&2;}
+      fi
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is to use "internal" as pre
+      VERSION_PRE="internal"
+    fi
+  fi
+
+
+# Check whether --with-version-opt was given.
+if test "${with_version_opt+set}" = set; then :
+  withval=$with_version_opt; with_version_opt_present=true
+else
+  with_version_opt_present=false
+fi
+
+
+  if test "x$with_version_opt_present" = xtrue; then
+    if test "x$with_version_opt" = xyes; then
+      as_fn_error $? "--with-version-opt must have a value" "$LINENO" 5
+    elif test "x$with_version_opt" = xno; then
+      # Interpret --without-* as empty string instead of the literal "no"
+      VERSION_OPT=
+    else
+      # Only [-.a-zA-Z0-9] is allowed in the VERSION_OPT. Outer [ ] to quote m4.
+       VERSION_OPT=`$ECHO "$with_version_opt" | $TR -c -d '[a-z][A-Z][0-9].-'`
+      if test "x$VERSION_OPT" != "x$with_version_opt"; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-version-opt value has been sanitized from '$with_version_opt' to '$VERSION_OPT'" >&5
+$as_echo "$as_me: WARNING: --with-version-opt value has been sanitized from '$with_version_opt' to '$VERSION_OPT'" >&2;}
+      fi
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is to calculate a string like this <timestamp>.<username>.<base dir name>
+      timestamp=`$DATE '+%Y-%m-%d-%H%M%S'`
+      # Outer [ ] to quote m4.
+       username=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'`
+       basedirname=`$BASENAME "$TOPDIR" | $TR -d -c '[a-z][A-Z][0-9].-'`
+      VERSION_OPT="$timestamp.$username.$basedirname"
+    fi
+  fi
+
+
+# Check whether --with-version-build was given.
+if test "${with_version_build+set}" = set; then :
+  withval=$with_version_build; with_version_build_present=true
+else
+  with_version_build_present=false
+fi
+
+
+  if test "x$with_version_build_present" = xtrue; then
+    if test "x$with_version_build" = xyes; then
+      as_fn_error $? "--with-version-build must have a value" "$LINENO" 5
+    elif test "x$with_version_build" = xno; then
+      # Interpret --without-* as empty string instead of the literal "no"
+      VERSION_BUILD=
+    elif test "x$with_version_build" = x; then
+      VERSION_BUILD=
+    else
+
+  # Additional [] needed to keep m4 from mangling shell constructs.
+  if  ! [[ "$with_version_build" =~ ^0*([1-9][0-9]*)|(0)$ ]]  ; then
+    as_fn_error $? "\"$with_version_build\" is not a valid numerical value for VERSION_BUILD" "$LINENO" 5
+  fi
+  # Extract the version number without leading zeros.
+  cleaned_value=${BASH_REMATCH[1]}
+  if test "x$cleaned_value" = x; then
+    # Special case for zero
+    cleaned_value=${BASH_REMATCH[2]}
+  fi
+
+  if test $cleaned_value -gt 255; then
+    as_fn_error $? "VERSION_BUILD is given as $with_version_build. This is greater than 255 which is not allowed." "$LINENO" 5
+  fi
+  if test "x$cleaned_value" != "x$with_version_build"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Value for VERSION_BUILD has been sanitized from '$with_version_build' to '$cleaned_value'" >&5
+$as_echo "$as_me: WARNING: Value for VERSION_BUILD has been sanitized from '$with_version_build' to '$cleaned_value'" >&2;}
+  fi
+  VERSION_BUILD=$cleaned_value
+
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is to not have a build number.
+      VERSION_BUILD=""
+      # FIXME: Until all code can cope with an empty VERSION_BUILD, set it to 0.
+      VERSION_BUILD=0
+    fi
+  fi
+
+
+# Check whether --with-version-major was given.
+if test "${with_version_major+set}" = set; then :
+  withval=$with_version_major; with_version_major_present=true
+else
+  with_version_major_present=false
+fi
+
+
+  if test "x$with_version_major_present" = xtrue; then
+    if test "x$with_version_major" = xyes; then
+      as_fn_error $? "--with-version-major must have a value" "$LINENO" 5
+    else
+
+  # Additional [] needed to keep m4 from mangling shell constructs.
+  if  ! [[ "$with_version_major" =~ ^0*([1-9][0-9]*)|(0)$ ]]  ; then
+    as_fn_error $? "\"$with_version_major\" is not a valid numerical value for VERSION_MAJOR" "$LINENO" 5
+  fi
+  # Extract the version number without leading zeros.
+  cleaned_value=${BASH_REMATCH[1]}
+  if test "x$cleaned_value" = x; then
+    # Special case for zero
+    cleaned_value=${BASH_REMATCH[2]}
+  fi
+
+  if test $cleaned_value -gt 255; then
+    as_fn_error $? "VERSION_MAJOR is given as $with_version_major. This is greater than 255 which is not allowed." "$LINENO" 5
+  fi
+  if test "x$cleaned_value" != "x$with_version_major"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Value for VERSION_MAJOR has been sanitized from '$with_version_major' to '$cleaned_value'" >&5
+$as_echo "$as_me: WARNING: Value for VERSION_MAJOR has been sanitized from '$with_version_major' to '$cleaned_value'" >&2;}
+  fi
+  VERSION_MAJOR=$cleaned_value
+
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is to get value from version-numbers
+      VERSION_MAJOR="$DEFAULT_VERSION_MAJOR"
+    fi
+  fi
+
+
+# Check whether --with-version-minor was given.
+if test "${with_version_minor+set}" = set; then :
+  withval=$with_version_minor; with_version_minor_present=true
+else
+  with_version_minor_present=false
+fi
+
+
+  if test "x$with_version_minor_present" = xtrue; then
+    if test "x$with_version_minor" = xyes; then
+      as_fn_error $? "--with-version-minor must have a value" "$LINENO" 5
+    elif test "x$with_version_minor" = xno; then
+      # Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
+      VERSION_MINOR=0
+    elif test "x$with_version_minor" = x; then
+      VERSION_MINOR=0
+    else
+
+  # Additional [] needed to keep m4 from mangling shell constructs.
+  if  ! [[ "$with_version_minor" =~ ^0*([1-9][0-9]*)|(0)$ ]]  ; then
+    as_fn_error $? "\"$with_version_minor\" is not a valid numerical value for VERSION_MINOR" "$LINENO" 5
+  fi
+  # Extract the version number without leading zeros.
+  cleaned_value=${BASH_REMATCH[1]}
+  if test "x$cleaned_value" = x; then
+    # Special case for zero
+    cleaned_value=${BASH_REMATCH[2]}
+  fi
+
+  if test $cleaned_value -gt 255; then
+    as_fn_error $? "VERSION_MINOR is given as $with_version_minor. This is greater than 255 which is not allowed." "$LINENO" 5
+  fi
+  if test "x$cleaned_value" != "x$with_version_minor"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Value for VERSION_MINOR has been sanitized from '$with_version_minor' to '$cleaned_value'" >&5
+$as_echo "$as_me: WARNING: Value for VERSION_MINOR has been sanitized from '$with_version_minor' to '$cleaned_value'" >&2;}
+  fi
+  VERSION_MINOR=$cleaned_value
+
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is 0, if unspecified
+      VERSION_MINOR=0
+    fi
+  fi
+
+
+# Check whether --with-version-security was given.
+if test "${with_version_security+set}" = set; then :
+  withval=$with_version_security; with_version_security_present=true
+else
+  with_version_security_present=false
+fi
+
+
+  if test "x$with_version_security_present" = xtrue; then
+    if test "x$with_version_security" = xyes; then
+      as_fn_error $? "--with-version-security must have a value" "$LINENO" 5
+    elif test "x$with_version_security" = xno; then
+      # Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
+      VERSION_SECURITY=0
+    elif test "x$with_version_security" = x; then
+      VERSION_SECURITY=0
+    else
+
+  # Additional [] needed to keep m4 from mangling shell constructs.
+  if  ! [[ "$with_version_security" =~ ^0*([1-9][0-9]*)|(0)$ ]]  ; then
+    as_fn_error $? "\"$with_version_security\" is not a valid numerical value for VERSION_SECURITY" "$LINENO" 5
+  fi
+  # Extract the version number without leading zeros.
+  cleaned_value=${BASH_REMATCH[1]}
+  if test "x$cleaned_value" = x; then
+    # Special case for zero
+    cleaned_value=${BASH_REMATCH[2]}
+  fi
+
+  if test $cleaned_value -gt 255; then
+    as_fn_error $? "VERSION_SECURITY is given as $with_version_security. This is greater than 255 which is not allowed." "$LINENO" 5
+  fi
+  if test "x$cleaned_value" != "x$with_version_security"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Value for VERSION_SECURITY has been sanitized from '$with_version_security' to '$cleaned_value'" >&5
+$as_echo "$as_me: WARNING: Value for VERSION_SECURITY has been sanitized from '$with_version_security' to '$cleaned_value'" >&2;}
+  fi
+  VERSION_SECURITY=$cleaned_value
+
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is 0, if unspecified
+      VERSION_SECURITY=0
+    fi
+  fi
+
+
+# Check whether --with-version-patch was given.
+if test "${with_version_patch+set}" = set; then :
+  withval=$with_version_patch; with_version_patch_present=true
+else
+  with_version_patch_present=false
+fi
+
+
+  if test "x$with_version_patch_present" = xtrue; then
+    if test "x$with_version_patch" = xyes; then
+      as_fn_error $? "--with-version-patch must have a value" "$LINENO" 5
+    elif test "x$with_version_patch" = xno; then
+      # Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
+      VERSION_PATCH=0
+    elif test "x$with_version_patch" = x; then
+      VERSION_PATCH=0
+    else
+
+  # Additional [] needed to keep m4 from mangling shell constructs.
+  if  ! [[ "$with_version_patch" =~ ^0*([1-9][0-9]*)|(0)$ ]]  ; then
+    as_fn_error $? "\"$with_version_patch\" is not a valid numerical value for VERSION_PATCH" "$LINENO" 5
+  fi
+  # Extract the version number without leading zeros.
+  cleaned_value=${BASH_REMATCH[1]}
+  if test "x$cleaned_value" = x; then
+    # Special case for zero
+    cleaned_value=${BASH_REMATCH[2]}
+  fi
+
+  if test $cleaned_value -gt 255; then
+    as_fn_error $? "VERSION_PATCH is given as $with_version_patch. This is greater than 255 which is not allowed." "$LINENO" 5
+  fi
+  if test "x$cleaned_value" != "x$with_version_patch"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Value for VERSION_PATCH has been sanitized from '$with_version_patch' to '$cleaned_value'" >&5
+$as_echo "$as_me: WARNING: Value for VERSION_PATCH has been sanitized from '$with_version_patch' to '$cleaned_value'" >&2;}
+  fi
+  VERSION_PATCH=$cleaned_value
+
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is 0, if unspecified
+      VERSION_PATCH=0
+    fi
+  fi
+
+  # Calculate derived version properties
+
+  # Set VERSION_IS_GA based on if VERSION_PRE has a value
+  if test "x$VERSION_PRE" = x; then
+    VERSION_IS_GA=true
+  else
+    VERSION_IS_GA=false
+  fi
+
+  # VERSION_NUMBER but always with exactly 4 positions, with 0 for empty positions.
+  VERSION_NUMBER_FOUR_POSITIONS=$VERSION_MAJOR.$VERSION_MINOR.$VERSION_SECURITY.$VERSION_PATCH
+
+  stripped_version_number=$VERSION_NUMBER_FOUR_POSITIONS
+  # Strip trailing zeroes from stripped_version_number
+  for i in 1 2 3 ; do stripped_version_number=${stripped_version_number%.0} ; done
+  VERSION_NUMBER=$stripped_version_number
+
+  # The complete version string, with additional build information
+  if test "x$VERSION_BUILD$VERSION_OPT" = x; then
+    VERSION_STRING=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}
+  else
+    # If either build or opt is set, we need a + separator
+    VERSION_STRING=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}+$VERSION_BUILD${VERSION_OPT:+-$VERSION_OPT}
+  fi
+
+  # The short version string, just VERSION_NUMBER and PRE, if present.
+  VERSION_SHORT=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version string" >&5
+$as_echo_n "checking for version string... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VERSION_STRING" >&5
+$as_echo "$VERSION_STRING" >&6; }
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -23226,7 +23660,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -23422,7 +23856,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -23606,7 +24040,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -23789,7 +24223,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -23972,7 +24406,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -24146,7 +24580,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -24465,7 +24899,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -24790,7 +25224,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -25002,7 +25436,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -25179,7 +25613,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -25384,7 +25818,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -25561,7 +25995,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -25766,7 +26200,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -25943,7 +26377,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -26148,7 +26582,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -26325,7 +26759,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -26517,7 +26951,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -26692,7 +27126,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -26885,7 +27319,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -27060,7 +27494,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -27252,7 +27686,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -27427,7 +27861,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -27620,7 +28054,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -27795,7 +28229,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -27969,7 +28403,7 @@
           BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
 
           # Extra M4 quote needed to protect [] in grep expression.
-          FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep  '\"1\.[89]\.'`
+          FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`
           if test "x$FOUND_CORRECT_VERSION" = x; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5
 $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;}
@@ -35694,6 +36128,314 @@
 fi
 
 
+  elif test "x$TOOLCHAIN_TYPE" = xgcc; then
+
+
+  # Publish this variable in the help.
+
+
+  if [ -z "${AR+x}" ]; then
+    # The variable is not set by user, try to locate tool using the code snippet
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar gcc-ar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$AR" && break
+  done
+fi
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar gcc-ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+fi
+
+  else
+    # The variable is set, but is it from the command line or the environment?
+
+    # Try to remove the string !AR! from our list.
+    try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!AR!/}
+    if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+      # If it failed, the variable was not from the command line. Ignore it,
+      # but warn the user (except for BASH, which is always set by the calling BASH).
+      if test "xAR" != xBASH; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of AR from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of AR from the environment. Use command line variables instead." >&2;}
+      fi
+      # Try to locate tool using the code snippet
+      if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar gcc-ar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$AR" && break
+  done
+fi
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar gcc-ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+fi
+
+    else
+      # If it succeeded, then it was overridden by the user. We will use it
+      # for the tool.
+
+      # First remove it from the list of overridden variables, so we can test
+      # for unknown variables in the end.
+      CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+      # Check if we try to supply an empty value
+      if test "x$AR" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool AR= (no value)" >&5
+$as_echo "$as_me: Setting user supplied tool AR= (no value)" >&6;}
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AR" >&5
+$as_echo_n "checking for AR... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+      else
+        # Check if the provided tool contains a complete path.
+        tool_specified="$AR"
+        tool_basename="${tool_specified##*/}"
+        if test "x$tool_basename" = "x$tool_specified"; then
+          # A command without a complete path is provided, search $PATH.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool AR=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool AR=$tool_basename" >&6;}
+          # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $AR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_AR="$AR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+AR=$ac_cv_path_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+          if test "x$AR" = x; then
+            as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+          fi
+        else
+          # Otherwise we believe it is a complete path. Use it as it is.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool AR=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool AR=$tool_specified" >&6;}
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AR" >&5
+$as_echo_n "checking for AR... " >&6; }
+          if test ! -x "$tool_specified"; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+            as_fn_error $? "User supplied tool AR=$tool_specified does not exist or is not executable" "$LINENO" 5
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+        fi
+      fi
+    fi
+
+  fi
+
+
   else
 
 
@@ -39873,6 +40615,315 @@
     fi
   fi
 
+    if test "x$TOOLCHAIN_TYPE" = xgcc; then
+
+
+  # Publish this variable in the help.
+
+
+  if [ -z "${NM+x}" ]; then
+    # The variable is not set by user, try to locate tool using the code snippet
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in nm gcc-nm
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  ac_cv_prog_NM="$NM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_NM="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+NM=$ac_cv_prog_NM
+if test -n "$NM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NM" >&5
+$as_echo "$NM" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$NM" && break
+  done
+fi
+if test -z "$NM"; then
+  ac_ct_NM=$NM
+  for ac_prog in nm gcc-nm
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_NM"; then
+  ac_cv_prog_ac_ct_NM="$ac_ct_NM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_NM="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NM=$ac_cv_prog_ac_ct_NM
+if test -n "$ac_ct_NM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NM" >&5
+$as_echo "$ac_ct_NM" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_NM" && break
+done
+
+  if test "x$ac_ct_NM" = x; then
+    NM=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    NM=$ac_ct_NM
+  fi
+fi
+
+  else
+    # The variable is set, but is it from the command line or the environment?
+
+    # Try to remove the string !NM! from our list.
+    try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!NM!/}
+    if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+      # If it failed, the variable was not from the command line. Ignore it,
+      # but warn the user (except for BASH, which is always set by the calling BASH).
+      if test "xNM" != xBASH; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of NM from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of NM from the environment. Use command line variables instead." >&2;}
+      fi
+      # Try to locate tool using the code snippet
+      if test -n "$ac_tool_prefix"; then
+  for ac_prog in nm gcc-nm
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  ac_cv_prog_NM="$NM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_NM="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+NM=$ac_cv_prog_NM
+if test -n "$NM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NM" >&5
+$as_echo "$NM" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$NM" && break
+  done
+fi
+if test -z "$NM"; then
+  ac_ct_NM=$NM
+  for ac_prog in nm gcc-nm
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_NM"; then
+  ac_cv_prog_ac_ct_NM="$ac_ct_NM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_NM="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NM=$ac_cv_prog_ac_ct_NM
+if test -n "$ac_ct_NM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NM" >&5
+$as_echo "$ac_ct_NM" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_NM" && break
+done
+
+  if test "x$ac_ct_NM" = x; then
+    NM=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    NM=$ac_ct_NM
+  fi
+fi
+
+    else
+      # If it succeeded, then it was overridden by the user. We will use it
+      # for the tool.
+
+      # First remove it from the list of overridden variables, so we can test
+      # for unknown variables in the end.
+      CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+      # Check if we try to supply an empty value
+      if test "x$NM" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool NM= (no value)" >&5
+$as_echo "$as_me: Setting user supplied tool NM= (no value)" >&6;}
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NM" >&5
+$as_echo_n "checking for NM... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+      else
+        # Check if the provided tool contains a complete path.
+        tool_specified="$NM"
+        tool_basename="${tool_specified##*/}"
+        if test "x$tool_basename" = "x$tool_specified"; then
+          # A command without a complete path is provided, search $PATH.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool NM=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool NM=$tool_basename" >&6;}
+          # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $NM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_NM="$NM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_NM="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+NM=$ac_cv_path_NM
+if test -n "$NM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NM" >&5
+$as_echo "$NM" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+          if test "x$NM" = x; then
+            as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+          fi
+        else
+          # Otherwise we believe it is a complete path. Use it as it is.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool NM=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool NM=$tool_specified" >&6;}
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NM" >&5
+$as_echo_n "checking for NM... " >&6; }
+          if test ! -x "$tool_specified"; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+            as_fn_error $? "User supplied tool NM=$tool_specified does not exist or is not executable" "$LINENO" 5
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+        fi
+      fi
+    fi
+
+  fi
+
+
+    else
 
 
   # Publish this variable in the help.
@@ -40180,6 +41231,7 @@
   fi
 
 
+    fi
 
   # Only process if variable expands to non-empty
 
@@ -42955,6 +44007,975 @@
     fi
   fi
 
+
+
+  # Publish this variable in the help.
+
+
+  if [ -z "${BUILD_NM+x}" ]; then
+    # The variable is not set by user, try to locate tool using the code snippet
+    for ac_prog in nm gcc-nm
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $BUILD_NM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_BUILD_NM="$BUILD_NM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_BUILD_NM="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+BUILD_NM=$ac_cv_path_BUILD_NM
+if test -n "$BUILD_NM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_NM" >&5
+$as_echo "$BUILD_NM" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$BUILD_NM" && break
+done
+
+  else
+    # The variable is set, but is it from the command line or the environment?
+
+    # Try to remove the string !BUILD_NM! from our list.
+    try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!BUILD_NM!/}
+    if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+      # If it failed, the variable was not from the command line. Ignore it,
+      # but warn the user (except for BASH, which is always set by the calling BASH).
+      if test "xBUILD_NM" != xBASH; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of BUILD_NM from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of BUILD_NM from the environment. Use command line variables instead." >&2;}
+      fi
+      # Try to locate tool using the code snippet
+      for ac_prog in nm gcc-nm
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $BUILD_NM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_BUILD_NM="$BUILD_NM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_BUILD_NM="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+BUILD_NM=$ac_cv_path_BUILD_NM
+if test -n "$BUILD_NM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_NM" >&5
+$as_echo "$BUILD_NM" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$BUILD_NM" && break
+done
+
+    else
+      # If it succeeded, then it was overridden by the user. We will use it
+      # for the tool.
+
+      # First remove it from the list of overridden variables, so we can test
+      # for unknown variables in the end.
+      CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+      # Check if we try to supply an empty value
+      if test "x$BUILD_NM" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool BUILD_NM= (no value)" >&5
+$as_echo "$as_me: Setting user supplied tool BUILD_NM= (no value)" >&6;}
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_NM" >&5
+$as_echo_n "checking for BUILD_NM... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+      else
+        # Check if the provided tool contains a complete path.
+        tool_specified="$BUILD_NM"
+        tool_basename="${tool_specified##*/}"
+        if test "x$tool_basename" = "x$tool_specified"; then
+          # A command without a complete path is provided, search $PATH.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool BUILD_NM=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool BUILD_NM=$tool_basename" >&6;}
+          # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $BUILD_NM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_BUILD_NM="$BUILD_NM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_BUILD_NM="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+BUILD_NM=$ac_cv_path_BUILD_NM
+if test -n "$BUILD_NM"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_NM" >&5
+$as_echo "$BUILD_NM" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+          if test "x$BUILD_NM" = x; then
+            as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+          fi
+        else
+          # Otherwise we believe it is a complete path. Use it as it is.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool BUILD_NM=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool BUILD_NM=$tool_specified" >&6;}
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_NM" >&5
+$as_echo_n "checking for BUILD_NM... " >&6; }
+          if test ! -x "$tool_specified"; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+            as_fn_error $? "User supplied tool BUILD_NM=$tool_specified does not exist or is not executable" "$LINENO" 5
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+        fi
+      fi
+    fi
+
+  fi
+
+
+
+  # Only process if variable expands to non-empty
+
+  if test "x$BUILD_NM" != x; then
+    if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+  # First separate the path from the arguments. This will split at the first
+  # space.
+  complete="$BUILD_NM"
+  path="${complete%% *}"
+  tmp="$complete EOL"
+  arguments="${tmp#* }"
+
+  # Input might be given as Windows format, start by converting to
+  # unix format.
+  new_path=`$CYGPATH -u "$path"`
+
+  # Now try to locate executable using which
+  new_path=`$WHICH "$new_path" 2> /dev/null`
+  # bat and cmd files are not always considered executable in cygwin causing which
+  # to not find them
+  if test "x$new_path" = x \
+      && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+      && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+    new_path=`$CYGPATH -u "$path"`
+  fi
+  if test "x$new_path" = x; then
+    # Oops. Which didn't find the executable.
+    # The splitting of arguments from the executable at a space might have been incorrect,
+    # since paths with space are more likely in Windows. Give it another try with the whole
+    # argument.
+    path="$complete"
+    arguments="EOL"
+    new_path=`$CYGPATH -u "$path"`
+    new_path=`$WHICH "$new_path" 2> /dev/null`
+    # bat and cmd files are not always considered executable in cygwin causing which
+    # to not find them
+    if test "x$new_path" = x \
+        && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+        && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+      new_path=`$CYGPATH -u "$path"`
+    fi
+    if test "x$new_path" = x; then
+      # It's still not found. Now this is an unrecoverable error.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_NM, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_NM, which resolves as \"$complete\", is not found." >&6;}
+      has_space=`$ECHO "$complete" | $GREP " "`
+      if test "x$has_space" != x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+      fi
+      as_fn_error $? "Cannot locate the the path of BUILD_NM" "$LINENO" 5
+    fi
+  fi
+
+  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+  # "foo.exe" is OK but "foo" is an error.
+  #
+  # This test is therefore slightly more accurate than "test -f" to check for file presence.
+  # It is also a way to make sure we got the proper file name for the real test later on.
+  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+  if test "x$test_shortpath" = x; then
+    # Short path failed, file does not exist as specified.
+    # Try adding .exe or .cmd
+    if test -f "${new_path}.exe"; then
+      input_to_shortpath="${new_path}.exe"
+    elif test -f "${new_path}.cmd"; then
+      input_to_shortpath="${new_path}.cmd"
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_NM, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of BUILD_NM, which resolves as \"$new_path\", is invalid." >&6;}
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+      as_fn_error $? "Cannot locate the the path of BUILD_NM" "$LINENO" 5
+    fi
+  else
+    input_to_shortpath="$new_path"
+  fi
+
+  # Call helper function which possibly converts this using DOS-style short mode.
+  # If so, the updated path is stored in $new_path.
+  new_path="$input_to_shortpath"
+
+  input_path="$input_to_shortpath"
+  # Check if we need to convert this using DOS-style short mode. If the path
+  # contains just simple characters, use it. Otherwise (spaces, weird characters),
+  # take no chances and rewrite it.
+  # Note: m4 eats our [], so we need to use [ and ] instead.
+  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+  if test "x$has_forbidden_chars" != x; then
+    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+      # Going to short mode and back again did indeed matter. Since short mode is
+      # case insensitive, let's make it lowercase to improve readability.
+      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+      # Now convert it back to Unix-style (cygpath)
+      input_path=`$CYGPATH -u "$shortmode_path"`
+      new_path="$input_path"
+    fi
+  fi
+
+  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+  if test "x$test_cygdrive_prefix" = x; then
+    # As a simple fix, exclude /usr/bin since it's not a real path.
+    if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+      # a path prefixed by /cygdrive for fixpath to work.
+      new_path="$CYGWIN_ROOT_PATH$input_path"
+    fi
+  fi
+
+  # remove trailing .exe if any
+  new_path="${new_path/%.exe/}"
+
+    elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+  # First separate the path from the arguments. This will split at the first
+  # space.
+  complete="$BUILD_NM"
+  path="${complete%% *}"
+  tmp="$complete EOL"
+  arguments="${tmp#* }"
+
+  # Input might be given as Windows format, start by converting to
+  # unix format.
+  new_path="$path"
+
+  windows_path="$new_path"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    unix_path=`$CYGPATH -u "$windows_path"`
+    new_path="$unix_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+    new_path="$unix_path"
+  fi
+
+
+  # Now try to locate executable using which
+  new_path=`$WHICH "$new_path" 2> /dev/null`
+
+  if test "x$new_path" = x; then
+    # Oops. Which didn't find the executable.
+    # The splitting of arguments from the executable at a space might have been incorrect,
+    # since paths with space are more likely in Windows. Give it another try with the whole
+    # argument.
+    path="$complete"
+    arguments="EOL"
+    new_path="$path"
+
+  windows_path="$new_path"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    unix_path=`$CYGPATH -u "$windows_path"`
+    new_path="$unix_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+    new_path="$unix_path"
+  fi
+
+
+    new_path=`$WHICH "$new_path" 2> /dev/null`
+    # bat and cmd files are not always considered executable in MSYS causing which
+    # to not find them
+    if test "x$new_path" = x \
+        && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+        && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+      new_path="$path"
+
+  windows_path="$new_path"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    unix_path=`$CYGPATH -u "$windows_path"`
+    new_path="$unix_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+    new_path="$unix_path"
+  fi
+
+    fi
+
+    if test "x$new_path" = x; then
+      # It's still not found. Now this is an unrecoverable error.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_NM, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_NM, which resolves as \"$complete\", is not found." >&6;}
+      has_space=`$ECHO "$complete" | $GREP " "`
+      if test "x$has_space" != x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+      fi
+      as_fn_error $? "Cannot locate the the path of BUILD_NM" "$LINENO" 5
+    fi
+  fi
+
+  # Now new_path has a complete unix path to the binary
+  if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+    # Keep paths in /bin as-is, but remove trailing .exe if any
+    new_path="${new_path/%.exe/}"
+    # Do not save /bin paths to all_fixpath_prefixes!
+  else
+    # Not in mixed or Windows style, start by that.
+    new_path=`cmd //c echo $new_path`
+
+  input_path="$new_path"
+  # Check if we need to convert this using DOS-style short mode. If the path
+  # contains just simple characters, use it. Otherwise (spaces, weird characters),
+  # take no chances and rewrite it.
+  # Note: m4 eats our [], so we need to use [ and ] instead.
+  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+  if test "x$has_forbidden_chars" != x; then
+    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+  fi
+
+    # Output is in $new_path
+
+  windows_path="$new_path"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    unix_path=`$CYGPATH -u "$windows_path"`
+    new_path="$unix_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+    new_path="$unix_path"
+  fi
+
+    # remove trailing .exe if any
+    new_path="${new_path/%.exe/}"
+
+    # Save the first 10 bytes of this path to the storage, so fixpath can work.
+    all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+  fi
+
+    else
+      # We're on a unix platform. Hooray! :)
+      # First separate the path from the arguments. This will split at the first
+      # space.
+      complete="$BUILD_NM"
+      path="${complete%% *}"
+      tmp="$complete EOL"
+      arguments="${tmp#* }"
+
+      # Cannot rely on the command "which" here since it doesn't always work.
+      is_absolute_path=`$ECHO "$path" | $GREP ^/`
+      if test -z "$is_absolute_path"; then
+        # Path to executable is not absolute. Find it.
+        IFS_save="$IFS"
+        IFS=:
+        for p in $PATH; do
+          if test -f "$p/$path" && test -x "$p/$path"; then
+            new_path="$p/$path"
+            break
+          fi
+        done
+        IFS="$IFS_save"
+      else
+        # This is an absolute path, we can use it without further modifications.
+        new_path="$path"
+      fi
+
+      if test "x$new_path" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_NM, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_NM, which resolves as \"$complete\", is not found." >&6;}
+        has_space=`$ECHO "$complete" | $GREP " "`
+        if test "x$has_space" != x; then
+          { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+        fi
+        as_fn_error $? "Cannot locate the the path of BUILD_NM" "$LINENO" 5
+      fi
+    fi
+
+    # Now join together the path and the arguments once again
+    if test "x$arguments" != xEOL; then
+      new_complete="$new_path ${arguments% *}"
+    else
+      new_complete="$new_path"
+    fi
+
+    if test "x$complete" != "x$new_complete"; then
+      BUILD_NM="$new_complete"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_NM to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting BUILD_NM to \"$new_complete\"" >&6;}
+    fi
+  fi
+
+
+
+  # Publish this variable in the help.
+
+
+  if [ -z "${BUILD_AR+x}" ]; then
+    # The variable is not set by user, try to locate tool using the code snippet
+    for ac_prog in ar gcc-ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $BUILD_AR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_BUILD_AR="$BUILD_AR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_BUILD_AR="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+BUILD_AR=$ac_cv_path_BUILD_AR
+if test -n "$BUILD_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_AR" >&5
+$as_echo "$BUILD_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$BUILD_AR" && break
+done
+
+  else
+    # The variable is set, but is it from the command line or the environment?
+
+    # Try to remove the string !BUILD_AR! from our list.
+    try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!BUILD_AR!/}
+    if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+      # If it failed, the variable was not from the command line. Ignore it,
+      # but warn the user (except for BASH, which is always set by the calling BASH).
+      if test "xBUILD_AR" != xBASH; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of BUILD_AR from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of BUILD_AR from the environment. Use command line variables instead." >&2;}
+      fi
+      # Try to locate tool using the code snippet
+      for ac_prog in ar gcc-ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $BUILD_AR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_BUILD_AR="$BUILD_AR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_BUILD_AR="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+BUILD_AR=$ac_cv_path_BUILD_AR
+if test -n "$BUILD_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_AR" >&5
+$as_echo "$BUILD_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$BUILD_AR" && break
+done
+
+    else
+      # If it succeeded, then it was overridden by the user. We will use it
+      # for the tool.
+
+      # First remove it from the list of overridden variables, so we can test
+      # for unknown variables in the end.
+      CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+      # Check if we try to supply an empty value
+      if test "x$BUILD_AR" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool BUILD_AR= (no value)" >&5
+$as_echo "$as_me: Setting user supplied tool BUILD_AR= (no value)" >&6;}
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_AR" >&5
+$as_echo_n "checking for BUILD_AR... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+      else
+        # Check if the provided tool contains a complete path.
+        tool_specified="$BUILD_AR"
+        tool_basename="${tool_specified##*/}"
+        if test "x$tool_basename" = "x$tool_specified"; then
+          # A command without a complete path is provided, search $PATH.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool BUILD_AR=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool BUILD_AR=$tool_basename" >&6;}
+          # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $BUILD_AR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_BUILD_AR="$BUILD_AR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_BUILD_AR="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+BUILD_AR=$ac_cv_path_BUILD_AR
+if test -n "$BUILD_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_AR" >&5
+$as_echo "$BUILD_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+          if test "x$BUILD_AR" = x; then
+            as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+          fi
+        else
+          # Otherwise we believe it is a complete path. Use it as it is.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool BUILD_AR=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool BUILD_AR=$tool_specified" >&6;}
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_AR" >&5
+$as_echo_n "checking for BUILD_AR... " >&6; }
+          if test ! -x "$tool_specified"; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+            as_fn_error $? "User supplied tool BUILD_AR=$tool_specified does not exist or is not executable" "$LINENO" 5
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+        fi
+      fi
+    fi
+
+  fi
+
+
+
+  # Only process if variable expands to non-empty
+
+  if test "x$BUILD_AR" != x; then
+    if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+  # First separate the path from the arguments. This will split at the first
+  # space.
+  complete="$BUILD_AR"
+  path="${complete%% *}"
+  tmp="$complete EOL"
+  arguments="${tmp#* }"
+
+  # Input might be given as Windows format, start by converting to
+  # unix format.
+  new_path=`$CYGPATH -u "$path"`
+
+  # Now try to locate executable using which
+  new_path=`$WHICH "$new_path" 2> /dev/null`
+  # bat and cmd files are not always considered executable in cygwin causing which
+  # to not find them
+  if test "x$new_path" = x \
+      && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+      && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+    new_path=`$CYGPATH -u "$path"`
+  fi
+  if test "x$new_path" = x; then
+    # Oops. Which didn't find the executable.
+    # The splitting of arguments from the executable at a space might have been incorrect,
+    # since paths with space are more likely in Windows. Give it another try with the whole
+    # argument.
+    path="$complete"
+    arguments="EOL"
+    new_path=`$CYGPATH -u "$path"`
+    new_path=`$WHICH "$new_path" 2> /dev/null`
+    # bat and cmd files are not always considered executable in cygwin causing which
+    # to not find them
+    if test "x$new_path" = x \
+        && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+        && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+      new_path=`$CYGPATH -u "$path"`
+    fi
+    if test "x$new_path" = x; then
+      # It's still not found. Now this is an unrecoverable error.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_AR, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_AR, which resolves as \"$complete\", is not found." >&6;}
+      has_space=`$ECHO "$complete" | $GREP " "`
+      if test "x$has_space" != x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+      fi
+      as_fn_error $? "Cannot locate the the path of BUILD_AR" "$LINENO" 5
+    fi
+  fi
+
+  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+  # "foo.exe" is OK but "foo" is an error.
+  #
+  # This test is therefore slightly more accurate than "test -f" to check for file presence.
+  # It is also a way to make sure we got the proper file name for the real test later on.
+  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+  if test "x$test_shortpath" = x; then
+    # Short path failed, file does not exist as specified.
+    # Try adding .exe or .cmd
+    if test -f "${new_path}.exe"; then
+      input_to_shortpath="${new_path}.exe"
+    elif test -f "${new_path}.cmd"; then
+      input_to_shortpath="${new_path}.cmd"
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_AR, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of BUILD_AR, which resolves as \"$new_path\", is invalid." >&6;}
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+      as_fn_error $? "Cannot locate the the path of BUILD_AR" "$LINENO" 5
+    fi
+  else
+    input_to_shortpath="$new_path"
+  fi
+
+  # Call helper function which possibly converts this using DOS-style short mode.
+  # If so, the updated path is stored in $new_path.
+  new_path="$input_to_shortpath"
+
+  input_path="$input_to_shortpath"
+  # Check if we need to convert this using DOS-style short mode. If the path
+  # contains just simple characters, use it. Otherwise (spaces, weird characters),
+  # take no chances and rewrite it.
+  # Note: m4 eats our [], so we need to use [ and ] instead.
+  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+  if test "x$has_forbidden_chars" != x; then
+    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+      # Going to short mode and back again did indeed matter. Since short mode is
+      # case insensitive, let's make it lowercase to improve readability.
+      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+      # Now convert it back to Unix-style (cygpath)
+      input_path=`$CYGPATH -u "$shortmode_path"`
+      new_path="$input_path"
+    fi
+  fi
+
+  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+  if test "x$test_cygdrive_prefix" = x; then
+    # As a simple fix, exclude /usr/bin since it's not a real path.
+    if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+      # a path prefixed by /cygdrive for fixpath to work.
+      new_path="$CYGWIN_ROOT_PATH$input_path"
+    fi
+  fi
+
+  # remove trailing .exe if any
+  new_path="${new_path/%.exe/}"
+
+    elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+  # First separate the path from the arguments. This will split at the first
+  # space.
+  complete="$BUILD_AR"
+  path="${complete%% *}"
+  tmp="$complete EOL"
+  arguments="${tmp#* }"
+
+  # Input might be given as Windows format, start by converting to
+  # unix format.
+  new_path="$path"
+
+  windows_path="$new_path"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    unix_path=`$CYGPATH -u "$windows_path"`
+    new_path="$unix_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+    new_path="$unix_path"
+  fi
+
+
+  # Now try to locate executable using which
+  new_path=`$WHICH "$new_path" 2> /dev/null`
+
+  if test "x$new_path" = x; then
+    # Oops. Which didn't find the executable.
+    # The splitting of arguments from the executable at a space might have been incorrect,
+    # since paths with space are more likely in Windows. Give it another try with the whole
+    # argument.
+    path="$complete"
+    arguments="EOL"
+    new_path="$path"
+
+  windows_path="$new_path"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    unix_path=`$CYGPATH -u "$windows_path"`
+    new_path="$unix_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+    new_path="$unix_path"
+  fi
+
+
+    new_path=`$WHICH "$new_path" 2> /dev/null`
+    # bat and cmd files are not always considered executable in MSYS causing which
+    # to not find them
+    if test "x$new_path" = x \
+        && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+        && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+      new_path="$path"
+
+  windows_path="$new_path"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    unix_path=`$CYGPATH -u "$windows_path"`
+    new_path="$unix_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+    new_path="$unix_path"
+  fi
+
+    fi
+
+    if test "x$new_path" = x; then
+      # It's still not found. Now this is an unrecoverable error.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_AR, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_AR, which resolves as \"$complete\", is not found." >&6;}
+      has_space=`$ECHO "$complete" | $GREP " "`
+      if test "x$has_space" != x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+      fi
+      as_fn_error $? "Cannot locate the the path of BUILD_AR" "$LINENO" 5
+    fi
+  fi
+
+  # Now new_path has a complete unix path to the binary
+  if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+    # Keep paths in /bin as-is, but remove trailing .exe if any
+    new_path="${new_path/%.exe/}"
+    # Do not save /bin paths to all_fixpath_prefixes!
+  else
+    # Not in mixed or Windows style, start by that.
+    new_path=`cmd //c echo $new_path`
+
+  input_path="$new_path"
+  # Check if we need to convert this using DOS-style short mode. If the path
+  # contains just simple characters, use it. Otherwise (spaces, weird characters),
+  # take no chances and rewrite it.
+  # Note: m4 eats our [], so we need to use [ and ] instead.
+  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+  if test "x$has_forbidden_chars" != x; then
+    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+  fi
+
+    # Output is in $new_path
+
+  windows_path="$new_path"
+  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+    unix_path=`$CYGPATH -u "$windows_path"`
+    new_path="$unix_path"
+  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+    new_path="$unix_path"
+  fi
+
+    # remove trailing .exe if any
+    new_path="${new_path/%.exe/}"
+
+    # Save the first 10 bytes of this path to the storage, so fixpath can work.
+    all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+  fi
+
+    else
+      # We're on a unix platform. Hooray! :)
+      # First separate the path from the arguments. This will split at the first
+      # space.
+      complete="$BUILD_AR"
+      path="${complete%% *}"
+      tmp="$complete EOL"
+      arguments="${tmp#* }"
+
+      # Cannot rely on the command "which" here since it doesn't always work.
+      is_absolute_path=`$ECHO "$path" | $GREP ^/`
+      if test -z "$is_absolute_path"; then
+        # Path to executable is not absolute. Find it.
+        IFS_save="$IFS"
+        IFS=:
+        for p in $PATH; do
+          if test -f "$p/$path" && test -x "$p/$path"; then
+            new_path="$p/$path"
+            break
+          fi
+        done
+        IFS="$IFS_save"
+      else
+        # This is an absolute path, we can use it without further modifications.
+        new_path="$path"
+      fi
+
+      if test "x$new_path" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_AR, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_AR, which resolves as \"$complete\", is not found." >&6;}
+        has_space=`$ECHO "$complete" | $GREP " "`
+        if test "x$has_space" != x; then
+          { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+        fi
+        as_fn_error $? "Cannot locate the the path of BUILD_AR" "$LINENO" 5
+      fi
+    fi
+
+    # Now join together the path and the arguments once again
+    if test "x$arguments" != xEOL; then
+      new_complete="$new_path ${arguments% *}"
+    else
+      new_complete="$new_path"
+    fi
+
+    if test "x$complete" != "x$new_complete"; then
+      BUILD_AR="$new_complete"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_AR to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting BUILD_AR to \"$new_complete\"" >&6;}
+    fi
+  fi
+
+    # Assume the C compiler is the assembler
+    BUILD_AS="$BUILD_CC -c"
+    # Just like for the target compiler, use the compiler as linker
     BUILD_LD="$BUILD_CC"
 
     PATH="$OLDPATH"
@@ -42964,9 +44985,15 @@
     BUILD_CC="$CC"
     BUILD_CXX="$CXX"
     BUILD_LD="$LD"
+    BUILD_NM="$NM"
+    BUILD_AS="$AS"
     BUILD_SYSROOT_CFLAGS="$SYSROOT_CFLAGS"
     BUILD_SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS"
-  fi
+    BUILD_AR="$AR"
+  fi
+
+
+
 
 
 
@@ -43706,13 +45733,13 @@
     # The \$ are escaped to the shell, and the $(...) variables
     # are evaluated by make.
     RC_FLAGS="$RC_FLAGS \
-        -D\"JDK_BUILD_ID=\$(FULL_VERSION)\" \
+        -D\"JDK_VERSION_STRING=\$(VERSION_STRING)\" \
         -D\"JDK_COMPANY=\$(COMPANY_NAME)\" \
         -D\"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
-        -D\"JDK_VER=\$(JDK_MINOR_VERSION).\$(JDK_MICRO_VERSION).\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0).\$(COOKED_BUILD_NUMBER)\" \
+        -D\"JDK_VER=\$(VERSION_NUMBER)\" \
         -D\"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
-        -D\"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(JDK_MINOR_VERSION) \$(JDK_UPDATE_META_TAG)\" \
-        -D\"JDK_FVER=\$(JDK_MINOR_VERSION),\$(JDK_MICRO_VERSION),\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0),\$(COOKED_BUILD_NUMBER)\""
+        -D\"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(VERSION_MAJOR)\" \
+        -D\"JDK_FVER=\$(subst .,\$(COMMA),\$(VERSION_NUMBER_FOUR_POSITIONS))\""
   fi
 
 
@@ -44845,10 +46872,6 @@
     COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DDEBUG"
   fi
 
-  # Setup release name
-  COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'"
-
-
   # Set some additional per-OS defines.
   if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
@@ -45294,6 +47317,81 @@
         DISABLE_WARNING_PREFIX=
       fi
       CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
+      # Repeate the check for the BUILD_CC
+      CC_OLD="$CC"
+      CC="$BUILD_CC"
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"-Wno-this-is-a-warning-that-do-not-exist\"" >&5
+$as_echo_n "checking if compiler supports \"-Wno-this-is-a-warning-that-do-not-exist\"... " >&6; }
+  supports=yes
+
+  saved_cflags="$CFLAGS"
+  CFLAGS="$CFLAGS -Wno-this-is-a-warning-that-do-not-exist"
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int i;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  supports=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  CFLAGS="$saved_cflags"
+
+  saved_cxxflags="$CXXFLAGS"
+  CXXFLAGS="$CXXFLAG -Wno-this-is-a-warning-that-do-not-exist"
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int i;
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+  supports=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  CXXFLAGS="$saved_cxxflags"
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5
+$as_echo "$supports" >&6; }
+  if test "x$supports" = "xyes" ; then
+    BUILD_CC_CAN_DISABLE_WARNINGS=true
+  else
+    BUILD_CC_CAN_DISABLE_WARNINGS=false
+
+  fi
+
+      if test "x$BUILD_CC_CAN_DISABLE_WARNINGS" = "xtrue"; then
+        BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
+      else
+        BUILD_CC_DISABLE_WARNING_PREFIX=
+      fi
+      CC="$CC_OLD"
       ;;
     clang)
       DISABLE_WARNING_PREFIX="-Wno-"
@@ -45488,7 +47586,10 @@
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  fi
+
+    FIXPATH_DETACH_FLAG="--detach"
+  fi
+
 
 
 
@@ -54488,18 +56589,18 @@
 
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if elliptic curve crypto implementation is present" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if elliptic curve crypto implementation is present" >&5
 $as_echo_n "checking if elliptic curve crypto implementation is present... " >&6; }
 
-    if test -d "${SRC_ROOT}/jdk/src/jdk.crypto.ec/share/native/libsunec/impl"; then
-      ENABLE_INTREE_EC=yes
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+  if test -d "${SRC_ROOT}/jdk/src/jdk.crypto.ec/share/native/libsunec/impl"; then
+    ENABLE_INTREE_EC=yes
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-    else
-      ENABLE_INTREE_EC=no
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
+  else
+    ENABLE_INTREE_EC=no
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  fi
 
 
 
@@ -54636,14 +56737,6 @@
       JOBS="$memory_gb"
     else
       JOBS="$NUM_CORES"
-      # On bigger machines, leave some room for other processes to run
-      if test "$JOBS" -gt "4"; then
-        JOBS=`expr $JOBS '*' 90 / 100`
-      fi
-    fi
-    # Cap number of jobs to 16
-    if test "$JOBS" -gt "16"; then
-      JOBS=16
     fi
     if test "$JOBS" -eq "0"; then
       JOBS=1
@@ -54791,6 +56884,9 @@
   JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
 
 
+  # By default, the main javac compilations use big
+  JAVA_FLAGS_JAVAC="$JAVA_FLAGS_BIG"
+
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command for small workloads" >&5
 $as_echo_n "checking flags for boot jdk java command for small workloads... " >&6; }
@@ -54953,7 +57049,7 @@
 if test "${enable_javac_server+set}" = set; then :
   enableval=$enable_javac_server; ENABLE_JAVAC_SERVER="${enableval}"
 else
-  ENABLE_JAVAC_SERVER="no"
+  ENABLE_JAVAC_SERVER="yes"
 fi
 
   if test "x$JVM_ARG_OK" = "xfalse"; then
@@ -54967,6 +57063,691 @@
 $as_echo "$ENABLE_JAVAC_SERVER" >&6; }
 
 
+  if test "x$ENABLE_JAVAC_SERVER" = "xyes" || "x$ENABLE_SJAVAC" = "xyes"; then
+    # When using a server javac, the small client instances do not need much
+    # resources.
+    JAVA_FLAGS_JAVAC="$JAVA_FLAGS_SMALL"
+  fi
+
+
+# Setup use of icecc if requested
+
+  # Check whether --enable-icecc was given.
+if test "${enable_icecc+set}" = set; then :
+  enableval=$enable_icecc;
+fi
+
+
+  if test "x${enable_icecc}" = "xyes"; then
+
+
+
+  # Publish this variable in the help.
+
+
+  if [ -z "${ICECC_CMD+x}" ]; then
+    # The variable is not set by user, try to locate tool using the code snippet
+    for ac_prog in icecc
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ICECC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ICECC_CMD in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ICECC_CMD="$ICECC_CMD" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ICECC_CMD="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ICECC_CMD=$ac_cv_path_ICECC_CMD
+if test -n "$ICECC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICECC_CMD" >&5
+$as_echo "$ICECC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ICECC_CMD" && break
+done
+
+  else
+    # The variable is set, but is it from the command line or the environment?
+
+    # Try to remove the string !ICECC_CMD! from our list.
+    try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!ICECC_CMD!/}
+    if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+      # If it failed, the variable was not from the command line. Ignore it,
+      # but warn the user (except for BASH, which is always set by the calling BASH).
+      if test "xICECC_CMD" != xBASH; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of ICECC_CMD from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of ICECC_CMD from the environment. Use command line variables instead." >&2;}
+      fi
+      # Try to locate tool using the code snippet
+      for ac_prog in icecc
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ICECC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ICECC_CMD in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ICECC_CMD="$ICECC_CMD" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ICECC_CMD="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ICECC_CMD=$ac_cv_path_ICECC_CMD
+if test -n "$ICECC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICECC_CMD" >&5
+$as_echo "$ICECC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ICECC_CMD" && break
+done
+
+    else
+      # If it succeeded, then it was overridden by the user. We will use it
+      # for the tool.
+
+      # First remove it from the list of overridden variables, so we can test
+      # for unknown variables in the end.
+      CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+      # Check if we try to supply an empty value
+      if test "x$ICECC_CMD" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool ICECC_CMD= (no value)" >&5
+$as_echo "$as_me: Setting user supplied tool ICECC_CMD= (no value)" >&6;}
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICECC_CMD" >&5
+$as_echo_n "checking for ICECC_CMD... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+      else
+        # Check if the provided tool contains a complete path.
+        tool_specified="$ICECC_CMD"
+        tool_basename="${tool_specified##*/}"
+        if test "x$tool_basename" = "x$tool_specified"; then
+          # A command without a complete path is provided, search $PATH.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool ICECC_CMD=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool ICECC_CMD=$tool_basename" >&6;}
+          # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ICECC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ICECC_CMD in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ICECC_CMD="$ICECC_CMD" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ICECC_CMD="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ICECC_CMD=$ac_cv_path_ICECC_CMD
+if test -n "$ICECC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICECC_CMD" >&5
+$as_echo "$ICECC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+          if test "x$ICECC_CMD" = x; then
+            as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+          fi
+        else
+          # Otherwise we believe it is a complete path. Use it as it is.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool ICECC_CMD=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool ICECC_CMD=$tool_specified" >&6;}
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICECC_CMD" >&5
+$as_echo_n "checking for ICECC_CMD... " >&6; }
+          if test ! -x "$tool_specified"; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+            as_fn_error $? "User supplied tool ICECC_CMD=$tool_specified does not exist or is not executable" "$LINENO" 5
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+        fi
+      fi
+    fi
+
+  fi
+
+
+
+  if test "x$ICECC_CMD" = x; then
+    as_fn_error $? "Could not find required tool for ICECC_CMD" "$LINENO" 5
+  fi
+
+
+    old_path="$PATH"
+
+    # Look for icecc-create-env in some known places
+    PATH="$PATH:/usr/lib/icecc:/usr/lib64/icecc"
+
+
+
+  # Publish this variable in the help.
+
+
+  if [ -z "${ICECC_CREATE_ENV+x}" ]; then
+    # The variable is not set by user, try to locate tool using the code snippet
+    for ac_prog in icecc-create-env
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ICECC_CREATE_ENV+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ICECC_CREATE_ENV in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ICECC_CREATE_ENV="$ICECC_CREATE_ENV" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ICECC_CREATE_ENV="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ICECC_CREATE_ENV=$ac_cv_path_ICECC_CREATE_ENV
+if test -n "$ICECC_CREATE_ENV"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICECC_CREATE_ENV" >&5
+$as_echo "$ICECC_CREATE_ENV" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ICECC_CREATE_ENV" && break
+done
+
+  else
+    # The variable is set, but is it from the command line or the environment?
+
+    # Try to remove the string !ICECC_CREATE_ENV! from our list.
+    try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!ICECC_CREATE_ENV!/}
+    if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+      # If it failed, the variable was not from the command line. Ignore it,
+      # but warn the user (except for BASH, which is always set by the calling BASH).
+      if test "xICECC_CREATE_ENV" != xBASH; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of ICECC_CREATE_ENV from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of ICECC_CREATE_ENV from the environment. Use command line variables instead." >&2;}
+      fi
+      # Try to locate tool using the code snippet
+      for ac_prog in icecc-create-env
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ICECC_CREATE_ENV+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ICECC_CREATE_ENV in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ICECC_CREATE_ENV="$ICECC_CREATE_ENV" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ICECC_CREATE_ENV="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ICECC_CREATE_ENV=$ac_cv_path_ICECC_CREATE_ENV
+if test -n "$ICECC_CREATE_ENV"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICECC_CREATE_ENV" >&5
+$as_echo "$ICECC_CREATE_ENV" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ICECC_CREATE_ENV" && break
+done
+
+    else
+      # If it succeeded, then it was overridden by the user. We will use it
+      # for the tool.
+
+      # First remove it from the list of overridden variables, so we can test
+      # for unknown variables in the end.
+      CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+      # Check if we try to supply an empty value
+      if test "x$ICECC_CREATE_ENV" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool ICECC_CREATE_ENV= (no value)" >&5
+$as_echo "$as_me: Setting user supplied tool ICECC_CREATE_ENV= (no value)" >&6;}
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICECC_CREATE_ENV" >&5
+$as_echo_n "checking for ICECC_CREATE_ENV... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+      else
+        # Check if the provided tool contains a complete path.
+        tool_specified="$ICECC_CREATE_ENV"
+        tool_basename="${tool_specified##*/}"
+        if test "x$tool_basename" = "x$tool_specified"; then
+          # A command without a complete path is provided, search $PATH.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool ICECC_CREATE_ENV=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool ICECC_CREATE_ENV=$tool_basename" >&6;}
+          # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ICECC_CREATE_ENV+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ICECC_CREATE_ENV in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ICECC_CREATE_ENV="$ICECC_CREATE_ENV" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ICECC_CREATE_ENV="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ICECC_CREATE_ENV=$ac_cv_path_ICECC_CREATE_ENV
+if test -n "$ICECC_CREATE_ENV"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICECC_CREATE_ENV" >&5
+$as_echo "$ICECC_CREATE_ENV" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+          if test "x$ICECC_CREATE_ENV" = x; then
+            as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+          fi
+        else
+          # Otherwise we believe it is a complete path. Use it as it is.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool ICECC_CREATE_ENV=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool ICECC_CREATE_ENV=$tool_specified" >&6;}
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICECC_CREATE_ENV" >&5
+$as_echo_n "checking for ICECC_CREATE_ENV... " >&6; }
+          if test ! -x "$tool_specified"; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+            as_fn_error $? "User supplied tool ICECC_CREATE_ENV=$tool_specified does not exist or is not executable" "$LINENO" 5
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+        fi
+      fi
+    fi
+
+  fi
+
+
+
+  if test "x$ICECC_CREATE_ENV" = x; then
+    as_fn_error $? "Could not find required tool for ICECC_CREATE_ENV" "$LINENO" 5
+  fi
+
+
+    # Use icecc-create-env to create a minimal compilation environment that can
+    # be sent to the other hosts in the icecream cluster.
+    icecc_create_env_log="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env.log"
+    ${MKDIR} -p ${CONFIGURESUPPORT_OUTPUTDIR}/icecc
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icecc build environment for target compiler" >&5
+$as_echo_n "checking for icecc build environment for target compiler... " >&6; }
+    if test "x${TOOLCHAIN_TYPE}" = "xgcc"; then
+      cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
+          && ${ICECC_CREATE_ENV} --gcc ${CC} ${CXX} > ${icecc_create_env_log}
+    elif test "x$TOOLCHAIN_TYPE" = "xclang"; then
+      # For clang, the icecc compilerwrapper is needed. It usually resides next
+      # to icecc-create-env.
+
+
+
+  # Publish this variable in the help.
+
+
+  if [ -z "${ICECC_WRAPPER+x}" ]; then
+    # The variable is not set by user, try to locate tool using the code snippet
+    for ac_prog in compilerwrapper
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ICECC_WRAPPER+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ICECC_WRAPPER in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ICECC_WRAPPER="$ICECC_WRAPPER" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ICECC_WRAPPER="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ICECC_WRAPPER=$ac_cv_path_ICECC_WRAPPER
+if test -n "$ICECC_WRAPPER"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICECC_WRAPPER" >&5
+$as_echo "$ICECC_WRAPPER" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ICECC_WRAPPER" && break
+done
+
+  else
+    # The variable is set, but is it from the command line or the environment?
+
+    # Try to remove the string !ICECC_WRAPPER! from our list.
+    try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!ICECC_WRAPPER!/}
+    if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+      # If it failed, the variable was not from the command line. Ignore it,
+      # but warn the user (except for BASH, which is always set by the calling BASH).
+      if test "xICECC_WRAPPER" != xBASH; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of ICECC_WRAPPER from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of ICECC_WRAPPER from the environment. Use command line variables instead." >&2;}
+      fi
+      # Try to locate tool using the code snippet
+      for ac_prog in compilerwrapper
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ICECC_WRAPPER+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ICECC_WRAPPER in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ICECC_WRAPPER="$ICECC_WRAPPER" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ICECC_WRAPPER="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ICECC_WRAPPER=$ac_cv_path_ICECC_WRAPPER
+if test -n "$ICECC_WRAPPER"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICECC_WRAPPER" >&5
+$as_echo "$ICECC_WRAPPER" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ICECC_WRAPPER" && break
+done
+
+    else
+      # If it succeeded, then it was overridden by the user. We will use it
+      # for the tool.
+
+      # First remove it from the list of overridden variables, so we can test
+      # for unknown variables in the end.
+      CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+      # Check if we try to supply an empty value
+      if test "x$ICECC_WRAPPER" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool ICECC_WRAPPER= (no value)" >&5
+$as_echo "$as_me: Setting user supplied tool ICECC_WRAPPER= (no value)" >&6;}
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICECC_WRAPPER" >&5
+$as_echo_n "checking for ICECC_WRAPPER... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+      else
+        # Check if the provided tool contains a complete path.
+        tool_specified="$ICECC_WRAPPER"
+        tool_basename="${tool_specified##*/}"
+        if test "x$tool_basename" = "x$tool_specified"; then
+          # A command without a complete path is provided, search $PATH.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool ICECC_WRAPPER=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool ICECC_WRAPPER=$tool_basename" >&6;}
+          # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ICECC_WRAPPER+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ICECC_WRAPPER in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ICECC_WRAPPER="$ICECC_WRAPPER" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ICECC_WRAPPER="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ICECC_WRAPPER=$ac_cv_path_ICECC_WRAPPER
+if test -n "$ICECC_WRAPPER"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICECC_WRAPPER" >&5
+$as_echo "$ICECC_WRAPPER" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+          if test "x$ICECC_WRAPPER" = x; then
+            as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+          fi
+        else
+          # Otherwise we believe it is a complete path. Use it as it is.
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool ICECC_WRAPPER=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool ICECC_WRAPPER=$tool_specified" >&6;}
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICECC_WRAPPER" >&5
+$as_echo_n "checking for ICECC_WRAPPER... " >&6; }
+          if test ! -x "$tool_specified"; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+            as_fn_error $? "User supplied tool ICECC_WRAPPER=$tool_specified does not exist or is not executable" "$LINENO" 5
+          fi
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+        fi
+      fi
+    fi
+
+  fi
+
+
+
+  if test "x$ICECC_WRAPPER" = x; then
+    as_fn_error $? "Could not find required tool for ICECC_WRAPPER" "$LINENO" 5
+  fi
+
+
+      cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
+          && ${ICECC_CREATE_ENV} --clang ${CC} ${ICECC_WRAPPER} > ${icecc_create_env_log}
+    else
+      as_fn_error $? "Can only create icecc compiler packages for toolchain types gcc and clang" "$LINENO" 5
+    fi
+    PATH="$old_path"
+    # The bundle with the compiler gets a name based on checksums. Parse log file
+    # to find it.
+    ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log}`"
+    ICECC_ENV_BUNDLE="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/${ICECC_ENV_BUNDLE_BASENAME}"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ICECC_ENV_BUNDLE}" >&5
+$as_echo "${ICECC_ENV_BUNDLE}" >&6; }
+    ICECC="ICECC_VERSION=${ICECC_ENV_BUNDLE} ICECC_CC=${CC} ICECC_CXX=${CXX} ${ICECC_CMD}"
+
+    if test "x${COMPILE_TYPE}" = "xcross"; then
+      # If cross compiling, create a separate env package for the build compiler
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icecc build environment for build compiler" >&5
+$as_echo_n "checking for icecc build environment for build compiler... " >&6; }
+      # Assume "gcc" or "cc" is gcc and "clang" is clang. Otherwise bail.
+      if test "x${BUILD_CC##*/}" = "xgcc" ||  test "x${BUILD_CC##*/}" = "xcc"; then
+        cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
+            && ${ICECC_CREATE_ENV} --gcc ${BUILD_CC} ${BUILD_CXX} > ${icecc_create_env_log}
+      elif test "x${BUILD_CC##*/}" = "xclang"; then
+        cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
+            && ${ICECC_CREATE_ENV} --clang ${BUILD_CC} ${ICECC_WRAPPER} > ${icecc_create_env_log}
+      else
+        as_fn_error $? "Cannot create icecc compiler package for ${BUILD_CC}" "$LINENO" 5
+      fi
+      ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log}`"
+      ICECC_ENV_BUNDLE="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/${ICECC_ENV_BUNDLE_BASENAME}"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ICECC_ENV_BUNDLE}" >&5
+$as_echo "${ICECC_ENV_BUNDLE}" >&6; }
+      BUILD_ICECC="ICECC_VERSION=${ICECC_ENV_BUNDLE} ICECC_CC=${BUILD_CC} \
+          ICECC_CXX=${BUILD_CXX} ${ICECC_CMD}"
+    else
+      BUILD_ICECC="${ICECC}"
+    fi
+
+
+  fi
+
 
 # Can the C/C++ compiler use precompiled headers?
 
@@ -54984,8 +57765,19 @@
 
 
   USE_PRECOMPILED_HEADER=1
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking If precompiled header is enabled" >&5
+$as_echo_n "checking If precompiled header is enabled... " >&6; }
   if test "x$ENABLE_PRECOMPH" = xno; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, forced" >&5
+$as_echo "no, forced" >&6; }
     USE_PRECOMPILED_HEADER=0
+  elif test "x$ICECC" != "x"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, does not work effectively with icecc" >&5
+$as_echo "no, does not work effectively with icecc" >&6; }
+    USE_PRECOMPILED_HEADER=0
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
   fi
 
   if test "x$ENABLE_PRECOMPH" = xyes; then
@@ -56628,6 +59420,7 @@
   printf "* JDK variant:    $JDK_VARIANT\n"
   printf "* JVM variants:   $with_jvm_variants\n"
   printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
+  printf "* Version string: $VERSION_STRING ($VERSION_SHORT)\n"
 
   printf "\n"
   printf "Tools summary:\n"
--- a/common/autoconf/help.m4	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/help.m4	Wed Dec 02 11:22:12 2015 -0800
@@ -202,6 +202,7 @@
   printf "* JDK variant:    $JDK_VARIANT\n"
   printf "* JVM variants:   $with_jvm_variants\n"
   printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
+  printf "* Version string: $VERSION_STRING ($VERSION_SHORT)\n"
 
   printf "\n"
   printf "Tools summary:\n"
--- a/common/autoconf/hotspot-spec.gmk.in	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/hotspot-spec.gmk.in	Wed Dec 02 11:22:12 2015 -0800
@@ -49,8 +49,8 @@
 
 # The HOSTCC/HOSTCXX is Hotspot terminology for the BUILD_CC/BUILD_CXX, i.e. the
 # compiler that produces code that can be run on the build platform.
-HOSTCC:=@FIXPATH@ @BUILD_CC@ $(BUILD_SYSROOT_CFLAGS)
-HOSTCXX:=@FIXPATH@ @BUILD_CXX@ $(BUILD_SYSROOT_CFLAGS)
+HOSTCC:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CC@ $(BUILD_SYSROOT_CFLAGS)
+HOSTCXX:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CXX@ $(BUILD_SYSROOT_CFLAGS)
 
 ####################################################
 #
@@ -105,7 +105,7 @@
 
 # For hotspot, override compiler/tools definition to not include FIXPATH prefix.
 # Hotspot has its own handling on the Windows path situation.
-CXX:=@CCACHE@ @HOTSPOT_CXX@
+CXX:=@CCACHE@ @ICECC@ @HOTSPOT_CXX@
 LD:=@HOTSPOT_LD@
 MT:=@HOTSPOT_MT@
 RC:=@HOTSPOT_RC@
--- a/common/autoconf/jdk-options.m4	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/jdk-options.m4	Wed Dec 02 11:22:12 2015 -0800
@@ -436,109 +436,13 @@
 
   ###############################################################################
   #
-  # Enable or disable the elliptic curve crypto implementation
-  #
-  AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
-  [
-    AC_MSG_CHECKING([if elliptic curve crypto implementation is present])
-
-    if test -d "${SRC_ROOT}/jdk/src/jdk.crypto.ec/share/native/libsunec/impl"; then
-      ENABLE_INTREE_EC=yes
-      AC_MSG_RESULT([yes])
-    else
-      ENABLE_INTREE_EC=no
-      AC_MSG_RESULT([no])
-    fi
-
-    AC_SUBST(ENABLE_INTREE_EC)
-  ])
-
-  ###############################################################################
-  #
   # Compress jars
   #
   COMPRESS_JARS=false
 
   AC_SUBST(COMPRESS_JARS)
-])
 
-###############################################################################
-#
-# Setup version numbers
-#
-AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS],
-[
-  # Source the version numbers
-  . $AUTOCONF_DIR/version-numbers
-
-  # Get the settings from parameters
-  AC_ARG_WITH(milestone, [AS_HELP_STRING([--with-milestone],
-      [Set milestone value for build @<:@internal@:>@])])
-  if test "x$with_milestone" = xyes; then
-    AC_MSG_ERROR([Milestone must have a value])
-  elif test "x$with_milestone" != x; then
-    MILESTONE="$with_milestone"
-  fi
-  if test "x$MILESTONE" = x; then
-    MILESTONE=internal
-  fi
-
-  AC_ARG_WITH(update-version, [AS_HELP_STRING([--with-update-version],
-      [Set update version value for build @<:@b00@:>@])])
-  if test "x$with_update_version" = xyes; then
-    AC_MSG_ERROR([Update version must have a value])
-  elif test "x$with_update_version" != x; then
-    JDK_UPDATE_VERSION="$with_update_version"
-    # On macosx 10.7, it's not possible to set --with-update-version=0X due
-    # to a bug in expr (which reduces it to just X). To work around this, we
-    # always add a 0 to one digit update versions.
-    if test "${#JDK_UPDATE_VERSION}" = "1"; then
-      JDK_UPDATE_VERSION="0${JDK_UPDATE_VERSION}"
-    fi
-  fi
-
-  AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix],
-      [Add a custom string to the version string if build number is not set.@<:@username_builddateb00@:>@])])
-  if test "x$with_user_release_suffix" = xyes; then
-    AC_MSG_ERROR([Release suffix must have a value])
-  elif test "x$with_user_release_suffix" != x; then
-    USER_RELEASE_SUFFIX="$with_user_release_suffix"
-  fi
-
-  AC_ARG_WITH(build-number, [AS_HELP_STRING([--with-build-number],
-      [Set build number value for build @<:@b00@:>@])])
-  if test "x$with_build_number" = xyes; then
-    AC_MSG_ERROR([Build number must have a value])
-  elif test "x$with_build_number" != x; then
-    JDK_BUILD_NUMBER="$with_build_number"
-  fi
-  # Define default USER_RELEASE_SUFFIX if BUILD_NUMBER and USER_RELEASE_SUFFIX are not set
-  if test "x$JDK_BUILD_NUMBER" = x; then
-    JDK_BUILD_NUMBER=b00
-    if test "x$USER_RELEASE_SUFFIX" = x; then
-      BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
-      # Avoid [:alnum:] since it depends on the locale.
-      CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`
-      USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-    fi
-  fi
-
-  # Now set the JDK version, milestone, build number etc.
-  AC_SUBST(USER_RELEASE_SUFFIX)
-  AC_SUBST(JDK_MAJOR_VERSION)
-  AC_SUBST(JDK_MINOR_VERSION)
-  AC_SUBST(JDK_MICRO_VERSION)
-  AC_SUBST(JDK_UPDATE_VERSION)
-  AC_SUBST(JDK_BUILD_NUMBER)
-  AC_SUBST(MILESTONE)
-  AC_SUBST(LAUNCHER_NAME)
-  AC_SUBST(PRODUCT_NAME)
-  AC_SUBST(PRODUCT_SUFFIX)
-  AC_SUBST(JDK_RC_PLATFORM_NAME)
-  AC_SUBST(COMPANY_NAME)
-  AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
-  AC_SUBST(MACOSX_BUNDLE_ID_BASE)
-
+  # Setup default copyright year. Mostly overridden when building close to a new year.
   AC_ARG_WITH(copyright-year, [AS_HELP_STRING([--with-copyright-year],
       [Set copyright year value for build @<:@current year@:>@])])
   if test "x$with_copyright_year" = xyes; then
@@ -549,16 +453,6 @@
     COPYRIGHT_YEAR=`date +'%Y'`
   fi
   AC_SUBST(COPYRIGHT_YEAR)
-
-  if test "x$JDK_UPDATE_VERSION" != x; then
-    JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
-  else
-    JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
-  fi
-  AC_SUBST(JDK_VERSION)
-
-  COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'`
-  AC_SUBST(COOKED_BUILD_NUMBER)
 ])
 
 AC_DEFUN_ONCE([JDKOPT_SETUP_BUILD_TWEAKS],
@@ -574,6 +468,26 @@
   AC_SUBST(SALIB_NAME)
 ])
 
+###############################################################################
+#
+# Enable or disable the elliptic curve crypto implementation
+#
+AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
+[
+  AC_MSG_CHECKING([if elliptic curve crypto implementation is present])
+
+  if test -d "${SRC_ROOT}/jdk/src/jdk.crypto.ec/share/native/libsunec/impl"; then
+    ENABLE_INTREE_EC=yes
+    AC_MSG_RESULT([yes])
+  else
+    ENABLE_INTREE_EC=no
+    AC_MSG_RESULT([no])
+  fi
+
+  AC_SUBST(ENABLE_INTREE_EC)
+])
+
+
 AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
 [
   #
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/autoconf/jdk-version.m4	Wed Dec 02 11:22:12 2015 -0800
@@ -0,0 +1,321 @@
+#
+# Copyright (c) 2015, 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.
+#
+
+###############################################################################
+#
+# Setup version numbers
+#
+
+# Verify that a given string represents a valid version number, and assign it
+# to a variable.
+
+# Argument 1: the variable to assign to
+# Argument 2: the value given by the user
+AC_DEFUN([JDKVER_CHECK_AND_SET_NUMBER],
+[
+  # Additional [] needed to keep m4 from mangling shell constructs.
+  if [ ! [[ "$2" =~ ^0*([1-9][0-9]*)|(0)$ ]] ] ; then
+    AC_MSG_ERROR(["$2" is not a valid numerical value for $1])
+  fi
+  # Extract the version number without leading zeros.
+  cleaned_value=${BASH_REMATCH[[1]]}
+  if test "x$cleaned_value" = x; then
+    # Special case for zero
+    cleaned_value=${BASH_REMATCH[[2]]}
+  fi
+
+  if test $cleaned_value -gt 255; then
+    AC_MSG_ERROR([$1 is given as $2. This is greater than 255 which is not allowed.])
+  fi
+  if test "x$cleaned_value" != "x$2"; then
+    AC_MSG_WARN([Value for $1 has been sanitized from '$2' to '$cleaned_value'])
+  fi
+  $1=$cleaned_value
+])
+
+AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
+[
+  # Warn user that old version arguments are deprecated.
+  BASIC_DEPRECATED_ARG_WITH([milestone])
+  BASIC_DEPRECATED_ARG_WITH([update-version])
+  BASIC_DEPRECATED_ARG_WITH([user-release-suffix])
+  BASIC_DEPRECATED_ARG_WITH([build-number])
+
+  # Source the version numbers file
+  . $AUTOCONF_DIR/version-numbers
+
+  # Some non-version number information is set in that file
+  AC_SUBST(LAUNCHER_NAME)
+  AC_SUBST(PRODUCT_NAME)
+  AC_SUBST(PRODUCT_SUFFIX)
+  AC_SUBST(JDK_RC_PLATFORM_NAME)
+  AC_SUBST(COMPANY_NAME)
+  AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
+  AC_SUBST(MACOSX_BUNDLE_ID_BASE)
+
+  # Override version from arguments
+
+  # If --with-version-string is set, process it first. It is possible to
+  # override parts with more specific flags, since these are processed later.
+  AC_ARG_WITH(version-string, [AS_HELP_STRING([--with-version-string],
+      [Set version string @<:@calculated@:>@])])
+  if test "x$with_version_string" = xyes; then
+    AC_MSG_ERROR([--with-version-string must have a value])
+  elif test "x$with_version_string" != x; then
+    # Additional [] needed to keep m4 from mangling shell constructs.
+    if [ [[ $with_version_string =~ ^([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(-([a-zA-Z]+))?((\+)([0-9]+)?(-([-a-zA-Z0-9.]+))?)?$ ]] ]; then
+      VERSION_MAJOR=${BASH_REMATCH[[1]]}
+      VERSION_MINOR=${BASH_REMATCH[[3]]}
+      VERSION_SECURITY=${BASH_REMATCH[[5]]}
+      VERSION_PATCH=${BASH_REMATCH[[7]]}
+      VERSION_PRE=${BASH_REMATCH[[9]]}
+      version_plus_separator=${BASH_REMATCH[[11]]}
+      VERSION_BUILD=${BASH_REMATCH[[12]]}
+      VERSION_OPT=${BASH_REMATCH[[14]]}
+      # Unspecified numerical fields are interpreted as 0.
+      if test "x$VERSION_MINOR" = x; then
+        VERSION_MINOR=0
+      fi
+      if test "x$VERSION_SECURITY" = x; then
+        VERSION_SECURITY=0
+      fi
+      if test "x$VERSION_PATCH" = x; then
+        VERSION_PATCH=0
+      fi
+      if test "x$version_plus_separator" != x \
+          && test "x$VERSION_BUILD$VERSION_OPT" = x; then
+        AC_MSG_ERROR([Version string contains + but both 'BUILD' and 'OPT' are missing])
+      fi
+      # Stop the version part process from setting default values.
+      # We still allow them to explicitely override though.
+      NO_DEFAULT_VERSION_PARTS=true
+    else
+      AC_MSG_ERROR([--with-version-string fails to parse as a valid version string: $with_version_string])
+    fi
+  fi
+
+  AC_ARG_WITH(version-pre, [AS_HELP_STRING([--with-version-pre],
+      [Set the base part of the version 'PRE' field (pre-release identifier) @<:@'internal'@:>@])],
+      [with_version_pre_present=true], [with_version_pre_present=false])
+
+  if test "x$with_version_pre_present" = xtrue; then
+    if test "x$with_version_pre" = xyes; then
+      AC_MSG_ERROR([--with-version-pre must have a value])
+    elif test "x$with_version_pre" = xno; then
+      # Interpret --without-* as empty string instead of the literal "no"
+      VERSION_PRE=
+    else
+      # Only [a-zA-Z] is allowed in the VERSION_PRE. Outer [ ] to quote m4.
+      [ VERSION_PRE=`$ECHO "$with_version_pre" | $TR -c -d '[a-z][A-Z]'` ]
+      if test "x$VERSION_PRE" != "x$with_version_pre"; then
+        AC_MSG_WARN([--with-version-pre value has been sanitized from '$with_version_pre' to '$VERSION_PRE'])
+      fi
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is to use "internal" as pre
+      VERSION_PRE="internal"
+    fi
+  fi
+
+  AC_ARG_WITH(version-opt, [AS_HELP_STRING([--with-version-opt],
+      [Set version 'OPT' field (build metadata) @<:@<timestamp>.<user>.<dirname>@:>@])],
+      [with_version_opt_present=true], [with_version_opt_present=false])
+
+  if test "x$with_version_opt_present" = xtrue; then
+    if test "x$with_version_opt" = xyes; then
+      AC_MSG_ERROR([--with-version-opt must have a value])
+    elif test "x$with_version_opt" = xno; then
+      # Interpret --without-* as empty string instead of the literal "no"
+      VERSION_OPT=
+    else
+      # Only [-.a-zA-Z0-9] is allowed in the VERSION_OPT. Outer [ ] to quote m4.
+      [ VERSION_OPT=`$ECHO "$with_version_opt" | $TR -c -d '[a-z][A-Z][0-9].-'` ]
+      if test "x$VERSION_OPT" != "x$with_version_opt"; then
+        AC_MSG_WARN([--with-version-opt value has been sanitized from '$with_version_opt' to '$VERSION_OPT'])
+      fi
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is to calculate a string like this <timestamp>.<username>.<base dir name>
+      timestamp=`$DATE '+%Y-%m-%d-%H%M%S'`
+      # Outer [ ] to quote m4.
+      [ username=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
+      [ basedirname=`$BASENAME "$TOPDIR" | $TR -d -c '[a-z][A-Z][0-9].-'` ]
+      VERSION_OPT="$timestamp.$username.$basedirname"
+    fi
+  fi
+
+  AC_ARG_WITH(version-build, [AS_HELP_STRING([--with-version-build],
+      [Set version 'BUILD' field (build number) @<:@not specified@:>@])],
+      [with_version_build_present=true], [with_version_build_present=false])
+
+  if test "x$with_version_build_present" = xtrue; then
+    if test "x$with_version_build" = xyes; then
+      AC_MSG_ERROR([--with-version-build must have a value])
+    elif test "x$with_version_build" = xno; then
+      # Interpret --without-* as empty string instead of the literal "no"
+      VERSION_BUILD=
+    elif test "x$with_version_build" = x; then
+      VERSION_BUILD=
+    else
+      JDKVER_CHECK_AND_SET_NUMBER(VERSION_BUILD, $with_version_build)
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is to not have a build number.
+      VERSION_BUILD=""
+      # FIXME: Until all code can cope with an empty VERSION_BUILD, set it to 0.
+      VERSION_BUILD=0
+    fi
+  fi
+
+  AC_ARG_WITH(version-major, [AS_HELP_STRING([--with-version-major],
+      [Set version 'MAJOR' field (first number) @<:@current source value@:>@])],
+      [with_version_major_present=true], [with_version_major_present=false])
+
+  if test "x$with_version_major_present" = xtrue; then
+    if test "x$with_version_major" = xyes; then
+      AC_MSG_ERROR([--with-version-major must have a value])
+    else
+      JDKVER_CHECK_AND_SET_NUMBER(VERSION_MAJOR, $with_version_major)
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is to get value from version-numbers
+      VERSION_MAJOR="$DEFAULT_VERSION_MAJOR"
+    fi
+  fi
+
+  AC_ARG_WITH(version-minor, [AS_HELP_STRING([--with-version-minor],
+      [Set version 'MINOR' field (second number) @<:@current source value@:>@])],
+      [with_version_minor_present=true], [with_version_minor_present=false])
+
+  if test "x$with_version_minor_present" = xtrue; then
+    if test "x$with_version_minor" = xyes; then
+      AC_MSG_ERROR([--with-version-minor must have a value])
+    elif test "x$with_version_minor" = xno; then
+      # Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
+      VERSION_MINOR=0
+    elif test "x$with_version_minor" = x; then
+      VERSION_MINOR=0
+    else
+      JDKVER_CHECK_AND_SET_NUMBER(VERSION_MINOR, $with_version_minor)
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is 0, if unspecified
+      VERSION_MINOR=0
+    fi
+  fi
+
+  AC_ARG_WITH(version-security, [AS_HELP_STRING([--with-version-security],
+      [Set version 'SECURITY' field (third number) @<:@current source value@:>@])],
+      [with_version_security_present=true], [with_version_security_present=false])
+
+  if test "x$with_version_security_present" = xtrue; then
+    if test "x$with_version_security" = xyes; then
+      AC_MSG_ERROR([--with-version-security must have a value])
+    elif test "x$with_version_security" = xno; then
+      # Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
+      VERSION_SECURITY=0
+    elif test "x$with_version_security" = x; then
+      VERSION_SECURITY=0
+    else
+      JDKVER_CHECK_AND_SET_NUMBER(VERSION_SECURITY, $with_version_security)
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is 0, if unspecified
+      VERSION_SECURITY=0
+    fi
+  fi
+
+  AC_ARG_WITH(version-patch, [AS_HELP_STRING([--with-version-patch],
+      [Set version 'PATCH' field (fourth number) @<:@not specified@:>@])],
+      [with_version_patch_present=true], [with_version_patch_present=false])
+
+  if test "x$with_version_patch_present" = xtrue; then
+    if test "x$with_version_patch" = xyes; then
+      AC_MSG_ERROR([--with-version-patch must have a value])
+    elif test "x$with_version_patch" = xno; then
+      # Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
+      VERSION_PATCH=0
+    elif test "x$with_version_patch" = x; then
+      VERSION_PATCH=0
+    else
+      JDKVER_CHECK_AND_SET_NUMBER(VERSION_PATCH, $with_version_patch)
+    fi
+  else
+    if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
+      # Default is 0, if unspecified
+      VERSION_PATCH=0
+    fi
+  fi
+
+  # Calculate derived version properties
+
+  # Set VERSION_IS_GA based on if VERSION_PRE has a value
+  if test "x$VERSION_PRE" = x; then
+    VERSION_IS_GA=true
+  else
+    VERSION_IS_GA=false
+  fi
+
+  # VERSION_NUMBER but always with exactly 4 positions, with 0 for empty positions.
+  VERSION_NUMBER_FOUR_POSITIONS=$VERSION_MAJOR.$VERSION_MINOR.$VERSION_SECURITY.$VERSION_PATCH
+
+  stripped_version_number=$VERSION_NUMBER_FOUR_POSITIONS
+  # Strip trailing zeroes from stripped_version_number
+  for i in 1 2 3 ; do stripped_version_number=${stripped_version_number%.0} ; done
+  VERSION_NUMBER=$stripped_version_number
+
+  # The complete version string, with additional build information
+  if test "x$VERSION_BUILD$VERSION_OPT" = x; then
+    VERSION_STRING=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}
+  else
+    # If either build or opt is set, we need a + separator
+    VERSION_STRING=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}+$VERSION_BUILD${VERSION_OPT:+-$VERSION_OPT}
+  fi
+
+  # The short version string, just VERSION_NUMBER and PRE, if present.
+  VERSION_SHORT=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}
+
+  AC_MSG_CHECKING([for version string])
+  AC_MSG_RESULT([$VERSION_STRING])
+
+  AC_SUBST(VERSION_MAJOR)
+  AC_SUBST(VERSION_MINOR)
+  AC_SUBST(VERSION_SECURITY)
+  AC_SUBST(VERSION_PATCH)
+  AC_SUBST(VERSION_PRE)
+  AC_SUBST(VERSION_BUILD)
+  AC_SUBST(VERSION_OPT)
+  AC_SUBST(VERSION_NUMBER)
+  AC_SUBST(VERSION_NUMBER_FOUR_POSITIONS)
+  AC_SUBST(VERSION_STRING)
+  AC_SUBST(VERSION_SHORT)
+  AC_SUBST(VERSION_IS_GA)
+])
--- a/common/autoconf/spec.gmk.in	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/spec.gmk.in	Wed Dec 02 11:22:12 2015 -0800
@@ -130,13 +130,53 @@
 NASHORN_TOPDIR:=@NASHORN_TOPDIR@
 COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@
 
-# Information gathered from the version.numbers file.
-JDK_MAJOR_VERSION:=@JDK_MAJOR_VERSION@
-JDK_MINOR_VERSION:=@JDK_MINOR_VERSION@
-JDK_MICRO_VERSION:=@JDK_MICRO_VERSION@
-JDK_UPDATE_VERSION:=@JDK_UPDATE_VERSION@
-JDK_BUILD_NUMBER:=@JDK_BUILD_NUMBER@
-MILESTONE:=@MILESTONE@
+# New (JEP-223) version information
+
+## Building blocks of the version string
+# First three version numbers, with well-specified meanings (numerical)
+VERSION_MAJOR := @VERSION_MAJOR@
+VERSION_MINOR := @VERSION_MINOR@
+VERSION_SECURITY := @VERSION_SECURITY@
+# Optional fourth element for use by OpenJDK consumers (numerical)
+VERSION_PATCH := @VERSION_PATCH@
+# The pre-release identifier (string)
+VERSION_PRE := @VERSION_PRE@
+# The build number (numerical)
+VERSION_BUILD := @VERSION_BUILD@
+# Optional build information (string)
+VERSION_OPT := @VERSION_OPT@
+
+## Composite variables
+# The version number as a dot separated sequence of numbers, e.g. 9.0.1
+VERSION_NUMBER := @VERSION_NUMBER@
+# VERSION_NUMBER but always with exactly 4 positions, with 0 for empty positions.
+VERSION_NUMBER_FOUR_POSITIONS := @VERSION_NUMBER_FOUR_POSITIONS@
+# The complete version string, with additional build information
+VERSION_STRING := @VERSION_STRING@
+# The short version string, without trailing zeroes and just PRE, if present.
+VERSION_SHORT := @VERSION_SHORT@
+# The Java specification version. It should be equal to version number.
+VERSION_SPECIFICATION := @VERSION_NUMBER@
+# A GA version is defined by the PRE string being empty. Rather than testing for
+# that, this variable defines it with true/false.
+VERSION_IS_GA := @VERSION_IS_GA@
+
+# Convenience CFLAGS settings for passing version information into native programs.
+VERSION_CFLAGS := \
+    -DVERSION_MAJOR=$(VERSION_MAJOR) \
+    -DVERSION_MINOR=$(VERSION_MINOR) \
+    -DVERSION_SECURITY=$(VERSION_SECURITY) \
+    -DVERSION_PATCH=$(VERSION_PATCH) \
+    -DVERSION_PRE='"$(VERSION_PRE)"' \
+    -DVERSION_BUILD=$(VERSION_BUILD) \
+    -DVERSION_OPT='"$(VERSION_OPT)"' \
+    -DVERSION_NUMBER='"$(VERSION_NUMBER)"' \
+    -DVERSION_STRING='"$(VERSION_STRING)"' \
+    -DVERSION_SHORT='"$(VERSION_SHORT)"' \
+    -DVERSION_SPECIFICATION='"$(VERSION_SPECIFICATION)"' \
+    #
+
+# Platform naming variables
 LAUNCHER_NAME:=@LAUNCHER_NAME@
 PRODUCT_NAME:=@PRODUCT_NAME@
 PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@
@@ -144,27 +184,9 @@
 COMPANY_NAME:=@COMPANY_NAME@
 MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@
 MACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@
-USER_RELEASE_SUFFIX=@USER_RELEASE_SUFFIX@
 
-# Different version strings generated from the above information.
-JDK_VERSION:=@JDK_VERSION@
+# Different naming strings generated from the above information.
 RUNTIME_NAME=$(PRODUCT_NAME) $(PRODUCT_SUFFIX)
-COOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@
-# These variables need to be generated here so that MILESTONE and
-# JDK_BUILD_NUMBER can be overridden on the make command line.
-ifeq ($(MILESTONE), fcs)
-  RELEASE=$(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
-else
-  RELEASE=$(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
-endif
-
-ifneq ($(USER_RELEASE_SUFFIX), )
-  FULL_VERSION=$(RELEASE)-$(USER_RELEASE_SUFFIX)-$(JDK_BUILD_NUMBER)
-else
-  FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER)
-endif
-JRE_RELEASE_VERSION:=$(FULL_VERSION)
-JDK_VERSION_FOR_MANIFEST := $(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(if $(JDK_UPDATE_VERSION),$(JDK_UPDATE_VERSION),0).$(COOKED_BUILD_NUMBER)
 
 # How to compile the code: release, fastdebug or slowdebug
 DEBUG_LEVEL:=@DEBUG_LEVEL@
@@ -307,7 +329,7 @@
 CFLAGS_CCACHE:=@CFLAGS_CCACHE@
 
 # Tools that potentially need to be cross compilation aware.
-CC:=@FIXPATH@ @CCACHE@ @CC@
+CC:=@FIXPATH@ @CCACHE@ @ICECC@ @CC@
 
 # CFLAGS used to compile the jdk native libraries (C-code)
 CFLAGS_JDKLIB:=@CFLAGS_JDKLIB@
@@ -317,7 +339,7 @@
 CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@
 CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
 
-CXX:=@FIXPATH@ @CCACHE@ @CXX@
+CXX:=@FIXPATH@ @CCACHE@ @ICECC@ @CXX@
 #CXXFLAGS:=@CXXFLAGS@
 
 CPP:=@FIXPATH@ @CPP@
@@ -360,8 +382,12 @@
 
 # BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
 # build platform.
-BUILD_CC:=@FIXPATH@ @BUILD_CC@
+BUILD_CC:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CC@
+BUILD_CXX:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CXX@
 BUILD_LD:=@FIXPATH@ @BUILD_LD@
+BUILD_AS:=@FIXPATH@ @BUILD_AS@
+BUILD_AR:=@FIXPATH@ @BUILD_AR@
+BUILD_NM:=@FIXPATH@ @BUILD_NM@
 BUILD_SYSROOT_CFLAGS:=@BUILD_SYSROOT_CFLAGS@
 BUILD_SYSROOT_LDFLAGS:=@BUILD_SYSROOT_LDFLAGS@
 
@@ -424,6 +450,7 @@
 JAVA_FLAGS:=@JAVA_FLAGS@
 JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@
 JAVA_FLAGS_SMALL:=@JAVA_FLAGS_SMALL@
+JAVA_FLAGS_JAVAC:=@JAVA_FLAGS_JAVAC@
 JAVA_TOOL_FLAGS_SMALL:=@JAVA_TOOL_FLAGS_SMALL@
 SJAVAC_SERVER_JAVA_FLAGS:=@SJAVAC_SERVER_JAVA_FLAGS@
 
@@ -440,13 +467,15 @@
 # it possible to override only the *_CMD variables.
 JAVA=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
 JAVA_SMALL=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
+JAVA_JAVAC=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_JAVAC) $(JAVA_FLAGS)
 JAVAC=@FIXPATH@ $(JAVAC_CMD)
 JAVAH=@FIXPATH@ $(JAVAH_CMD)
 JAR=@FIXPATH@ $(JAR_CMD)
 JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD)
 # A specific java binary with specific options can be used to run
 # the long running background sjavac servers and other long running tasks.
-SJAVAC_SERVER_JAVA=@FIXPATH@ $(SJAVAC_SERVER_JAVA_CMD) $(SJAVAC_SERVER_JAVA_FLAGS)
+SJAVAC_SERVER_JAVA=@FIXPATH@ @FIXPATH_DETACH_FLAG@ $(SJAVAC_SERVER_JAVA_CMD) \
+    $(SJAVAC_SERVER_JAVA_FLAGS)
 
 # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid
 # overriding that value by using ?=.
@@ -641,8 +670,8 @@
 SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR)
 
 # Macosx bundles directory definitions
-JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle/jdk$(JDK_VERSION).jdk/Contents
-JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle/jre$(JDK_VERSION).jre/Contents
+JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle/jdk-$(VERSION_NUMBER).jdk/Contents
+JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle/jre-$(VERSION_NUMBER).jre/Contents
 JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
 JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
 
--- a/common/autoconf/toolchain.m4	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/toolchain.m4	Wed Dec 02 11:22:12 2015 -0800
@@ -539,6 +539,8 @@
   if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
     # The corresponding ar tool is lib.exe (used to create static libraries)
     AC_CHECK_PROG([AR], [lib],[lib],,,)
+  elif test "x$TOOLCHAIN_TYPE" = xgcc; then
+    BASIC_CHECK_TOOLS(AR, ar gcc-ar)
   else
     BASIC_CHECK_TOOLS(AR, ar)
   fi
@@ -584,7 +586,11 @@
     # FIXME: we should unify this with the solaris case above.
     BASIC_CHECK_TOOLS(STRIP, strip)
     BASIC_FIXUP_EXECUTABLE(STRIP)
-    BASIC_CHECK_TOOLS(NM, nm)
+    if test "x$TOOLCHAIN_TYPE" = xgcc; then
+      BASIC_CHECK_TOOLS(NM, nm gcc-nm)
+    else
+      BASIC_CHECK_TOOLS(NM, nm)
+    fi
     BASIC_FIXUP_EXECUTABLE(NM)
     GNM="$NM"
     AC_SUBST(GNM)
@@ -717,6 +723,13 @@
     BASIC_FIXUP_EXECUTABLE(BUILD_CC)
     BASIC_REQUIRE_PROGS(BUILD_CXX, [cl CC g++])
     BASIC_FIXUP_EXECUTABLE(BUILD_CXX)
+    BASIC_PATH_PROGS(BUILD_NM, nm gcc-nm)
+    BASIC_FIXUP_EXECUTABLE(BUILD_NM)
+    BASIC_PATH_PROGS(BUILD_AR, ar gcc-ar)
+    BASIC_FIXUP_EXECUTABLE(BUILD_AR)
+    # Assume the C compiler is the assembler
+    BUILD_AS="$BUILD_CC -c"
+    # Just like for the target compiler, use the compiler as linker
     BUILD_LD="$BUILD_CC"
 
     PATH="$OLDPATH"
@@ -726,15 +739,21 @@
     BUILD_CC="$CC"
     BUILD_CXX="$CXX"
     BUILD_LD="$LD"
+    BUILD_NM="$NM"
+    BUILD_AS="$AS"
     BUILD_SYSROOT_CFLAGS="$SYSROOT_CFLAGS"
     BUILD_SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS"
+    BUILD_AR="$AR"
   fi
 
   AC_SUBST(BUILD_CC)
   AC_SUBST(BUILD_CXX)
   AC_SUBST(BUILD_LD)
+  AC_SUBST(BUILD_NM)
+  AC_SUBST(BUILD_AS)
   AC_SUBST(BUILD_SYSROOT_CFLAGS)
   AC_SUBST(BUILD_SYSROOT_LDFLAGS)
+  AC_SUBST(BUILD_AR)
 ])
 
 # Setup legacy variables that are still needed as alternative ways to refer to
--- a/common/autoconf/version-numbers	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/autoconf/version-numbers	Wed Dec 02 11:22:12 2015 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015, 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
@@ -23,10 +23,10 @@
 # questions.
 #
 
-JDK_MAJOR_VERSION=1
-JDK_MINOR_VERSION=9
-JDK_MICRO_VERSION=0
-JDK_UPDATE_VERSION=
+# Default version numbers to use unless overridden by configure
+
+DEFAULT_VERSION_MAJOR=9
+
 LAUNCHER_NAME=openjdk
 PRODUCT_NAME=OpenJDK
 PRODUCT_SUFFIX="Runtime Environment"
--- a/common/bin/test_builds.sh	Mon Nov 23 12:26:31 2015 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-#!/bin/bash
-
-set -x
-set -e
-
-options="$*"
-option="$1"
-
-tmp=/tmp/test_builds.$$
-rm -f -r ${tmp}
-mkdir -p ${tmp}
-
-errMessages=${tmp}/error_messages.txt
-
-#######
-# Error function
-error() # message
-{
-   echo "ERROR: $1" | tee -a ${errMessages}
-}
-# Check errors
-checkErrors()
-{
-    if [ -s ${errMessages} ] ; then
-        cat ${errMessages}
-	exit 1
-    fi
-}
-#######
-
-os="`uname -s`"
-arch="`uname -p`"
-make=make
-
-if [ "${os}" = "SunOS" ] ; then
-  make=gmake
-  export J7="/opt/java/jdk1.7.0"
-elif [ "${os}" = "Darwin" ] ; then
-  export J7="/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home"
-elif [ "${os}" = "Linux" -a "${arch}" = "x86_64" ] ; then
-  export J7="/usr/lib/jvm/java-7-openjdk-amd64/"
-else
-  echo "What os/arch is this: ${os}/${arch}"
-  exit 1
-fi
-
-# Must have a jdk7
-if [ ! -d ${J7} ] ; then
-  echo "No JDK7 found at: ${J7}"
-  exit 1
-fi
-
-# What sources we use
-fromroot="http://hg.openjdk.java.net/build-infra/jdk8"
-
-# Where we do it
-root="testbuilds"
-mkdir -p ${root}
-
-# Three areas, last three are cloned from first to insure sameness
-t0=${root}/t0
-t1=${root}/t1
-t2=${root}/t2
-t3=${root}/t3
-repolist="${t0} ${t1} ${t2} ${t3}"
-
-# Optional complete clobber
-if [ "${option}" = "clobber" ] ; then
-  for i in ${repolist} ; do
-    rm -f -r ${i}
-  done
-fi
-
-# Get top repos
-if [ ! -d ${t0}/.hg ] ; then
-  rm -f -r ${t0}
-  hg clone ${fromroot} ${t0}
-fi
-for i in ${t1} ${t2} ${t3} ; do
-  if [ ! -d ${i}/.hg ] ; then
-    hg clone ${t0} ${i}
-  fi
-done
-
-# Get repos updated
-for i in ${repolist} ; do
-  ( \
-    set -e \
-    && cd ${i} \
-    && sh ./get_source.sh \
-    || error "Cannot get source" \
-  ) 2>&1 | tee ${i}.get_source.txt
-  checkErrors
-done
-
-# Optional clean
-if [ "${option}" = "clean" ] ; then
-  for i in ${repolist} ; do
-    rm -f -r ${i}/build
-    rm -f -r ${i}/*/build
-    rm -f -r ${i}/*/dist
-  done
-fi
-
-# Check changes on working set files
-for i in ${repolist} ; do
-  ( \
-    set -e \
-    && cd ${i} \
-    && sh ./make/scripts/hgforest.sh status \
-    || error "Cannot check status" \
-  ) 2>&1 | tee ${i}.hg.status.txt
-  checkErrors
-done
-
-# Configure for build-infra building
-for i in ${t1} ${t2} ; do
-  ( \
-    set -e \
-    && cd ${i}/common/makefiles \
-    && sh ../autoconf/configure --with-boot-jdk=${J7} \
-    || error "Cannot configure" \
-  ) 2>&1 | tee ${i}.config.txt
-  checkErrors
-done
-
-# Do build-infra builds
-for i in ${t1} ${t2} ; do
-  ( \
-    set -e \
-    && cd ${i}/common/makefiles \
-    && ${make}  \
-      FULL_VERSION:=1.8.0-internal-b00 \
-      JRE_RELEASE_VERSION:=1.8.0-internal-b00 \
-      USER_RELEASE_SUFFIX:=compare \
-      RELEASE:=1.8.0-internal \
-      VERBOSE= \
-      LIBARCH= \
-         all images \
-    || error "Cannot build" \
-  ) 2>&1 | tee ${i}.build.txt
-  checkErrors
-done
-
-# Compare build-infra builds
-( \
-  sh ${t0}/common/bin/compareimage.sh \
-    ${t1}/build/*/images/j2sdk-image \
-    ${t2}/build/*/images/j2sdk-image \
-    || error "Cannot compare" \
-) 2>&1 | tee ${root}/build-infra-comparison.txt
-checkErrors
-
-# Do old build
-unset JAVA_HOME
-export ALT_BOOTDIR="${J7}"
-( \
-  cd ${t3} \
-  && ${make} FULL_VERSION='"1.8.0-internal" sanity \
-  || error "Cannot sanity" \
-) 2>&1 | tee ${t3}.sanity.txt
-checkErrors
-( \
-  cd ${t3} \
-  && ${make} \
-      FULL_VERSION='"1.8.0-internal" \
-      JRE_RELEASE_VERSION:=1.8.0-internal-b00 \
-      USER_RELEASE_SUFFIX:=compare \
-      RELEASE:=1.8.0-internal \
-  || error "Cannot build old way" \
-) 2>&1 | tee ${t3}.build.txt
-checkErrors
-
-# Compare old build to build-infra build
-( \
-  sh ${t0}/common/bin/compareimage.sh \
-    ${t3}/build/*/j2sdk-image \
-    ${t1}/build/*/images/j2sdk-image \
-    || error "Cannot compare" \
-) 2>&1 | tee ${root}/build-comparison.txt
-checkErrors
-
-exit 0
--- a/common/nb_native/nbproject/configurations.xml	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/nb_native/nbproject/configurations.xml	Wed Dec 02 11:22:12 2015 -0800
@@ -1911,15 +1911,9 @@
           <Elem>IDE_ALT_BOOTDIR</Elem>
         </envVariables>
         <transientMacros>
-          <Elem>FULL_VERSION="version"</Elem>
           <Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
           <Elem>HOTSPOT_BUILD_USER="user"</Elem>
           <Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
-          <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-          <Elem>JDK_MAJOR_VERSION="version"</Elem>
-          <Elem>JDK_MICRO_VERSION="version"</Elem>
-          <Elem>JDK_MINOR_VERSION="minor"</Elem>
-          <Elem>JRE_RELEASE_VERSION="version"</Elem>
         </transientMacros>
       </codeAssistance>
       <makefileType>
@@ -4534,7 +4528,6 @@
             flavor2="0">
         <ccTool>
           <preprocessorList>
-            <Elem>JRE_RELEASE_VERSION="version"</Elem>
           </preprocessorList>
         </ccTool>
       </item>
@@ -4857,15 +4850,12 @@
           <preprocessorList>
             <Elem>AMD64</Elem>
             <Elem>ARCH="amd64"</Elem>
-            <Elem>FULL_VERSION="version"</Elem>
             <Elem>GAMMA</Elem>
             <Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
             <Elem>HOTSPOT_BUILD_USER="user"</Elem>
             <Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
             <Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
             <Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LAUNCHER_TYPE="gamma"</Elem>
             <Elem>LINK_INTO_LIBJVM</Elem>
             <Elem>PRODUCT</Elem>
@@ -5346,10 +5336,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
           </preprocessorList>
         </cTool>
       </folder>
@@ -5399,10 +5385,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Finalizer.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -5429,10 +5411,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Array.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -5488,10 +5466,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Bits.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -5525,10 +5499,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="AccessController.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -5569,10 +5539,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
           </preprocessorList>
         </cTool>
       </folder>
@@ -6141,10 +6107,6 @@
           <preprocessorList>
             <Elem>ARCH="amd64"</Elem>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LINUX</Elem>
             <Elem>NDEBUG</Elem>
             <Elem>RELEASE=""</Elem>
@@ -6198,10 +6160,6 @@
           <preprocessorList>
             <Elem>ARCH="amd64"</Elem>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LINUX</Elem>
             <Elem>NDEBUG</Elem>
             <Elem>RELEASE=""</Elem>
@@ -6577,10 +6535,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="jdk_util_md.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -6623,10 +6577,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
           </preprocessorList>
         </cTool>
       </folder>
@@ -6652,10 +6602,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="ProcessEnvironment_md.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -6711,10 +6657,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="FileSystemPreferences.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -7037,10 +6979,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="HostLocaleProviderAdapter_md.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -7135,15 +7073,9 @@
           <Elem>IDE_ALT_BOOTDIR</Elem>
         </envVariables>
         <transientMacros>
-          <Elem>FULL_VERSION="version"</Elem>
           <Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
           <Elem>HOTSPOT_BUILD_USER="user"</Elem>
           <Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
-          <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-          <Elem>JDK_MAJOR_VERSION="version"</Elem>
-          <Elem>JDK_MICRO_VERSION="version"</Elem>
-          <Elem>JDK_MINOR_VERSION="minor"</Elem>
-          <Elem>JRE_RELEASE_VERSION="version"</Elem>
         </transientMacros>
       </codeAssistance>
       <makefileType>
@@ -9822,7 +9754,6 @@
             flavor2="0">
         <ccTool>
           <preprocessorList>
-            <Elem>JRE_RELEASE_VERSION="version"</Elem>
           </preprocessorList>
         </ccTool>
       </item>
@@ -10483,10 +10414,7 @@
           </incDir>
           <preprocessorList>
             <Elem>EXPAND_CLASSPATH_WILDCARDS</Elem>
-            <Elem>FULL_VERSION="version"</Elem>
             <Elem>JAVA_ARGS={ "-J-ms8m", "com.sun.tools.javac.Main", }</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LAUNCHER_NAME="openjdk"</Elem>
             <Elem>NEVER_ACT_AS_SERVER_CLASS_MACHINE</Elem>
             <Elem>PROGNAME="javac"</Elem>
@@ -11349,10 +11277,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="check_version.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11382,10 +11306,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="jdk_util.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11415,10 +11335,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="jio.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11448,10 +11364,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="jni_util.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11481,10 +11393,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="verify_stub.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11569,10 +11477,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Class.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11602,10 +11506,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="ClassLoader.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11635,10 +11535,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Compiler.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11668,10 +11564,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Double.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11701,10 +11593,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Float.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11734,10 +11622,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Object.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11767,10 +11651,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Package.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11800,10 +11680,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="ResourceBundle.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11833,10 +11709,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Runtime.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11866,10 +11738,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="SecurityManager.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11899,10 +11767,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Shutdown.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11932,10 +11796,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="StrictMath.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11965,10 +11825,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="String.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -11998,10 +11854,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="System.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -12031,10 +11883,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Thread.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -12064,10 +11912,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Throwable.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -12804,10 +12648,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="TimeZone.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -20853,15 +20693,12 @@
           <preprocessorList>
             <Elem>AMD64</Elem>
             <Elem>ARCH="amd64"</Elem>
-            <Elem>FULL_VERSION="version"</Elem>
             <Elem>GAMMA</Elem>
             <Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
             <Elem>HOTSPOT_BUILD_USER="user"</Elem>
             <Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
             <Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
             <Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LAUNCHER_TYPE="gamma"</Elem>
             <Elem>LINK_INTO_LIBJVM</Elem>
             <Elem>LINUX</Elem>
@@ -20919,15 +20756,12 @@
           <preprocessorList>
             <Elem>AMD64</Elem>
             <Elem>ARCH="amd64"</Elem>
-            <Elem>FULL_VERSION="version"</Elem>
             <Elem>GAMMA</Elem>
             <Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
             <Elem>HOTSPOT_BUILD_USER="user"</Elem>
             <Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
             <Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
             <Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LAUNCHER_TYPE="gamma"</Elem>
             <Elem>LINK_INTO_LIBJVM</Elem>
             <Elem>LINUX</Elem>
@@ -21824,10 +21658,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
           </preprocessorList>
         </cTool>
       </folder>
@@ -21877,10 +21707,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Finalizer.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -21907,10 +21733,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Array.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -21966,10 +21788,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Bits.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -22003,10 +21821,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="AccessController.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -22047,10 +21861,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
           </preprocessorList>
         </cTool>
       </folder>
@@ -22619,10 +22429,6 @@
           <preprocessorList>
             <Elem>ARCH="amd64"</Elem>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LINUX</Elem>
             <Elem>NDEBUG</Elem>
             <Elem>RELEASE=""</Elem>
@@ -22676,10 +22482,6 @@
           <preprocessorList>
             <Elem>ARCH="amd64"</Elem>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LINUX</Elem>
             <Elem>NDEBUG</Elem>
             <Elem>RELEASE=""</Elem>
@@ -23055,10 +22857,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="jdk_util_md.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -23101,10 +22899,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
           </preprocessorList>
         </cTool>
       </folder>
@@ -23130,10 +22924,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="ProcessEnvironment_md.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -23189,10 +22979,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="FileSystemPreferences.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -23515,10 +23301,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="HostLocaleProviderAdapter_md.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -23613,15 +23395,9 @@
           <Elem>IDE_ALT_BOOTDIR</Elem>
         </envVariables>
         <transientMacros>
-          <Elem>FULL_VERSION="version"</Elem>
           <Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
           <Elem>HOTSPOT_BUILD_USER="user"</Elem>
           <Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
-          <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-          <Elem>JDK_MAJOR_VERSION="version"</Elem>
-          <Elem>JDK_MICRO_VERSION="version"</Elem>
-          <Elem>JDK_MINOR_VERSION="minor"</Elem>
-          <Elem>JRE_RELEASE_VERSION="version"</Elem>
         </transientMacros>
       </codeAssistance>
       <makefileType>
@@ -27454,7 +27230,6 @@
             flavor2="0">
         <ccTool>
           <preprocessorList>
-            <Elem>JRE_RELEASE_VERSION="version"</Elem>
           </preprocessorList>
         </ccTool>
       </item>
@@ -28130,11 +27905,8 @@
           </incDir>
           <preprocessorList>
             <Elem>EXPAND_CLASSPATH_WILDCARDS</Elem>
-            <Elem>FULL_VERSION="version"</Elem>
             <Elem>HAVE_GETHRTIME</Elem>
             <Elem>JAVA_ARGS={ "-J-ms8m", "com.sun.tools.javac.Main", }</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LAUNCHER_NAME="openjdk"</Elem>
             <Elem>NEVER_ACT_AS_SERVER_CLASS_MACHINE</Elem>
             <Elem>PROGNAME="javac"</Elem>
@@ -28961,10 +28733,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="check_version.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -28994,10 +28762,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="jdk_util.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29027,10 +28791,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="jio.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29060,10 +28820,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="jni_util.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29093,10 +28849,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="verify_stub.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29181,10 +28933,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Class.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29214,10 +28962,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="ClassLoader.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29247,10 +28991,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Compiler.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29280,10 +29020,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Double.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29313,10 +29049,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Float.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29346,10 +29078,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Object.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29379,10 +29107,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Package.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29412,10 +29136,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="ResourceBundle.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29445,10 +29165,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Runtime.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29478,10 +29194,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="SecurityManager.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29511,10 +29223,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Shutdown.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29544,10 +29252,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="StrictMath.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29577,10 +29281,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="String.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29610,10 +29310,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="System.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29643,10 +29339,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Thread.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -29676,10 +29368,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Throwable.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -30416,10 +30104,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="TimeZone.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -38550,15 +38234,12 @@
           <preprocessorList>
             <Elem>AMD64</Elem>
             <Elem>ARCH="amd64"</Elem>
-            <Elem>FULL_VERSION="version"</Elem>
             <Elem>GAMMA</Elem>
             <Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
             <Elem>HOTSPOT_BUILD_USER="user"</Elem>
             <Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
             <Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
             <Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LAUNCHER_TYPE="gamma"</Elem>
             <Elem>LINK_INTO_LIBJVM</Elem>
             <Elem>PRODUCT</Elem>
@@ -38723,15 +38404,12 @@
           <preprocessorList>
             <Elem>AMD64</Elem>
             <Elem>ARCH="amd64"</Elem>
-            <Elem>FULL_VERSION="version"</Elem>
             <Elem>GAMMA</Elem>
             <Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
             <Elem>HOTSPOT_BUILD_USER="user"</Elem>
             <Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
             <Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
             <Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>LAUNCHER_TYPE="gamma"</Elem>
             <Elem>LINK_INTO_LIBJVM</Elem>
             <Elem>PRODUCT</Elem>
@@ -39575,10 +39253,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
           </preprocessorList>
         </cTool>
       </folder>
@@ -39628,10 +39302,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Finalizer.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -39658,10 +39328,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Array.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -39717,10 +39383,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="Bits.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -39754,10 +39416,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="AccessController.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -39798,10 +39456,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
           </preprocessorList>
         </cTool>
       </folder>
@@ -40381,10 +40035,6 @@
             <Elem>ARCH="amd64"</Elem>
             <Elem>ARCHPROPNAME="amd64"</Elem>
             <Elem>BREAKPTS</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>MACRO_MEMSYS_OPS</Elem>
             <Elem>NDEBUG</Elem>
             <Elem>RELEASE=""</Elem>
@@ -40441,10 +40091,6 @@
             <Elem>ARCH="amd64"</Elem>
             <Elem>ARCHPROPNAME="amd64"</Elem>
             <Elem>BREAKPTS</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>MACRO_MEMSYS_OPS</Elem>
             <Elem>NDEBUG</Elem>
             <Elem>RELEASE=""</Elem>
@@ -40916,10 +40562,6 @@
             <Elem>ARCH="amd64"</Elem>
             <Elem>ARCHPROPNAME="amd64"</Elem>
             <Elem>BREAKPTS</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>MACRO_MEMSYS_OPS</Elem>
             <Elem>NDEBUG</Elem>
             <Elem>RELEASE=""</Elem>
@@ -40986,10 +40628,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
           </preprocessorList>
         </cTool>
       </folder>
@@ -41015,10 +40653,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="ProcessEnvironment_md.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -41074,10 +40708,6 @@
           </incDir>
           <preprocessorList>
             <Elem>ARCHPROPNAME="amd64"</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>THIS_FILE="FileSystemPreferences.c"</Elem>
           </preprocessorList>
         </cTool>
@@ -41528,10 +41158,6 @@
             <Elem>ARCH="amd64"</Elem>
             <Elem>ARCHPROPNAME="amd64"</Elem>
             <Elem>BREAKPTS</Elem>
-            <Elem>JDK_BUILD_NUMBER="nn"</Elem>
-            <Elem>JDK_MAJOR_VERSION="version"</Elem>
-            <Elem>JDK_MICRO_VERSION="version"</Elem>
-            <Elem>JDK_MINOR_VERSION="minor"</Elem>
             <Elem>MACRO_MEMSYS_OPS</Elem>
             <Elem>NDEBUG</Elem>
             <Elem>RELEASE=""</Elem>
--- a/common/src/fixpath.c	Mon Nov 23 12:26:31 2015 -0800
+++ b/common/src/fixpath.c	Wed Dec 02 11:22:12 2015 -0800
@@ -358,10 +358,13 @@
     char *line;
     char *current;
     int i, cmd;
-    DWORD exitCode;
+    DWORD exitCode = 0;
+    DWORD processFlags = 0;
+    BOOL processInheritHandles = TRUE;
+    BOOL waitForChild = TRUE;
 
     if (argc<2 || argv[1][0] != '-' || (argv[1][1] != 'c' && argv[1][1] != 'm')) {
-        fprintf(stderr, "Usage: fixpath -c|m<path@path@...> /cygdrive/c/WINDOWS/notepad.exe [/cygdrive/c/x/test.txt|@/cygdrive/c/x/atfile]\n");
+        fprintf(stderr, "Usage: fixpath -c|m<path@path@...> [--detach] /cygdrive/c/WINDOWS/notepad.exe [/cygdrive/c/x/test.txt|@/cygdrive/c/x/atfile]\n");
         exit(0);
     }
 
@@ -386,7 +389,22 @@
       exit(-1);
     }
 
-    i = 2;
+    if (argv[2][0] == '-') {
+      if (strcmp(argv[2], "--detach") == 0) {
+        if (getenv("DEBUG_FIXPATH") != NULL) {
+          fprintf(stderr, "fixpath in detached mode\n");
+        }
+        processFlags |= DETACHED_PROCESS;
+        processInheritHandles = FALSE;
+        waitForChild = FALSE;
+      } else {
+        fprintf(stderr, "fixpath Unknown argument: %s\n", argv[2]);
+        exit(-1);
+      }
+      i = 3;
+    } else {
+      i = 2;
+    }
 
     // handle assignments
     while (i < argc) {
@@ -428,6 +446,10 @@
     while (i < argc) {
       char const *replaced = replace_cygdrive(argv[i]);
       if (replaced[0] == '@') {
+        if (waitForChild == FALSE) {
+          fprintf(stderr, "fixpath Cannot use @-files in detached mode: %s\n", replaced);
+          exit(1);
+        }
         // Found at-file! Fix it!
         replaced = fix_at_file(replaced);
       }
@@ -480,8 +502,8 @@
                        line,
                        0,
                        0,
-                       TRUE,
-                       0,
+                       processInheritHandles,
+                       processFlags,
                        NULL,
                        NULL,
                        &si,
@@ -492,24 +514,30 @@
       exit(126);
     }
 
-    WaitForSingleObject(pi.hProcess, INFINITE);
-    GetExitCodeProcess(pi.hProcess, &exitCode);
+    if (waitForChild == TRUE) {
+      WaitForSingleObject(pi.hProcess, INFINITE);
+      GetExitCodeProcess(pi.hProcess, &exitCode);
 
-    if (getenv("DEBUG_FIXPATH") != NULL) {
-      for (i=0; i<num_files_to_delete; ++i) {
-        fprintf(stderr, "fixpath Not deleting temporary file %s\n",
-                files_to_delete[i]);
+      if (getenv("DEBUG_FIXPATH") != NULL) {
+        for (i=0; i<num_files_to_delete; ++i) {
+          fprintf(stderr, "fixpath Not deleting temporary file %s\n",
+                  files_to_delete[i]);
+        }
+      } else {
+        for (i=0; i<num_files_to_delete; ++i) {
+          remove(files_to_delete[i]);
+        }
+      }
+
+      if (exitCode != 0) {
+        if (getenv("DEBUG_FIXPATH") != NULL) {
+          fprintf(stderr, "fixpath exit code %d\n",
+                  exitCode);
+        }
       }
     } else {
-      for (i=0; i<num_files_to_delete; ++i) {
-        remove(files_to_delete[i]);
-      }
-    }
-
-    if (exitCode != 0) {
       if (getenv("DEBUG_FIXPATH") != NULL) {
-        fprintf(stderr, "fixpath exit code %d\n",
-                exitCode);
+        fprintf(stderr, "fixpath Not waiting for child process");
       }
     }
 
--- a/make/CompileJavaModules.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/CompileJavaModules.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -56,6 +56,14 @@
   java.base_EXCLUDE_FILES += sun/nio/fs/GnomeFileTypeDetector.java
 endif
 
+ifneq ($(filter solaris macosx linux windows,$(OPENJDK_TARGET_OS)), )
+  java.base_EXCLUDE_FILES += \
+      sun/nio/ch/AbstractPollSelectorImpl.java \
+      sun/nio/ch/PollSelectorImpl.java \
+      sun/nio/ch/PollSelectorProvider.java \
+      #
+endif
+
 ifneq ($(OPENJDK_TARGET_OS), solaris)
   java.base_EXCLUDE_FILES += \
       SolarisLoginModule.java \
@@ -72,8 +80,6 @@
 
 ifeq ($(OPENJDK_TARGET_OS), windows)
   java.base_EXCLUDE_FILES += \
-      sun/nio/ch/AbstractPollSelectorImpl.java \
-      sun/nio/ch/PollSelectorProvider.java \
       sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
       #
 endif
@@ -361,6 +367,29 @@
 
 ################################################################################
 
+jdk.hotspot.agent_SRC += \
+    $(SUPPORT_OUTPUTDIR)/gensrc/jdk.hotspot.agent \
+    $(HOTSPOT_TOPDIR)/agent/src/share/classes \
+    #
+jdk.hotspot.agent_ADD_JAVAC_FLAGS := $(DISABLE_WARNINGS),-overrides
+jdk.hotspot.agent_COPY := .png sa.js .properties
+
+ifeq ($(MODULE), jdk.hotspot.agent)
+  ### Copy gif files
+  # Special handling to copy gif files in images/toolbarButtonGraphics \
+  #   -> classes/toolbarButtonGraphics.
+  # These can't be handled by COPY to SetupJavaCompilation since they chop off
+  # one directory level.
+  $(eval $(call SetupCopyFiles, COPY_SA_IMAGES, \
+      SRC := $(HOTSPOT_TOPDIR)/agent/src/share/classes/images, \
+      DEST := $(JDK_OUTPUTDIR)/modules/$(MODULE), \
+      FILES := $(wildcard $(HOTSPOT_TOPDIR)/agent/src/share/classes/images/*/*/*.gif), \
+  ))
+  jdk.hotspot.agent: $(COPY_SA_IMAGES)
+endif
+
+################################################################################
+
 jdk.internal.le_COPY := .properties
 
 ################################################################################
@@ -369,6 +398,10 @@
 
 ################################################################################
 
+jdk.dynalink_CLEAN := .properties
+
+################################################################################
+
 jdk.javadoc_COPY := .xml .css .js .png
 
 ################################################################################
@@ -471,33 +504,29 @@
 jdk.localedata_EXCLUDE_FILES += sun/text/resources/th/BreakIteratorRules_th.java
 
 ################################################################################
-# Setup the compilation of each module
-#
-# Do not include nashorn src here since it needs to be compiled separately due
-# to nasgen.
+# Setup the compilation for the module
 #
 # Order src dirs in order of override with the most important first. Generated
 # source before static source and platform specific source before shared.
 #
-# To use this variable, use $(call ALL_SRC_DIRS,module) with no space.
 GENERATED_SRC_DIRS += \
-    $(SUPPORT_OUTPUTDIR)/gensrc/$1 \
-    $(SUPPORT_OUTPUTDIR)/gensrc_no_docs/$1 \
+    $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE) \
+    $(SUPPORT_OUTPUTDIR)/gensrc_no_docs/$(MODULE) \
     #
 
-OS_SRC_DIRS += $(JDK_TOPDIR)/src/$1/$(OPENJDK_TARGET_OS)/classes
+OS_SRC_DIRS += $(JDK_TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS)/classes
 ifneq ($(OPENJDK_TARGET_OS), $(OPENJDK_TARGET_OS_TYPE))
-  OS_TYPE_SRC_DIRS += $(JDK_TOPDIR)/src/$1/$(OPENJDK_TARGET_OS_TYPE)/classes
+  OS_TYPE_SRC_DIRS += $(JDK_TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/classes
 endif
 
 SHARE_SRC_DIRS += \
-    $(HOTSPOT_TOPDIR)/src/$1/share/classes \
-    $(JDK_TOPDIR)/src/$1/share/classes \
-    $(LANGTOOLS_TOPDIR)/src/$1/share/classes \
-    $(CORBA_TOPDIR)/src/$1/share/classes \
-    $(JAXP_TOPDIR)/src/$1/share/classes \
-    $(JAXWS_TOPDIR)/src/$1/share/classes \
-    $(NASHORN_TOPDIR)/src/$1/share/classes \
+    $(HOTSPOT_TOPDIR)/src/$(MODULE)/share/classes \
+    $(JDK_TOPDIR)/src/$(MODULE)/share/classes \
+    $(LANGTOOLS_TOPDIR)/src/$(MODULE)/share/classes \
+    $(CORBA_TOPDIR)/src/$(MODULE)/share/classes \
+    $(JAXP_TOPDIR)/src/$(MODULE)/share/classes \
+    $(JAXWS_TOPDIR)/src/$(MODULE)/share/classes \
+    $(NASHORN_TOPDIR)/src/$(MODULE)/share/classes \
     #
 
 ALL_SRC_DIRS = \
@@ -507,11 +536,6 @@
     $(SHARE_SRC_DIRS) \
     #
 
-# Find all modules with java sources. Filter out nashorn since it needs to be
-# compiled separately.
-ALL_JAVA_MODULES := $(filter-out jdk.scripting.nashorn, $(call FindJavaModules))
-JAVA_MODULES := $(ALL_JAVA_MODULES)
-
 # The JDK_USER_DEFINED_FILTER is a poor man's incremental build: by specifying
 # JDK_FILTER at the make command line, only a subset of the JDK java files will
 # be recompiled. If multiple paths are separated by comma, convert that into a
@@ -522,50 +546,38 @@
 EMPTY_DIR := $(SUPPORT_OUTPUTDIR)/empty-dir
 $(call MakeDir, $(EMPTY_DIR))
 
-# This macro sets up compilation of a module and declares dependencies for it.
-# Param 1 - module name
-define SetupModuleCompilation
-  # Find the module dependencies by parsing modules.list file
-  $1_DEPS := $$(call FindDepsForModule, $1)
+# Find the module dependencies by parsing modules.list file
+DEPS := $(call FindDepsForModule, $(MODULE))
 
-  $1_CLASSPATH := $$(foreach d,$$($1_DEPS), $$(if $$($$d_BIN), $$($$d_BIN), \
-      $(JDK_OUTPUTDIR)/modules/$$d))
+CLASSPATH := $(foreach d, $(DEPS), $(if $($d_BIN), $($d_BIN), \
+    $(JDK_OUTPUTDIR)/modules/$d))
   # When crypto classes are prebuilt, need to look for classes already in
   # output dir.
   ifneq ($(BUILD_CRYPTO), true)
-    $1_CLASSPATH += $(JDK_OUTPUTDIR)/modules/$1
+  CLASSPATH += $(JDK_OUTPUTDIR)/modules/$(MODULE)
   endif
-  ifeq ($1, jdk.hotspot.agent)
-    ## The source of this module is compiled elsewhere, hotspot, and imported.
-    ## Service types are required in the classpath when compiing module-info
-    $1_CLASSPATH := $$($1_CLASSPATH) $$(addprefix $(JDK_OUTPUTDIR)/modules/,jdk.hotspot.agent)
-  endif
-  $1_JAVAC_FLAGS := -bootclasspath $(EMPTY_DIR) -extdirs $(EMPTY_DIR) -endorseddirs $(EMPTY_DIR) $$($1_ADD_JAVAC_FLAGS)
+JAVAC_FLAGS := -bootclasspath $(EMPTY_DIR) -extdirs $(EMPTY_DIR) \
+    -endorseddirs $(EMPTY_DIR) $($(MODULE)_ADD_JAVAC_FLAGS)
 
-  $$(eval $$(call SetupJavaCompilation,$1, \
-      SETUP := $$(if $$($1_SETUP), $$($1_SETUP), GENERATE_JDKBYTECODE), \
-      SRC := $$(if $$($1_SRC), $$($1_SRC), $$(wildcard $$(call ALL_SRC_DIRS,$1))), \
+$(eval $(call SetupJavaCompilation, $(MODULE), \
+    SETUP := $(if $($(MODULE)_SETUP), $($(MODULE)_SETUP), GENERATE_JDKBYTECODE), \
+    SRC := $(if $($(MODULE)_SRC), $($(MODULE)_SRC), $(wildcard $(ALL_SRC_DIRS))), \
       INCLUDES := $(JDK_USER_DEFINED_FILTER),\
-      BIN := $$(if $$($1_BIN), $$($1_BIN), $(JDK_OUTPUTDIR)/modules/$1), \
-      HEADERS := $(SUPPORT_OUTPUTDIR)/headers/$1, \
-      CLASSPATH := $$($1_CLASSPATH), \
-      ADD_JAVAC_FLAGS := $$($1_ADD_JAVAC_FLAGS) $$($1_JAVAC_FLAGS)))
+    BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules/$(MODULE)), \
+    HEADERS := $(SUPPORT_OUTPUTDIR)/headers/$(MODULE), \
+    CLASSPATH := $(CLASSPATH), \
+    ADD_JAVAC_FLAGS := $($(MODULE)_ADD_JAVAC_FLAGS) $(JAVAC_FLAGS) \
+))
+TARGETS += $($(MODULE)) $($(MODULE)_COPY_EXTRA)
 
-  $1: $$($1) $$($1_COPY_EXTRA)
-
-  # Declare dependencies between java compilation of different modules.
-  # Since not all modules have been declared yet, or might be declared
-  # in different invocations of this file, use the macro to find the
-  # correct target file to depend on.
-  # Only the javac compilation actually depends on other modules so limit
-  # dependency declaration to that by using the *_COMPILE_TARGET variable.
-  $$($1_COMPILE_TARGETS): $$(foreach d,$$($1_DEPS), \
-      $$(call SetupJavaCompilationCompileTarget, $$d, \
-          $$(if $$($$d_BIN), $$($$d_BIN), $(JDK_OUTPUTDIR)/modules/$$d)))
-endef
-
-# Setup compilation for each module
-$(foreach m,$(JAVA_MODULES),$(eval $(call SetupModuleCompilation,$m)))
+# Declare dependencies between java compilations of different modules.
+# Since the other modules are declared in different invocations of this file,
+# use the macro to find the correct target file to depend on.
+# Only the javac compilation actually depends on other modules so limit
+# dependency declaration to that by using the *_COMPILE_TARGET variable.
+$($(MODULE)_COMPILE_TARGET): $(foreach d, $($(MODULE)_DEPS), \
+    $(call SetupJavaCompilationCompileTarget, $d, \
+        $(if $($d_BIN), $($d_BIN), $(JDK_OUTPUTDIR)/modules/$d)))
 
 ################################################################################
 # Copy zh_HK properties files from zh_TW
@@ -573,15 +585,21 @@
 $(JDK_OUTPUTDIR)/modules/%_zh_HK.properties: $(JDK_OUTPUTDIR)/modules/%_zh_TW.properties
 	$(install-file)
 
-define CreateHkTargets
-  $(patsubst $(JDK_TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
-    $(subst /share/classes,, \
-      $(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1))))
-endef
+CreateHkTargets = \
+    $(patsubst $(JDK_TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
+      $(subst /share/classes,, \
+        $(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1))))
 
-java.sql.rowset: $(call CreateHkTargets, $(java.sql.rowset_CLEAN_FILES))
-java.rmi: $(call CreateHkTargets, $(java.rmi_CLEAN_FILES))
+ifeq ($(MODULE), java.sql.rowset)
+  TARGETS += $(call CreateHkTargets, $(java.sql.rowset_CLEAN_FILES))
+endif
 
-all: $(JAVA_MODULES)
+ifeq ($(MODULE), java.rmi)
+  TARGETS += $(call CreateHkTargets, $(java.rmi_CLEAN_FILES))
+endif
 
-.PHONY: all $(JAVA_MODULES)
+################################################################################
+
+all: $(TARGETS)
+
+.PHONY: all
--- a/make/Images.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/Images.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2015, 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
@@ -27,6 +27,7 @@
 
 include $(SPEC)
 include MakeBase.gmk
+include Modules.gmk
 
 TOOL_TARGETS :=
 JDK_TARGETS :=
@@ -39,12 +40,13 @@
 
 MAIN_MODULES += java.se java.smartcardio jdk.httpserver jdk.sctp \
                jdk.security.auth jdk.security.jgss jdk.pack200 jdk.xml.dom \
-               jdk.accessibility jdk.internal.le jdk.scripting.nashorn.shell \
+               jdk.accessibility jdk.internal.le jdk.dynalink \
+               jdk.scripting.nashorn jdk.scripting.nashorn.shell \
                jdk.vm.ci jdk.management
 
 # providers
-PROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.localedata \
-               jdk.naming.dns jdk.naming.rmi jdk.scripting.nashorn jdk.zipfs
+PROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.jvmstat.rmi \
+               jdk.localedata jdk.naming.dns jdk.naming.rmi jdk.zipfs
 
 # tools
 TOOLS_MODULES += jdk.attach jdk.compiler jdk.dev \
@@ -64,8 +66,8 @@
   MAIN_MODULES += jdk.deploy.osx
 endif
 
-JRE_MODULES := $(MAIN_MODULES) $(PROVIDER_MODULES)
-JDK_MODULES := $(JRE_MODULES) $(TOOLS_MODULES)
+JRE_MODULES := $(filter-out $(MODULES_FILTER), $(MAIN_MODULES) $(PROVIDER_MODULES))
+JDK_MODULES := $(filter-out $(MODULES_FILTER), $(JRE_MODULES) $(TOOLS_MODULES))
 
 # compact3 builds have additional modules
 JDK_COMPACT3_MODULES := java.compact3 java.smartcardio jdk.httpserver jdk.naming.dns \
@@ -363,13 +365,14 @@
 
 # Param 1 - The file containing the MODULES list
 define create-info-file
-  $(call info-file-item, "JAVA_VERSION", "$(JDK_VERSION)")
+  $(call info-file-item, "JAVA_VERSION", "$(VERSION_NUMBER)")
+  $(call info-file-item, "JAVA_FULL_VERSION", "$(VERSION_STRING)")
   $(call info-file-item, "OS_NAME", "$(REQUIRED_OS_NAME)")
   $(call info-file-item, "OS_VERSION", "$(REQUIRED_OS_VERSION)")
   $(call info-file-item, "OS_ARCH", "$(OPENJDK_TARGET_CPU_LEGACY)")
   $(if $(JDK_ARCH_ABI_PROP_NAME), \
     $(call info-file-item, "SUN_ARCH_ABI", "$(JDK_ARCH_ABI_PROP_NAME)"))
-  $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)")
+  $(call info-file-item, "SOURCE", "$(strip $(ALL_SOURCE_TIPS))")
   $(call info-file-item, "MODULES", "`$(CAT) $1`")
 endef
 
@@ -509,7 +512,6 @@
 jimages: $(TOOL_JRE_TARGETS) $(TOOL_JDK_TARGETS) $(JRE_TARGETS) $(JDK_TARGETS) \
     $(SYMBOLS_TARGETS)
 
-
 $(JRE_COMPACT1_TARGETS): $(TOOL_JRE_COMPACT1_TARGETS)
 $(JRE_COMPACT2_TARGETS): $(TOOL_JRE_COMPACT2_TARGETS)
 $(JRE_COMPACT3_TARGETS): $(TOOL_JRE_COMPACT3_TARGETS)
--- a/make/InitSupport.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/InitSupport.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -287,13 +287,6 @@
 
   BUILD_LOG_WRAPPER := $(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)
 
-  # Disable the build log wrapper on sjavac+windows until
-  # we have solved how to prevent the log wrapper to wait
-  # for the background sjavac server process.
-  ifeq ($(ENABLE_SJAVAC)X$(OPENJDK_BUILD_OS),yesXwindows)
-    LOG_NOFILE := true
-  endif
-
   # Sanity check the spec file, so it matches this source code
   define CheckSpecSanity
     ifneq ($$(ACTUAL_TOPDIR), $$(TOPDIR))
--- a/make/Install.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/Install.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2015, 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
@@ -28,7 +28,7 @@
 include $(SPEC)
 
 BINARIES := $(notdir $(wildcard $(JDK_IMAGE_DIR)/bin/*))
-INSTALLDIR := openjdk-$(RELEASE)
+INSTALLDIR := openjdk-$(VERSION_SHORT)
 
 # Install the jdk image, in a very crude way. Not taking into
 # account, how to install properly on macosx or windows etc.
--- a/make/Javadoc.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/Javadoc.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -49,8 +49,6 @@
 
 HOTSPOT_DOCS_IMPORT_PATH=$(HOTSPOT_OUTPUTDIR)/docs
 
-BUILD_NUMBER=$(JDK_BUILD_NUMBER)
-
 JAVADOC_CMD = $(JAVA) \
     -Djava.awt.headless=true \
     $(NEW_JAVADOC)
@@ -122,11 +120,8 @@
 BUG_SUBMIT_LINE = <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a>
 
 # Url to devdocs page
-# Was: http://java.sun.com/javase/6/webnotes/devdocs-vs-specs.html
-DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html
-DEV_DOCS_URL-8 = http://download.oracle.com/javase/8/docs/index.html
-DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION))
-DOCS_BASE_URL = http://download.oracle.com/javase/7/docs
+DOCS_BASE_URL = http://docs.oracle.com/javase/$(VERSION_SPECIFICATION)/docs
+DEV_DOCS_URL = $(DOCS_BASE_URL)/index.html
 
 # Common Java trademark line
 JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
@@ -313,14 +308,13 @@
 
 
 
-# Draft used for non-fcs documents
-DRAFT_HEADER =
-ifneq ($(MILESTONE), fcs)
-  DRAFT_HEADER = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
-  DRAFT_BOTTOM = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
-  DRAFT_WINTITLE = $(BUILD_NUMBER)
+# Assume we need a draft format when the version string is not a GA version.
+ifeq ($(VERSION_IS_GA), false)
+  DRAFT_HEADER := <br><strong>DRAFT&nbsp;$(VERSION_STRING)</strong>
+  DRAFT_BOTTOM := <br><strong>DRAFT&nbsp;$(VERSION_STRING)</strong>
+  DRAFT_WINTITLE := $(VERSION_BUILD)
   # Early access top text (not used in FCS releases)
-  COREAPI_TOP_EARLYACCESS = \
+  COREAPI_TOP_EARLYACCESS := \
 <div style="background-color: \#EEEEEE"> \
 <div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \
 margin-left: 6px; margin-right: 6px; text-align: justify; \
@@ -331,7 +325,11 @@
 The information is being made available to you solely for purpose of \
 evaluation. \
 </div> </div>
-
+else
+  DRAFT_HEADER :=
+  DRAFT_BOTTOM :=
+  DRAFT_WINTITLE :=
+  COREAPI_TOP_EARLYACCESS :=
 endif
 
 #################################################################
@@ -351,39 +349,15 @@
 all: docs
 docs: coredocs otherdocs
 
-#################################################################
-# Production Targets -- USE THESE TARGETS WHEN:
-# a) You're generating docs outside of release engineering's
-#    standard control build.
-# b) The docs will be pushed to the web and/or included in
-#    the downloaded doc bundle.
-#
-# See: Notes.html#releaseTargets
-# Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
-#
-
-sanitycheckcoredocs:
-	@$(ECHO) ""
-	@$(ECHO) "Building core api docs with these values:"
-	@$(ECHO) "    BUILD_NUMBER = $(BUILD_NUMBER)"
-	@$(ECHO) "    MILESTONE = $(MILESTONE)"
-	@$(ECHO) ""
-        ifeq ($(BUILD_NUMBER), b00)
-	  @$(ECHO) "ERROR: Build number must be defined"
-	  @$(ECHO) "MILESTONE is set to $(MILESTONE)"
-	  @$(ECHO) ""
-	  exit 1
-        endif
-
 #############################################################
 #
 # coredocs
 #
 COREAPI_DOCTITLE = Java$(TRADEMARK) Platform, Standard Edition \
-$(JDK_MINOR_VERSION)<br>API Specification
-COREAPI_WINDOWTITLE = Java Platform SE $(JDK_MINOR_VERSION)
+$(VERSION_SPECIFICATION)<br>API Specification
+COREAPI_WINDOWTITLE = Java Platform SE $(VERSION_SPECIFICATION)
 COREAPI_HEADER = \
-<strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>
+<strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(VERSION_SPECIFICATION)</strong>
 
 # Overview file for core apis
 COREAPI_OVERVIEW = $(JDK_TOPDIR)/src/java.base/share/classes/overview-core.html
@@ -1338,55 +1312,9 @@
 	$(prep-target)
 	$(call PackageFilter,$(JDKNET_PKGS))
 
-#############################################################
-#release version of core packages ########
-
-# The rel-coredocs and rel-docs targets were added by Eric Armstrong. rel-coredocs
-# assumes the kind of large, 32-bit machine used in the javapubs group's docs-release
-# process. It specifies memory settings accordingly to maximize performance.
-#
-# The performance settings, like the sanity check, are most important for the core
-# docs--the platform APIs. Running javadoc on those APIs takes a significant amount
-# of time and memory. Setting the initial heap size as large as possible is important
-# to prevent thrashing as the heap grows. Setting the maximum as large as necessary
-# is also important to keep the job from failing.
-#
-#    -J-Xmx512 sets a maximum of 512, which became necessary in 6.0
-#    -J-Xms256 sets starting size to 256 (default is 8)
-#
-# rel-coredocs also includes a sanity check to help ensure that BUILD_NUMBER and
-# MILESTONE are specified properly when docs are built outside of the normal release
-# engineering process, with the intention of releasing them on the web or in a downloaded
-# docs bundle. (When invoked in release engineering's control build, the values are always
-# set properly. But when the targets are run by themselves, they default to b00 and
-# "internal"--which silently sabotage the result of a build that can take many hours
-# to complete.
-
-# Maximize performance and ensure that build number & milestone are set.
-
-rel-coredocs: sanitycheckcoredocs
-	$(MAKE) coredocs
-
-rel-docs: rel-coredocs $(ALL_OTHER_TARGETS)
-#
-# end of production targets
 
 otherdocs: $(ALL_OTHER_TARGETS)
 
-clean:
-	$(RM) -r $(DOCSDIR) $(DOCSTMPDIR)
-
 #############################################################
-# DEBUG TARGET
-# List the values defined in the makefile hierarchy, to make sure everything
-# is set properly, and to help identify values we can use instead of making new ones.
-# (Most of them come from common/shared/Defs.gmk)
-#
-# Notes:
-# * BUILD_NUMBER defaults to b00 if not set on command line with BUILD_NUMBER=<value>
-# * MILESTONE defaults to internal unless set to beta, rc, or fcs on command line
-#
-
-#############################################################
-.PHONY: all docs coredocs rel-docs otherdocs rel-coredocs \
-    sanitycheckcoredocs $(ALL_OTHER_TARGETS)
+.PHONY: all docs coredocs otherdocs \
+     $(ALL_OTHER_TARGETS)
--- a/make/Jprt.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/Jprt.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -49,7 +49,7 @@
 # When running in JPRT these will be provided. Need defaults so that this makefile
 # is valid anyway.
 ifndef JPRT_ARCHIVE_BUNDLE
-  JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
+  JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/jdk-image.zip
 endif
 ifndef JPRT_ARCHIVE_INSTALL_BUNDLE
   JPRT_ARCHIVE_INSTALL_BUNDLE=/tmp/jprt_bundles/product-install.zip
--- a/make/JrtfsJar.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/JrtfsJar.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -35,7 +35,8 @@
   SOURCE_FILES := $(JDK_TOPDIR)/make/data/mainmanifest/manifest.mf, \
   OUTPUT_FILE := $(SUPPORT_OUTPUTDIR)/java-main-manifest.mf, \
   REPLACEMENTS := \
-      @@RELEASE@@ => $(RELEASE) ; \
+      @@VERSION_SPECIFICATION@@ => $(VERSION_SPECIFICATION) ; \
+      @@VERSION_SHORT@@ => $(VERSION_SHORT) ; \
       @@COMPANY_NAME@@ => $(COMPANY_NAME) , \
 ))
 
--- a/make/MacBundles.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/MacBundles.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -38,11 +38,11 @@
 
   MACOSX_PLIST_SRC := $(JDK_TOPDIR)/make/data/bundle
 
-    BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE).$(JDK_MINOR_VERSION)u$(JDK_UPDATE_VERSION)
-  BUNDLE_NAME := $(MACOSX_BUNDLE_NAME_BASE) $(JDK_MINOR_VERSION)
-    BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) $(JDK_VERSION)
-  BUNDLE_PLATFORM_VERSION := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION)
-  BUNDLE_VERSION := $(JDK_VERSION)
+  BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE).$(VERSION_SHORT)
+  BUNDLE_NAME := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_SHORT)
+  BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_STRING)
+  BUNDLE_PLATFORM_VERSION := $(VERSION_MAJOR).$(VERSION_MINOR)
+  BUNDLE_VERSION := $(VERSION_NUMBER)
   ifeq ($(COMPANY_NAME), N/A)
     BUNDLE_VENDOR := UNDEFINED
   else
--- a/make/Main.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/Main.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -53,8 +53,7 @@
 $(eval $(call IncludeCustomExtension, , Main.gmk))
 
 # All modules for the current target platform.
-# Manually add jdk.hotspot.agent for now.
-ALL_MODULES := $(call FindAllModules) jdk.hotspot.agent
+ALL_MODULES := $(call FindAllModules)
 
 ################################################################################
 ################################################################################
@@ -144,8 +143,8 @@
 
 define DeclareCompileJavaRecipe
   $1-java:
-	+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f CompileJavaModules.gmk \
-	    $1 JAVA_MODULES=$1 MODULE=$1)
+	+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) \
+	    -f CompileJavaModules.gmk MODULE=$1)
 endef
 
 $(foreach m, $(filter-out jdk.scripting.nashorn, $(JAVA_MODULES)), \
@@ -154,7 +153,8 @@
 # Build nashorn. Needs to be compiled separately from the rest of the modules
 # due to nasgen.
 jdk.scripting.nashorn-java:
-	+($(CD) $(NASHORN_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f BuildNashorn.gmk compile)
+	+($(CD) $(NASHORN_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) \
+	    -f BuildNashorn.gmk compile)
 
 ALL_TARGETS += $(JAVA_TARGETS)
 
@@ -195,7 +195,7 @@
 
 ifeq ($(BUILD_HOTSPOT),true)
   hotspot:
-	($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f HotspotWrapper.gmk)
+	+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f HotspotWrapper.gmk)
 endif
 
 ALL_TARGETS += hotspot
@@ -225,8 +225,8 @@
 BOOTCYCLE_TARGET := product-images
 bootcycle-images:
 	@$(ECHO) Boot cycle build step 2: Building a new JDK image using previously built image
-	+$(MAKE) $(MAKE_ARGS) -f $(SRC_ROOT)/make/Main.gmk \
-	    SPEC=$(dir $(SPEC))bootcycle-spec.gmk $(BOOTCYCLE_TARGET)
+	+$(MAKE) -f $(SRC_ROOT)/make/Init.gmk PARALLEL_TARGETS=$(BOOTCYCLE_TARGET) \
+	    JOBS= SPEC=$(dir $(SPEC))bootcycle-spec.gmk main
 
 zip-security:
 	+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f ZipSecurity.gmk)
@@ -423,11 +423,6 @@
   # virtual target.
   jdk.jdwp.agent-libs: jdk.jdwp.agent-gensrc
 
-  # Until the module system is in place, jdk.jdi-gensrc needs to combine service
-  # loader configuration with jdk.hotspot.agent so is dependent on importing
-  # hotspot.
-  jdk.jdi-gensrc-jdk: import-hotspot
-
   # The swing beans need to have java base properly generated to avoid errors
   # in javadoc.
   java.desktop-gensrc-jdk: java.base-gensrc
@@ -511,7 +506,7 @@
 jdk.jdwp.agent-gensrc: jdk.jdi-gensrc
 
 # Declare dependencies from <module> to all the individual targets specific
-# to that module <module>-*.
+# to that module <module>-*, that are needed for the exploded image.
 $(foreach m, $(GENSRC_MODULES), $(eval $m: $m-gensrc))
 $(foreach m, $(JAVA_MODULES), $(eval $m: $m-java))
 $(foreach m, $(GENDATA_MODULES), $(eval $m: $m-gendata))
@@ -520,15 +515,12 @@
 $(foreach m, $(LAUNCHER_MODULES), $(eval $m: $m-launchers))
 $(foreach m, $(COPY_MODULES), $(eval $m: $m-copy))
 
-ALL_MODULE_TARGETS := $(sort $(GENSRC_MODULES) $(JAVA_MODULES) \
-    $(GENDATA_MODULES) $(LIBS_MODULES) $(LAUNCHER_MODULES) $(COPY_MODULES))
-
 demos: demos-jdk
 
 samples: samples-jdk
 
 # The "exploded image" is a locally runnable JDK in $(BUILD_OUTPUT)/jdk.
-exploded-image: $(ALL_MODULE_TARGETS)
+exploded-image: $(ALL_MODULES)
 
 mac-bundles: mac-bundles-jdk
 
@@ -554,7 +546,7 @@
 all-images: product-images test-image docs-image
 
 ALL_TARGETS += buildtools gensrc gendata copy java rmic libs launchers \
-    jdk.jdwp.agent-gensrc $(ALL_MODULE_TARGETS) demos samples exploded-image \
+    jdk.jdwp.agent-gensrc $(ALL_MODULES) demos samples exploded-image \
     mac-bundles product-images docs-image test-image all-images
 
 ################################################################################
--- a/make/common/CORE_PKGS.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/common/CORE_PKGS.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -225,6 +225,7 @@
     javax.tools \
     javax.transaction \
     javax.transaction.xa \
+    javax.xml.catalog \
     javax.xml.parsers \
     javax.xml.bind \
     javax.xml.bind.annotation \
--- a/make/common/JavaCompilation.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/common/JavaCompilation.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -74,7 +74,7 @@
   # already has one
   ifneq ($$($1_COPY_$$($2_TARGET)), 1)
     $1_COPY_$$($2_TARGET) := 1
-    # Now we can setup the depency that will trigger the copying.
+    # Now we can setup the dependency that will trigger the copying.
     $$($1_BIN)$$($2_TARGET) : $2
 	$(MKDIR) -p $$(@D)
 	$(CP) $$< $$@
@@ -311,22 +311,23 @@
   $1_REMOTE:=--server:portfile=$$($1_SJAVAC_PORTFILE),id=$1,sjavac=$$(subst \
       $$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$($1_SERVER_JVM) $$($1_SJAVAC))))
 
+  $1_COMPILE_TARGET := $$($1_BIN)/_the.$1_batch
+
   ifeq ($$($1_DISABLE_SJAVAC)x$$(ENABLE_SJAVAC),xyes)
+    # Using sjavac to compile.
+
     ifneq (,$$($1_HEADERS))
       $1_HEADERS_ARG := -h $$($1_HEADERS)
     endif
 
-    # Using sjavac to compile.
-    $1_COMPILE_TARGETS := $$($1_BIN)/_the.$1_batch
-
     $1_VARDEPS := $$($1_JVM) $$($1_SJAVAC) $$($1_SJAVAC_ARGS) $$($1_FLAGS) \
         $$($1_HEADERS_ARG) $$($1_BIN) $$($1_EXCLUDES) $$($1_INCLUDES) \
         $$($1_EXCLUDE_FILES) $$($1_INCLUDE_FILES)
     $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_BIN)/_the.$1.vardeps)
 
-    $$($1_BIN)/_the.$1_batch: $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE)
+    $$($1_COMPILE_TARGET): $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE)
 	$(MKDIR) -p $$(@D) $$(dir $$($1_SJAVAC_PORTFILE))
-	$$(eval $$(call ListPathsSafely,$1_SRCS, $$($1_BIN)/_the.$1_batch.tmp))
+	$$(eval $$(call ListPathsSafely,$1_SRCS, $$@.tmp))
 	$(ECHO) Compiling $1
 	$(call LogFailures, $$($1_BIN)/_the.$$($1_SAFE_NAME)_batch.log, $$($1_SAFE_NAME), \
 	    $$($1_JVM) $$($1_SJAVAC) \
@@ -334,14 +335,14 @@
 	        -j 1 \
 	        --permit-unidentified-artifacts \
 	        --permit-sources-without-package \
-	        --compare-found-sources $$($1_BIN)/_the.$1_batch.tmp \
+	        --compare-found-sources $$@.tmp \
 	        --log=$(LOG_LEVEL) \
 	        --state-dir=$$($1_BIN) \
 	        $$($1_SJAVAC_ARGS) \
 	        $$($1_FLAGS) \
 	        $$($1_HEADERS_ARG) \
 	        -d $$($1_BIN)) && \
-	$(MV) $$($1_BIN)/_the.$1_batch.tmp $$($1_BIN)/_the.$1_batch
+	$(MV) $$@.tmp $$@
         # Create a pubapi file that only changes when the pubapi changes. Dependent
         # compilations can use this file to only get recompiled when pubapi has changed.
         # Grep returns 1 if no matching lines are found. Do not fail for this.
@@ -354,14 +355,13 @@
 
   else
     # Using plain javac to batch compile everything.
-    $1_COMPILE_TARGETS := $$($1_BIN)/_the.$1_batch
 
     # When building in batch, put headers in a temp dir to filter out those that actually
     # changed before copying them to the real header dir.
     ifneq (,$$($1_HEADERS))
       $1_HEADERS_ARG := -h $$($1_HEADERS).$1.tmp
 
-      $$($1_HEADERS)/_the.$1_headers: $$($1_BIN)/_the.$1_batch
+      $$($1_HEADERS)/_the.$1_headers: $$($1_COMPILE_TARGET)
 		$(MKDIR) -p $$(@D)
 		if [ -d "$$($1_HEADERS).$1.tmp" ]; then \
 		  for f in `ls $$($1_HEADERS).$1.tmp`; do \
@@ -389,19 +389,19 @@
     endif
 
     # When not using sjavac, pass along all sources to javac using an @file.
-    $$($1_BIN)/_the.$1_batch: $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE)
+    $$($1_COMPILE_TARGET): $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE)
 	$(MKDIR) -p $$(@D)
-	$$(eval $$(call ListPathsSafely,$1_SRCS, $$($1_BIN)/_the.$1_batch.tmp))
-	$(ECHO) Compiling `$(WC) $$($1_BIN)/_the.$1_batch.tmp | $(TR) -s ' ' | $(CUT) -f 2 -d ' '` files for $1
+	$$(eval $$(call ListPathsSafely,$1_SRCS, $$@.tmp))
+	$(ECHO) Compiling `$(WC) $$@.tmp | $(TR) -s ' ' | $(CUT) -f 2 -d ' '` files for $1
 	$(call LogFailures, $$($1_BIN)/_the.$$($1_SAFE_NAME)_batch.log, $$($1_SAFE_NAME), \
 	    $$($1_JVM) $$($1_JAVAC_CMD) $$($1_FLAGS) \
 	        -implicit:none \
-	        -d $$($1_BIN) $$($1_HEADERS_ARG) @$$($1_BIN)/_the.$1_batch.tmp) && \
-	$(MV) $$($1_BIN)/_the.$1_batch.tmp $$($1_BIN)/_the.$1_batch
+		-d $$($1_BIN) $$($1_HEADERS_ARG) @$$@.tmp) && \
+	$(MV) $$@.tmp $$@
   endif
 
   # Add all targets to main variable
-  $1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_COMPILE_TARGETS) \
+  $1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_COMPILE_TARGET) \
       $$($1_HEADER_TARGETS)
 
   # Check if a jar file was specified, then setup the rules for the jar.
--- a/make/common/Modules.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/common/Modules.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -30,6 +30,12 @@
 include SetupJavaCompilers.gmk
 
 ################################################################################
+# Some platforms don't have the serviceability agent
+ifeq ($(INCLUDE_SA), false)
+  MODULES_FILTER += jdk.hotspot.agent
+endif
+
+################################################################################
 # Module list macros
 
 ALL_TOP_SRC_DIRS := \
@@ -43,21 +49,25 @@
     #
 
 # Find all modules with java sources by looking in the source dirs
+# jdk.hotspot.agent currently doesn't comply with source dir policy.
 define FindJavaModules
   $(filter-out $(MODULES_FILTER), $(sort $(notdir \
       $(patsubst %/,%, $(dir $(patsubst %/,%, $(dir $(patsubst %/,%, $(dir \
       $(wildcard $(patsubst %,%/*/share/classes/*, $(ALL_TOP_SRC_DIRS)) \
           $(patsubst %,%/*/$(OPENJDK_TARGET_OS)/classes/*, $(ALL_TOP_SRC_DIRS)) \
-          $(patsubst %,%/*/$(OPENJDK_TARGET_OS_TYPE)/classes/*, $(ALL_TOP_SRC_DIRS))))))))))))
+          $(patsubst %,%/*/$(OPENJDK_TARGET_OS_TYPE)/classes/*, $(ALL_TOP_SRC_DIRS))))))))))) \
+      jdk.hotspot.agent)
 endef
 
 # Find all modules with source for the target platform.
+# jdk.hotspot.agent currently doesn't comply with source dir policy.
 define FindAllModules
   $(sort $(filter-out $(MODULES_FILTER) closed demo sample, \
       $(notdir $(patsubst %/,%, $(dir \
       $(wildcard $(patsubst %, %/*/share, $(ALL_TOP_SRC_DIRS)) \
       $(patsubst %, %/*/$(OPENJDK_TARGET_OS), $(ALL_TOP_SRC_DIRS)) \
-      $(patsubst %, %/*/$(OPENJDK_TARGET_OS_TYPE), $(ALL_TOP_SRC_DIRS))))))))
+      $(patsubst %, %/*/$(OPENJDK_TARGET_OS_TYPE), $(ALL_TOP_SRC_DIRS)))))) \
+      jdk.hotspot.agent))
 endef
 
 ################################################################################
--- a/make/common/NativeCompilation.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/common/NativeCompilation.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -120,9 +120,11 @@
 # are to be run during the build.
 # The BUILD_SYSROOT_*FLAGS variables are empty for now.
 $(eval $(call DefineNativeToolchain, TOOLCHAIN_BUILD, \
-    EXTENDS := TOOLCHAIN_DEFAULT, \
     CC := $(BUILD_CC), \
+    CXX := $(BUILD_CXX), \
     LD := $(BUILD_LD), \
+    AR := $(BUILD_AR), \
+    AS := $(BUILD_AS), \
     SYSROOT_CFLAGS := $(BUILD_SYSROOT_CFLAGS), \
     SYSROOT_LDFLAGS := $(BUILD_SYSROOT_LDFLAGS), \
 ))
@@ -294,6 +296,10 @@
 #   LD the linker to use, default is $(LD)
 #   OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
 #   DISABLED_WARNINGS_<toolchain> Disable the given warnings for the specified toolchain
+#   DISABLED_WARNINGS_C_<toolchain> Disable the given warnings for the specified toolchain
+#       when compiling C code
+#   DISABLED_WARNINGS_CXX_<toolchain> Disable the given warnings for the specified
+#       toolchain when compiling C++ code
 #   STRIP_SYMBOLS Set to true to strip the final binary if the toolchain allows for it
 #   STRIPFLAGS Optionally change the flags given to the strip command
 SetupNativeCompilation = $(NamedParamsMacroTemplate)
@@ -537,8 +543,12 @@
 
   # Pick up disabled warnings, if possible on this platform.
   ifneq ($(DISABLE_WARNING_PREFIX),)
-    $1_EXTRA_CFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)))
-    $1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)))
+    $1_EXTRA_CFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
+        $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
+        $$($1_DISABLED_WARNINGS_C_$(TOOLCHAIN_TYPE)))
+    $1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
+        $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
+        $$($1_DISABLED_WARNINGS_CXX_$(TOOLCHAIN_TYPE)))
   endif
 
   # Check if warnings should be considered errors.
--- a/make/common/SetupJavaCompilers.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/common/SetupJavaCompilers.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -63,7 +63,7 @@
 # The generate new bytecode javac setup uses the new compiler to compile for the
 # new jdk. This new bytecode might only be possible to run using the new jvm.
 $(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE, \
-    JVM := $(JAVA), \
+    JVM := $(JAVA_JAVAC), \
     JAVAC := $(NEW_JAVAC), \
     FLAGS := -source 9 -target 9 \
         -encoding ascii -XDignore.symbol.file=true $(JAVAC_WARNINGS), \
@@ -73,7 +73,7 @@
 # The generate new bytecode javac setup uses the new compiler to compile for the
 # new jdk. This new bytecode might only be possible to run using the new jvm.
 $(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE_NOWARNINGS, \
-    JVM := $(JAVA), \
+    JVM := $(JAVA_JAVAC), \
     JAVAC := $(NEW_JAVAC), \
     FLAGS := -source 9 -target 9 \
         -encoding ascii -XDignore.symbol.file=true $(DISABLE_WARNINGS), \
--- a/make/devkit/Makefile	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/devkit/Makefile	Wed Dec 02 11:22:12 2015 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2015, 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
@@ -43,12 +43,12 @@
 #
 # To build the full set of crosstools, use a command line looking like this:
 #
-# make tars RPM_DIR_x86_64=/tmp/oel55-x86_64/Server/ RPM_DIR_i686=/tmp/oel55-i686/Server/
+# make tars RPM_DIR_x86_64=/tmp/oel64-x86_64/Packages/ RPM_DIR_i686=/tmp/oel64-i686/Packages/
 #
 # To create a x86_64 package without the redundant i686 cross compiler, do
 # like this:
 #
-# make tars platforms=x86_64-unknown-linux-gnu RPM_DIR_x86_64=/tmp/oel55-x86_64/Server/ RPM_DIR_i686=/tmp/oel55-i686/Server/
+# make tars platforms=x86_64-unknown-linux-gnu RPM_DIR_x86_64=/tmp/oel64-x86_64/Packages/ RPM_DIR_i686=/tmp/oel64-i686/Packages/
 
 #
 # Main makefile which iterates over all host and target platforms.
--- a/make/devkit/Tools.gmk	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/devkit/Tools.gmk	Wed Dec 02 11:22:12 2015 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2015, 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
@@ -63,11 +63,11 @@
 GMP := http://ftp.gnu.org/pub/gnu/gmp/${gmp_ver}.tar.bz2
 MPC := http://www.multiprecision.org/mpc/download/${mpc_ver}.tar.gz
 
-# RPMs in OEL5.5
-LINUX_VERSION := OEL5.5
+# RPMs in OEL6.4
+LINUX_VERSION := OEL6.4
 RPM_LIST := \
     kernel-headers \
-    glibc-2 glibc-headers glibc-devel \
+    glibc glibc-headers glibc-devel \
     cups-libs cups-devel \
     libX11 libX11-devel \
     xorg-x11-proto-devel \
@@ -87,7 +87,7 @@
 
 ifeq ($(ARCH),x86_64)
   RPM_DIR ?= $(RPM_DIR_x86_64)
-  RPM_ARCHS := x86_64
+  RPM_ARCHS := x86_64 noarch
   ifeq ($(BUILD),$(HOST))
     ifeq ($(TARGET),$(HOST))
       # When building the native compiler for x86_64, enable mixed mode.
@@ -102,6 +102,8 @@
 # Sort to remove duplicates
 RPM_FILE_LIST := $(sort $(foreach a,$(RPM_ARCHS),$(wildcard $(patsubst %,$(RPM_DIR)/%*$a.rpm,$(RPM_LIST)))))
 
+#$(info RPM_FILE_LIST $(RPM_FILE_LIST))
+
 ifeq ($(RPM_FILE_LIST),)
   $(error Found no RPMs, RPM_DIR must point to list of directories to search for RPMs)
 endif
@@ -473,13 +475,25 @@
 
 ##########################################################################################
 
+ifeq ($(TARGET), $(HOST))
+  $(PREFIX)/bin/%:
+	@echo 'Creating missing $* soft link'
+	ln -s $(TARGET)-$* $@
+
+  missing-links := $(addprefix $(PREFIX)/bin/, \
+      addr2line ar as c++ c++filt elfedit g++ gcc gprof ld nm objcopy ranlib readelf \
+      size strings strip)
+endif
+
+##########################################################################################
+
 bfdlib : $(bfdlib)
 binutils : $(binutils)
 rpms : $(rpms)
 libs : $(libs)
 sysroot : rpms libs
 gcc : sysroot $(gcc) $(gccpatch)
-all : binutils gcc bfdlib $(PREFIX)/devkit.info
+all : binutils gcc bfdlib $(PREFIX)/devkit.info $(missing-links)
 
 # this is only built for host. so separate.
 ccache : $(ccache)
--- a/make/jprt.properties	Mon Nov 23 12:26:31 2015 -0800
+++ b/make/jprt.properties	Wed Dec 02 11:22:12 2015 -0800
@@ -90,10 +90,11 @@
 # Configure args common to all builds
 # Also allows for additional, testset specific configure arguments to be set
 jprt.build.configure.args=						\
-    --with-output-sync=recurse 						\
-    --with-boot-jdk=$ALT_BOOTDIR 					\
-    --with-jobs=$ALT_PARALLEL_COMPILE_JOBS 				\
-    MAKE=$JPRT_MAKE							\
+    --with-output-sync=recurse						\
+    --with-boot-jdk=$ALT_BOOTDIR					\
+    --with-jobs=$ALT_PARALLEL_COMPILE_JOBS				\
+    --with-version-opt=$JPRT_JOB_ID				 	\
+    MAKE=$JPRT_MAKE                                                     \
     ${my.additional.build.configure.args.${jprt.test.set}}		\
     ${my.custom.build.configure.args}
 
--- a/modules.xml	Mon Nov 23 12:26:31 2015 -0800
+++ b/modules.xml	Wed Dec 02 11:22:12 2015 -0800
@@ -342,7 +342,9 @@
       <to>java.logging</to>
       <to>java.sql</to>
       <to>java.sql.rowset</to>
+      <to>jdk.dynalink</to>
       <to>jdk.scripting.nashorn</to>
+      <to>jdk.vm.cds</to>
     </export>
     <export>
       <name>sun.reflect.annotation</name>
@@ -1065,6 +1067,9 @@
       <name>javax.xml</name>
     </export>
     <export>
+      <name>javax.xml.catalog</name>
+    </export>
+    <export>
       <name>javax.xml.datatype</name>
     </export>
     <export>
@@ -1657,6 +1662,26 @@
     <depend>java.base</depend>
   </module>
   <module>
+    <name>jdk.dynalink</name>
+    <depend>java.base</depend>
+    <depend>java.logging</depend>
+    <export>
+      <name>jdk.dynalink</name>
+    </export>
+    <export>
+      <name>jdk.dynalink.beans</name>
+    </export>
+    <export>
+      <name>jdk.dynalink.linker</name>
+    </export>
+    <export>
+      <name>jdk.dynalink.linker.support</name>
+    </export>
+    <export>
+      <name>jdk.dynalink.support</name>
+    </export>
+  </module>
+  <module>
     <name>jdk.hotspot.agent</name>
     <depend>java.base</depend>
     <depend>java.datatransfer</depend>
@@ -1789,16 +1814,31 @@
   <module>
     <name>jdk.jvmstat</name>
     <depend>java.base</depend>
-    <depend>java.rmi</depend>
     <export>
       <name>sun.jvmstat.monitor</name>
       <to>jdk.attach</to>
       <to>jdk.jcmd</to>
       <to>jdk.jconsole</to>
+      <to>jdk.jvmstat.rmi</to>
     </export>
     <export>
       <name>sun.jvmstat.monitor.event</name>
       <to>jdk.jcmd</to>
+      <to>jdk.jvmstat.rmi</to>
+    </export>
+    <export>
+      <name>sun.jvmstat.perfdata.monitor</name>
+      <to>jdk.jvmstat.rmi</to>
+    </export>
+  </module>
+  <module>
+    <name>jdk.jvmstat.rmi</name>
+    <depend>java.base</depend>
+    <depend>java.rmi</depend>
+    <depend>jdk.jvmstat</depend>
+    <export>
+      <name>sun.jvmstat.monitor.remote</name>
+      <to>java.rmi</to>
     </export>
   </module>
   <module>
@@ -1849,6 +1889,7 @@
     <name>jdk.scripting.nashorn</name>
     <depend>java.base</depend>
     <depend>java.logging</depend>
+    <depend>jdk.dynalink</depend>
     <depend re-exports="true">java.scripting</depend>
     <export>
       <name>jdk.nashorn.internal.runtime</name>
--- a/test/lib/sun/hotspot/WhiteBox.java	Mon Nov 23 12:26:31 2015 -0800
+++ b/test/lib/sun/hotspot/WhiteBox.java	Wed Dec 02 11:22:12 2015 -0800
@@ -407,6 +407,7 @@
   public native void assertMatchingSafepointCalls(boolean mutexSafepointValue, boolean attemptedNoSafepointValue);
 
   // Sharing
+  public native boolean isSharedClass(Class<?> c);
   public native boolean isShared(Object o);
   public native boolean areSharedStringsIgnored();
 }