Merge
authorduke
Wed, 05 Jul 2017 19:15:55 +0200
changeset 20552 c37a8f2c9b60
parent 20551 8518304d2097 (current diff)
parent 20411 eaeb719e28ce (diff)
child 20556 a39d44bb06c8
Merge
--- a/.hgtags-top-repo	Wed Oct 16 12:02:43 2013 -0700
+++ b/.hgtags-top-repo	Wed Jul 05 19:15:55 2017 +0200
@@ -232,3 +232,4 @@
 9286a6e61291246d88af713f1ef79adeea30fe2e jdk8-b108
 91f47e8da5c60de58ed195e9b57f3bf192a18f83 jdk8-b109
 4faa09c7fe555de086dd9048d3c5cc92317d6f45 jdk8-b110
+d086227bfc45d124f09b3bd72a07956b4073bf71 jdk8-b111
--- a/NewMakefile.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/NewMakefile.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -37,16 +37,16 @@
 
 # Assume we have GNU make, but check version.
 ifeq (,$(findstring 3.81,$(MAKE_VERSION)))
-    ifeq (,$(findstring 3.82,$(MAKE_VERSION)))
-        $(error This version of GNU Make is too low ($(MAKE_VERSION)). Check your path, or upgrade to 3.81 or newer.)
-    endif
+  ifeq (,$(findstring 3.82,$(MAKE_VERSION)))
+    $(error This version of GNU Make is too low ($(MAKE_VERSION)). Check your path, or upgrade to 3.81 or newer.)
+  endif
 endif
 
 # Locate this Makefile
 ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
-    makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
+  makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
 else
-    makefile_path:=$(lastword $(MAKEFILE_LIST))
+  makefile_path:=$(lastword $(MAKEFILE_LIST))
 endif
 root_dir:=$(dir $(makefile_path))
 
@@ -58,27 +58,27 @@
 
 # Now determine if we have zero, one or several configurations to build.
 ifeq ($(SPEC),)
-    # Since we got past ParseConfAndSpec, we must be building a global target. Do nothing.
+  # Since we got past ParseConfAndSpec, we must be building a global target. Do nothing.
 else
-    ifeq ($(words $(SPEC)),1)
-        # We are building a single configuration. This is the normal case. Execute the Main.gmk file.
-        include $(root_dir)/common/makefiles/Main.gmk
-    else
-        # We are building multiple configurations.
-        # First, find out the valid targets
-        # Run the makefile with an arbitrary SPEC using -p -q (quiet dry-run and dump rules) to find
-        # available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
-        all_phony_targets=$(filter-out $(global_targets) bundles-only, $(strip $(shell \
-            $(MAKE) -p -q -f common/makefiles/Main.gmk FRC SPEC=$(firstword $(SPEC)) | \
-            grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
+  ifeq ($(words $(SPEC)),1)
+    # We are building a single configuration. This is the normal case. Execute the Main.gmk file.
+    include $(root_dir)/common/makefiles/Main.gmk
+  else
+    # We are building multiple configurations.
+    # First, find out the valid targets
+    # Run the makefile with an arbitrary SPEC using -p -q (quiet dry-run and dump rules) to find
+    # available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
+    all_phony_targets=$(filter-out $(global_targets) bundles-only, $(strip $(shell \
+        $(MAKE) -p -q -f common/makefiles/Main.gmk FRC SPEC=$(firstword $(SPEC)) | \
+        grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
 
-        $(all_phony_targets):
-		@$(foreach spec,$(SPEC),($(MAKE) -f NewMakefile.gmk SPEC=$(spec) \
-			$(VERBOSE) VERBOSE=$(VERBOSE) LOG_LEVEL=$(LOG_LEVEL) $@) &&) true
+    $(all_phony_targets):
+	@$(foreach spec,$(SPEC),($(MAKE) -f NewMakefile.gmk SPEC=$(spec) \
+	    $(VERBOSE) VERBOSE=$(VERBOSE) LOG_LEVEL=$(LOG_LEVEL) $@) &&) true
 
-        .PHONY: $(all_phony_targets)
+    .PHONY: $(all_phony_targets)
 
-    endif
+  endif
 endif
 
 # Include this after a potential spec file has been included so that the bundles target
--- a/common/autoconf/autogen.sh	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/autogen.sh	Wed Jul 05 19:15:55 2017 +0200
@@ -62,7 +62,7 @@
   # We have custom sources available; also generate configure script
   # with custom hooks compiled in.
   cat $script_dir/configure.ac | sed -e "s|@DATE_WHEN_GENERATED@|$TIMESTAMP|" | \
-    sed -e "s|#CUSTOM_AUTOCONF_INCLUDE|m4_include([$custom_hook])|" | ${AUTOCONF} -W all -I$script_dir - > $custom_script_dir/generated-configure.sh
+      sed -e "s|#CUSTOM_AUTOCONF_INCLUDE|m4_include([$custom_hook])|" | ${AUTOCONF} -W all -I$script_dir - > $custom_script_dir/generated-configure.sh
   rm -rf autom4te.cache
 else
   echo No custom hook found:  $custom_hook
--- a/common/autoconf/basics.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/basics.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -24,23 +24,23 @@
 #
 
 # Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
-# If so, then append $1 to $2\
+# If so, then append $1 to $2 \
 # Also set JVM_ARG_OK to true/false depending on outcome.
 AC_DEFUN([ADD_JVM_ARG_IF_OK],
 [
-    $ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
-    $ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
-    OUTPUT=`$3 $1 -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        $2="[$]$2 $1"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&AS_MESSAGE_LOG_FD
-	$ECHO "$OUTPUT" >&AS_MESSAGE_LOG_FD
-	JVM_ARG_OK=false
-    fi
+  $ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
+  $ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
+  OUTPUT=`$3 $1 -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    $2="[$]$2 $1"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&AS_MESSAGE_LOG_FD
+    $ECHO "$OUTPUT" >&AS_MESSAGE_LOG_FD
+    JVM_ARG_OK=false
+  fi
 ])
 
 # Appends a string to a path variable, only adding the : when needed.
@@ -82,7 +82,7 @@
       AC_MSG_ERROR([The path of $1, which resolves as "$path", is not found.])
     fi
 
-    $1="`cd "$path"; $THEPWDCMD -L`" 
+    $1="`cd "$path"; $THEPWDCMD -L`"
   fi
 ])
 
@@ -129,78 +129,78 @@
       AC_MSG_NOTICE([Resolving $1 (as $path) failed, using $path directly.])
       new_path="$path"
     fi
-    
+
     if test "x$new_path" = x; then
-        AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
-        has_space=`$ECHO "$complete" | $GREP " "`
-        if test "x$has_space" != x; then
-          AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
-        fi
-        AC_MSG_ERROR([Cannot locate the the path of $1])
+      AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
+      has_space=`$ECHO "$complete" | $GREP " "`
+      if test "x$has_space" != x; then
+        AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
       fi
+      AC_MSG_ERROR([Cannot locate the the path of $1])
+    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
+  # 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
-      $1="$new_complete"
-      AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
-    fi
+    $1="$new_complete"
+    AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
+  fi
 ])
 
 AC_DEFUN([BASIC_REMOVE_SYMBOLIC_LINKS],
 [
-    if test "x$OPENJDK_BUILD_OS" != xwindows; then
-        # Follow a chain of symbolic links. Use readlink
-        # where it exists, else fall back to horribly
-        # complicated shell code.
-        if test "x$READLINK_TESTED" != yes; then
-            # On MacOSX there is a readlink tool with a different
-            # purpose than the GNU readlink tool. Check the found readlink.
-            ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
-            if test "x$ISGNU" = x; then
-                 # A readlink that we do not know how to use.
-                 # Are there other non-GNU readlinks out there?
-                 READLINK_TESTED=yes
-                 READLINK=
-            fi
-        fi
+  if test "x$OPENJDK_BUILD_OS" != xwindows; then
+    # Follow a chain of symbolic links. Use readlink
+    # where it exists, else fall back to horribly
+    # complicated shell code.
+    if test "x$READLINK_TESTED" != yes; then
+      # On MacOSX there is a readlink tool with a different
+      # purpose than the GNU readlink tool. Check the found readlink.
+      ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
+      if test "x$ISGNU" = x; then
+        # A readlink that we do not know how to use.
+        # Are there other non-GNU readlinks out there?
+        READLINK_TESTED=yes
+        READLINK=
+      fi
+    fi
 
-        if test "x$READLINK" != x; then
-            $1=`$READLINK -f [$]$1`
-        else
-            # Save the current directory for restoring afterwards
-            STARTDIR=$PWD
-            COUNTER=0
-            sym_link_dir=`$DIRNAME [$]$1`
-            sym_link_file=`$BASENAME [$]$1`
-            cd $sym_link_dir
-            # Use -P flag to resolve symlinks in directories.
-            cd `$THEPWDCMD -P`
-            sym_link_dir=`$THEPWDCMD -P`
-            # Resolve file symlinks
-            while test $COUNTER -lt 20; do
-                ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
-                if test "x$ISLINK" == x; then
-                    # This is not a symbolic link! We are done!
-                    break
-                fi
-                # Again resolve directory symlinks since the target of the just found
-                # link could be in a different directory
-                cd `$DIRNAME $ISLINK`
-                sym_link_dir=`$THEPWDCMD -P`
-                sym_link_file=`$BASENAME $ISLINK`
-                let COUNTER=COUNTER+1
-            done
-            cd $STARTDIR
-            $1=$sym_link_dir/$sym_link_file
+    if test "x$READLINK" != x; then
+      $1=`$READLINK -f [$]$1`
+    else
+      # Save the current directory for restoring afterwards
+      STARTDIR=$PWD
+      COUNTER=0
+      sym_link_dir=`$DIRNAME [$]$1`
+      sym_link_file=`$BASENAME [$]$1`
+      cd $sym_link_dir
+      # Use -P flag to resolve symlinks in directories.
+      cd `$THEPWDCMD -P`
+      sym_link_dir=`$THEPWDCMD -P`
+      # Resolve file symlinks
+      while test $COUNTER -lt 20; do
+        ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
+        if test "x$ISLINK" == x; then
+          # This is not a symbolic link! We are done!
+          break
         fi
+        # Again resolve directory symlinks since the target of the just found
+        # link could be in a different directory
+        cd `$DIRNAME $ISLINK`
+        sym_link_dir=`$THEPWDCMD -P`
+        sym_link_file=`$BASENAME $ISLINK`
+        let COUNTER=COUNTER+1
+      done
+      cd $STARTDIR
+      $1=$sym_link_dir/$sym_link_file
     fi
+  fi
 ])
 
 # Register a --with argument but mark it as deprecated
@@ -214,12 +214,12 @@
 
 AC_DEFUN_ONCE([BASIC_INIT],
 [
-# Save the original command line. This is passed to us by the wrapper configure script.
-AC_SUBST(CONFIGURE_COMMAND_LINE)
-DATE_WHEN_CONFIGURED=`LANG=C date`
-AC_SUBST(DATE_WHEN_CONFIGURED)
-AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
-AC_MSG_NOTICE([configure script generated at timestamp $DATE_WHEN_GENERATED.])
+  # Save the original command line. This is passed to us by the wrapper configure script.
+  AC_SUBST(CONFIGURE_COMMAND_LINE)
+  DATE_WHEN_CONFIGURED=`LANG=C date`
+  AC_SUBST(DATE_WHEN_CONFIGURED)
+  AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
+  AC_MSG_NOTICE([configure script generated at timestamp $DATE_WHEN_GENERATED.])
 ])
 
 # Test that variable $1 denoting a program is not empty. If empty, exit with an error.
@@ -227,15 +227,15 @@
 # $2: executable name to print in warning (optional)
 AC_DEFUN([BASIC_CHECK_NONEMPTY],
 [
-    if test "x[$]$1" = x; then
-        if test "x$2" = x; then
-          PROG_NAME=translit($1,A-Z,a-z)
-        else
-          PROG_NAME=$2
-        fi
-        AC_MSG_NOTICE([Could not find $PROG_NAME!])
-        AC_MSG_ERROR([Cannot continue])
+  if test "x[$]$1" = x; then
+    if test "x$2" = x; then
+      PROG_NAME=translit($1,A-Z,a-z)
+    else
+      PROG_NAME=$2
     fi
+    AC_MSG_NOTICE([Could not find $PROG_NAME!])
+    AC_MSG_ERROR([Cannot continue])
+  fi
 ])
 
 # Does AC_PATH_PROG followed by BASIC_CHECK_NONEMPTY.
@@ -244,8 +244,8 @@
 # $2: executable name to look for
 AC_DEFUN([BASIC_REQUIRE_PROG],
 [
-    AC_PATH_PROGS($1, $2)
-    BASIC_CHECK_NONEMPTY($1, $2)
+  AC_PATH_PROGS($1, $2)
+  BASIC_CHECK_NONEMPTY($1, $2)
 ])
 
 # Setup the most fundamental tools that relies on not much else to set up,
@@ -253,171 +253,171 @@
 AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
 [
 
-# Start with tools that do not need have cross compilation support
-# and can be expected to be found in the default PATH. These tools are
-# used by configure. Nor are these tools expected to be found in the
-# devkit from the builddeps server either, since they are
-# needed to download the devkit.
+  # Start with tools that do not need have cross compilation support
+  # and can be expected to be found in the default PATH. These tools are
+  # used by configure. Nor are these tools expected to be found in the
+  # devkit from the builddeps server either, since they are
+  # needed to download the devkit.
 
-# First are all the simple required tools.
-BASIC_REQUIRE_PROG(BASENAME, basename)
-BASIC_REQUIRE_PROG(BASH, bash)
-BASIC_REQUIRE_PROG(CAT, cat)
-BASIC_REQUIRE_PROG(CHMOD, chmod)
-BASIC_REQUIRE_PROG(CMP, cmp)
-BASIC_REQUIRE_PROG(COMM, comm)
-BASIC_REQUIRE_PROG(CP, cp)
-BASIC_REQUIRE_PROG(CPIO, cpio)
-BASIC_REQUIRE_PROG(CUT, cut)
-BASIC_REQUIRE_PROG(DATE, date)
-BASIC_REQUIRE_PROG(DIFF, [gdiff diff])
-BASIC_REQUIRE_PROG(DIRNAME, dirname)
-BASIC_REQUIRE_PROG(ECHO, echo)
-BASIC_REQUIRE_PROG(EXPR, expr)
-BASIC_REQUIRE_PROG(FILE, file)
-BASIC_REQUIRE_PROG(FIND, find)
-BASIC_REQUIRE_PROG(HEAD, head)
-BASIC_REQUIRE_PROG(LN, ln)
-BASIC_REQUIRE_PROG(LS, ls)
-BASIC_REQUIRE_PROG(MKDIR, mkdir)
-BASIC_REQUIRE_PROG(MKTEMP, mktemp)
-BASIC_REQUIRE_PROG(MV, mv)
-BASIC_REQUIRE_PROG(PRINTF, printf)
-BASIC_REQUIRE_PROG(RM, rm)
-BASIC_REQUIRE_PROG(SH, sh)
-BASIC_REQUIRE_PROG(SORT, sort)
-BASIC_REQUIRE_PROG(TAIL, tail)
-BASIC_REQUIRE_PROG(TAR, tar)
-BASIC_REQUIRE_PROG(TEE, tee)
-BASIC_REQUIRE_PROG(TOUCH, touch)
-BASIC_REQUIRE_PROG(TR, tr)
-BASIC_REQUIRE_PROG(UNAME, uname)
-BASIC_REQUIRE_PROG(UNIQ, uniq)
-BASIC_REQUIRE_PROG(WC, wc)
-BASIC_REQUIRE_PROG(WHICH, which)
-BASIC_REQUIRE_PROG(XARGS, xargs)
+  # First are all the simple required tools.
+  BASIC_REQUIRE_PROG(BASENAME, basename)
+  BASIC_REQUIRE_PROG(BASH, bash)
+  BASIC_REQUIRE_PROG(CAT, cat)
+  BASIC_REQUIRE_PROG(CHMOD, chmod)
+  BASIC_REQUIRE_PROG(CMP, cmp)
+  BASIC_REQUIRE_PROG(COMM, comm)
+  BASIC_REQUIRE_PROG(CP, cp)
+  BASIC_REQUIRE_PROG(CPIO, cpio)
+  BASIC_REQUIRE_PROG(CUT, cut)
+  BASIC_REQUIRE_PROG(DATE, date)
+  BASIC_REQUIRE_PROG(DIFF, [gdiff diff])
+  BASIC_REQUIRE_PROG(DIRNAME, dirname)
+  BASIC_REQUIRE_PROG(ECHO, echo)
+  BASIC_REQUIRE_PROG(EXPR, expr)
+  BASIC_REQUIRE_PROG(FILE, file)
+  BASIC_REQUIRE_PROG(FIND, find)
+  BASIC_REQUIRE_PROG(HEAD, head)
+  BASIC_REQUIRE_PROG(LN, ln)
+  BASIC_REQUIRE_PROG(LS, ls)
+  BASIC_REQUIRE_PROG(MKDIR, mkdir)
+  BASIC_REQUIRE_PROG(MKTEMP, mktemp)
+  BASIC_REQUIRE_PROG(MV, mv)
+  BASIC_REQUIRE_PROG(PRINTF, printf)
+  BASIC_REQUIRE_PROG(RM, rm)
+  BASIC_REQUIRE_PROG(SH, sh)
+  BASIC_REQUIRE_PROG(SORT, sort)
+  BASIC_REQUIRE_PROG(TAIL, tail)
+  BASIC_REQUIRE_PROG(TAR, tar)
+  BASIC_REQUIRE_PROG(TEE, tee)
+  BASIC_REQUIRE_PROG(TOUCH, touch)
+  BASIC_REQUIRE_PROG(TR, tr)
+  BASIC_REQUIRE_PROG(UNAME, uname)
+  BASIC_REQUIRE_PROG(UNIQ, uniq)
+  BASIC_REQUIRE_PROG(WC, wc)
+  BASIC_REQUIRE_PROG(WHICH, which)
+  BASIC_REQUIRE_PROG(XARGS, xargs)
 
-# Then required tools that require some special treatment.
-AC_PROG_AWK
-BASIC_CHECK_NONEMPTY(AWK)
-AC_PROG_GREP
-BASIC_CHECK_NONEMPTY(GREP)
-AC_PROG_EGREP
-BASIC_CHECK_NONEMPTY(EGREP)
-AC_PROG_FGREP
-BASIC_CHECK_NONEMPTY(FGREP)
-AC_PROG_SED
-BASIC_CHECK_NONEMPTY(SED)
+  # Then required tools that require some special treatment.
+  AC_PROG_AWK
+  BASIC_CHECK_NONEMPTY(AWK)
+  AC_PROG_GREP
+  BASIC_CHECK_NONEMPTY(GREP)
+  AC_PROG_EGREP
+  BASIC_CHECK_NONEMPTY(EGREP)
+  AC_PROG_FGREP
+  BASIC_CHECK_NONEMPTY(FGREP)
+  AC_PROG_SED
+  BASIC_CHECK_NONEMPTY(SED)
 
-AC_PATH_PROGS(NAWK, [nawk gawk awk])
-BASIC_CHECK_NONEMPTY(NAWK)
+  AC_PATH_PROGS(NAWK, [nawk gawk awk])
+  BASIC_CHECK_NONEMPTY(NAWK)
 
-# Always force rm.
-RM="$RM -f"
+  # Always force rm.
+  RM="$RM -f"
 
-# pwd behaves differently on various platforms and some don't support the -L flag.
-# Always use the bash builtin pwd to get uniform behavior.
-THEPWDCMD=pwd
+  # pwd behaves differently on various platforms and some don't support the -L flag.
+  # Always use the bash builtin pwd to get uniform behavior.
+  THEPWDCMD=pwd
 
-# These are not required on all platforms
-AC_PATH_PROG(CYGPATH, cygpath)
-AC_PATH_PROG(READLINK, readlink)
-AC_PATH_PROG(DF, df)
-AC_PATH_PROG(SETFILE, SetFile)
+  # These are not required on all platforms
+  AC_PATH_PROG(CYGPATH, cygpath)
+  AC_PATH_PROG(READLINK, readlink)
+  AC_PATH_PROG(DF, df)
+  AC_PATH_PROG(SETFILE, SetFile)
 ])
 
 # Setup basic configuration paths, and platform-specific stuff related to PATHs.
 AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
 [
-# Locate the directory of this script.
-SCRIPT="[$]0"
-AUTOCONF_DIR=`cd \`$DIRNAME $SCRIPT\`; $THEPWDCMD -L`
+  # Locate the directory of this script.
+  SCRIPT="[$]0"
+  AUTOCONF_DIR=`cd \`$DIRNAME $SCRIPT\`; $THEPWDCMD -L`
 
-# Where is the source? It is located two levels above the configure script.
-CURDIR="$PWD"
-cd "$AUTOCONF_DIR/../.."
-SRC_ROOT="`$THEPWDCMD -L`"
+  # Where is the source? It is located two levels above the configure script.
+  CURDIR="$PWD"
+  cd "$AUTOCONF_DIR/../.."
+  SRC_ROOT="`$THEPWDCMD -L`"
 
-if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  PATH_SEP=";"
-  BASIC_CHECK_PATHS_WINDOWS
-else
-  PATH_SEP=":"
-fi
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    PATH_SEP=";"
+    BASIC_CHECK_PATHS_WINDOWS
+  else
+    PATH_SEP=":"
+  fi
 
-AC_SUBST(SRC_ROOT)
-AC_SUBST(PATH_SEP)
-cd "$CURDIR"
+  AC_SUBST(SRC_ROOT)
+  AC_SUBST(PATH_SEP)
+  cd "$CURDIR"
 
-BASIC_FIXUP_PATH(SRC_ROOT)
-BASIC_FIXUP_PATH(CURDIR)
+  BASIC_FIXUP_PATH(SRC_ROOT)
+  BASIC_FIXUP_PATH(CURDIR)
 
-if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
+  if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
     # Add extra search paths on solaris for utilities like ar and as etc...
     PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin"
-fi
+  fi
 
-# You can force the sys-root if the sys-root encoded into the cross compiler tools
-# is not correct.
-AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
-  [pass this sys-root to the compilers and tools (for cross-compiling)])])
+  # You can force the sys-root if the sys-root encoded into the cross compiler tools
+  # is not correct.
+  AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
+      [pass this sys-root to the compilers and tools (for cross-compiling)])])
 
-if test "x$with_sys_root" != x; then
-  SYS_ROOT=$with_sys_root
-else
-  SYS_ROOT=/
-fi
-AC_SUBST(SYS_ROOT)
+  if test "x$with_sys_root" != x; then
+    SYS_ROOT=$with_sys_root
+  else
+    SYS_ROOT=/
+  fi
+  AC_SUBST(SYS_ROOT)
 
-AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
-  [search this directory for compilers and tools (for cross-compiling)])], 
-  [TOOLS_DIR=$with_tools_dir]
-)
+  AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
+      [search this directory for compilers and tools (for cross-compiling)])],
+      [TOOLS_DIR=$with_tools_dir]
+  )
 
-AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
-  [use this directory as base for tools-dir and sys-root (for cross-compiling)])],
-  [
-    if test "x$with_sys_root" != x; then
-      AC_MSG_ERROR([Cannot specify both --with-devkit and --with-sys-root at the same time])
-    fi
-    BASIC_FIXUP_PATH([with_devkit])
-    BASIC_APPEND_TO_PATH([TOOLS_DIR],$with_devkit/bin)
-    if test -d "$with_devkit/$host_alias/libc"; then
-      SYS_ROOT=$with_devkit/$host_alias/libc
-    elif test -d "$with_devkit/$host/sys-root"; then
-      SYS_ROOT=$with_devkit/$host/sys-root
-    fi
-  ])
+  AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
+      [use this directory as base for tools-dir and sys-root (for cross-compiling)])],
+      [
+        if test "x$with_sys_root" != x; then
+          AC_MSG_ERROR([Cannot specify both --with-devkit and --with-sys-root at the same time])
+        fi
+        BASIC_FIXUP_PATH([with_devkit])
+        BASIC_APPEND_TO_PATH([TOOLS_DIR],$with_devkit/bin)
+        if test -d "$with_devkit/$host_alias/libc"; then
+          SYS_ROOT=$with_devkit/$host_alias/libc
+        elif test -d "$with_devkit/$host/sys-root"; then
+          SYS_ROOT=$with_devkit/$host/sys-root
+        fi
+      ])
 ])
 
 AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
 [
 
-AC_ARG_WITH(conf-name, [AS_HELP_STRING([--with-conf-name],
-	[use this as the name of the configuration @<:@generated from important configuration options@:>@])],
-        [ CONF_NAME=${with_conf_name} ])
+  AC_ARG_WITH(conf-name, [AS_HELP_STRING([--with-conf-name],
+      [use this as the name of the configuration @<:@generated from important configuration options@:>@])],
+      [ CONF_NAME=${with_conf_name} ])
 
-# Test from where we are running configure, in or outside of src root.
-if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" \
-        || test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" \
-        || test "x$CURDIR" = "x$SRC_ROOT/common/makefiles" ; then
+  # Test from where we are running configure, in or outside of src root.
+  if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" \
+      || test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" \
+      || test "x$CURDIR" = "x$SRC_ROOT/common/makefiles" ; then
     # We are running configure from the src root.
     # Create a default ./build/target-variant-debuglevel output root.
     if test "x${CONF_NAME}" = x; then
-        CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}"
+      CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}"
     fi
     OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
     $MKDIR -p "$OUTPUT_ROOT"
     if test ! -d "$OUTPUT_ROOT"; then
-        AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT])
+      AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT])
     fi
-else
+  else
     # We are running configure from outside of the src dir.
     # Then use the current directory as output dir!
     # If configuration is situated in normal build directory, just use the build
     # directory name as configuration name, otherwise use the complete path.
     if test "x${CONF_NAME}" = x; then
-        CONF_NAME=`$ECHO $CURDIR | $SED -e "s!^${SRC_ROOT}/build/!!"`
+      CONF_NAME=`$ECHO $CURDIR | $SED -e "s!^${SRC_ROOT}/build/!!"`
     fi
     OUTPUT_ROOT="$CURDIR"
 
@@ -428,10 +428,10 @@
       # If we have a spec.gmk, we have run here before and we are OK. Otherwise, check for
       # other files
       files_present=`$LS $OUTPUT_ROOT`
-      # Configure has already touched config.log and confdefs.h in the current dir when this check 
+      # Configure has already touched config.log and confdefs.h in the current dir when this check
       # is performed.
       filtered_files=`$ECHO "$files_present" | $SED -e 's/config.log//g' -e 's/confdefs.h//g' -e 's/ //g' \
-                                             | $TR -d '\n'`
+      | $TR -d '\n'`
       if test "x$filtered_files" != x; then
         AC_MSG_NOTICE([Current directory is $CURDIR.])
         AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
@@ -443,46 +443,46 @@
         AC_MSG_ERROR([Will not continue creating configuration in $CURDIR])
       fi
     fi
-fi
-AC_MSG_CHECKING([what configuration name to use])
-AC_MSG_RESULT([$CONF_NAME])
+  fi
+  AC_MSG_CHECKING([what configuration name to use])
+  AC_MSG_RESULT([$CONF_NAME])
 
-BASIC_FIXUP_PATH(OUTPUT_ROOT)
+  BASIC_FIXUP_PATH(OUTPUT_ROOT)
 
-AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk)
-AC_SUBST(CONF_NAME, $CONF_NAME)
-AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT)
+  AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk)
+  AC_SUBST(CONF_NAME, $CONF_NAME)
+  AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT)
 
-# Most of the probed defines are put into config.h
-AC_CONFIG_HEADERS([$OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in])
-# The spec.gmk file contains all variables for the make system.
-AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
-# The hotspot-spec.gmk file contains legacy variables for the hotspot make system.
-AC_CONFIG_FILES([$OUTPUT_ROOT/hotspot-spec.gmk:$AUTOCONF_DIR/hotspot-spec.gmk.in])
-# The bootcycle-spec.gmk file contains support for boot cycle builds.
-AC_CONFIG_FILES([$OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
-# The compare.sh is used to compare the build output to other builds.
-AC_CONFIG_FILES([$OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in])
-# Spec.sh is currently used by compare-objects.sh
-AC_CONFIG_FILES([$OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in])
-# The generated Makefile knows where the spec.gmk is and where the source is.
-# You can run make from the OUTPUT_ROOT, or from the top-level Makefile
-# which will look for generated configurations
-AC_CONFIG_FILES([$OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in])
+  # Most of the probed defines are put into config.h
+  AC_CONFIG_HEADERS([$OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in])
+  # The spec.gmk file contains all variables for the make system.
+  AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
+  # The hotspot-spec.gmk file contains legacy variables for the hotspot make system.
+  AC_CONFIG_FILES([$OUTPUT_ROOT/hotspot-spec.gmk:$AUTOCONF_DIR/hotspot-spec.gmk.in])
+  # The bootcycle-spec.gmk file contains support for boot cycle builds.
+  AC_CONFIG_FILES([$OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
+  # The compare.sh is used to compare the build output to other builds.
+  AC_CONFIG_FILES([$OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in])
+  # Spec.sh is currently used by compare-objects.sh
+  AC_CONFIG_FILES([$OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in])
+  # The generated Makefile knows where the spec.gmk is and where the source is.
+  # You can run make from the OUTPUT_ROOT, or from the top-level Makefile
+  # which will look for generated configurations
+  AC_CONFIG_FILES([$OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in])
 
-# Save the arguments given to us
-echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments
+  # Save the arguments given to us
+  echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments
 ])
 
 AC_DEFUN_ONCE([BASIC_SETUP_LOGGING],
 [
-# Setup default logging of stdout and stderr to build.log in the output root.
-BUILD_LOG='$(OUTPUT_ROOT)/build.log'
-BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
-BUILD_LOG_WRAPPER='$(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)'
-AC_SUBST(BUILD_LOG)
-AC_SUBST(BUILD_LOG_PREVIOUS)
-AC_SUBST(BUILD_LOG_WRAPPER)
+  # Setup default logging of stdout and stderr to build.log in the output root.
+  BUILD_LOG='$(OUTPUT_ROOT)/build.log'
+  BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
+  BUILD_LOG_WRAPPER='$(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)'
+  AC_SUBST(BUILD_LOG)
+  AC_SUBST(BUILD_LOG_PREVIOUS)
+  AC_SUBST(BUILD_LOG_WRAPPER)
 ])
 
 
@@ -581,85 +581,85 @@
 
 AC_DEFUN([BASIC_CHECK_FIND_DELETE],
 [
-    # Test if find supports -delete
-    AC_MSG_CHECKING([if find supports -delete])
-    FIND_DELETE="-delete"
+  # Test if find supports -delete
+  AC_MSG_CHECKING([if find supports -delete])
+  FIND_DELETE="-delete"
 
-    DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
+  DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
 
-    echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
+  echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
 
-    TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
-    if test -f $DELETEDIR/TestIfFindSupportsDelete; then
-        # No, it does not.
-        rm $DELETEDIR/TestIfFindSupportsDelete
-        FIND_DELETE="-exec rm \{\} \+"
-        AC_MSG_RESULT([no])    
-    else
-        AC_MSG_RESULT([yes])    
-    fi
-    rmdir $DELETEDIR
-    AC_SUBST(FIND_DELETE)
+  TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
+  if test -f $DELETEDIR/TestIfFindSupportsDelete; then
+    # No, it does not.
+    rm $DELETEDIR/TestIfFindSupportsDelete
+    FIND_DELETE="-exec rm \{\} \+"
+    AC_MSG_RESULT([no])
+  else
+    AC_MSG_RESULT([yes])
+  fi
+  rmdir $DELETEDIR
+  AC_SUBST(FIND_DELETE)
 ])
 
 AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
 [
-BASIC_CHECK_GNU_MAKE
+  BASIC_CHECK_GNU_MAKE
 
-BASIC_CHECK_FIND_DELETE
+  BASIC_CHECK_FIND_DELETE
 
-# These tools might not be installed by default, 
-# need hint on how to install them.
-BASIC_REQUIRE_PROG(UNZIP, unzip)
-BASIC_REQUIRE_PROG(ZIP, zip)
+  # These tools might not be installed by default,
+  # need hint on how to install them.
+  BASIC_REQUIRE_PROG(UNZIP, unzip)
+  BASIC_REQUIRE_PROG(ZIP, zip)
 
-# Non-required basic tools
+  # Non-required basic tools
 
-AC_PATH_PROG(LDD, ldd)
-if test "x$LDD" = "x"; then
+  AC_PATH_PROG(LDD, ldd)
+  if test "x$LDD" = "x"; then
     # List shared lib dependencies is used for
     # debug output and checking for forbidden dependencies.
     # We can build without it.
     LDD="true"
-fi
-AC_PATH_PROG(OTOOL, otool)
-if test "x$OTOOL" = "x"; then
-   OTOOL="true"
-fi
-AC_PATH_PROGS(READELF, [readelf greadelf])
-AC_PATH_PROG(HG, hg)
-AC_PATH_PROG(STAT, stat)
-AC_PATH_PROG(TIME, time)
-# Check if it's GNU time
-IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
-if test "x$IS_GNU_TIME" != x; then
-  IS_GNU_TIME=yes
-else
-  IS_GNU_TIME=no
-fi
-AC_SUBST(IS_GNU_TIME)
+  fi
+  AC_PATH_PROG(OTOOL, otool)
+  if test "x$OTOOL" = "x"; then
+    OTOOL="true"
+  fi
+  AC_PATH_PROGS(READELF, [readelf greadelf])
+  AC_PATH_PROG(HG, hg)
+  AC_PATH_PROG(STAT, stat)
+  AC_PATH_PROG(TIME, time)
+  # Check if it's GNU time
+  IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
+  if test "x$IS_GNU_TIME" != x; then
+    IS_GNU_TIME=yes
+  else
+    IS_GNU_TIME=no
+  fi
+  AC_SUBST(IS_GNU_TIME)
 
-if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  BASIC_REQUIRE_PROG(COMM, comm)
-fi
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    BASIC_REQUIRE_PROG(COMM, comm)
+  fi
 
-if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-  BASIC_REQUIRE_PROG(XATTR, xattr)
-  AC_PATH_PROG(CODESIGN, codesign)
-  if test "x$CODESIGN" != "x"; then
-    # Verify that the openjdk_codesign certificate is present
-    AC_MSG_CHECKING([if openjdk_codesign certificate is present])
-    rm -f codesign-testfile
-    touch codesign-testfile
-    codesign -s openjdk_codesign codesign-testfile 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
-    rm -f codesign-testfile
-    if test "x$CODESIGN" = x; then
-      AC_MSG_RESULT([no])
-    else
-      AC_MSG_RESULT([yes])
+  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+    BASIC_REQUIRE_PROG(XATTR, xattr)
+    AC_PATH_PROG(CODESIGN, codesign)
+    if test "x$CODESIGN" != "x"; then
+      # Verify that the openjdk_codesign certificate is present
+      AC_MSG_CHECKING([if openjdk_codesign certificate is present])
+      rm -f codesign-testfile
+      touch codesign-testfile
+      codesign -s openjdk_codesign codesign-testfile 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
+      rm -f codesign-testfile
+      if test "x$CODESIGN" = x; then
+        AC_MSG_RESULT([no])
+      else
+        AC_MSG_RESULT([yes])
+      fi
     fi
   fi
-fi
 ])
 
 # Check if build directory is on local disk. If not possible to determine,
@@ -669,8 +669,8 @@
 # Argument 3: what to do otherwise (remote disk or failure)
 AC_DEFUN([BASIC_CHECK_DIR_ON_LOCAL_DISK],
 [
-	# df -l lists only local disks; if the given directory is not found then
-	# a non-zero exit code is given
+  # df -l lists only local disks; if the given directory is not found then
+  # a non-zero exit code is given
   if test "x$DF" = x; then
     if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
       # msys does not have df; use Windows "net use" instead.
@@ -707,32 +707,30 @@
 
 AC_DEFUN_ONCE([BASIC_TEST_USABILITY_ISSUES],
 [
+  AC_MSG_CHECKING([if build directory is on local disk])
+  BASIC_CHECK_DIR_ON_LOCAL_DISK($OUTPUT_ROOT,
+      [OUTPUT_DIR_IS_LOCAL="yes"],
+      [OUTPUT_DIR_IS_LOCAL="no"])
+  AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
 
-AC_MSG_CHECKING([if build directory is on local disk])
-BASIC_CHECK_DIR_ON_LOCAL_DISK($OUTPUT_ROOT,
-  [OUTPUT_DIR_IS_LOCAL="yes"],
-  [OUTPUT_DIR_IS_LOCAL="no"])
-AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
+  BASIC_CHECK_SRC_PERMS
 
-BASIC_CHECK_SRC_PERMS
-
-# Check if the user has any old-style ALT_ variables set.
-FOUND_ALT_VARIABLES=`env | grep ^ALT_`
+  # Check if the user has any old-style ALT_ variables set.
+  FOUND_ALT_VARIABLES=`env | grep ^ALT_`
 
-# Before generating output files, test if they exist. If they do, this is a reconfigure.
-# Since we can't properly handle the dependencies for this, warn the user about the situation
-if test -e $OUTPUT_ROOT/spec.gmk; then
-  IS_RECONFIGURE=yes
-else
-  IS_RECONFIGURE=no
-fi
+  # Before generating output files, test if they exist. If they do, this is a reconfigure.
+  # Since we can't properly handle the dependencies for this, warn the user about the situation
+  if test -e $OUTPUT_ROOT/spec.gmk; then
+    IS_RECONFIGURE=yes
+  else
+    IS_RECONFIGURE=no
+  fi
 
-if test -e $SRC_ROOT/build/.hide-configure-performance-hints; then
-  HIDE_PERFORMANCE_HINTS=yes
-else
-  HIDE_PERFORMANCE_HINTS=no
-  # Hide it the next time around...
-  $TOUCH $SRC_ROOT/build/.hide-configure-performance-hints > /dev/null 2>&1
-fi
-
+  if test -e $SRC_ROOT/build/.hide-configure-performance-hints; then
+    HIDE_PERFORMANCE_HINTS=yes
+  else
+    HIDE_PERFORMANCE_HINTS=no
+    # Hide it the next time around...
+    $TOUCH $SRC_ROOT/build/.hide-configure-performance-hints > /dev/null 2>&1
+  fi
 ])
--- a/common/autoconf/basics_windows.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/basics_windows.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -145,7 +145,7 @@
     # Not in mixed or Windows style, start by that.
     new_path=`cmd //c echo $path`
   fi
-  
+
   BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
   BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
   if test "x$path" != "x$new_path"; then
@@ -175,8 +175,8 @@
   # 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
+      && 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
@@ -191,8 +191,8 @@
     # 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
+        && 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
@@ -218,9 +218,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       AC_MSG_NOTICE([The path of $1, which resolves as "$new_path", is invalid.])
       AC_MSG_NOTICE([Neither "$new_path" nor "$new_path.exe/cmd" can be found])
@@ -254,7 +254,7 @@
 
   # 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,
@@ -264,9 +264,9 @@
     arguments="EOL"
     new_path="$path"
     BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
-    
+
     new_path=`$WHICH "$new_path" 2> /dev/null`
-    
+
     if test "x$new_path" = x; then
       # It's still not found. Now this is an unrecoverable error.
       AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
@@ -302,7 +302,7 @@
 [
   SRC_ROOT_LENGTH=`$THEPWDCMD -L|$WC -m`
   if test $SRC_ROOT_LENGTH -gt 100; then
-      AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
+    AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
   fi
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -311,14 +311,14 @@
     AC_MSG_RESULT([$CYGWIN_VERSION])
     WINDOWS_ENV_VENDOR='cygwin'
     WINDOWS_ENV_VERSION="$CYGWIN_VERSION"
-    
+
     CYGWIN_VERSION_OK=`$ECHO $CYGWIN_VERSION | $GREP ^1.7.`
     if test "x$CYGWIN_VERSION_OK" = x; then
       AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
       AC_MSG_ERROR([Cannot continue])
     fi
     if test "x$CYGPATH" = x; then
-        AC_MSG_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path])
+      AC_MSG_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path])
     fi
     AC_MSG_CHECKING([cygwin root directory as unix-style path])
     # The cmd output ends with Windows line endings (CR/LF), the grep command will strip that away
@@ -329,13 +329,13 @@
     WINDOWS_ENV_ROOT_PATH="$CYGWIN_ROOT_PATH"
     test_cygdrive_prefix=`$ECHO $CYGWIN_ROOT_PATH | $GREP ^/cygdrive/`
     if test "x$test_cygdrive_prefix" = x; then
-        AC_MSG_ERROR([Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c.])
+      AC_MSG_ERROR([Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c.])
     fi
   elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
     AC_MSG_CHECKING([msys release])
     MSYS_VERSION=`$UNAME -r`
     AC_MSG_RESULT([$MSYS_VERSION])
-    
+
     WINDOWS_ENV_VENDOR='msys'
     WINDOWS_ENV_VERSION="$MSYS_VERSION"
 
@@ -367,12 +367,12 @@
 
 AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
 [
-# When using cygwin or msys, we need a wrapper binary that renames
-# /cygdrive/c/ arguments into c:/ arguments and peeks into
-# @files and rewrites these too! This wrapper binary is
-# called fixpath.
-FIXPATH=
-if test "x$OPENJDK_BUILD_OS" = xwindows; then
+  # When using cygwin or msys, we need a wrapper binary that renames
+  # /cygdrive/c/ arguments into c:/ arguments and peeks into
+  # @files and rewrites these too! This wrapper binary is
+  # called fixpath.
+  FIXPATH=
+  if test "x$OPENJDK_BUILD_OS" = xwindows; then
     AC_MSG_CHECKING([if fixpath can be created])
     FIXPATH_SRC="$SRC_ROOT/common/src/fixpath.c"
     FIXPATH_BIN="$OUTPUT_ROOT/fixpath.exe"
@@ -389,7 +389,7 @@
       # @ was chosen as separator to minimize risk of other tools messing around with it
       all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" | tr ' ' '\n' | grep '^/./' | sort | uniq`
       fixpath_argument_list=`echo $all_unique_prefixes  | tr ' ' '@'`
-      
+
       FIXPATH="$OUTPUT_ROOT/fixpath -m$fixpath_argument_list"
     fi
     rm -f $OUTPUT_ROOT/fixpath*
@@ -397,24 +397,24 @@
     $CC $FIXPATH_SRC -Fe$FIXPATH_BIN > $OUTPUT_ROOT/fixpath1.log 2>&1
     cd $CURDIR
 
-    if test ! -x $OUTPUT_ROOT/fixpath.exe; then 
-        AC_MSG_RESULT([no])
-        cat $OUTPUT_ROOT/fixpath1.log
-        AC_MSG_ERROR([Could not create $OUTPUT_ROOT/fixpath.exe])
+    if test ! -x $OUTPUT_ROOT/fixpath.exe; then
+      AC_MSG_RESULT([no])
+      cat $OUTPUT_ROOT/fixpath1.log
+      AC_MSG_ERROR([Could not create $OUTPUT_ROOT/fixpath.exe])
     fi
     AC_MSG_RESULT([yes])
     AC_MSG_CHECKING([if fixpath.exe works])
     cd $OUTPUT_ROOT
-    $FIXPATH $CC $SRC_ROOT/common/src/fixpath.c -Fe$OUTPUT_ROOT/fixpath2.exe > $OUTPUT_ROOT/fixpath2.log 2>&1 
+    $FIXPATH $CC $SRC_ROOT/common/src/fixpath.c -Fe$OUTPUT_ROOT/fixpath2.exe > $OUTPUT_ROOT/fixpath2.log 2>&1
     cd $CURDIR
-    if test ! -x $OUTPUT_ROOT/fixpath2.exe; then 
-        AC_MSG_RESULT([no])
-        cat $OUTPUT_ROOT/fixpath2.log
-        AC_MSG_ERROR([fixpath did not work!])
+    if test ! -x $OUTPUT_ROOT/fixpath2.exe; then
+      AC_MSG_RESULT([no])
+      cat $OUTPUT_ROOT/fixpath2.log
+      AC_MSG_ERROR([fixpath did not work!])
     fi
     AC_MSG_RESULT([yes])
     rm -f $OUTPUT_ROOT/fixpath?.??? $OUTPUT_ROOT/fixpath.obj
-fi
+  fi
 
-AC_SUBST(FIXPATH)
+  AC_SUBST(FIXPATH)
 ])
--- a/common/autoconf/boot-jdk.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/boot-jdk.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -44,7 +44,7 @@
           AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/javac; ignoring])
           AC_MSG_NOTICE([(This might be an JRE instead of an JDK)])
           BOOT_JDK_FOUND=no
-        else 
+        else
           # Do we have an rt.jar? (On MacOSX it is called classes.jar)
           if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then
             AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring])
@@ -79,70 +79,70 @@
 # Test: Is bootjdk explicitely set by command line arguments?
 AC_DEFUN([BOOTJDK_CHECK_ARGUMENTS],
 [
-if test "x$with_boot_jdk" != x; then
+  if test "x$with_boot_jdk" != x; then
     BOOT_JDK=$with_boot_jdk
     BOOT_JDK_FOUND=maybe
     AC_MSG_NOTICE([Found potential Boot JDK using configure arguments])
-fi
+  fi
 ])
 
 # Test: Is bootjdk available from builddeps?
 AC_DEFUN([BOOTJDK_CHECK_BUILDDEPS],
 [
-    BDEPS_CHECK_MODULE(BOOT_JDK, bootjdk, xxx, [BOOT_JDK_FOUND=maybe], [BOOT_JDK_FOUND=no])
+  BDEPS_CHECK_MODULE(BOOT_JDK, bootjdk, xxx, [BOOT_JDK_FOUND=maybe], [BOOT_JDK_FOUND=no])
 ])
 
 # Test: Is $JAVA_HOME set?
 AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME],
 [
-    if test "x$JAVA_HOME" != x; then
-        JAVA_HOME_PROCESSED="$JAVA_HOME"
-        BASIC_FIXUP_PATH(JAVA_HOME_PROCESSED)
-        if test ! -d "$JAVA_HOME_PROCESSED"; then
-            AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
-        else
-          # Aha, the user has set a JAVA_HOME
-          # let us use that as the Boot JDK.
-          BOOT_JDK="$JAVA_HOME_PROCESSED"
-          BOOT_JDK_FOUND=maybe
-          AC_MSG_NOTICE([Found potential Boot JDK using JAVA_HOME])
-        fi
+  if test "x$JAVA_HOME" != x; then
+    JAVA_HOME_PROCESSED="$JAVA_HOME"
+    BASIC_FIXUP_PATH(JAVA_HOME_PROCESSED)
+    if test ! -d "$JAVA_HOME_PROCESSED"; then
+      AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
+    else
+      # Aha, the user has set a JAVA_HOME
+      # let us use that as the Boot JDK.
+      BOOT_JDK="$JAVA_HOME_PROCESSED"
+      BOOT_JDK_FOUND=maybe
+      AC_MSG_NOTICE([Found potential Boot JDK using JAVA_HOME])
     fi
+  fi
 ])
 
 # Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
 AC_DEFUN([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK],
 [
-    AC_PATH_PROG(JAVAC_CHECK, javac)
-    AC_PATH_PROG(JAVA_CHECK, java)
-    BINARY="$JAVAC_CHECK"
-    if test "x$JAVAC_CHECK" = x; then
-        BINARY="$JAVA_CHECK"
+  AC_PATH_PROG(JAVAC_CHECK, javac)
+  AC_PATH_PROG(JAVA_CHECK, java)
+  BINARY="$JAVAC_CHECK"
+  if test "x$JAVAC_CHECK" = x; then
+    BINARY="$JAVA_CHECK"
+  fi
+  if test "x$BINARY" != x; then
+    # So there is a java(c) binary, it might be part of a JDK.
+    # Lets find the JDK/JRE directory by following symbolic links.
+    # Linux/GNU systems often have links from /usr/bin/java to
+    # /etc/alternatives/java to the real JDK binary.
+    BASIC_REMOVE_SYMBOLIC_LINKS(BINARY)
+    BOOT_JDK=`dirname "$BINARY"`
+    BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
+    if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
+      # Looks like we found ourselves an JDK
+      BOOT_JDK_FOUND=maybe
+      AC_MSG_NOTICE([Found potential Boot JDK using java(c) in PATH])
     fi
-    if test "x$BINARY" != x; then
-        # So there is a java(c) binary, it might be part of a JDK.
-        # Lets find the JDK/JRE directory by following symbolic links.
-        # Linux/GNU systems often have links from /usr/bin/java to 
-        # /etc/alternatives/java to the real JDK binary.
-        BASIC_REMOVE_SYMBOLIC_LINKS(BINARY)
-        BOOT_JDK=`dirname "$BINARY"`
-        BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
-        if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
-            # Looks like we found ourselves an JDK
-            BOOT_JDK_FOUND=maybe
-            AC_MSG_NOTICE([Found potential Boot JDK using java(c) in PATH])
-        fi
-    fi
+  fi
 ])
 
 # Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
 AC_DEFUN([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME],
 [
-    if test -x /usr/libexec/java_home; then
-        BOOT_JDK=`/usr/libexec/java_home`
-        BOOT_JDK_FOUND=maybe
-        AC_MSG_NOTICE([Found potential Boot JDK using /usr/libexec/java_home])
-    fi
+  if test -x /usr/libexec/java_home; then
+    BOOT_JDK=`/usr/libexec/java_home`
+    BOOT_JDK_FOUND=maybe
+    AC_MSG_NOTICE([Found potential Boot JDK using /usr/libexec/java_home])
+  fi
 ])
 
 # Look for a jdk in the given path. If there are multiple, try to select the newest.
@@ -204,123 +204,123 @@
   AC_MSG_CHECKING([for $2 in Boot JDK])
   $1=$BOOT_JDK/bin/$2
   if test ! -x [$]$1; then
-      AC_MSG_RESULT(not found)
-      AC_MSG_NOTICE([Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk])
-      AC_MSG_ERROR([Could not find $2 in the Boot JDK])
+    AC_MSG_RESULT(not found)
+    AC_MSG_NOTICE([Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk])
+    AC_MSG_ERROR([Could not find $2 in the Boot JDK])
   fi
   AC_MSG_RESULT(ok)
 ])
 
 ###############################################################################
 #
-# We need a Boot JDK to bootstrap the build. 
+# We need a Boot JDK to bootstrap the build.
 #
 
 AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
 [
-BOOT_JDK_FOUND=no
-AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk],
-    [path to Boot JDK (used to bootstrap build) @<:@probed@:>@])])
+  BOOT_JDK_FOUND=no
+  AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk],
+      [path to Boot JDK (used to bootstrap build) @<:@probed@:>@])])
 
-# We look for the Boot JDK through various means, going from more certain to
-# more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
-# we detected something (if so, the path to the jdk is in BOOT_JDK). But we 
-# must check if this is indeed valid; otherwise we'll continue looking.
+  # We look for the Boot JDK through various means, going from more certain to
+  # more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
+  # we detected something (if so, the path to the jdk is in BOOT_JDK). But we
+  # must check if this is indeed valid; otherwise we'll continue looking.
 
-# Test: Is bootjdk explicitely set by command line arguments?
-BOOTJDK_DO_CHECK([BOOTJDK_CHECK_ARGUMENTS])
-if test "x$with_boot_jdk" != x && test "x$BOOT_JDK_FOUND" = xno; then
-  # Having specified an argument which is incorrect will produce an instant failure;
-  # we should not go on looking
-  AC_MSG_ERROR([The path given by --with-boot-jdk does not contain a valid Boot JDK])
-fi
+  # Test: Is bootjdk explicitely set by command line arguments?
+  BOOTJDK_DO_CHECK([BOOTJDK_CHECK_ARGUMENTS])
+  if test "x$with_boot_jdk" != x && test "x$BOOT_JDK_FOUND" = xno; then
+    # Having specified an argument which is incorrect will produce an instant failure;
+    # we should not go on looking
+    AC_MSG_ERROR([The path given by --with-boot-jdk does not contain a valid Boot JDK])
+  fi
 
-# Test: Is bootjdk available from builddeps?
-BOOTJDK_DO_CHECK([BOOTJDK_CHECK_BUILDDEPS])
+  # Test: Is bootjdk available from builddeps?
+  BOOTJDK_DO_CHECK([BOOTJDK_CHECK_BUILDDEPS])
 
-# Test: Is $JAVA_HOME set?
-BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_HOME])
+  # Test: Is $JAVA_HOME set?
+  BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_HOME])
 
-# Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
-BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME])
+  # Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
+  BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME])
 
-# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
-BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK])
+  # Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
+  BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK])
 
-# Test: Is there a JDK installed in default, well-known locations?
-BOOTJDK_DO_CHECK([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS])
+  # Test: Is there a JDK installed in default, well-known locations?
+  BOOTJDK_DO_CHECK([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS])
 
-# If we haven't found anything yet, we've truly lost. Give up.
-if test "x$BOOT_JDK_FOUND" = xno; then
-  HELP_MSG_MISSING_DEPENDENCY([openjdk])
-  AC_MSG_NOTICE([Could not find a valid Boot JDK. $HELP_MSG])
-  AC_MSG_NOTICE([This might be fixed by explicitely setting --with-boot-jdk])
-  AC_MSG_ERROR([Cannot continue])
-fi
+  # If we haven't found anything yet, we've truly lost. Give up.
+  if test "x$BOOT_JDK_FOUND" = xno; then
+    HELP_MSG_MISSING_DEPENDENCY([openjdk])
+    AC_MSG_NOTICE([Could not find a valid Boot JDK. $HELP_MSG])
+    AC_MSG_NOTICE([This might be fixed by explicitely setting --with-boot-jdk])
+    AC_MSG_ERROR([Cannot continue])
+  fi
 
-# Setup proper paths for what we found
-BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar"
-if test ! -f "$BOOT_RTJAR"; then
+  # Setup proper paths for what we found
+  BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar"
+  if test ! -f "$BOOT_RTJAR"; then
     # On MacOSX it is called classes.jar
     BOOT_RTJAR="$BOOT_JDK/../Classes/classes.jar"
     if test -f "$BOOT_RTJAR"; then
-      # Remove the .. 
+      # Remove the ..
       BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}"
     fi
-fi
-BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar"
-BOOT_JDK="$BOOT_JDK"
-AC_SUBST(BOOT_RTJAR)
-AC_SUBST(BOOT_TOOLSJAR)
-AC_SUBST(BOOT_JDK)
+  fi
+  BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar"
+  BOOT_JDK="$BOOT_JDK"
+  AC_SUBST(BOOT_RTJAR)
+  AC_SUBST(BOOT_TOOLSJAR)
+  AC_SUBST(BOOT_JDK)
 
-# Setup tools from the Boot JDK.
-BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVA,java)
-BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC,javac)
-BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAH,javah)
-BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAP,javap)
-BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR,jar)
-BOOTJDK_CHECK_TOOL_IN_BOOTJDK(RMIC,rmic)
-BOOTJDK_CHECK_TOOL_IN_BOOTJDK(NATIVE2ASCII,native2ascii)
+  # Setup tools from the Boot JDK.
+  BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVA,java)
+  BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC,javac)
+  BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAH,javah)
+  BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAP,javap)
+  BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR,jar)
+  BOOTJDK_CHECK_TOOL_IN_BOOTJDK(RMIC,rmic)
+  BOOTJDK_CHECK_TOOL_IN_BOOTJDK(NATIVE2ASCII,native2ascii)
 
-# Finally, set some other options...
+  # Finally, set some other options...
 
-# When compiling code to be executed by the Boot JDK, force jdk7 compatibility.
-BOOT_JDK_SOURCETARGET="-source 7 -target 7"
-AC_SUBST(BOOT_JDK_SOURCETARGET)
-AC_SUBST(JAVAC_FLAGS)
+  # When compiling code to be executed by the Boot JDK, force jdk7 compatibility.
+  BOOT_JDK_SOURCETARGET="-source 7 -target 7"
+  AC_SUBST(BOOT_JDK_SOURCETARGET)
+  AC_SUBST(JAVAC_FLAGS)
 ])
 
 AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
 [
-##############################################################################
-#
-# Specify options for anything that is run with the Boot JDK.
-#
-AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
-	[specify JVM arguments to be passed to all invocations of the Boot JDK, overriding the default values,
-     e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
+  ##############################################################################
+  #
+  # Specify options for anything that is run with the Boot JDK.
+  #
+  AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
+  [specify JVM arguments to be passed to all invocations of the Boot JDK, overriding the default values,
+  e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
 
-if test "x$with_boot_jdk_jvmargs" = x; then
+  if test "x$with_boot_jdk_jvmargs" = x; then
     # Not all JVM:s accept the same arguments on the command line.
     # OpenJDK specific increase in thread stack for JDK build,
     # well more specifically, when running javac.
     if test "x$BUILD_NUM_BITS" = x32; then
-       STACK_SIZE=768
+      STACK_SIZE=768
     else
-       # Running Javac on a JVM on a 64-bit machine, the stack takes more space
-       # since 64-bit pointers are pushed on the stach. Apparently, we need
-       # to increase the stack space when javacing the JDK....
-       STACK_SIZE=1536
+      # Running Javac on a JVM on a 64-bit machine, the stack takes more space
+      # since 64-bit pointers are pushed on the stach. Apparently, we need
+      # to increase the stack space when javacing the JDK....
+      STACK_SIZE=1536
     fi
 
     # Minimum amount of heap memory.
     ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
     if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-        # Why does macosx need more heap? Its the huge JDK batch.
-        ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
+      # Why does macosx need more heap? Its the huge JDK batch.
+      ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
     else
-        ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA])
+      ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA])
     fi
     # When is adding -client something that speeds up the JVM?
     # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
@@ -329,7 +329,7 @@
     ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA])
     # Disable special log output when a debug build is used as Boot JDK...
     ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA])
-fi
+  fi
 
-AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs)
+  AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs)
 ])
--- a/common/autoconf/bootcycle-spec.gmk.in	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/bootcycle-spec.gmk.in	Wed Jul 05 19:15:55 2017 +0200
@@ -36,7 +36,7 @@
   JAVA_EXEC_POS=1
 endif
 ifneq ($(word $(JAVA_EXEC_POS),$(SJAVAC_SERVER_JAVA)),$(word $(JAVA_EXEC_POS),$(JAVA)))
-    $(error Bootcycle builds are not possible if --with-sjavac-server-java is specified)
+  $(error Bootcycle builds are not possible if --with-sjavac-server-java is specified)
 endif
 
 
--- a/common/autoconf/build-aux/config.guess	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/build-aux/config.guess	Wed Jul 05 19:15:55 2017 +0200
@@ -58,6 +58,6 @@
       OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
       ;;
   esac
-fi  
+fi
 
 echo $OUT
--- a/common/autoconf/build-performance.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/build-performance.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -25,78 +25,77 @@
 
 AC_DEFUN([BPERF_CHECK_CORES],
 [
-    AC_MSG_CHECKING([for number of cores])
-    NUM_CORES=1
-    FOUND_CORES=no
-    
-    if test -f /proc/cpuinfo; then
-        # Looks like a Linux (or cygwin) system
-        NUM_CORES=`cat /proc/cpuinfo  | grep -c processor`
-        FOUND_CORES=yes
-    elif test -x /usr/sbin/psrinfo; then
-        # Looks like a Solaris system
-        NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
-        FOUND_CORES=yes
-    elif test -x /usr/sbin/system_profiler; then
-        # Looks like a MacOSX system
-        NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk  '{print [$]5}'`
-        FOUND_CORES=yes
-    elif test -n "$NUMBER_OF_PROCESSORS"; then
-        # On windows, look in the env
-        NUM_CORES=$NUMBER_OF_PROCESSORS
-        FOUND_CORES=yes
-    fi
+  AC_MSG_CHECKING([for number of cores])
+  NUM_CORES=1
+  FOUND_CORES=no
 
-    if test "x$FOUND_CORES" = xyes; then
-        AC_MSG_RESULT([$NUM_CORES])
-    else
-        AC_MSG_RESULT([could not detect number of cores, defaulting to 1])
-        AC_MSG_WARN([This will disable all parallelism from build!])
-    fi 
+  if test -f /proc/cpuinfo; then
+    # Looks like a Linux (or cygwin) system
+    NUM_CORES=`cat /proc/cpuinfo  | grep -c processor`
+    FOUND_CORES=yes
+  elif test -x /usr/sbin/psrinfo; then
+    # Looks like a Solaris system
+    NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
+    FOUND_CORES=yes
+  elif test -x /usr/sbin/system_profiler; then
+    # Looks like a MacOSX system
+    NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk  '{print [$]5}'`
+    FOUND_CORES=yes
+  elif test -n "$NUMBER_OF_PROCESSORS"; then
+    # On windows, look in the env
+    NUM_CORES=$NUMBER_OF_PROCESSORS
+    FOUND_CORES=yes
+  fi
 
+  if test "x$FOUND_CORES" = xyes; then
+    AC_MSG_RESULT([$NUM_CORES])
+  else
+    AC_MSG_RESULT([could not detect number of cores, defaulting to 1])
+    AC_MSG_WARN([This will disable all parallelism from build!])
+  fi
 ])
 
 AC_DEFUN([BPERF_CHECK_MEMORY_SIZE],
 [
-    AC_MSG_CHECKING([for memory size])
-    # Default to 1024 MB
-    MEMORY_SIZE=1024
-    FOUND_MEM=no
-    
-    if test -f /proc/meminfo; then
-        # Looks like a Linux (or cygwin) system
-        MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print [$]2}'`
-        MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
-        FOUND_MEM=yes
-    elif test -x /usr/sbin/prtconf; then
-        # Looks like a Solaris system
-        MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print [$]3 }'`
-        FOUND_MEM=yes
-    elif test -x /usr/sbin/system_profiler; then
-        # Looks like a MacOSX system
-        MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk  '{print [$]2}'`
-        MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
-        FOUND_MEM=yes
-    elif test "x$OPENJDK_BUILD_OS" = xwindows; then
-        # Windows, but without cygwin
-        MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-`
-        MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024`
-        FOUND_MEM=yes    
-    fi
+  AC_MSG_CHECKING([for memory size])
+  # Default to 1024 MB
+  MEMORY_SIZE=1024
+  FOUND_MEM=no
 
-    if test "x$FOUND_MEM" = xyes; then
-        AC_MSG_RESULT([$MEMORY_SIZE MB])
-    else
-        AC_MSG_RESULT([could not detect memory size, defaulting to 1024 MB])
-        AC_MSG_WARN([This might seriously impact build performance!])
-    fi 
+  if test -f /proc/meminfo; then
+    # Looks like a Linux (or cygwin) system
+    MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print [$]2}'`
+    MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
+    FOUND_MEM=yes
+  elif test -x /usr/sbin/prtconf; then
+    # Looks like a Solaris system
+    MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print [$]3 }'`
+    FOUND_MEM=yes
+  elif test -x /usr/sbin/system_profiler; then
+    # Looks like a MacOSX system
+    MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk  '{print [$]2}'`
+    MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
+    FOUND_MEM=yes
+  elif test "x$OPENJDK_BUILD_OS" = xwindows; then
+    # Windows, but without cygwin
+    MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-`
+    MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024`
+    FOUND_MEM=yes
+  fi
+
+  if test "x$FOUND_MEM" = xyes; then
+    AC_MSG_RESULT([$MEMORY_SIZE MB])
+  else
+    AC_MSG_RESULT([could not detect memory size, defaulting to 1024 MB])
+    AC_MSG_WARN([This might seriously impact build performance!])
+  fi
 ])
 
 AC_DEFUN_ONCE([BPERF_SETUP_BUILD_CORES],
 [
   # How many cores do we have on this build system?
   AC_ARG_WITH(num-cores, [AS_HELP_STRING([--with-num-cores],
-    [number of cores in the build system, e.g. --with-num-cores=8 @<:@probed@:>@])])
+      [number of cores in the build system, e.g. --with-num-cores=8 @<:@probed@:>@])])
   if test "x$with_num_cores" = x; then
     # The number of cores were not specified, try to probe them.
     BPERF_CHECK_CORES
@@ -110,7 +109,7 @@
 [
   # How much memory do we have on this build system?
   AC_ARG_WITH(memory-size, [AS_HELP_STRING([--with-memory-size],
-    [memory (in MB) available in the build system, e.g. --with-memory-size=1024 @<:@probed@:>@])])
+      [memory (in MB) available in the build system, e.g. --with-memory-size=1024 @<:@probed@:>@])])
   if test "x$with_memory_size" = x; then
     # The memory size was not specified, try to probe it.
     BPERF_CHECK_MEMORY_SIZE
@@ -122,10 +121,10 @@
 
 AC_DEFUN_ONCE([BPERF_SETUP_BUILD_JOBS],
 [
-  # Provide a decent default number of parallel jobs for make depending on 
+  # Provide a decent default number of parallel jobs for make depending on
   # number of cores, amount of memory and machine architecture.
   AC_ARG_WITH(jobs, [AS_HELP_STRING([--with-jobs],
-    [number of parallel jobs to let make run @<:@calculated based on cores and memory@:>@])])
+      [number of parallel jobs to let make run @<:@calculated based on cores and memory@:>@])])
   if test "x$with_jobs" = x; then
     # Number of jobs was not specified, calculate.
     AC_MSG_CHECKING([for appropriate number of jobs to run in parallel])
@@ -157,179 +156,178 @@
 
 AC_DEFUN([BPERF_SETUP_CCACHE],
 [
-    AC_ARG_ENABLE([ccache],
-	      [AS_HELP_STRING([--disable-ccache],
-	      		      [disable using ccache to speed up recompilations @<:@enabled@:>@])],
-              [ENABLE_CCACHE=${enable_ccache}], [ENABLE_CCACHE=yes])
-    if test "x$ENABLE_CCACHE" = xyes; then
-        OLD_PATH="$PATH"
-        if test "x$TOOLS_DIR" != x; then
-          PATH=$TOOLS_DIR:$PATH
-        fi
-        AC_PATH_PROG(CCACHE, ccache)
-        PATH="$OLD_PATH"
-    else
-        AC_MSG_CHECKING([for ccache])
-        AC_MSG_RESULT([explicitly disabled])    
-        CCACHE=
-    fi    
-    AC_SUBST(CCACHE)
+  AC_ARG_ENABLE([ccache],
+      [AS_HELP_STRING([--disable-ccache],
+      [disable using ccache to speed up recompilations @<:@enabled@:>@])],
+      [ENABLE_CCACHE=${enable_ccache}], [ENABLE_CCACHE=yes])
+  if test "x$ENABLE_CCACHE" = xyes; then
+    OLD_PATH="$PATH"
+    if test "x$TOOLS_DIR" != x; then
+      PATH=$TOOLS_DIR:$PATH
+    fi
+    AC_PATH_PROG(CCACHE, ccache)
+    PATH="$OLD_PATH"
+  else
+    AC_MSG_CHECKING([for ccache])
+    AC_MSG_RESULT([explicitly disabled])
+    CCACHE=
+  fi
+  AC_SUBST(CCACHE)
 
-    AC_ARG_WITH([ccache-dir],
-	      [AS_HELP_STRING([--with-ccache-dir],
-	      		      [where to store ccache files @<:@~/.ccache@:>@])])
+  AC_ARG_WITH([ccache-dir],
+      [AS_HELP_STRING([--with-ccache-dir],
+      [where to store ccache files @<:@~/.ccache@:>@])])
 
-    if test "x$with_ccache_dir" != x; then
-        # When using a non home ccache directory, assume the use is to share ccache files
-        # with other users. Thus change the umask.
-        SET_CCACHE_DIR="CCACHE_DIR=$with_ccache_dir CCACHE_UMASK=002"
-    fi
-    CCACHE_FOUND=""
-    if test "x$CCACHE" != x; then
-        BPERF_SETUP_CCACHE_USAGE
-    fi    
+  if test "x$with_ccache_dir" != x; then
+    # When using a non home ccache directory, assume the use is to share ccache files
+    # with other users. Thus change the umask.
+    SET_CCACHE_DIR="CCACHE_DIR=$with_ccache_dir CCACHE_UMASK=002"
+  fi
+  CCACHE_FOUND=""
+  if test "x$CCACHE" != x; then
+    BPERF_SETUP_CCACHE_USAGE
+  fi
 ])
 
 AC_DEFUN([BPERF_SETUP_CCACHE_USAGE],
 [
-    if test "x$CCACHE" != x; then
-        CCACHE_FOUND="true"
-        # Only use ccache if it is 3.1.4 or later, which supports
-        # precompiled headers.
-        AC_MSG_CHECKING([if ccache supports precompiled headers])
-        HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.@<:@456789@:>@) 2> /dev/null`
-        if test "x$HAS_GOOD_CCACHE" = x; then
-            AC_MSG_RESULT([no, disabling ccache])
-            CCACHE=
-        else
-            AC_MSG_RESULT([yes])
-            AC_MSG_CHECKING([if C-compiler supports ccache precompiled headers])
-            PUSHED_FLAGS="$CXXFLAGS"
-            CXXFLAGS="-fpch-preprocess $CXXFLAGS"
-            AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [CC_KNOWS_CCACHE_TRICK=yes], [CC_KNOWS_CCACHE_TRICK=no])
-            CXXFLAGS="$PUSHED_FLAGS"
-            if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
-                AC_MSG_RESULT([yes])
-            else
-                AC_MSG_RESULT([no, disabling ccaching of precompiled headers])
-                CCACHE=
-            fi
-        fi
+  if test "x$CCACHE" != x; then
+    CCACHE_FOUND="true"
+    # Only use ccache if it is 3.1.4 or later, which supports
+    # precompiled headers.
+    AC_MSG_CHECKING([if ccache supports precompiled headers])
+    HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.@<:@456789@:>@) 2> /dev/null`
+    if test "x$HAS_GOOD_CCACHE" = x; then
+      AC_MSG_RESULT([no, disabling ccache])
+      CCACHE=
+    else
+      AC_MSG_RESULT([yes])
+      AC_MSG_CHECKING([if C-compiler supports ccache precompiled headers])
+      PUSHED_FLAGS="$CXXFLAGS"
+      CXXFLAGS="-fpch-preprocess $CXXFLAGS"
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [CC_KNOWS_CCACHE_TRICK=yes], [CC_KNOWS_CCACHE_TRICK=no])
+      CXXFLAGS="$PUSHED_FLAGS"
+      if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
+        AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no, disabling ccaching of precompiled headers])
+        CCACHE=
+      fi
     fi
-
-    if test "x$CCACHE" != x; then
-        CCACHE_SLOPPINESS=time_macros
-        CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
-        CCACHE_FLAGS=-fpch-preprocess
+  fi
 
-        if test "x$SET_CCACHE_DIR" != x; then
-            mkdir -p $CCACHE_DIR > /dev/null 2>&1
-	    chmod a+rwxs $CCACHE_DIR > /dev/null 2>&1
-        fi
+  if test "x$CCACHE" != x; then
+    CCACHE_SLOPPINESS=time_macros
+    CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
+    CCACHE_FLAGS=-fpch-preprocess
+
+    if test "x$SET_CCACHE_DIR" != x; then
+      mkdir -p $CCACHE_DIR > /dev/null 2>&1
+      chmod a+rwxs $CCACHE_DIR > /dev/null 2>&1
     fi
+  fi
 ])
 
 AC_DEFUN_ONCE([BPERF_SETUP_PRECOMPILED_HEADERS],
 [
-       
-###############################################################################
-#
-# Can the C/C++ compiler use precompiled headers?
-#
-AC_ARG_ENABLE([precompiled-headers], [AS_HELP_STRING([--disable-precompiled-headers],
-	[disable using precompiled headers when compiling C++ @<:@enabled@:>@])],
-    [ENABLE_PRECOMPH=${enable_precompiled_headers}], [ENABLE_PRECOMPH=yes])
 
-USE_PRECOMPILED_HEADER=1
-if test "x$ENABLE_PRECOMPH" = xno; then
+  ###############################################################################
+  #
+  # Can the C/C++ compiler use precompiled headers?
+  #
+  AC_ARG_ENABLE([precompiled-headers], [AS_HELP_STRING([--disable-precompiled-headers],
+      [disable using precompiled headers when compiling C++ @<:@enabled@:>@])],
+      [ENABLE_PRECOMPH=${enable_precompiled_headers}], [ENABLE_PRECOMPH=yes])
+
+  USE_PRECOMPILED_HEADER=1
+  if test "x$ENABLE_PRECOMPH" = xno; then
     USE_PRECOMPILED_HEADER=0
-fi
+  fi
 
-if test "x$ENABLE_PRECOMPH" = xyes; then
+  if test "x$ENABLE_PRECOMPH" = xyes; then
     # Check that the compiler actually supports precomp headers.
     if test "x$GCC" = xyes; then
-         AC_MSG_CHECKING([that precompiled headers work])
-         echo "int alfa();" > conftest.h
-         $CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD
-         if test ! -f conftest.hpp.gch; then
-             USE_PRECOMPILED_HEADER=0
-             AC_MSG_RESULT([no])        
-         else
-             AC_MSG_RESULT([yes])
-         fi
-         rm -f conftest.h conftest.hpp.gch
+      AC_MSG_CHECKING([that precompiled headers work])
+      echo "int alfa();" > conftest.h
+      $CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD
+      if test ! -f conftest.hpp.gch; then
+        USE_PRECOMPILED_HEADER=0
+        AC_MSG_RESULT([no])
+      else
+        AC_MSG_RESULT([yes])
+      fi
+      rm -f conftest.h conftest.hpp.gch
     fi
-fi
+  fi
 
-AC_SUBST(USE_PRECOMPILED_HEADER)
+  AC_SUBST(USE_PRECOMPILED_HEADER)
 ])
 
 
 AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
 [
-AC_ARG_WITH(sjavac-server-java, [AS_HELP_STRING([--with-sjavac-server-java],
-	[use this java binary for running the sjavac background server @<:@Boot JDK java@:>@])])
+  AC_ARG_WITH(sjavac-server-java, [AS_HELP_STRING([--with-sjavac-server-java],
+      [use this java binary for running the sjavac background server @<:@Boot JDK java@:>@])])
 
-if test "x$with_sjavac_server_java" != x; then
+  if test "x$with_sjavac_server_java" != x; then
     SJAVAC_SERVER_JAVA="$with_sjavac_server_java"
     FOUND_VERSION=`$SJAVAC_SERVER_JAVA -version 2>&1 | grep " version \""`
     if test "x$FOUND_VERSION" = x; then
-        AC_MSG_ERROR([Could not execute server java: $SJAVAC_SERVER_JAVA])
+      AC_MSG_ERROR([Could not execute server java: $SJAVAC_SERVER_JAVA])
     fi
-else
+  else
     SJAVAC_SERVER_JAVA=""
     # Hotspot specific options.
     ADD_JVM_ARG_IF_OK([-verbosegc],SJAVAC_SERVER_JAVA,[$JAVA])
     # JRockit specific options.
     ADD_JVM_ARG_IF_OK([-Xverbose:gc],SJAVAC_SERVER_JAVA,[$JAVA])
     SJAVAC_SERVER_JAVA="$JAVA $SJAVAC_SERVER_JAVA"
-fi                    
-AC_SUBST(SJAVAC_SERVER_JAVA)
+  fi
+  AC_SUBST(SJAVAC_SERVER_JAVA)
 
-if test "$MEMORY_SIZE" -gt "2500"; then
+  if test "$MEMORY_SIZE" -gt "2500"; then
     ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
     if test "$JVM_ARG_OK" = true; then
-        JVM_64BIT=true
-	JVM_ARG_OK=false
-    fi
+      JVM_64BIT=true
+      JVM_ARG_OK=false
     fi
+  fi
 
-if test "$JVM_64BIT" = true; then
+  if test "$JVM_64BIT" = true; then
     if test "$MEMORY_SIZE" -gt "17000"; then
-        ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
+      ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
     fi
     if test "$MEMORY_SIZE" -gt "10000" && test "$JVM_ARG_OK" = false; then
-        ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
+      ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
     fi
     if test "$MEMORY_SIZE" -gt "5000" && test "$JVM_ARG_OK" = false; then
-        ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
+      ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
     fi
     if test "$MEMORY_SIZE" -gt "3800" && test "$JVM_ARG_OK" = false; then
-        ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
+      ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
     fi
-fi
-if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then
+  fi
+  if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then
     ADD_JVM_ARG_IF_OK([-Xms1000M -Xmx1500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
-fi
-if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then
+  fi
+  if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then
     ADD_JVM_ARG_IF_OK([-Xms400M -Xmx1100M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
-fi
-if test "$JVM_ARG_OK" = false; then
+  fi
+  if test "$JVM_ARG_OK" = false; then
     ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
-fi
+  fi
 
-AC_MSG_CHECKING([whether to use sjavac])
-AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
-	[use sjavac to do fast incremental compiles @<:@disabled@:>@])],
-	[ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC='no'])
-AC_MSG_RESULT([$ENABLE_SJAVAC])
-AC_SUBST(ENABLE_SJAVAC)
+  AC_MSG_CHECKING([whether to use sjavac])
+  AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
+      [use sjavac to do fast incremental compiles @<:@disabled@:>@])],
+      [ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC='no'])
+  AC_MSG_RESULT([$ENABLE_SJAVAC])
+  AC_SUBST(ENABLE_SJAVAC)
 
-if test "x$ENABLE_SJAVAC" = xyes; then
+  if test "x$ENABLE_SJAVAC" = xyes; then
     SJAVAC_SERVER_DIR="$OUTPUT_ROOT/javacservers"
-else
+  else
     SJAVAC_SERVER_DIR=
-fi
-AC_SUBST(SJAVAC_SERVER_DIR)
-
+  fi
+  AC_SUBST(SJAVAC_SERVER_DIR)
 ])
--- a/common/autoconf/builddeps.conf.example	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/builddeps.conf.example	Wed Jul 05 19:15:55 2017 +0200
@@ -34,7 +34,7 @@
 # If no rewrite was found, then rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
 REWRITE_i686_pc_linux_gnu=i686-unknown-linux-gnu
 REWRITE_i386_pc_solaris2_10=i686-sun-solaris2_10
- 
+
 # The needed cups builddeps are platform independent header files.
 # I.e. they need not be part of the devkit.
 builddep_cups=lib/cups_1_3_9.zip
--- a/common/autoconf/builddeps.conf.nfs.example	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/builddeps.conf.nfs.example	Wed Jul 05 19:15:55 2017 +0200
@@ -29,7 +29,7 @@
 
 REWRITE_i686_pc_linux_gnu=i686-unknown-linux-gnu
 REWRITE_i386_pc_solaris2_10=i686-sun-solaris2_10
- 
+
 DEVTOOLS=/java/devtools
 
 builddep_cups=${DEVTOOLS}/linux/cups/include
--- a/common/autoconf/builddeps.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/builddeps.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -25,223 +25,223 @@
 
 AC_DEFUN_ONCE([BDEPS_SCAN_FOR_BUILDDEPS],
 [
-    define(LIST_OF_BUILD_DEPENDENCIES,)
-    if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
-        if test "x$with_builddeps_conf" != x; then
-            AC_MSG_CHECKING([for supplied builddeps configuration file])
-            builddepsfile=$with_builddeps_conf        
-            if test -s $builddepsfile; then
-                . $builddepsfile
-                AC_MSG_RESULT([loaded!])
-            else
-               AC_MSG_ERROR([The given builddeps conf file $with_builddeps_conf could not be loaded!])
-           fi
-        else
-            AC_MSG_CHECKING([for builddeps.conf files in sources...])
-            builddepsfile=`mktemp`
-            touch $builddepsfile
-            # Put all found confs into a single file.
-            find ${SRC_ROOT} -name builddeps.conf -exec cat \{\} \; >> $builddepsfile
-            # Source the file to acquire the variables
-            if test -s $builddepsfile; then
-                . $builddepsfile
-                AC_MSG_RESULT([found at least one!])
-            else
-               AC_MSG_ERROR([Could not find any builddeps.conf at all!])
-           fi
-        fi
-        # Create build and target names that use _ instead of "-" and ".".
-        # This is necessary to use them in variable names.
-        build_var=`echo ${OPENJDK_BUILD_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
-        target_var=`echo ${OPENJDK_TARGET_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
-        # Extract rewrite information for build and target
-        eval rewritten_build=\${REWRITE_${build_var}}
-        if test "x$rewritten_build" = x; then
-            rewritten_build=${OPENJDK_BUILD_AUTOCONF_NAME}
-            echo Build stays the same $rewritten_build
-        else
-            echo Rewriting build for builddeps into $rewritten_build
-        fi
-        eval rewritten_target=\${REWRITE_${target_var}}
-        if test "x$rewritten_target" = x; then
-            rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
-            echo Target stays the same $rewritten_target
-        else
-            echo Rewriting target for builddeps into $rewritten_target
-        fi
-        rewritten_build_var=`echo ${rewritten_build} | tr '-' '_' | tr '.' '_'`
-        rewritten_target_var=`echo ${rewritten_target} | tr '-' '_' | tr '.' '_'`        
+  define(LIST_OF_BUILD_DEPENDENCIES,)
+  if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
+    if test "x$with_builddeps_conf" != x; then
+      AC_MSG_CHECKING([for supplied builddeps configuration file])
+      builddepsfile=$with_builddeps_conf
+      if test -s $builddepsfile; then
+        . $builddepsfile
+        AC_MSG_RESULT([loaded!])
+      else
+        AC_MSG_ERROR([The given builddeps conf file $with_builddeps_conf could not be loaded!])
+      fi
+    else
+      AC_MSG_CHECKING([for builddeps.conf files in sources...])
+      builddepsfile=`mktemp`
+      touch $builddepsfile
+      # Put all found confs into a single file.
+      find ${SRC_ROOT} -name builddeps.conf -exec cat \{\} \; >> $builddepsfile
+      # Source the file to acquire the variables
+      if test -s $builddepsfile; then
+        . $builddepsfile
+        AC_MSG_RESULT([found at least one!])
+      else
+        AC_MSG_ERROR([Could not find any builddeps.conf at all!])
+      fi
     fi
-    AC_CHECK_PROGS(BDEPS_UNZIP, [7z unzip])
-    if test "x$BDEPS_UNZIP" = x7z; then
-        BDEPS_UNZIP="7z x"
+    # Create build and target names that use _ instead of "-" and ".".
+    # This is necessary to use them in variable names.
+    build_var=`echo ${OPENJDK_BUILD_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
+    target_var=`echo ${OPENJDK_TARGET_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
+    # Extract rewrite information for build and target
+    eval rewritten_build=\${REWRITE_${build_var}}
+    if test "x$rewritten_build" = x; then
+      rewritten_build=${OPENJDK_BUILD_AUTOCONF_NAME}
+      echo Build stays the same $rewritten_build
+    else
+      echo Rewriting build for builddeps into $rewritten_build
     fi
+    eval rewritten_target=\${REWRITE_${target_var}}
+    if test "x$rewritten_target" = x; then
+      rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
+      echo Target stays the same $rewritten_target
+    else
+      echo Rewriting target for builddeps into $rewritten_target
+    fi
+    rewritten_build_var=`echo ${rewritten_build} | tr '-' '_' | tr '.' '_'`
+    rewritten_target_var=`echo ${rewritten_target} | tr '-' '_' | tr '.' '_'`
+  fi
+  AC_CHECK_PROGS(BDEPS_UNZIP, [7z unzip])
+  if test "x$BDEPS_UNZIP" = x7z; then
+    BDEPS_UNZIP="7z x"
+  fi
 
-    AC_CHECK_PROGS(BDEPS_FTP, [wget lftp ftp]) 
+  AC_CHECK_PROGS(BDEPS_FTP, [wget lftp ftp])
 ])
 
 AC_DEFUN([BDEPS_FTPGET],
 [
-    # $1 is the ftp://abuilddeps.server.com/libs/cups.zip
-    # $2 is the local file name for the downloaded file.
-    VALID_TOOL=no
-    if test "x$BDEPS_FTP" = xwget; then
-       VALID_TOOL=yes
-       wget -O $2 $1
-    fi
-    if test "x$BDEPS_FTP" = xlftp; then
-       VALID_TOOL=yes
-       lftp -c "get $1 -o $2"
+  # $1 is the ftp://abuilddeps.server.com/libs/cups.zip
+  # $2 is the local file name for the downloaded file.
+  VALID_TOOL=no
+  if test "x$BDEPS_FTP" = xwget; then
+    VALID_TOOL=yes
+    wget -O $2 $1
+  fi
+  if test "x$BDEPS_FTP" = xlftp; then
+    VALID_TOOL=yes
+    lftp -c "get $1 -o $2"
+  fi
+  if test "x$BDEPS_FTP" = xftp; then
+    VALID_TOOL=yes
+    FTPSERVER=`echo $1 | cut -f 3 -d '/'`
+    FTPPATH=`echo $1 | cut -f 4- -d '/'`
+    FTPUSERPWD=${FTPSERVER%%@*}
+    if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
+      FTPUSER=${userpwd%%:*}
+      FTPPWD=${userpwd#*@}
+      FTPSERVER=${FTPSERVER#*@}
+    else
+      FTPUSER=ftp
+      FTPPWD=ftp
     fi
-    if test "x$BDEPS_FTP" = xftp; then
-        VALID_TOOL=yes
-        FTPSERVER=`echo $1 | cut -f 3 -d '/'`
-        FTPPATH=`echo $1 | cut -f 4- -d '/'`
-        FTPUSERPWD=${FTPSERVER%%@*}
-        if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
-            FTPUSER=${userpwd%%:*}
-            FTPPWD=${userpwd#*@}
-            FTPSERVER=${FTPSERVER#*@}
-        else
-            FTPUSER=ftp
-            FTPPWD=ftp
-        fi
-        # the "pass" command does not work on some
-        # ftp clients (read ftp.exe) but if it works,
-        # passive mode is better!
-        (\
-            echo "user $FTPUSER $FTPPWD"        ;\
-            echo "pass"                         ;\
-            echo "bin"                          ;\
-            echo "get $FTPPATH $2"              ;\
-        ) | ftp -in $FTPSERVER
-    fi
-    if test "x$VALID_TOOL" != xyes; then
-       AC_MSG_ERROR([I do not know how to use the tool: $BDEPS_FTP])
-    fi
+    # the "pass" command does not work on some
+    # ftp clients (read ftp.exe) but if it works,
+    # passive mode is better!
+    ( \
+        echo "user $FTPUSER $FTPPWD"        ; \
+        echo "pass"                         ; \
+        echo "bin"                          ; \
+        echo "get $FTPPATH $2"              ; \
+    ) | ftp -in $FTPSERVER
+  fi
+  if test "x$VALID_TOOL" != xyes; then
+    AC_MSG_ERROR([I do not know how to use the tool: $BDEPS_FTP])
+  fi
 ])
 
 AC_DEFUN([BDEPS_CHECK_MODULE],
 [
-    define([LIST_OF_BUILD_DEPENDENCIES],LIST_OF_BUILD_DEPENDENCIES[$2=$3'\n'])
-    if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
-        # Source the builddeps file again, to make sure it uses the latest variables!
-        . $builddepsfile
-        # Look for a target and build machine specific resource!
-        eval resource=\${builddep_$2_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a target specific resource
-            eval resource=\${builddep_$2_TARGET_${rewritten_target_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a build specific resource
-            eval resource=\${builddep_$2_BUILD_${rewritten_build_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a generic resource
-            # (The $2 comes from M4 and not the shell, thus no need for eval here.)
-            resource=${builddep_$2}
-        fi
-        if test "x$resource" != x; then
-            AC_MSG_NOTICE([Using builddeps $resource for $2])
-	    # If the resource in the builddeps.conf file is an existing directory,
-	    # for example /java/linux/cups
-	    if test -d ${resource}; then
-	       depdir=${resource}
-	    else
-		BDEPS_FETCH($2, $resource, $with_builddeps_server, $with_builddeps_dir, depdir)
-	    fi
-            # Source the builddeps file again, because in the previous command, the depdir
-            # was updated to point at the current build dependency install directory.
-            . $builddepsfile
-            # Now extract variables from the builddeps.conf files.
-            theroot=${builddep_$2_ROOT}
-            thecflags=${builddep_$2_CFLAGS}
-            thelibs=${builddep_$2_LIBS}
-            if test "x$depdir" = x; then
-                AC_MSG_ERROR([Could not download build dependency $2])
-            fi
-            $1=$depdir
-            if test "x$theroot" != x; then
-               $1="$theroot"
-            fi
-            if test "x$thecflags" != x; then
-               $1_CFLAGS="$thecflags"
-            fi
-            if test "x$thelibs" != x; then
-               $1_LIBS="$thelibs"
-            fi
-            m4_default([$4], [:])
-            m4_ifvaln([$5], [else $5])
-        fi
-        m4_ifvaln([$5], [else $5])
+  define([LIST_OF_BUILD_DEPENDENCIES],LIST_OF_BUILD_DEPENDENCIES[$2=$3'\n'])
+  if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
+    # Source the builddeps file again, to make sure it uses the latest variables!
+    . $builddepsfile
+    # Look for a target and build machine specific resource!
+    eval resource=\${builddep_$2_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a target specific resource
+      eval resource=\${builddep_$2_TARGET_${rewritten_target_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a build specific resource
+      eval resource=\${builddep_$2_BUILD_${rewritten_build_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a generic resource
+      # (The $2 comes from M4 and not the shell, thus no need for eval here.)
+      resource=${builddep_$2}
     fi
+    if test "x$resource" != x; then
+      AC_MSG_NOTICE([Using builddeps $resource for $2])
+      # If the resource in the builddeps.conf file is an existing directory,
+      # for example /java/linux/cups
+      if test -d ${resource}; then
+        depdir=${resource}
+      else
+        BDEPS_FETCH($2, $resource, $with_builddeps_server, $with_builddeps_dir, depdir)
+      fi
+      # Source the builddeps file again, because in the previous command, the depdir
+      # was updated to point at the current build dependency install directory.
+      . $builddepsfile
+      # Now extract variables from the builddeps.conf files.
+      theroot=${builddep_$2_ROOT}
+      thecflags=${builddep_$2_CFLAGS}
+      thelibs=${builddep_$2_LIBS}
+      if test "x$depdir" = x; then
+        AC_MSG_ERROR([Could not download build dependency $2])
+      fi
+      $1=$depdir
+      if test "x$theroot" != x; then
+        $1="$theroot"
+      fi
+      if test "x$thecflags" != x; then
+        $1_CFLAGS="$thecflags"
+      fi
+      if test "x$thelibs" != x; then
+        $1_LIBS="$thelibs"
+      fi
+      m4_default([$4], [:])
+      m4_ifvaln([$5], [else $5])
+    fi
+    m4_ifvaln([$5], [else $5])
+  fi
 ])
 
 AC_DEFUN([BDEPS_FETCH],
 [
-# $1 is for example mymodule
-# $2 is for example libs/general/libmymod_1_2_3.zip
-# $3 is for example ftp://mybuilddeps.myserver.com/builddeps
-# $4 is for example /localhome/builddeps
-# $5 is the name of the variable into which we store the depdir, eg MYMOD
-# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
-# unzip into the directory: /localhome/builddeps/libmymod_1_2_3
-    filename=`basename $2`
-    filebase=`echo $filename | sed 's/\.[[^\.]]*$//'`
-    filebase=${filename%%.*}
-    extension=${filename#*.}
-    installdir=$4/$filebase
-    if test ! -f $installdir/$filename.unpacked; then
-        AC_MSG_NOTICE([Downloading build dependency $1 from $3/$2 and installing into $installdir])
-        if test ! -d $installdir; then
-            mkdir -p $installdir
-        fi
-        if test ! -d $installdir; then
-            AC_MSG_ERROR([Could not create directory $installdir])
-        fi
-        tmpfile=`mktemp $installdir/$1.XXXXXXXXX`
-        touch $tmpfile    
-        if test ! -f $tmpfile; then
-            AC_MSG_ERROR([Could not create files in directory $installdir])
-        fi
-        BDEPS_FTPGET([$3/$2] , [$tmpfile])
-        mv $tmpfile $installdir/$filename
-        if test ! -s $installdir/$filename; then 
-            AC_MSG_ERROR([Could not download $3/$2])
-        fi
-        case "$extension" in
-            zip)  echo "Unzipping $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
-            ;;
-            tar.gz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            tgz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            *) AC_MSG_ERROR([Cannot handle build depency archive with extension $extension])
-            ;;
-        esac
+  # $1 is for example mymodule
+  # $2 is for example libs/general/libmymod_1_2_3.zip
+  # $3 is for example ftp://mybuilddeps.myserver.com/builddeps
+  # $4 is for example /localhome/builddeps
+  # $5 is the name of the variable into which we store the depdir, eg MYMOD
+  # Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
+  # unzip into the directory: /localhome/builddeps/libmymod_1_2_3
+  filename=`basename $2`
+  filebase=`echo $filename | sed 's/\.[[^\.]]*$//'`
+  filebase=${filename%%.*}
+  extension=${filename#*.}
+  installdir=$4/$filebase
+  if test ! -f $installdir/$filename.unpacked; then
+    AC_MSG_NOTICE([Downloading build dependency $1 from $3/$2 and installing into $installdir])
+    if test ! -d $installdir; then
+      mkdir -p $installdir
+    fi
+    if test ! -d $installdir; then
+      AC_MSG_ERROR([Could not create directory $installdir])
     fi
-    if test -f $installdir/$filename.unpacked; then
-        $5=$installdir
+    tmpfile=`mktemp $installdir/$1.XXXXXXXXX`
+    touch $tmpfile
+    if test ! -f $tmpfile; then
+      AC_MSG_ERROR([Could not create files in directory $installdir])
+    fi
+    BDEPS_FTPGET([$3/$2] , [$tmpfile])
+    mv $tmpfile $installdir/$filename
+    if test ! -s $installdir/$filename; then
+      AC_MSG_ERROR([Could not download $3/$2])
     fi
+    case "$extension" in
+      zip)  echo "Unzipping $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
+        ;;
+      tar.gz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      tgz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      *) AC_MSG_ERROR([Cannot handle build depency archive with extension $extension])
+        ;;
+    esac
+  fi
+  if test -f $installdir/$filename.unpacked; then
+    $5=$installdir
+  fi
 ])
 
 AC_DEFUN_ONCE([BDEPS_CONFIGURE_BUILDDEPS],
 [
-AC_ARG_WITH(builddeps-conf, [AS_HELP_STRING([--with-builddeps-conf],
-    [use this configuration file for the builddeps])])
+  AC_ARG_WITH(builddeps-conf, [AS_HELP_STRING([--with-builddeps-conf],
+      [use this configuration file for the builddeps])])
 
-AC_ARG_WITH(builddeps-server, [AS_HELP_STRING([--with-builddeps-server],
-    [download and use build dependencies from this server url])])
+  AC_ARG_WITH(builddeps-server, [AS_HELP_STRING([--with-builddeps-server],
+      [download and use build dependencies from this server url])])
 
-AC_ARG_WITH(builddeps-dir, [AS_HELP_STRING([--with-builddeps-dir],
-    [store downloaded build dependencies here @<:@/localhome/builddeps@:>@])],
-    [],
-    [with_builddeps_dir=/localhome/builddeps])
+  AC_ARG_WITH(builddeps-dir, [AS_HELP_STRING([--with-builddeps-dir],
+      [store downloaded build dependencies here @<:@/localhome/builddeps@:>@])],
+      [],
+      [with_builddeps_dir=/localhome/builddeps])
 
-AC_ARG_WITH(builddeps-group, [AS_HELP_STRING([--with-builddeps-group],
-    [chgrp the downloaded build dependencies to this group])])
+  AC_ARG_WITH(builddeps-group, [AS_HELP_STRING([--with-builddeps-group],
+      [chgrp the downloaded build dependencies to this group])])
 ])
--- a/common/autoconf/compare.sh.in	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/compare.sh.in	Wed Jul 05 19:15:55 2017 +0200
@@ -22,7 +22,7 @@
 # questions.
 #
 
-# This script is processed by configure before it's usable. It is run from 
+# This script is processed by configure before it's usable. It is run from
 # the root of the build directory.
 
 
@@ -67,14 +67,14 @@
 SRC_ROOT="@SRC_ROOT@"
 
 if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
-    PATH="@VS_PATH@"
+  PATH="@VS_PATH@"
 fi
 
 # Now locate the main script and run it.
 REAL_COMPARE_SCRIPT="$SRC_ROOT/common/bin/compare.sh"
 if [ ! -e "$REAL_COMPARE_SCRIPT" ]; then
-    echo "Error: Cannot locate compare script, it should have been in $REAL_COMPARE_SCRIPT"
-    exit 1
+  echo "Error: Cannot locate compare script, it should have been in $REAL_COMPARE_SCRIPT"
+  exit 1
 fi
 
 . "$REAL_COMPARE_SCRIPT" "$@"
--- a/common/autoconf/config.h.in	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/config.h.in	Wed Jul 05 19:15:55 2017 +0200
@@ -46,4 +46,4 @@
 #define HAVE_LIBGIF
 #define HAVE_LIBZ
 #define HAVE_LIBM
-#define HAVE_ALTZONE 
+#define HAVE_ALTZONE
--- a/common/autoconf/configure	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/configure	Wed Jul 05 19:15:55 2017 +0200
@@ -88,7 +88,6 @@
         check_autoconf_timestamps
       fi
     fi
-    
   fi
 }
 
@@ -106,7 +105,7 @@
   fi
 fi
 
-# Autoconf calls the configure script recursively sometimes. 
+# Autoconf calls the configure script recursively sometimes.
 # Don't start logging twice in that case
 if test "x$conf_debug_configure" = xtrue; then
   conf_debug_configure=recursive
@@ -120,28 +119,28 @@
 for conf_option
 do
   case $conf_option in
-  --openjdk-target=*)
-    conf_openjdk_target=`expr "X$conf_option" : '[^=]*=\(.*\)'`
-    continue ;;
-  --debug-configure)
-    if test "x$conf_debug_configure" != xrecursive; then
-      conf_debug_configure=true
-      export conf_debug_configure
-    fi
-    continue ;;
-  *)
-    conf_processed_arguments=("${conf_processed_arguments[@]}" "$conf_option") ;;
+    --openjdk-target=*)
+      conf_openjdk_target=`expr "X$conf_option" : '[^=]*=\(.*\)'`
+      continue ;;
+    --debug-configure)
+      if test "x$conf_debug_configure" != xrecursive; then
+        conf_debug_configure=true
+        export conf_debug_configure
+      fi
+      continue ;;
+    *)
+      conf_processed_arguments=("${conf_processed_arguments[@]}" "$conf_option") ;;
   esac
 
   case $conf_option in
-  -build | --build | --buil | --bui | --bu |-build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-  -target | --target | --targe | --targ | --tar | --ta | --t | -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-  -host | --host | --hos | --ho | -host=* | --host=* | --hos=* | --ho=*)
-    conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-  -help | --help | --hel | --he | -h)
-    conf_print_help=true ;;
+    -build | --build | --buil | --bui | --bu |-build=* | --build=* | --buil=* | --bui=* | --bu=*)
+      conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
+    -target | --target | --targe | --targ | --tar | --ta | --t | -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+      conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
+    -host | --host | --hos | --ho | -host=* | --host=* | --hos=* | --ho=*)
+      conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
+    -help | --help | --hel | --he | -h)
+      conf_print_help=true ;;
   esac
 done
 
@@ -179,7 +178,7 @@
 else
   echo Running generated-configure.sh
   conf_script_to_run=$conf_script_dir/generated-configure.sh
-fi  
+fi
 
 if test "x$conf_debug_configure" != x; then
   # Turn on shell debug output if requested (initial or recursive)
--- a/common/autoconf/configure.ac	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/configure.ac	Wed Jul 05 19:15:55 2017 +0200
@@ -236,7 +236,7 @@
 # Create the actual output files. Now the main work of configure is done.
 AC_OUTPUT
 
-# Try to move the config.log file to the output directory. 
+# Try to move the config.log file to the output directory.
 if test -e ./config.log; then
   $MV -f ./config.log "$OUTPUT_ROOT/config.log" 2> /dev/null
 fi
--- a/common/autoconf/generated-configure.sh	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/generated-configure.sh	Wed Jul 05 19:15:55 2017 +0200
@@ -3112,7 +3112,7 @@
 #
 
 # Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
-# If so, then append $1 to $2\
+# If so, then append $1 to $2 \
 # Also set JVM_ARG_OK to true/false depending on outcome.
 
 
@@ -3441,74 +3441,74 @@
 
 
 cygwin_help() {
-    case $1 in
+  case $1 in
     unzip)
-        PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip" ;;
+      PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip" ;;
     zip)
-        PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P zip" ;;
+      PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P zip" ;;
     make)
-        PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P make" ;;
+      PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P make" ;;
     * )
-       break ;;
-    esac
+      break ;;
+  esac
 }
 
 apt_help() {
-    case $1 in
+  case $1 in
     devkit)
-        PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
     openjdk)
-        PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
     alsa)
-        PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
     cups)
-        PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
     freetype2)
-        PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
     pulse)
-        PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
     x11)
-        PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
     ccache)
-        PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
     * )
-       break ;;
-    esac
+      break ;;
+  esac
 }
 
 yum_help() {
-    case $1 in
+  case $1 in
     devkit)
-        PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
+      PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
     openjdk)
-        PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
+      PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
     alsa)
-        PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
     cups)
-        PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
     freetype2)
-        PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
     pulse)
-        PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
     x11)
-        PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
     ccache)
-        PKGHANDLER_COMMAND="sudo yum install ccache" ;;
+      PKGHANDLER_COMMAND="sudo yum install ccache" ;;
     * )
-       break ;;
-    esac
+      break ;;
+  esac
 }
 
 port_help() {
-    PKGHANDLER_COMMAND=""
+  PKGHANDLER_COMMAND=""
 }
 
 pkgutil_help() {
-    PKGHANDLER_COMMAND=""
+  PKGHANDLER_COMMAND=""
 }
 
 pkgadd_help() {
-    PKGHANDLER_COMMAND=""
+  PKGHANDLER_COMMAND=""
 }
 
 
@@ -3662,8 +3662,8 @@
 # doing anything else with these values.
 
 
-    # Setup the legacy variables, for controlling the old makefiles.
-    #
+# Setup the legacy variables, for controlling the old makefiles.
+#
 
 
 
@@ -3818,7 +3818,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1381162713
+DATE_WHEN_GENERATED=1381407169
 
 ###############################################################################
 #
@@ -3831,26 +3831,26 @@
 
 # Basic initialization that must happen first of all
 
-# Save the original command line. This is passed to us by the wrapper configure script.
-
-DATE_WHEN_CONFIGURED=`LANG=C date`
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuration created at $DATE_WHEN_CONFIGURED." >&5
+  # Save the original command line. This is passed to us by the wrapper configure script.
+
+  DATE_WHEN_CONFIGURED=`LANG=C date`
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: Configuration created at $DATE_WHEN_CONFIGURED." >&5
 $as_echo "$as_me: Configuration created at $DATE_WHEN_CONFIGURED." >&6;}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: configure script generated at timestamp $DATE_WHEN_GENERATED." >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: configure script generated at timestamp $DATE_WHEN_GENERATED." >&5
 $as_echo "$as_me: configure script generated at timestamp $DATE_WHEN_GENERATED." >&6;}
 
 
 
-# Start with tools that do not need have cross compilation support
-# and can be expected to be found in the default PATH. These tools are
-# used by configure. Nor are these tools expected to be found in the
-# devkit from the builddeps server either, since they are
-# needed to download the devkit.
-
-# First are all the simple required tools.
-
-    for ac_prog in basename
+  # Start with tools that do not need have cross compilation support
+  # and can be expected to be found in the default PATH. These tools are
+  # used by configure. Nor are these tools expected to be found in the
+  # devkit from the builddeps server either, since they are
+  # needed to download the devkit.
+
+  # First are all the simple required tools.
+
+  for ac_prog in basename
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -3896,20 +3896,20 @@
 done
 
 
-    if test "x$BASENAME" = x; then
-        if test "xbasename" = x; then
-          PROG_NAME=basename
-        else
-          PROG_NAME=basename
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in bash
+  if test "x$BASENAME" = x; then
+    if test "xbasename" = x; then
+      PROG_NAME=basename
+    else
+      PROG_NAME=basename
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in bash
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -3955,20 +3955,20 @@
 done
 
 
-    if test "x$BASH" = x; then
-        if test "xbash" = x; then
-          PROG_NAME=bash
-        else
-          PROG_NAME=bash
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in cat
+  if test "x$BASH" = x; then
+    if test "xbash" = x; then
+      PROG_NAME=bash
+    else
+      PROG_NAME=bash
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in cat
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4014,20 +4014,20 @@
 done
 
 
-    if test "x$CAT" = x; then
-        if test "xcat" = x; then
-          PROG_NAME=cat
-        else
-          PROG_NAME=cat
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in chmod
+  if test "x$CAT" = x; then
+    if test "xcat" = x; then
+      PROG_NAME=cat
+    else
+      PROG_NAME=cat
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in chmod
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4073,20 +4073,20 @@
 done
 
 
-    if test "x$CHMOD" = x; then
-        if test "xchmod" = x; then
-          PROG_NAME=chmod
-        else
-          PROG_NAME=chmod
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in cmp
+  if test "x$CHMOD" = x; then
+    if test "xchmod" = x; then
+      PROG_NAME=chmod
+    else
+      PROG_NAME=chmod
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in cmp
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4132,20 +4132,20 @@
 done
 
 
-    if test "x$CMP" = x; then
-        if test "xcmp" = x; then
-          PROG_NAME=cmp
-        else
-          PROG_NAME=cmp
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in comm
+  if test "x$CMP" = x; then
+    if test "xcmp" = x; then
+      PROG_NAME=cmp
+    else
+      PROG_NAME=cmp
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in comm
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4191,20 +4191,20 @@
 done
 
 
-    if test "x$COMM" = x; then
-        if test "xcomm" = x; then
-          PROG_NAME=comm
-        else
-          PROG_NAME=comm
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in cp
+  if test "x$COMM" = x; then
+    if test "xcomm" = x; then
+      PROG_NAME=comm
+    else
+      PROG_NAME=comm
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in cp
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4250,20 +4250,20 @@
 done
 
 
-    if test "x$CP" = x; then
-        if test "xcp" = x; then
-          PROG_NAME=cp
-        else
-          PROG_NAME=cp
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in cpio
+  if test "x$CP" = x; then
+    if test "xcp" = x; then
+      PROG_NAME=cp
+    else
+      PROG_NAME=cp
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in cpio
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4309,20 +4309,20 @@
 done
 
 
-    if test "x$CPIO" = x; then
-        if test "xcpio" = x; then
-          PROG_NAME=cpio
-        else
-          PROG_NAME=cpio
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in cut
+  if test "x$CPIO" = x; then
+    if test "xcpio" = x; then
+      PROG_NAME=cpio
+    else
+      PROG_NAME=cpio
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in cut
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4368,20 +4368,20 @@
 done
 
 
-    if test "x$CUT" = x; then
-        if test "xcut" = x; then
-          PROG_NAME=cut
-        else
-          PROG_NAME=cut
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in date
+  if test "x$CUT" = x; then
+    if test "xcut" = x; then
+      PROG_NAME=cut
+    else
+      PROG_NAME=cut
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in date
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4427,20 +4427,20 @@
 done
 
 
-    if test "x$DATE" = x; then
-        if test "xdate" = x; then
-          PROG_NAME=date
-        else
-          PROG_NAME=date
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in gdiff diff
+  if test "x$DATE" = x; then
+    if test "xdate" = x; then
+      PROG_NAME=date
+    else
+      PROG_NAME=date
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in gdiff diff
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4486,20 +4486,20 @@
 done
 
 
-    if test "x$DIFF" = x; then
-        if test "xgdiff diff" = x; then
-          PROG_NAME=diff
-        else
-          PROG_NAME=gdiff diff
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in dirname
+  if test "x$DIFF" = x; then
+    if test "xgdiff diff" = x; then
+      PROG_NAME=diff
+    else
+      PROG_NAME=gdiff diff
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in dirname
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4545,20 +4545,20 @@
 done
 
 
-    if test "x$DIRNAME" = x; then
-        if test "xdirname" = x; then
-          PROG_NAME=dirname
-        else
-          PROG_NAME=dirname
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in echo
+  if test "x$DIRNAME" = x; then
+    if test "xdirname" = x; then
+      PROG_NAME=dirname
+    else
+      PROG_NAME=dirname
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in echo
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4604,20 +4604,20 @@
 done
 
 
-    if test "x$ECHO" = x; then
-        if test "xecho" = x; then
-          PROG_NAME=echo
-        else
-          PROG_NAME=echo
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in expr
+  if test "x$ECHO" = x; then
+    if test "xecho" = x; then
+      PROG_NAME=echo
+    else
+      PROG_NAME=echo
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in expr
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4663,20 +4663,20 @@
 done
 
 
-    if test "x$EXPR" = x; then
-        if test "xexpr" = x; then
-          PROG_NAME=expr
-        else
-          PROG_NAME=expr
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in file
+  if test "x$EXPR" = x; then
+    if test "xexpr" = x; then
+      PROG_NAME=expr
+    else
+      PROG_NAME=expr
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in file
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4722,20 +4722,20 @@
 done
 
 
-    if test "x$FILE" = x; then
-        if test "xfile" = x; then
-          PROG_NAME=file
-        else
-          PROG_NAME=file
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in find
+  if test "x$FILE" = x; then
+    if test "xfile" = x; then
+      PROG_NAME=file
+    else
+      PROG_NAME=file
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in find
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4781,20 +4781,20 @@
 done
 
 
-    if test "x$FIND" = x; then
-        if test "xfind" = x; then
-          PROG_NAME=find
-        else
-          PROG_NAME=find
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in head
+  if test "x$FIND" = x; then
+    if test "xfind" = x; then
+      PROG_NAME=find
+    else
+      PROG_NAME=find
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in head
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4840,20 +4840,20 @@
 done
 
 
-    if test "x$HEAD" = x; then
-        if test "xhead" = x; then
-          PROG_NAME=head
-        else
-          PROG_NAME=head
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in ln
+  if test "x$HEAD" = x; then
+    if test "xhead" = x; then
+      PROG_NAME=head
+    else
+      PROG_NAME=head
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in ln
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4899,20 +4899,20 @@
 done
 
 
-    if test "x$LN" = x; then
-        if test "xln" = x; then
-          PROG_NAME=ln
-        else
-          PROG_NAME=ln
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in ls
+  if test "x$LN" = x; then
+    if test "xln" = x; then
+      PROG_NAME=ln
+    else
+      PROG_NAME=ln
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in ls
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4958,20 +4958,20 @@
 done
 
 
-    if test "x$LS" = x; then
-        if test "xls" = x; then
-          PROG_NAME=ls
-        else
-          PROG_NAME=ls
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in mkdir
+  if test "x$LS" = x; then
+    if test "xls" = x; then
+      PROG_NAME=ls
+    else
+      PROG_NAME=ls
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in mkdir
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5017,20 +5017,20 @@
 done
 
 
-    if test "x$MKDIR" = x; then
-        if test "xmkdir" = x; then
-          PROG_NAME=mkdir
-        else
-          PROG_NAME=mkdir
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in mktemp
+  if test "x$MKDIR" = x; then
+    if test "xmkdir" = x; then
+      PROG_NAME=mkdir
+    else
+      PROG_NAME=mkdir
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in mktemp
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5076,20 +5076,20 @@
 done
 
 
-    if test "x$MKTEMP" = x; then
-        if test "xmktemp" = x; then
-          PROG_NAME=mktemp
-        else
-          PROG_NAME=mktemp
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in mv
+  if test "x$MKTEMP" = x; then
+    if test "xmktemp" = x; then
+      PROG_NAME=mktemp
+    else
+      PROG_NAME=mktemp
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in mv
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5135,20 +5135,20 @@
 done
 
 
-    if test "x$MV" = x; then
-        if test "xmv" = x; then
-          PROG_NAME=mv
-        else
-          PROG_NAME=mv
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in printf
+  if test "x$MV" = x; then
+    if test "xmv" = x; then
+      PROG_NAME=mv
+    else
+      PROG_NAME=mv
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in printf
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5194,20 +5194,20 @@
 done
 
 
-    if test "x$PRINTF" = x; then
-        if test "xprintf" = x; then
-          PROG_NAME=printf
-        else
-          PROG_NAME=printf
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in rm
+  if test "x$PRINTF" = x; then
+    if test "xprintf" = x; then
+      PROG_NAME=printf
+    else
+      PROG_NAME=printf
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in rm
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5253,20 +5253,20 @@
 done
 
 
-    if test "x$RM" = x; then
-        if test "xrm" = x; then
-          PROG_NAME=rm
-        else
-          PROG_NAME=rm
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in sh
+  if test "x$RM" = x; then
+    if test "xrm" = x; then
+      PROG_NAME=rm
+    else
+      PROG_NAME=rm
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in sh
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5312,20 +5312,20 @@
 done
 
 
-    if test "x$SH" = x; then
-        if test "xsh" = x; then
-          PROG_NAME=sh
-        else
-          PROG_NAME=sh
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in sort
+  if test "x$SH" = x; then
+    if test "xsh" = x; then
+      PROG_NAME=sh
+    else
+      PROG_NAME=sh
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in sort
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5371,20 +5371,20 @@
 done
 
 
-    if test "x$SORT" = x; then
-        if test "xsort" = x; then
-          PROG_NAME=sort
-        else
-          PROG_NAME=sort
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in tail
+  if test "x$SORT" = x; then
+    if test "xsort" = x; then
+      PROG_NAME=sort
+    else
+      PROG_NAME=sort
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in tail
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5430,20 +5430,20 @@
 done
 
 
-    if test "x$TAIL" = x; then
-        if test "xtail" = x; then
-          PROG_NAME=tail
-        else
-          PROG_NAME=tail
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in tar
+  if test "x$TAIL" = x; then
+    if test "xtail" = x; then
+      PROG_NAME=tail
+    else
+      PROG_NAME=tail
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in tar
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5489,20 +5489,20 @@
 done
 
 
-    if test "x$TAR" = x; then
-        if test "xtar" = x; then
-          PROG_NAME=tar
-        else
-          PROG_NAME=tar
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in tee
+  if test "x$TAR" = x; then
+    if test "xtar" = x; then
+      PROG_NAME=tar
+    else
+      PROG_NAME=tar
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in tee
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5548,20 +5548,20 @@
 done
 
 
-    if test "x$TEE" = x; then
-        if test "xtee" = x; then
-          PROG_NAME=tee
-        else
-          PROG_NAME=tee
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in touch
+  if test "x$TEE" = x; then
+    if test "xtee" = x; then
+      PROG_NAME=tee
+    else
+      PROG_NAME=tee
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in touch
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5607,20 +5607,20 @@
 done
 
 
-    if test "x$TOUCH" = x; then
-        if test "xtouch" = x; then
-          PROG_NAME=touch
-        else
-          PROG_NAME=touch
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in tr
+  if test "x$TOUCH" = x; then
+    if test "xtouch" = x; then
+      PROG_NAME=touch
+    else
+      PROG_NAME=touch
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in tr
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5666,20 +5666,20 @@
 done
 
 
-    if test "x$TR" = x; then
-        if test "xtr" = x; then
-          PROG_NAME=tr
-        else
-          PROG_NAME=tr
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in uname
+  if test "x$TR" = x; then
+    if test "xtr" = x; then
+      PROG_NAME=tr
+    else
+      PROG_NAME=tr
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in uname
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5725,20 +5725,20 @@
 done
 
 
-    if test "x$UNAME" = x; then
-        if test "xuname" = x; then
-          PROG_NAME=uname
-        else
-          PROG_NAME=uname
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in uniq
+  if test "x$UNAME" = x; then
+    if test "xuname" = x; then
+      PROG_NAME=uname
+    else
+      PROG_NAME=uname
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in uniq
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5784,20 +5784,20 @@
 done
 
 
-    if test "x$UNIQ" = x; then
-        if test "xuniq" = x; then
-          PROG_NAME=uniq
-        else
-          PROG_NAME=uniq
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in wc
+  if test "x$UNIQ" = x; then
+    if test "xuniq" = x; then
+      PROG_NAME=uniq
+    else
+      PROG_NAME=uniq
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in wc
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5843,20 +5843,20 @@
 done
 
 
-    if test "x$WC" = x; then
-        if test "xwc" = x; then
-          PROG_NAME=wc
-        else
-          PROG_NAME=wc
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in which
+  if test "x$WC" = x; then
+    if test "xwc" = x; then
+      PROG_NAME=wc
+    else
+      PROG_NAME=wc
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in which
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5902,20 +5902,20 @@
 done
 
 
-    if test "x$WHICH" = x; then
-        if test "xwhich" = x; then
-          PROG_NAME=which
-        else
-          PROG_NAME=which
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in xargs
+  if test "x$WHICH" = x; then
+    if test "xwhich" = x; then
+      PROG_NAME=which
+    else
+      PROG_NAME=which
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in xargs
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -5961,21 +5961,21 @@
 done
 
 
-    if test "x$XARGS" = x; then
-        if test "xxargs" = x; then
-          PROG_NAME=xargs
-        else
-          PROG_NAME=xargs
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-# Then required tools that require some special treatment.
-for ac_prog in gawk mawk nawk awk
+  if test "x$XARGS" = x; then
+    if test "xxargs" = x; then
+      PROG_NAME=xargs
+    else
+      PROG_NAME=xargs
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  # Then required tools that require some special treatment.
+  for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -6018,18 +6018,18 @@
 done
 
 
-    if test "x$AWK" = x; then
-        if test "x" = x; then
-          PROG_NAME=awk
-        else
-          PROG_NAME=
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+  if test "x$AWK" = x; then
+    if test "x" = x; then
+      PROG_NAME=awk
+    else
+      PROG_NAME=
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
 if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -6093,18 +6093,18 @@
 
 
 
-    if test "x$GREP" = x; then
-        if test "x" = x; then
-          PROG_NAME=grep
-        else
-          PROG_NAME=
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+  if test "x$GREP" = x; then
+    if test "x" = x; then
+      PROG_NAME=grep
+    else
+      PROG_NAME=
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
 if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -6172,18 +6172,18 @@
 
 
 
-    if test "x$EGREP" = x; then
-        if test "x" = x; then
-          PROG_NAME=egrep
-        else
-          PROG_NAME=
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+  if test "x$EGREP" = x; then
+    if test "x" = x; then
+      PROG_NAME=egrep
+    else
+      PROG_NAME=
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
 if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -6251,18 +6251,18 @@
 
 
 
-    if test "x$FGREP" = x; then
-        if test "x" = x; then
-          PROG_NAME=fgrep
-        else
-          PROG_NAME=
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+  if test "x$FGREP" = x; then
+    if test "x" = x; then
+      PROG_NAME=fgrep
+    else
+      PROG_NAME=
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
 if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -6332,19 +6332,19 @@
   rm -f conftest.sed
 
 
-    if test "x$SED" = x; then
-        if test "x" = x; then
-          PROG_NAME=sed
-        else
-          PROG_NAME=
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-for ac_prog in nawk gawk awk
+  if test "x$SED" = x; then
+    if test "x" = x; then
+      PROG_NAME=sed
+    else
+      PROG_NAME=
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+  for ac_prog in nawk gawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -6390,27 +6390,27 @@
 done
 
 
-    if test "x$NAWK" = x; then
-        if test "x" = x; then
-          PROG_NAME=nawk
-        else
-          PROG_NAME=
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-# Always force rm.
-RM="$RM -f"
-
-# pwd behaves differently on various platforms and some don't support the -L flag.
-# Always use the bash builtin pwd to get uniform behavior.
-THEPWDCMD=pwd
-
-# These are not required on all platforms
-# Extract the first word of "cygpath", so it can be a program name with args.
+  if test "x$NAWK" = x; then
+    if test "x" = x; then
+      PROG_NAME=nawk
+    else
+      PROG_NAME=
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+  # Always force rm.
+  RM="$RM -f"
+
+  # pwd behaves differently on various platforms and some don't support the -L flag.
+  # Always use the bash builtin pwd to get uniform behavior.
+  THEPWDCMD=pwd
+
+  # These are not required on all platforms
+  # Extract the first word of "cygpath", so it can be a program name with args.
 set dummy cygpath; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -6450,7 +6450,7 @@
 fi
 
 
-# Extract the first word of "readlink", so it can be a program name with args.
+  # Extract the first word of "readlink", so it can be a program name with args.
 set dummy readlink; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -6490,7 +6490,7 @@
 fi
 
 
-# Extract the first word of "df", so it can be a program name with args.
+  # Extract the first word of "df", so it can be a program name with args.
 set dummy df; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -6530,7 +6530,7 @@
 fi
 
 
-# Extract the first word of "SetFile", so it can be a program name with args.
+  # Extract the first word of "SetFile", so it can be a program name with args.
 set dummy SetFile; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -6685,26 +6685,26 @@
     NONENONEs,x,x, &&
   program_prefix=${target_alias}-
 
-# Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
-# is confusing; it assumes you are cross-compiling a cross-compiler (!)  and "target" is thus the target of the
-# product you're building. The target of this build is called "host". Since this is confusing to most people, we
-# have not adopted that system, but use "target" as the platform we are building for. In some places though we need
-# to use the configure naming style.
-
-
-
-
-
-    # Copy the autoconf trip/quadruplet verbatim to OPENJDK_TARGET_AUTOCONF_NAME
-    # (from the autoconf "host") and OPENJDK_BUILD_AUTOCONF_NAME
-    # Note that we might later on rewrite e.g. OPENJDK_TARGET_CPU due to reduced build,
-    # but this will not change the value of OPENJDK_TARGET_AUTOCONF_NAME.
-    OPENJDK_TARGET_AUTOCONF_NAME="$host"
-    OPENJDK_BUILD_AUTOCONF_NAME="$build"
-
-
-
-    # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
+  # Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
+  # is confusing; it assumes you are cross-compiling a cross-compiler (!)  and "target" is thus the target of the
+  # product you're building. The target of this build is called "host". Since this is confusing to most people, we
+  # have not adopted that system, but use "target" as the platform we are building for. In some places though we need
+  # to use the configure naming style.
+
+
+
+
+
+  # Copy the autoconf trip/quadruplet verbatim to OPENJDK_TARGET_AUTOCONF_NAME
+  # (from the autoconf "host") and OPENJDK_BUILD_AUTOCONF_NAME
+  # Note that we might later on rewrite e.g. OPENJDK_TARGET_CPU due to reduced build,
+  # but this will not change the value of OPENJDK_TARGET_AUTOCONF_NAME.
+  OPENJDK_TARGET_AUTOCONF_NAME="$host"
+  OPENJDK_BUILD_AUTOCONF_NAME="$build"
+
+
+
+  # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
 
   case "$build_os" in
     *linux*)
@@ -6768,63 +6768,63 @@
       VAR_CPU_ARCH=ppc
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     powerpc64)
       VAR_CPU=ppc64
       VAR_CPU_ARCH=ppc
       VAR_CPU_BITS=64
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     s390)
       VAR_CPU=s390
       VAR_CPU_ARCH=s390
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     s390x)
       VAR_CPU=s390x
       VAR_CPU_ARCH=s390
       VAR_CPU_BITS=64
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     sparc)
       VAR_CPU=sparc
       VAR_CPU_ARCH=sparc
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     sparcv9)
       VAR_CPU=sparcv9
       VAR_CPU_ARCH=sparc
       VAR_CPU_BITS=64
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     *)
       as_fn_error $? "unsupported cpu $build_cpu" "$LINENO" 5
       ;;
   esac
 
-    # ..and setup our own variables. (Do this explicitely to facilitate searching)
-    OPENJDK_BUILD_OS="$VAR_OS"
-    OPENJDK_BUILD_OS_API="$VAR_OS_API"
-    OPENJDK_BUILD_OS_ENV="$VAR_OS_ENV"
-    OPENJDK_BUILD_CPU="$VAR_CPU"
-    OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
-    OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
-    OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking openjdk-build os-cpu" >&5
+  # ..and setup our own variables. (Do this explicitely to facilitate searching)
+  OPENJDK_BUILD_OS="$VAR_OS"
+  OPENJDK_BUILD_OS_API="$VAR_OS_API"
+  OPENJDK_BUILD_OS_ENV="$VAR_OS_ENV"
+  OPENJDK_BUILD_CPU="$VAR_CPU"
+  OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
+  OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
+  OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking openjdk-build os-cpu" >&5
 $as_echo_n "checking openjdk-build os-cpu... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU" >&5
 $as_echo "$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU" >&6; }
 
-    # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
+  # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
 
   case "$host_os" in
     *linux*)
@@ -6888,60 +6888,60 @@
       VAR_CPU_ARCH=ppc
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     powerpc64)
       VAR_CPU=ppc64
       VAR_CPU_ARCH=ppc
       VAR_CPU_BITS=64
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     s390)
       VAR_CPU=s390
       VAR_CPU_ARCH=s390
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     s390x)
       VAR_CPU=s390x
       VAR_CPU_ARCH=s390
       VAR_CPU_BITS=64
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     sparc)
       VAR_CPU=sparc
       VAR_CPU_ARCH=sparc
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     sparcv9)
       VAR_CPU=sparcv9
       VAR_CPU_ARCH=sparc
       VAR_CPU_BITS=64
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     *)
       as_fn_error $? "unsupported cpu $host_cpu" "$LINENO" 5
       ;;
   esac
 
-    # ... and setup our own variables. (Do this explicitely to facilitate searching)
-    OPENJDK_TARGET_OS="$VAR_OS"
-    OPENJDK_TARGET_OS_API="$VAR_OS_API"
-    OPENJDK_TARGET_OS_ENV="$VAR_OS_ENV"
-    OPENJDK_TARGET_CPU="$VAR_CPU"
-    OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
-    OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
-    OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking openjdk-target os-cpu" >&5
+  # ... and setup our own variables. (Do this explicitely to facilitate searching)
+  OPENJDK_TARGET_OS="$VAR_OS"
+  OPENJDK_TARGET_OS_API="$VAR_OS_API"
+  OPENJDK_TARGET_OS_ENV="$VAR_OS_ENV"
+  OPENJDK_TARGET_CPU="$VAR_CPU"
+  OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
+  OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
+  OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking openjdk-target os-cpu" >&5
 $as_echo_n "checking openjdk-target os-cpu... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" >&5
 $as_echo "$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" >&6; }
 
 
@@ -6991,168 +6991,167 @@
   fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compilation type" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking compilation type" >&5
 $as_echo_n "checking compilation type... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $COMPILE_TYPE" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $COMPILE_TYPE" >&5
 $as_echo "$COMPILE_TYPE" >&6; }
 
 
-    if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
-       REQUIRED_OS_NAME=SunOS
-       REQUIRED_OS_VERSION=5.10
-    fi
-    if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
-       REQUIRED_OS_NAME=Linux
-       REQUIRED_OS_VERSION=2.6
-    fi
-    if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-        REQUIRED_OS_NAME=Windows
-        if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
-            REQUIRED_OS_VERSION=5.2
-        else
-            REQUIRED_OS_VERSION=5.1
-        fi
-    fi
-    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-        REQUIRED_OS_NAME=Darwin
-        REQUIRED_OS_VERSION=11.2
-    fi
-
-
-
-
-
-    # Also store the legacy naming of the cpu.
-    # Ie i586 and amd64 instead of x86 and x86_64
-    OPENJDK_TARGET_CPU_LEGACY="$OPENJDK_TARGET_CPU"
-    if test "x$OPENJDK_TARGET_CPU" = xx86; then
-      OPENJDK_TARGET_CPU_LEGACY="i586"
-    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
-      # On all platforms except MacOSX replace x86_64 with amd64.
-      OPENJDK_TARGET_CPU_LEGACY="amd64"
-    fi
-
-
-    # And the second legacy naming of the cpu.
-    # Ie i386 and amd64 instead of x86 and x86_64.
-    OPENJDK_TARGET_CPU_LEGACY_LIB="$OPENJDK_TARGET_CPU"
-    if test "x$OPENJDK_TARGET_CPU" = xx86; then
-      OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
-    elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
-      OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
-    fi
-
-
-    # This is the name of the cpu (but using i386 and amd64 instead of
-    # x86 and x86_64, respectively), preceeded by a /, to be used when
-    # locating libraries. On macosx, it's empty, though.
-    OPENJDK_TARGET_CPU_LIBDIR="/$OPENJDK_TARGET_CPU_LEGACY_LIB"
-    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
-        OPENJDK_TARGET_CPU_LIBDIR=""
-    fi
-
-
-    # OPENJDK_TARGET_CPU_ISADIR is normally empty. On 64-bit Solaris systems, it is set to
-    # /amd64 or /sparcv9. This string is appended to some library paths, like this:
-    # /usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libexample.so
-    OPENJDK_TARGET_CPU_ISADIR=""
-    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-      if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
-          OPENJDK_TARGET_CPU_ISADIR="/amd64"
-      elif test "x$OPENJDK_TARGET_CPU" = xsparcv9; then
-          OPENJDK_TARGET_CPU_ISADIR="/sparcv9"
-      fi
-    fi
-
-
-    # Setup OPENJDK_TARGET_CPU_OSARCH, which is used to set the os.arch Java system property
-    OPENJDK_TARGET_CPU_OSARCH="$OPENJDK_TARGET_CPU"
-    if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xx86; then
-      # On linux only, we replace x86 with i386.
-      OPENJDK_TARGET_CPU_OSARCH="i386"
-    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
-      # On all platforms except macosx, we replace x86_64 with amd64.
-      OPENJDK_TARGET_CPU_OSARCH="amd64"
-    fi
-
-
-    OPENJDK_TARGET_CPU_JLI="$OPENJDK_TARGET_CPU"
-    if test "x$OPENJDK_TARGET_CPU" = xx86; then
-      OPENJDK_TARGET_CPU_JLI="i386"
-    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
-      # On all platforms except macosx, we replace x86_64 with amd64.
-      OPENJDK_TARGET_CPU_JLI="amd64"
-    fi
-    # Now setup the -D flags for building libjli.
-    OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
-    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-      if test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
-        OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"sparc\"' -DLIBARCH64NAME='\"sparcv9\"'"
-      elif test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
-        OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'"
-      fi
-    fi
-
-
-    # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
-    if test "x$OPENJDK_TARGET_OS_API" = xposix; then
-        OPENJDK_TARGET_OS_API_DIR="solaris"
-    fi
-    if test "x$OPENJDK_TARGET_OS_API" = xwinapi; then
-        OPENJDK_TARGET_OS_API_DIR="windows"
-    fi
-
-
-    if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-        A_LP64="LP64:="
-        # -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in
-        # unpack200.exe
-        if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xmacosx; then
-            ADD_LP64="-D_LP64=1"
-        fi
-    fi
-    LP64=$A_LP64
-
-
-    if test "x$COMPILE_TYPE" = "xcross"; then
-      # FIXME: ... or should this include reduced builds..?
-      DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$OPENJDK_TARGET_CPU_LEGACY"
-    else
-      DEFINE_CROSS_COMPILE_ARCH=""
-    fi
-
-
-    # ZERO_ARCHDEF is used to enable architecture-specific code
-    case "${OPENJDK_TARGET_CPU}" in
-      ppc*)    ZERO_ARCHDEF=PPC   ;;
-      s390*)   ZERO_ARCHDEF=S390  ;;
-      sparc*)  ZERO_ARCHDEF=SPARC ;;
-      x86_64*) ZERO_ARCHDEF=AMD64 ;;
-      x86)     ZERO_ARCHDEF=IA32  ;;
-      *)      ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
-    esac
-
+  if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
+    REQUIRED_OS_NAME=SunOS
+    REQUIRED_OS_VERSION=5.10
+  fi
+  if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
+    REQUIRED_OS_NAME=Linux
+    REQUIRED_OS_VERSION=2.6
+  fi
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    REQUIRED_OS_NAME=Windows
+    if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
+      REQUIRED_OS_VERSION=5.2
+    else
+      REQUIRED_OS_VERSION=5.1
+    fi
+  fi
+  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+    REQUIRED_OS_NAME=Darwin
+    REQUIRED_OS_VERSION=11.2
+  fi
+
+
+
+
+
+  # Also store the legacy naming of the cpu.
+  # Ie i586 and amd64 instead of x86 and x86_64
+  OPENJDK_TARGET_CPU_LEGACY="$OPENJDK_TARGET_CPU"
+  if test "x$OPENJDK_TARGET_CPU" = xx86; then
+    OPENJDK_TARGET_CPU_LEGACY="i586"
+  elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    # On all platforms except MacOSX replace x86_64 with amd64.
+    OPENJDK_TARGET_CPU_LEGACY="amd64"
+  fi
+
+
+  # And the second legacy naming of the cpu.
+  # Ie i386 and amd64 instead of x86 and x86_64.
+  OPENJDK_TARGET_CPU_LEGACY_LIB="$OPENJDK_TARGET_CPU"
+  if test "x$OPENJDK_TARGET_CPU" = xx86; then
+    OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
+  elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
+  fi
+
+
+  # This is the name of the cpu (but using i386 and amd64 instead of
+  # x86 and x86_64, respectively), preceeded by a /, to be used when
+  # locating libraries. On macosx, it's empty, though.
+  OPENJDK_TARGET_CPU_LIBDIR="/$OPENJDK_TARGET_CPU_LEGACY_LIB"
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+    OPENJDK_TARGET_CPU_LIBDIR=""
+  fi
+
+
+  # OPENJDK_TARGET_CPU_ISADIR is normally empty. On 64-bit Solaris systems, it is set to
+  # /amd64 or /sparcv9. This string is appended to some library paths, like this:
+  # /usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libexample.so
+  OPENJDK_TARGET_CPU_ISADIR=""
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+    if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+      OPENJDK_TARGET_CPU_ISADIR="/amd64"
+    elif test "x$OPENJDK_TARGET_CPU" = xsparcv9; then
+      OPENJDK_TARGET_CPU_ISADIR="/sparcv9"
+    fi
+  fi
+
+
+  # Setup OPENJDK_TARGET_CPU_OSARCH, which is used to set the os.arch Java system property
+  OPENJDK_TARGET_CPU_OSARCH="$OPENJDK_TARGET_CPU"
+  if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xx86; then
+    # On linux only, we replace x86 with i386.
+    OPENJDK_TARGET_CPU_OSARCH="i386"
+  elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    # On all platforms except macosx, we replace x86_64 with amd64.
+    OPENJDK_TARGET_CPU_OSARCH="amd64"
+  fi
+
+
+  OPENJDK_TARGET_CPU_JLI="$OPENJDK_TARGET_CPU"
+  if test "x$OPENJDK_TARGET_CPU" = xx86; then
+    OPENJDK_TARGET_CPU_JLI="i386"
+  elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    # On all platforms except macosx, we replace x86_64 with amd64.
+    OPENJDK_TARGET_CPU_JLI="amd64"
+  fi
+  # Now setup the -D flags for building libjli.
+  OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+    if test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
+      OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"sparc\"' -DLIBARCH64NAME='\"sparcv9\"'"
+    elif test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
+      OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'"
+    fi
+  fi
+
+
+  # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
+  if test "x$OPENJDK_TARGET_OS_API" = xposix; then
+    OPENJDK_TARGET_OS_API_DIR="solaris"
+  fi
+  if test "x$OPENJDK_TARGET_OS_API" = xwinapi; then
+    OPENJDK_TARGET_OS_API_DIR="windows"
+  fi
+
+
+  if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
+    A_LP64="LP64:="
+    # -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in
+    # unpack200.exe
+    if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xmacosx; then
+      ADD_LP64="-D_LP64=1"
+    fi
+  fi
+  LP64=$A_LP64
+
+
+  if test "x$COMPILE_TYPE" = "xcross"; then
+    # FIXME: ... or should this include reduced builds..?
+    DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$OPENJDK_TARGET_CPU_LEGACY"
+  else
+    DEFINE_CROSS_COMPILE_ARCH=""
+  fi
+
+
+  # ZERO_ARCHDEF is used to enable architecture-specific code
+  case "${OPENJDK_TARGET_CPU}" in
+    ppc*)    ZERO_ARCHDEF=PPC   ;;
+    s390*)   ZERO_ARCHDEF=S390  ;;
+    sparc*)  ZERO_ARCHDEF=SPARC ;;
+    x86_64*) ZERO_ARCHDEF=AMD64 ;;
+    x86)     ZERO_ARCHDEF=IA32  ;;
+    *)      ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
+  esac
 
 
 
 
 # Continue setting up basic stuff. Most remaining code require fundamental tools.
 
-# Locate the directory of this script.
-SCRIPT="$0"
-AUTOCONF_DIR=`cd \`$DIRNAME $SCRIPT\`; $THEPWDCMD -L`
-
-# Where is the source? It is located two levels above the configure script.
-CURDIR="$PWD"
-cd "$AUTOCONF_DIR/../.."
-SRC_ROOT="`$THEPWDCMD -L`"
-
-if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  PATH_SEP=";"
+  # Locate the directory of this script.
+  SCRIPT="$0"
+  AUTOCONF_DIR=`cd \`$DIRNAME $SCRIPT\`; $THEPWDCMD -L`
+
+  # Where is the source? It is located two levels above the configure script.
+  CURDIR="$PWD"
+  cd "$AUTOCONF_DIR/../.."
+  SRC_ROOT="`$THEPWDCMD -L`"
+
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    PATH_SEP=";"
 
   SRC_ROOT_LENGTH=`$THEPWDCMD -L|$WC -m`
   if test $SRC_ROOT_LENGTH -gt 100; then
-      as_fn_error $? "Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported" "$LINENO" 5
+    as_fn_error $? "Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported" "$LINENO" 5
   fi
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -7171,7 +7170,7 @@
       as_fn_error $? "Cannot continue" "$LINENO" 5
     fi
     if test "x$CYGPATH" = x; then
-        as_fn_error $? "Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path" "$LINENO" 5
+      as_fn_error $? "Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking cygwin root directory as unix-style path" >&5
 $as_echo_n "checking cygwin root directory as unix-style path... " >&6; }
@@ -7184,7 +7183,7 @@
     WINDOWS_ENV_ROOT_PATH="$CYGWIN_ROOT_PATH"
     test_cygdrive_prefix=`$ECHO $CYGWIN_ROOT_PATH | $GREP ^/cygdrive/`
     if test "x$test_cygdrive_prefix" = x; then
-        as_fn_error $? "Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c." "$LINENO" 5
+      as_fn_error $? "Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c." "$LINENO" 5
     fi
   elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking msys release" >&5
@@ -7239,13 +7238,13 @@
 $as_echo "$as_me: WARNING: It seems that your find utility is non-standard." >&2;}
   fi
 
-else
-  PATH_SEP=":"
-fi
-
-
-
-cd "$CURDIR"
+  else
+    PATH_SEP=":"
+  fi
+
+
+
+  cd "$CURDIR"
 
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -7492,13 +7491,13 @@
   fi
 
 
-if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
+  if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
     # Add extra search paths on solaris for utilities like ar and as etc...
     PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin"
-fi
-
-# You can force the sys-root if the sys-root encoded into the cross compiler tools
-# is not correct.
+  fi
+
+  # You can force the sys-root if the sys-root encoded into the cross compiler tools
+  # is not correct.
 
 # Check whether --with-sys-root was given.
 if test "${with_sys_root+set}" = set; then :
@@ -7506,11 +7505,11 @@
 fi
 
 
-if test "x$with_sys_root" != x; then
-  SYS_ROOT=$with_sys_root
-else
-  SYS_ROOT=/
-fi
+  if test "x$with_sys_root" != x; then
+    SYS_ROOT=$with_sys_root
+  else
+    SYS_ROOT=/
+  fi
 
 
 
@@ -7525,9 +7524,9 @@
 # Check whether --with-devkit was given.
 if test "${with_devkit+set}" = set; then :
   withval=$with_devkit;
-    if test "x$with_sys_root" != x; then
-      as_fn_error $? "Cannot specify both --with-devkit and --with-sys-root at the same time" "$LINENO" 5
-    fi
+        if test "x$with_sys_root" != x; then
+          as_fn_error $? "Cannot specify both --with-devkit and --with-sys-root at the same time" "$LINENO" 5
+        fi
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
 
@@ -7657,20 +7656,20 @@
     TOOLS_DIR="$TOOLS_DIR:$with_devkit/bin"
   fi
 
-    if test -d "$with_devkit/$host_alias/libc"; then
-      SYS_ROOT=$with_devkit/$host_alias/libc
-    elif test -d "$with_devkit/$host/sys-root"; then
-      SYS_ROOT=$with_devkit/$host/sys-root
-    fi
-
-fi
-
-
-
-# Setup default logging of stdout and stderr to build.log in the output root.
-BUILD_LOG='$(OUTPUT_ROOT)/build.log'
-BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
-BUILD_LOG_WRAPPER='$(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)'
+        if test -d "$with_devkit/$host_alias/libc"; then
+          SYS_ROOT=$with_devkit/$host_alias/libc
+        elif test -d "$with_devkit/$host/sys-root"; then
+          SYS_ROOT=$with_devkit/$host/sys-root
+        fi
+
+fi
+
+
+
+  # Setup default logging of stdout and stderr to build.log in the output root.
+  BUILD_LOG='$(OUTPUT_ROOT)/build.log'
+  BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
+  BUILD_LOG_WRAPPER='$(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)'
 
 
 
@@ -7725,18 +7724,18 @@
 
 # These are needed to be able to create a configuration name (and thus the output directory)
 
-###############################################################################
-#
-# Check which variant of the JDK that we want to build.
-# Currently we have:
-#    normal:   standard edition
-# but the custom make system may add other variants
-#
-# Effectively the JDK variant gives a name to a specific set of
-# modules to compile into the JDK. In the future, these modules
-# might even be Jigsaw modules.
-#
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of the JDK to build" >&5
+  ###############################################################################
+  #
+  # Check which variant of the JDK that we want to build.
+  # Currently we have:
+  #    normal:   standard edition
+  # but the custom make system may add other variants
+  #
+  # Effectively the JDK variant gives a name to a specific set of
+  # modules to compile into the JDK. In the future, these modules
+  # might even be Jigsaw modules.
+  #
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of the JDK to build" >&5
 $as_echo_n "checking which variant of the JDK to build... " >&6; }
 
 # Check whether --with-jdk-variant was given.
@@ -7745,31 +7744,31 @@
 fi
 
 
-if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then
+  if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then
     JDK_VARIANT="normal"
-else
+  else
     as_fn_error $? "The available JDK variants are: normal" "$LINENO" 5
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JDK_VARIANT" >&5
+  fi
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JDK_VARIANT" >&5
 $as_echo "$JDK_VARIANT" >&6; }
 
 
 
-###############################################################################
-#
-# Check which variants of the JVM that we want to build.
-# Currently we have:
-#    server: normal interpreter and a tiered C1/C2 compiler
-#    client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms)
-#    minimal1: reduced form of client with optional VM services and features stripped out
-#    kernel: kernel footprint JVM that passes the TCK without major performance problems,
-#             ie normal interpreter and C1, only the serial GC, kernel jvmti etc
-#    zero: no machine code interpreter, no compiler
-#    zeroshark: zero interpreter and shark/llvm compiler backend
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which variants of the JVM to build" >&5
+  ###############################################################################
+  #
+  # Check which variants of the JVM that we want to build.
+  # Currently we have:
+  #    server: normal interpreter and a tiered C1/C2 compiler
+  #    client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms)
+  #    minimal1: reduced form of client with optional VM services and features stripped out
+  #    kernel: kernel footprint JVM that passes the TCK without major performance problems,
+  #             ie normal interpreter and C1, only the serial GC, kernel jvmti etc
+  #    zero: no machine code interpreter, no compiler
+  #    zeroshark: zero interpreter and shark/llvm compiler backend
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variants of the JVM to build" >&5
 $as_echo_n "checking which variants of the JVM to build... " >&6; }
 
 # Check whether --with-jvm-variants was given.
@@ -7778,87 +7777,86 @@
 fi
 
 
-if test "x$with_jvm_variants" = x; then
-     with_jvm_variants="server"
-fi
-
-JVM_VARIANTS=",$with_jvm_variants,"
-TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
-
-if test "x$TEST_VARIANTS" != "x,"; then
-   as_fn_error $? "The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_jvm_variants" >&5
+  if test "x$with_jvm_variants" = x; then
+    with_jvm_variants="server"
+  fi
+
+  JVM_VARIANTS=",$with_jvm_variants,"
+  TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
+
+  if test "x$TEST_VARIANTS" != "x,"; then
+    as_fn_error $? "The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark" "$LINENO" 5
+  fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_jvm_variants" >&5
 $as_echo "$with_jvm_variants" >&6; }
 
-JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'`
-JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'`
-JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS" | $SED -e '/,minimal1,/!s/.*/false/g' -e '/,minimal1,/s/.*/true/g'`
-JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
-JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
-JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
-
-if test "x$JVM_VARIANT_CLIENT" = xtrue; then
+  JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'`
+  JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'`
+  JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS" | $SED -e '/,minimal1,/!s/.*/false/g' -e '/,minimal1,/s/.*/true/g'`
+  JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
+  JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
+  JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
+
+  if test "x$JVM_VARIANT_CLIENT" = xtrue; then
     if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-        as_fn_error $? "You cannot build a client JVM for a 64-bit machine." "$LINENO" 5
-    fi
-fi
-if test "x$JVM_VARIANT_KERNEL" = xtrue; then
+      as_fn_error $? "You cannot build a client JVM for a 64-bit machine." "$LINENO" 5
+    fi
+  fi
+  if test "x$JVM_VARIANT_KERNEL" = xtrue; then
     if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-        as_fn_error $? "You cannot build a kernel JVM for a 64-bit machine." "$LINENO" 5
-    fi
-fi
-if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
+      as_fn_error $? "You cannot build a kernel JVM for a 64-bit machine." "$LINENO" 5
+    fi
+  fi
+  if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
     if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-        as_fn_error $? "You cannot build a minimal JVM for a 64-bit machine." "$LINENO" 5
-    fi
-fi
-
-# Replace the commas with AND for use in the build directory name.
-ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
-COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
-if test "x$COUNT_VARIANTS" != "x,1"; then
+      as_fn_error $? "You cannot build a minimal JVM for a 64-bit machine." "$LINENO" 5
+    fi
+  fi
+
+  # Replace the commas with AND for use in the build directory name.
+  ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
+  COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
+  if test "x$COUNT_VARIANTS" != "x,1"; then
     BUILDING_MULTIPLE_JVM_VARIANTS=yes
-else
+  else
     BUILDING_MULTIPLE_JVM_VARIANTS=no
-fi
-
-
-
-
-
-
-
-
-
-INCLUDE_SA=true
-if test "x$JVM_VARIANT_ZERO" = xtrue ; then
+  fi
+
+
+
+
+
+
+
+
+
+  INCLUDE_SA=true
+  if test "x$JVM_VARIANT_ZERO" = xtrue ; then
     INCLUDE_SA=false
-fi
-if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
+  fi
+  if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
     INCLUDE_SA=false
-fi
-
-
-if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-   MACOSX_UNIVERSAL="true"
-fi
-
-
-
-
-
-###############################################################################
-#
-# Set the debug level
-#    release: no debug information, all optimizations, no asserts.
-#    fastdebug: debug information (-g), all optimizations, all asserts
-#    slowdebug: debug information (-g), no optimizations, all asserts
-#
-DEBUG_LEVEL="release"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which debug level to use" >&5
+  fi
+
+
+  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+    MACOSX_UNIVERSAL="true"
+  fi
+
+
+
+
+  ###############################################################################
+  #
+  # Set the debug level
+  #    release: no debug information, all optimizations, no asserts.
+  #    fastdebug: debug information (-g), all optimizations, all asserts
+  #    slowdebug: debug information (-g), no optimizations, all asserts
+  #
+  DEBUG_LEVEL="release"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which debug level to use" >&5
 $as_echo_n "checking which debug level to use... " >&6; }
-# Check whether --enable-debug was given.
+  # Check whether --enable-debug was given.
 if test "${enable_debug+set}" = set; then :
   enableval=$enable_debug;
         ENABLE_DEBUG="${enableval}"
@@ -7875,96 +7873,96 @@
   withval=$with_debug_level;
         DEBUG_LEVEL="${withval}"
         if test "x$ENABLE_DEBUG" = xyes; then
-			as_fn_error $? "You cannot use both --enable-debug and --with-debug-level at the same time." "$LINENO" 5
-        fi
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEBUG_LEVEL" >&5
+          as_fn_error $? "You cannot use both --enable-debug and --with-debug-level at the same time." "$LINENO" 5
+        fi
+
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEBUG_LEVEL" >&5
 $as_echo "$DEBUG_LEVEL" >&6; }
 
-if test "x$DEBUG_LEVEL" != xrelease && \
-   test "x$DEBUG_LEVEL" != xfastdebug && \
-   test "x$DEBUG_LEVEL" != xslowdebug; then
-   as_fn_error $? "Allowed debug levels are: release, fastdebug and slowdebug" "$LINENO" 5
-fi
-
-
-###############################################################################
-#
-# Setup legacy vars/targets and new vars to deal with different debug levels.
-#
-
-case $DEBUG_LEVEL in
-      release )
-          VARIANT="OPT"
-          FASTDEBUG="false"
-          DEBUG_CLASSFILES="false"
-          BUILD_VARIANT_RELEASE=""
-          HOTSPOT_DEBUG_LEVEL="product"
-          HOTSPOT_EXPORT="product"
-           ;;
-      fastdebug )
-          VARIANT="DBG"
-          FASTDEBUG="true"
-          DEBUG_CLASSFILES="true"
-          BUILD_VARIANT_RELEASE="-fastdebug"
-          HOTSPOT_DEBUG_LEVEL="fastdebug"
-          HOTSPOT_EXPORT="fastdebug"
-           ;;
-      slowdebug )
-          VARIANT="DBG"
-          FASTDEBUG="false"
-          DEBUG_CLASSFILES="true"
-          BUILD_VARIANT_RELEASE="-debug"
-          HOTSPOT_DEBUG_LEVEL="jvmg"
-          HOTSPOT_EXPORT="debug"
-           ;;
-esac
-
-#####
-# Generate the legacy makefile targets for hotspot.
-# The hotspot api for selecting the build artifacts, really, needs to be improved.
-# JDK-7195896 will fix this on the hotspot side by using the JVM_VARIANT_* variables to
-# determine what needs to be built. All we will need to set here is all_product, all_fastdebug etc
-# But until then ...
-HOTSPOT_TARGET=""
-
-if test "x$JVM_VARIANT_SERVER" = xtrue; then
+  if test "x$DEBUG_LEVEL" != xrelease && \
+      test "x$DEBUG_LEVEL" != xfastdebug && \
+      test "x$DEBUG_LEVEL" != xslowdebug; then
+    as_fn_error $? "Allowed debug levels are: release, fastdebug and slowdebug" "$LINENO" 5
+  fi
+
+
+  ###############################################################################
+  #
+  # Setup legacy vars/targets and new vars to deal with different debug levels.
+  #
+
+  case $DEBUG_LEVEL in
+    release )
+      VARIANT="OPT"
+      FASTDEBUG="false"
+      DEBUG_CLASSFILES="false"
+      BUILD_VARIANT_RELEASE=""
+      HOTSPOT_DEBUG_LEVEL="product"
+      HOTSPOT_EXPORT="product"
+      ;;
+    fastdebug )
+      VARIANT="DBG"
+      FASTDEBUG="true"
+      DEBUG_CLASSFILES="true"
+      BUILD_VARIANT_RELEASE="-fastdebug"
+      HOTSPOT_DEBUG_LEVEL="fastdebug"
+      HOTSPOT_EXPORT="fastdebug"
+      ;;
+    slowdebug )
+      VARIANT="DBG"
+      FASTDEBUG="false"
+      DEBUG_CLASSFILES="true"
+      BUILD_VARIANT_RELEASE="-debug"
+      HOTSPOT_DEBUG_LEVEL="jvmg"
+      HOTSPOT_EXPORT="debug"
+      ;;
+  esac
+
+  #####
+  # Generate the legacy makefile targets for hotspot.
+  # The hotspot api for selecting the build artifacts, really, needs to be improved.
+  # JDK-7195896 will fix this on the hotspot side by using the JVM_VARIANT_* variables to
+  # determine what needs to be built. All we will need to set here is all_product, all_fastdebug etc
+  # But until then ...
+  HOTSPOT_TARGET=""
+
+  if test "x$JVM_VARIANT_SERVER" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL} "
-fi
-
-if test "x$JVM_VARIANT_CLIENT" = xtrue; then
+  fi
+
+  if test "x$JVM_VARIANT_CLIENT" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}1 "
-fi
-
-if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
+  fi
+
+  if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}minimal1 "
-fi
-
-if test "x$JVM_VARIANT_KERNEL" = xtrue; then
+  fi
+
+  if test "x$JVM_VARIANT_KERNEL" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}kernel "
-fi
-
-if test "x$JVM_VARIANT_ZERO" = xtrue; then
+  fi
+
+  if test "x$JVM_VARIANT_ZERO" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}zero "
-fi
-
-if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
+  fi
+
+  if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
-fi
-
-HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
-
-# On Macosx universal binaries are produced, but they only contain
-# 64 bit intel. This invalidates control of which jvms are built
-# from configure, but only server is valid anyway. Fix this
-# when hotspot makefiles are rewritten.
-if test "x$MACOSX_UNIVERSAL" = xtrue; then
+  fi
+
+  HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
+
+  # On Macosx universal binaries are produced, but they only contain
+  # 64 bit intel. This invalidates control of which jvms are built
+  # from configure, but only server is valid anyway. Fix this
+  # when hotspot makefiles are rewritten.
+  if test "x$MACOSX_UNIVERSAL" = xtrue; then
     HOTSPOT_TARGET=universal_${HOTSPOT_EXPORT}
-fi
-
-#####
+  fi
+
+  #####
 
 
 
@@ -7987,27 +7985,27 @@
 fi
 
 
-# Test from where we are running configure, in or outside of src root.
-if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" \
-        || test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" \
-        || test "x$CURDIR" = "x$SRC_ROOT/common/makefiles" ; then
+  # Test from where we are running configure, in or outside of src root.
+  if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" \
+      || test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" \
+      || test "x$CURDIR" = "x$SRC_ROOT/common/makefiles" ; then
     # We are running configure from the src root.
     # Create a default ./build/target-variant-debuglevel output root.
     if test "x${CONF_NAME}" = x; then
-        CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}"
+      CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}"
     fi
     OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
     $MKDIR -p "$OUTPUT_ROOT"
     if test ! -d "$OUTPUT_ROOT"; then
-        as_fn_error $? "Could not create build directory $OUTPUT_ROOT" "$LINENO" 5
-    fi
-else
+      as_fn_error $? "Could not create build directory $OUTPUT_ROOT" "$LINENO" 5
+    fi
+  else
     # We are running configure from outside of the src dir.
     # Then use the current directory as output dir!
     # If configuration is situated in normal build directory, just use the build
     # directory name as configuration name, otherwise use the complete path.
     if test "x${CONF_NAME}" = x; then
-        CONF_NAME=`$ECHO $CURDIR | $SED -e "s!^${SRC_ROOT}/build/!!"`
+      CONF_NAME=`$ECHO $CURDIR | $SED -e "s!^${SRC_ROOT}/build/!!"`
     fi
     OUTPUT_ROOT="$CURDIR"
 
@@ -8021,7 +8019,7 @@
       # Configure has already touched config.log and confdefs.h in the current dir when this check
       # is performed.
       filtered_files=`$ECHO "$files_present" | $SED -e 's/config.log//g' -e 's/confdefs.h//g' -e 's/ //g' \
-                                             | $TR -d '\n'`
+      | $TR -d '\n'`
       if test "x$filtered_files" != x; then
         { $as_echo "$as_me:${as_lineno-$LINENO}: Current directory is $CURDIR." >&5
 $as_echo "$as_me: Current directory is $CURDIR." >&6;}
@@ -8040,10 +8038,10 @@
         as_fn_error $? "Will not continue creating configuration in $CURDIR" "$LINENO" 5
       fi
     fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what configuration name to use" >&5
+  fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking what configuration name to use" >&5
 $as_echo_n "checking what configuration name to use... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONF_NAME" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONF_NAME" >&5
 $as_echo "$CONF_NAME" >&6; }
 
 
@@ -8169,44 +8167,44 @@
   fi
 
 
-SPEC=$OUTPUT_ROOT/spec.gmk
-
-CONF_NAME=$CONF_NAME
-
-OUTPUT_ROOT=$OUTPUT_ROOT
-
-
-# Most of the probed defines are put into config.h
-ac_config_headers="$ac_config_headers $OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in"
-
-# The spec.gmk file contains all variables for the make system.
-ac_config_files="$ac_config_files $OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in"
-
-# The hotspot-spec.gmk file contains legacy variables for the hotspot make system.
-ac_config_files="$ac_config_files $OUTPUT_ROOT/hotspot-spec.gmk:$AUTOCONF_DIR/hotspot-spec.gmk.in"
-
-# The bootcycle-spec.gmk file contains support for boot cycle builds.
-ac_config_files="$ac_config_files $OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in"
-
-# The compare.sh is used to compare the build output to other builds.
-ac_config_files="$ac_config_files $OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in"
-
-# Spec.sh is currently used by compare-objects.sh
-ac_config_files="$ac_config_files $OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in"
-
-# The generated Makefile knows where the spec.gmk is and where the source is.
-# You can run make from the OUTPUT_ROOT, or from the top-level Makefile
-# which will look for generated configurations
-ac_config_files="$ac_config_files $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in"
-
-
-# Save the arguments given to us
-echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments
+  SPEC=$OUTPUT_ROOT/spec.gmk
+
+  CONF_NAME=$CONF_NAME
+
+  OUTPUT_ROOT=$OUTPUT_ROOT
+
+
+  # Most of the probed defines are put into config.h
+  ac_config_headers="$ac_config_headers $OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in"
+
+  # The spec.gmk file contains all variables for the make system.
+  ac_config_files="$ac_config_files $OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in"
+
+  # The hotspot-spec.gmk file contains legacy variables for the hotspot make system.
+  ac_config_files="$ac_config_files $OUTPUT_ROOT/hotspot-spec.gmk:$AUTOCONF_DIR/hotspot-spec.gmk.in"
+
+  # The bootcycle-spec.gmk file contains support for boot cycle builds.
+  ac_config_files="$ac_config_files $OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in"
+
+  # The compare.sh is used to compare the build output to other builds.
+  ac_config_files="$ac_config_files $OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in"
+
+  # Spec.sh is currently used by compare-objects.sh
+  ac_config_files="$ac_config_files $OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in"
+
+  # The generated Makefile knows where the spec.gmk is and where the source is.
+  # You can run make from the OUTPUT_ROOT, or from the top-level Makefile
+  # which will look for generated configurations
+  ac_config_files="$ac_config_files $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in"
+
+
+  # Save the arguments given to us
+  echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments
 
 
 # Must be done before we can call HELP_MSG_MISSING_DEPENDENCY.
 
-    for ac_prog in apt-get yum port pkgutil pkgadd
+  for ac_prog in apt-get yum port pkgutil pkgadd
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -8314,8 +8312,8 @@
   # 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
+      && 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
@@ -8330,8 +8328,8 @@
     # 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
+        && 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
@@ -8359,9 +8357,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&6;}
@@ -8537,29 +8535,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, 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
+      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 FOUND_MAKE" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of FOUND_MAKE" "$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
-      FOUND_MAKE="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
+    FOUND_MAKE="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting FOUND_MAKE to \"$new_complete\"" >&6;}
-    fi
+  fi
 
         fi
       fi
@@ -8671,8 +8669,8 @@
   # 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
+      && 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
@@ -8687,8 +8685,8 @@
     # 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
+        && 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
@@ -8716,9 +8714,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&6;}
@@ -8894,29 +8892,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, 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
+      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 FOUND_MAKE" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of FOUND_MAKE" "$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
-      FOUND_MAKE="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
+    FOUND_MAKE="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting FOUND_MAKE to \"$new_complete\"" >&6;}
-    fi
+  fi
 
         fi
       fi
@@ -9025,8 +9023,8 @@
   # 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
+      && 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
@@ -9041,8 +9039,8 @@
     # 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
+        && 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
@@ -9070,9 +9068,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&6;}
@@ -9248,29 +9246,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, 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
+      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 FOUND_MAKE" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of FOUND_MAKE" "$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
-      FOUND_MAKE="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
+    FOUND_MAKE="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting FOUND_MAKE to \"$new_complete\"" >&6;}
-    fi
+  fi
 
         fi
       fi
@@ -9384,8 +9382,8 @@
   # 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
+      && 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
@@ -9400,8 +9398,8 @@
     # 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
+        && 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
@@ -9429,9 +9427,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&6;}
@@ -9607,29 +9605,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, 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
+      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 FOUND_MAKE" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of FOUND_MAKE" "$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
-      FOUND_MAKE="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
+    FOUND_MAKE="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting FOUND_MAKE to \"$new_complete\"" >&6;}
-    fi
+  fi
 
         fi
       fi
@@ -9737,8 +9735,8 @@
   # 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
+      && 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
@@ -9753,8 +9751,8 @@
     # 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
+        && 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
@@ -9782,9 +9780,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, which resolves as \"$new_path\", is invalid." >&6;}
@@ -9960,29 +9958,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of FOUND_MAKE, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of FOUND_MAKE, 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
+      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 FOUND_MAKE" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of FOUND_MAKE" "$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
-      FOUND_MAKE="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
+    FOUND_MAKE="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting FOUND_MAKE to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting FOUND_MAKE to \"$new_complete\"" >&6;}
-    fi
+  fi
 
         fi
       fi
@@ -10006,34 +10004,34 @@
 
 
 
-    # Test if find supports -delete
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if find supports -delete" >&5
+  # Test if find supports -delete
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if find supports -delete" >&5
 $as_echo_n "checking if find supports -delete... " >&6; }
-    FIND_DELETE="-delete"
-
-    DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
-
-    echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
-
-    TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
-    if test -f $DELETEDIR/TestIfFindSupportsDelete; then
-        # No, it does not.
-        rm $DELETEDIR/TestIfFindSupportsDelete
-        FIND_DELETE="-exec rm \{\} \+"
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+  FIND_DELETE="-delete"
+
+  DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
+
+  echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
+
+  TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
+  if test -f $DELETEDIR/TestIfFindSupportsDelete; then
+    # No, it does not.
+    rm $DELETEDIR/TestIfFindSupportsDelete
+    FIND_DELETE="-exec rm \{\} \+"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-    fi
-    rmdir $DELETEDIR
-
-
-
-# These tools might not be installed by default,
-# need hint on how to install them.
-
-    for ac_prog in unzip
+  fi
+  rmdir $DELETEDIR
+
+
+
+  # These tools might not be installed by default,
+  # need hint on how to install them.
+
+  for ac_prog in unzip
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -10079,20 +10077,20 @@
 done
 
 
-    if test "x$UNZIP" = x; then
-        if test "xunzip" = x; then
-          PROG_NAME=unzip
-        else
-          PROG_NAME=unzip
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-    for ac_prog in zip
+  if test "x$UNZIP" = x; then
+    if test "xunzip" = x; then
+      PROG_NAME=unzip
+    else
+      PROG_NAME=unzip
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  for ac_prog in zip
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -10138,22 +10136,22 @@
 done
 
 
-    if test "x$ZIP" = x; then
-        if test "xzip" = x; then
-          PROG_NAME=zip
-        else
-          PROG_NAME=zip
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-
-# Non-required basic tools
-
-# Extract the first word of "ldd", so it can be a program name with args.
+  if test "x$ZIP" = x; then
+    if test "xzip" = x; then
+      PROG_NAME=zip
+    else
+      PROG_NAME=zip
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+
+  # Non-required basic tools
+
+  # Extract the first word of "ldd", so it can be a program name with args.
 set dummy ldd; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -10193,13 +10191,13 @@
 fi
 
 
-if test "x$LDD" = "x"; then
+  if test "x$LDD" = "x"; then
     # List shared lib dependencies is used for
     # debug output and checking for forbidden dependencies.
     # We can build without it.
     LDD="true"
-fi
-# Extract the first word of "otool", so it can be a program name with args.
+  fi
+  # Extract the first word of "otool", so it can be a program name with args.
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -10239,10 +10237,10 @@
 fi
 
 
-if test "x$OTOOL" = "x"; then
-   OTOOL="true"
-fi
-for ac_prog in readelf greadelf
+  if test "x$OTOOL" = "x"; then
+    OTOOL="true"
+  fi
+  for ac_prog in readelf greadelf
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -10287,7 +10285,7 @@
   test -n "$READELF" && break
 done
 
-# Extract the first word of "hg", so it can be a program name with args.
+  # Extract the first word of "hg", so it can be a program name with args.
 set dummy hg; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -10327,7 +10325,7 @@
 fi
 
 
-# Extract the first word of "stat", so it can be a program name with args.
+  # Extract the first word of "stat", so it can be a program name with args.
 set dummy stat; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -10367,7 +10365,7 @@
 fi
 
 
-# Extract the first word of "time", so it can be a program name with args.
+  # Extract the first word of "time", so it can be a program name with args.
 set dummy time; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -10407,18 +10405,18 @@
 fi
 
 
-# Check if it's GNU time
-IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
-if test "x$IS_GNU_TIME" != x; then
-  IS_GNU_TIME=yes
-else
-  IS_GNU_TIME=no
-fi
-
-
-if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-
-    for ac_prog in comm
+  # Check if it's GNU time
+  IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
+  if test "x$IS_GNU_TIME" != x; then
+    IS_GNU_TIME=yes
+  else
+    IS_GNU_TIME=no
+  fi
+
+
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+
+  for ac_prog in comm
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -10464,23 +10462,23 @@
 done
 
 
-    if test "x$COMM" = x; then
-        if test "xcomm" = x; then
-          PROG_NAME=comm
-        else
-          PROG_NAME=comm
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-fi
-
-if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-
-    for ac_prog in xattr
+  if test "x$COMM" = x; then
+    if test "xcomm" = x; then
+      PROG_NAME=comm
+    else
+      PROG_NAME=comm
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+  fi
+
+  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+
+  for ac_prog in xattr
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -10526,19 +10524,19 @@
 done
 
 
-    if test "x$XATTR" = x; then
-        if test "xxattr" = x; then
-          PROG_NAME=xattr
-        else
-          PROG_NAME=xattr
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
-
-
-  # Extract the first word of "codesign", so it can be a program name with args.
+  if test "x$XATTR" = x; then
+    if test "xxattr" = x; then
+      PROG_NAME=xattr
+    else
+      PROG_NAME=xattr
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+
+    # Extract the first word of "codesign", so it can be a program name with args.
 set dummy codesign; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -10578,23 +10576,23 @@
 fi
 
 
-  if test "x$CODESIGN" != "x"; then
-    # Verify that the openjdk_codesign certificate is present
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if openjdk_codesign certificate is present" >&5
+    if test "x$CODESIGN" != "x"; then
+      # Verify that the openjdk_codesign certificate is present
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking if openjdk_codesign certificate is present" >&5
 $as_echo_n "checking if openjdk_codesign certificate is present... " >&6; }
-    rm -f codesign-testfile
-    touch codesign-testfile
-    codesign -s openjdk_codesign codesign-testfile 2>&5 >&5 || CODESIGN=
-    rm -f codesign-testfile
-    if test "x$CODESIGN" = x; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+      rm -f codesign-testfile
+      touch codesign-testfile
+      codesign -s openjdk_codesign codesign-testfile 2>&5 >&5 || CODESIGN=
+      rm -f codesign-testfile
+      if test "x$CODESIGN" = x; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-    fi
-  fi
-fi
+      fi
+    fi
+  fi
 
 
 # Check if pkg-config is available.
@@ -10717,14 +10715,14 @@
 
 # After basic tools have been setup, we can check build os specific details.
 
-###############################################################################
-
-# Note that this is the build platform OS version!
-
-OS_VERSION="`uname -r | ${SED} 's!\.! !g' | ${SED} 's!-! !g'`"
-OS_VERSION_MAJOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 1 -d ' '`"
-OS_VERSION_MINOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 2 -d ' '`"
-OS_VERSION_MICRO="`${ECHO} ${OS_VERSION} | ${CUT} -f 3 -d ' '`"
+  ###############################################################################
+
+  # Note that this is the build platform OS version!
+
+  OS_VERSION="`uname -r | ${SED} 's!\.! !g' | ${SED} 's!-! !g'`"
+  OS_VERSION_MAJOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 1 -d ' '`"
+  OS_VERSION_MINOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 2 -d ' '`"
+  OS_VERSION_MICRO="`${ECHO} ${OS_VERSION} | ${CUT} -f 3 -d ' '`"
 
 
 
@@ -10766,57 +10764,57 @@
 
 
 
-    if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
-        if test "x$with_builddeps_conf" != x; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supplied builddeps configuration file" >&5
+  if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
+    if test "x$with_builddeps_conf" != x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supplied builddeps configuration file" >&5
 $as_echo_n "checking for supplied builddeps configuration file... " >&6; }
-            builddepsfile=$with_builddeps_conf
-            if test -s $builddepsfile; then
-                . $builddepsfile
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: loaded!" >&5
+      builddepsfile=$with_builddeps_conf
+      if test -s $builddepsfile; then
+        . $builddepsfile
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: loaded!" >&5
 $as_echo "loaded!" >&6; }
-            else
-               as_fn_error $? "The given builddeps conf file $with_builddeps_conf could not be loaded!" "$LINENO" 5
-           fi
-        else
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for builddeps.conf files in sources..." >&5
+      else
+        as_fn_error $? "The given builddeps conf file $with_builddeps_conf could not be loaded!" "$LINENO" 5
+      fi
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for builddeps.conf files in sources..." >&5
 $as_echo_n "checking for builddeps.conf files in sources...... " >&6; }
-            builddepsfile=`mktemp`
-            touch $builddepsfile
-            # Put all found confs into a single file.
-            find ${SRC_ROOT} -name builddeps.conf -exec cat \{\} \; >> $builddepsfile
-            # Source the file to acquire the variables
-            if test -s $builddepsfile; then
-                . $builddepsfile
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: found at least one!" >&5
+      builddepsfile=`mktemp`
+      touch $builddepsfile
+      # Put all found confs into a single file.
+      find ${SRC_ROOT} -name builddeps.conf -exec cat \{\} \; >> $builddepsfile
+      # Source the file to acquire the variables
+      if test -s $builddepsfile; then
+        . $builddepsfile
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found at least one!" >&5
 $as_echo "found at least one!" >&6; }
-            else
-               as_fn_error $? "Could not find any builddeps.conf at all!" "$LINENO" 5
-           fi
-        fi
-        # Create build and target names that use _ instead of "-" and ".".
-        # This is necessary to use them in variable names.
-        build_var=`echo ${OPENJDK_BUILD_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
-        target_var=`echo ${OPENJDK_TARGET_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
-        # Extract rewrite information for build and target
-        eval rewritten_build=\${REWRITE_${build_var}}
-        if test "x$rewritten_build" = x; then
-            rewritten_build=${OPENJDK_BUILD_AUTOCONF_NAME}
-            echo Build stays the same $rewritten_build
-        else
-            echo Rewriting build for builddeps into $rewritten_build
-        fi
-        eval rewritten_target=\${REWRITE_${target_var}}
-        if test "x$rewritten_target" = x; then
-            rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
-            echo Target stays the same $rewritten_target
-        else
-            echo Rewriting target for builddeps into $rewritten_target
-        fi
-        rewritten_build_var=`echo ${rewritten_build} | tr '-' '_' | tr '.' '_'`
-        rewritten_target_var=`echo ${rewritten_target} | tr '-' '_' | tr '.' '_'`
-    fi
-    for ac_prog in 7z unzip
+      else
+        as_fn_error $? "Could not find any builddeps.conf at all!" "$LINENO" 5
+      fi
+    fi
+    # Create build and target names that use _ instead of "-" and ".".
+    # This is necessary to use them in variable names.
+    build_var=`echo ${OPENJDK_BUILD_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
+    target_var=`echo ${OPENJDK_TARGET_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
+    # Extract rewrite information for build and target
+    eval rewritten_build=\${REWRITE_${build_var}}
+    if test "x$rewritten_build" = x; then
+      rewritten_build=${OPENJDK_BUILD_AUTOCONF_NAME}
+      echo Build stays the same $rewritten_build
+    else
+      echo Rewriting build for builddeps into $rewritten_build
+    fi
+    eval rewritten_target=\${REWRITE_${target_var}}
+    if test "x$rewritten_target" = x; then
+      rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
+      echo Target stays the same $rewritten_target
+    else
+      echo Rewriting target for builddeps into $rewritten_target
+    fi
+    rewritten_build_var=`echo ${rewritten_build} | tr '-' '_' | tr '.' '_'`
+    rewritten_target_var=`echo ${rewritten_target} | tr '-' '_' | tr '.' '_'`
+  fi
+  for ac_prog in 7z unzip
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -10858,11 +10856,11 @@
   test -n "$BDEPS_UNZIP" && break
 done
 
-    if test "x$BDEPS_UNZIP" = x7z; then
-        BDEPS_UNZIP="7z x"
-    fi
-
-    for ac_prog in wget lftp ftp
+  if test "x$BDEPS_UNZIP" = x7z; then
+    BDEPS_UNZIP="7z x"
+  fi
+
+  for ac_prog in wget lftp ftp
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -10915,14 +10913,14 @@
 # We need build & target for this.
 
 
-###############################################################################
-#
-# Should we build a JDK/JVM with headful support (ie a graphical ui)?
-# We always build headless support.
-#
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking headful support" >&5
+  ###############################################################################
+  #
+  # Should we build a JDK/JVM with headful support (ie a graphical ui)?
+  # We always build headless support.
+  #
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking headful support" >&5
 $as_echo_n "checking headful support... " >&6; }
-# Check whether --enable-headful was given.
+  # Check whether --enable-headful was given.
 if test "${enable_headful+set}" = set; then :
   enableval=$enable_headful; SUPPORT_HEADFUL=${enable_headful}
 else
@@ -10930,110 +10928,110 @@
 fi
 
 
-SUPPORT_HEADLESS=yes
-BUILD_HEADLESS="BUILD_HEADLESS:=true"
-
-if test "x$SUPPORT_HEADFUL" = xyes; then
+  SUPPORT_HEADLESS=yes
+  BUILD_HEADLESS="BUILD_HEADLESS:=true"
+
+  if test "x$SUPPORT_HEADFUL" = xyes; then
     # We are building both headful and headless.
     headful_msg="include support for both headful and headless"
-fi
-
-if test "x$SUPPORT_HEADFUL" = xno; then
+  fi
+
+  if test "x$SUPPORT_HEADFUL" = xno; then
     # Thus we are building headless only.
     BUILD_HEADLESS="BUILD_HEADLESS:=true"
     headful_msg="headless only"
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $headful_msg" >&5
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $headful_msg" >&5
 $as_echo "$headful_msg" >&6; }
 
 
 
 
 
-# Control wether Hotspot runs Queens test after build.
-# Check whether --enable-hotspot-test-in-build was given.
+  # Control wether Hotspot runs Queens test after build.
+  # Check whether --enable-hotspot-test-in-build was given.
 if test "${enable_hotspot_test_in_build+set}" = set; then :
   enableval=$enable_hotspot_test_in_build;
 else
   enable_hotspot_test_in_build=no
 fi
 
-if test "x$enable_hotspot_test_in_build" = "xyes"; then
+  if test "x$enable_hotspot_test_in_build" = "xyes"; then
     TEST_IN_BUILD=true
-else
+  else
     TEST_IN_BUILD=false
-fi
-
-
-###############################################################################
-#
-# Choose cacerts source file
-#
+  fi
+
+
+  ###############################################################################
+  #
+  # Choose cacerts source file
+  #
 
 # Check whether --with-cacerts-file was given.
 if test "${with_cacerts_file+set}" = set; then :
   withval=$with_cacerts_file;
 fi
 
-if test "x$with_cacerts_file" != x; then
+  if test "x$with_cacerts_file" != x; then
     CACERTS_FILE=$with_cacerts_file
-else
+  else
     CACERTS_FILE=${SRC_ROOT}/jdk/src/share/lib/security/cacerts
-fi
-
-
-###############################################################################
-#
-# Enable or disable unlimited crypto
-#
-# Check whether --enable-unlimited-crypto was given.
+  fi
+
+
+  ###############################################################################
+  #
+  # Enable or disable unlimited crypto
+  #
+  # Check whether --enable-unlimited-crypto was given.
 if test "${enable_unlimited_crypto+set}" = set; then :
   enableval=$enable_unlimited_crypto;
 else
   enable_unlimited_crypto=no
 fi
 
-if test "x$enable_unlimited_crypto" = "xyes"; then
+  if test "x$enable_unlimited_crypto" = "xyes"; then
     UNLIMITED_CRYPTO=true
-else
+  else
     UNLIMITED_CRYPTO=false
-fi
-
-
-###############################################################################
-#
-# 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
+  fi
+
+
+  ###############################################################################
+  #
+  # 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
+  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
+  fi
+  if test "x$MILESTONE" = x; then
+    MILESTONE=internal
+  fi
 
 
 # Check whether --with-update-version was given.
@@ -11041,11 +11039,11 @@
   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"
-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"
+  fi
 
 
 # Check whether --with-user-release-suffix was given.
@@ -11053,11 +11051,11 @@
   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
+  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.
@@ -11065,49 +11063,49 @@
   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 'abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`
-    USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-  fi
-fi
-
-# Now set the JDK version, milestone, build number etc.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-COPYRIGHT_YEAR=`date +'%Y'`
-
-
-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//'`
+  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 'abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`
+      USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+    fi
+  fi
+
+  # Now set the JDK version, milestone, build number etc.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  COPYRIGHT_YEAR=`date +'%Y'`
+
+
+  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//'`
 
 
 
@@ -11118,7 +11116,7 @@
 ###############################################################################
 
 
-BOOT_JDK_FOUND=no
+  BOOT_JDK_FOUND=no
 
 # Check whether --with-boot-jdk was given.
 if test "${with_boot_jdk+set}" = set; then :
@@ -11126,22 +11124,22 @@
 fi
 
 
-# We look for the Boot JDK through various means, going from more certain to
-# more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
-# we detected something (if so, the path to the jdk is in BOOT_JDK). But we
-# must check if this is indeed valid; otherwise we'll continue looking.
-
-# Test: Is bootjdk explicitely set by command line arguments?
+  # We look for the Boot JDK through various means, going from more certain to
+  # more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
+  # we detected something (if so, the path to the jdk is in BOOT_JDK). But we
+  # must check if this is indeed valid; otherwise we'll continue looking.
+
+  # Test: Is bootjdk explicitely set by command line arguments?
 
   if test "x$BOOT_JDK_FOUND" = xno; then
     # Now execute the test
 
-if test "x$with_boot_jdk" != x; then
+  if test "x$with_boot_jdk" != x; then
     BOOT_JDK=$with_boot_jdk
     BOOT_JDK_FOUND=maybe
     { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential Boot JDK using configure arguments" >&5
 $as_echo "$as_me: Found potential Boot JDK using configure arguments" >&6;}
-fi
+  fi
 
 
     # If previous step claimed to have found a JDK, check it to see if it seems to be valid.
@@ -11318,161 +11316,161 @@
     fi # end check boot jdk found
   fi
 
-if test "x$with_boot_jdk" != x && test "x$BOOT_JDK_FOUND" = xno; then
-  # Having specified an argument which is incorrect will produce an instant failure;
-  # we should not go on looking
-  as_fn_error $? "The path given by --with-boot-jdk does not contain a valid Boot JDK" "$LINENO" 5
-fi
-
-# Test: Is bootjdk available from builddeps?
+  if test "x$with_boot_jdk" != x && test "x$BOOT_JDK_FOUND" = xno; then
+    # Having specified an argument which is incorrect will produce an instant failure;
+    # we should not go on looking
+    as_fn_error $? "The path given by --with-boot-jdk does not contain a valid Boot JDK" "$LINENO" 5
+  fi
+
+  # Test: Is bootjdk available from builddeps?
 
   if test "x$BOOT_JDK_FOUND" = xno; then
     # Now execute the test
 
 
 
-    if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
-        # Source the builddeps file again, to make sure it uses the latest variables!
-        . $builddepsfile
-        # Look for a target and build machine specific resource!
-        eval resource=\${builddep_bootjdk_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a target specific resource
-            eval resource=\${builddep_bootjdk_TARGET_${rewritten_target_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a build specific resource
-            eval resource=\${builddep_bootjdk_BUILD_${rewritten_build_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a generic resource
-            # (The bootjdk comes from M4 and not the shell, thus no need for eval here.)
-            resource=${builddep_bootjdk}
-        fi
-        if test "x$resource" != x; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for bootjdk" >&5
+  if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
+    # Source the builddeps file again, to make sure it uses the latest variables!
+    . $builddepsfile
+    # Look for a target and build machine specific resource!
+    eval resource=\${builddep_bootjdk_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a target specific resource
+      eval resource=\${builddep_bootjdk_TARGET_${rewritten_target_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a build specific resource
+      eval resource=\${builddep_bootjdk_BUILD_${rewritten_build_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a generic resource
+      # (The bootjdk comes from M4 and not the shell, thus no need for eval here.)
+      resource=${builddep_bootjdk}
+    fi
+    if test "x$resource" != x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for bootjdk" >&5
 $as_echo "$as_me: Using builddeps $resource for bootjdk" >&6;}
-	    # If the resource in the builddeps.conf file is an existing directory,
-	    # for example /java/linux/cups
-	    if test -d ${resource}; then
-	       depdir=${resource}
-	    else
-
-# bootjdk is for example mymodule
-# $resource is for example libs/general/libmymod_1_2_3.zip
-# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
-# $with_builddeps_dir is for example /localhome/builddeps
-# depdir is the name of the variable into which we store the depdir, eg MYMOD
-# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
-# unzip into the directory: /localhome/builddeps/libmymod_1_2_3
-    filename=`basename $resource`
-    filebase=`echo $filename | sed 's/\.[^\.]*$//'`
-    filebase=${filename%%.*}
-    extension=${filename#*.}
-    installdir=$with_builddeps_dir/$filebase
-    if test ! -f $installdir/$filename.unpacked; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency bootjdk from $with_builddeps_server/$resource and installing into $installdir" >&5
+      # If the resource in the builddeps.conf file is an existing directory,
+      # for example /java/linux/cups
+      if test -d ${resource}; then
+        depdir=${resource}
+      else
+
+  # bootjdk is for example mymodule
+  # $resource is for example libs/general/libmymod_1_2_3.zip
+  # $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
+  # $with_builddeps_dir is for example /localhome/builddeps
+  # depdir is the name of the variable into which we store the depdir, eg MYMOD
+  # Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
+  # unzip into the directory: /localhome/builddeps/libmymod_1_2_3
+  filename=`basename $resource`
+  filebase=`echo $filename | sed 's/\.[^\.]*$//'`
+  filebase=${filename%%.*}
+  extension=${filename#*.}
+  installdir=$with_builddeps_dir/$filebase
+  if test ! -f $installdir/$filename.unpacked; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency bootjdk from $with_builddeps_server/$resource and installing into $installdir" >&5
 $as_echo "$as_me: Downloading build dependency bootjdk from $with_builddeps_server/$resource and installing into $installdir" >&6;}
-        if test ! -d $installdir; then
-            mkdir -p $installdir
-        fi
-        if test ! -d $installdir; then
-            as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
-        fi
-        tmpfile=`mktemp $installdir/bootjdk.XXXXXXXXX`
-        touch $tmpfile
-        if test ! -f $tmpfile; then
-            as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
-        fi
-
-    # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
-    # $tmpfile is the local file name for the downloaded file.
-    VALID_TOOL=no
-    if test "x$BDEPS_FTP" = xwget; then
-       VALID_TOOL=yes
-       wget -O $tmpfile $with_builddeps_server/$resource
-    fi
-    if test "x$BDEPS_FTP" = xlftp; then
-       VALID_TOOL=yes
-       lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
-    fi
-    if test "x$BDEPS_FTP" = xftp; then
-        VALID_TOOL=yes
-        FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
-        FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
-        FTPUSERPWD=${FTPSERVER%%@*}
-        if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
-            FTPUSER=${userpwd%%:*}
-            FTPPWD=${userpwd#*@}
-            FTPSERVER=${FTPSERVER#*@}
-        else
-            FTPUSER=ftp
-            FTPPWD=ftp
-        fi
-        # the "pass" command does not work on some
-        # ftp clients (read ftp.exe) but if it works,
-        # passive mode is better!
-        (\
-            echo "user $FTPUSER $FTPPWD"        ;\
-            echo "pass"                         ;\
-            echo "bin"                          ;\
-            echo "get $FTPPATH $tmpfile"              ;\
-        ) | ftp -in $FTPSERVER
-    fi
-    if test "x$VALID_TOOL" != xyes; then
-       as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
-    fi
-
-        mv $tmpfile $installdir/$filename
-        if test ! -s $installdir/$filename; then
-            as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
-        fi
-        case "$extension" in
-            zip)  echo "Unzipping $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
-            ;;
-            tar.gz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            tgz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
-            ;;
-        esac
-    fi
-    if test -f $installdir/$filename.unpacked; then
-        depdir=$installdir
-    fi
-
-	    fi
-            # Source the builddeps file again, because in the previous command, the depdir
-            # was updated to point at the current build dependency install directory.
-            . $builddepsfile
-            # Now extract variables from the builddeps.conf files.
-            theroot=${builddep_bootjdk_ROOT}
-            thecflags=${builddep_bootjdk_CFLAGS}
-            thelibs=${builddep_bootjdk_LIBS}
-            if test "x$depdir" = x; then
-                as_fn_error $? "Could not download build dependency bootjdk" "$LINENO" 5
-            fi
-            BOOT_JDK=$depdir
-            if test "x$theroot" != x; then
-               BOOT_JDK="$theroot"
-            fi
-            if test "x$thecflags" != x; then
-               BOOT_JDK_CFLAGS="$thecflags"
-            fi
-            if test "x$thelibs" != x; then
-               BOOT_JDK_LIBS="$thelibs"
-            fi
-            BOOT_JDK_FOUND=maybe
-            else BOOT_JDK_FOUND=no
-
-        fi
-        else BOOT_JDK_FOUND=no
-
-    fi
+    if test ! -d $installdir; then
+      mkdir -p $installdir
+    fi
+    if test ! -d $installdir; then
+      as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
+    fi
+    tmpfile=`mktemp $installdir/bootjdk.XXXXXXXXX`
+    touch $tmpfile
+    if test ! -f $tmpfile; then
+      as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
+    fi
+
+  # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
+  # $tmpfile is the local file name for the downloaded file.
+  VALID_TOOL=no
+  if test "x$BDEPS_FTP" = xwget; then
+    VALID_TOOL=yes
+    wget -O $tmpfile $with_builddeps_server/$resource
+  fi
+  if test "x$BDEPS_FTP" = xlftp; then
+    VALID_TOOL=yes
+    lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
+  fi
+  if test "x$BDEPS_FTP" = xftp; then
+    VALID_TOOL=yes
+    FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
+    FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
+    FTPUSERPWD=${FTPSERVER%%@*}
+    if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
+      FTPUSER=${userpwd%%:*}
+      FTPPWD=${userpwd#*@}
+      FTPSERVER=${FTPSERVER#*@}
+    else
+      FTPUSER=ftp
+      FTPPWD=ftp
+    fi
+    # the "pass" command does not work on some
+    # ftp clients (read ftp.exe) but if it works,
+    # passive mode is better!
+    ( \
+        echo "user $FTPUSER $FTPPWD"        ; \
+        echo "pass"                         ; \
+        echo "bin"                          ; \
+        echo "get $FTPPATH $tmpfile"              ; \
+    ) | ftp -in $FTPSERVER
+  fi
+  if test "x$VALID_TOOL" != xyes; then
+    as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
+  fi
+
+    mv $tmpfile $installdir/$filename
+    if test ! -s $installdir/$filename; then
+      as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
+    fi
+    case "$extension" in
+      zip)  echo "Unzipping $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
+        ;;
+      tar.gz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      tgz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
+        ;;
+    esac
+  fi
+  if test -f $installdir/$filename.unpacked; then
+    depdir=$installdir
+  fi
+
+      fi
+      # Source the builddeps file again, because in the previous command, the depdir
+      # was updated to point at the current build dependency install directory.
+      . $builddepsfile
+      # Now extract variables from the builddeps.conf files.
+      theroot=${builddep_bootjdk_ROOT}
+      thecflags=${builddep_bootjdk_CFLAGS}
+      thelibs=${builddep_bootjdk_LIBS}
+      if test "x$depdir" = x; then
+        as_fn_error $? "Could not download build dependency bootjdk" "$LINENO" 5
+      fi
+      BOOT_JDK=$depdir
+      if test "x$theroot" != x; then
+        BOOT_JDK="$theroot"
+      fi
+      if test "x$thecflags" != x; then
+        BOOT_JDK_CFLAGS="$thecflags"
+      fi
+      if test "x$thelibs" != x; then
+        BOOT_JDK_LIBS="$thelibs"
+      fi
+      BOOT_JDK_FOUND=maybe
+      else BOOT_JDK_FOUND=no
+
+    fi
+    else BOOT_JDK_FOUND=no
+
+  fi
 
 
 
@@ -11651,13 +11649,13 @@
   fi
 
 
-# Test: Is $JAVA_HOME set?
+  # Test: Is $JAVA_HOME set?
 
   if test "x$BOOT_JDK_FOUND" = xno; then
     # Now execute the test
 
-    if test "x$JAVA_HOME" != x; then
-        JAVA_HOME_PROCESSED="$JAVA_HOME"
+  if test "x$JAVA_HOME" != x; then
+    JAVA_HOME_PROCESSED="$JAVA_HOME"
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
 
@@ -11780,18 +11778,18 @@
     JAVA_HOME_PROCESSED="`cd "$path"; $THEPWDCMD -L`"
   fi
 
-        if test ! -d "$JAVA_HOME_PROCESSED"; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: Your JAVA_HOME points to a non-existing directory!" >&5
+    if test ! -d "$JAVA_HOME_PROCESSED"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Your JAVA_HOME points to a non-existing directory!" >&5
 $as_echo "$as_me: Your JAVA_HOME points to a non-existing directory!" >&6;}
-        else
-          # Aha, the user has set a JAVA_HOME
-          # let us use that as the Boot JDK.
-          BOOT_JDK="$JAVA_HOME_PROCESSED"
-          BOOT_JDK_FOUND=maybe
-          { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential Boot JDK using JAVA_HOME" >&5
+    else
+      # Aha, the user has set a JAVA_HOME
+      # let us use that as the Boot JDK.
+      BOOT_JDK="$JAVA_HOME_PROCESSED"
+      BOOT_JDK_FOUND=maybe
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential Boot JDK using JAVA_HOME" >&5
 $as_echo "$as_me: Found potential Boot JDK using JAVA_HOME" >&6;}
-        fi
-    fi
+    fi
+  fi
 
 
     # If previous step claimed to have found a JDK, check it to see if it seems to be valid.
@@ -11969,17 +11967,17 @@
   fi
 
 
-# Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
+  # Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
 
   if test "x$BOOT_JDK_FOUND" = xno; then
     # Now execute the test
 
-    if test -x /usr/libexec/java_home; then
-        BOOT_JDK=`/usr/libexec/java_home`
-        BOOT_JDK_FOUND=maybe
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential Boot JDK using /usr/libexec/java_home" >&5
+  if test -x /usr/libexec/java_home; then
+    BOOT_JDK=`/usr/libexec/java_home`
+    BOOT_JDK_FOUND=maybe
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential Boot JDK using /usr/libexec/java_home" >&5
 $as_echo "$as_me: Found potential Boot JDK using /usr/libexec/java_home" >&6;}
-    fi
+  fi
 
 
     # If previous step claimed to have found a JDK, check it to see if it seems to be valid.
@@ -12157,12 +12155,12 @@
   fi
 
 
-# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
+  # Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
 
   if test "x$BOOT_JDK_FOUND" = xno; then
     # Now execute the test
 
-    # Extract the first word of "javac", so it can be a program name with args.
+  # Extract the first word of "javac", so it can be a program name with args.
 set dummy javac; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -12202,7 +12200,7 @@
 fi
 
 
-    # Extract the first word of "java", so it can be a program name with args.
+  # Extract the first word of "java", so it can be a program name with args.
 set dummy java; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -12242,72 +12240,72 @@
 fi
 
 
-    BINARY="$JAVAC_CHECK"
-    if test "x$JAVAC_CHECK" = x; then
-        BINARY="$JAVA_CHECK"
-    fi
-    if test "x$BINARY" != x; then
-        # So there is a java(c) binary, it might be part of a JDK.
-        # Lets find the JDK/JRE directory by following symbolic links.
-        # Linux/GNU systems often have links from /usr/bin/java to
-        # /etc/alternatives/java to the real JDK binary.
-
-    if test "x$OPENJDK_BUILD_OS" != xwindows; then
-        # Follow a chain of symbolic links. Use readlink
-        # where it exists, else fall back to horribly
-        # complicated shell code.
-        if test "x$READLINK_TESTED" != yes; then
-            # On MacOSX there is a readlink tool with a different
-            # purpose than the GNU readlink tool. Check the found readlink.
-            ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
-            if test "x$ISGNU" = x; then
-                 # A readlink that we do not know how to use.
-                 # Are there other non-GNU readlinks out there?
-                 READLINK_TESTED=yes
-                 READLINK=
-            fi
-        fi
-
-        if test "x$READLINK" != x; then
-            BINARY=`$READLINK -f $BINARY`
-        else
-            # Save the current directory for restoring afterwards
-            STARTDIR=$PWD
-            COUNTER=0
-            sym_link_dir=`$DIRNAME $BINARY`
-            sym_link_file=`$BASENAME $BINARY`
-            cd $sym_link_dir
-            # Use -P flag to resolve symlinks in directories.
-            cd `$THEPWDCMD -P`
-            sym_link_dir=`$THEPWDCMD -P`
-            # Resolve file symlinks
-            while test $COUNTER -lt 20; do
-                ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
-                if test "x$ISLINK" == x; then
-                    # This is not a symbolic link! We are done!
-                    break
-                fi
-                # Again resolve directory symlinks since the target of the just found
-                # link could be in a different directory
-                cd `$DIRNAME $ISLINK`
-                sym_link_dir=`$THEPWDCMD -P`
-                sym_link_file=`$BASENAME $ISLINK`
-                let COUNTER=COUNTER+1
-            done
-            cd $STARTDIR
-            BINARY=$sym_link_dir/$sym_link_file
-        fi
-    fi
-
-        BOOT_JDK=`dirname "$BINARY"`
-        BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
-        if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
-            # Looks like we found ourselves an JDK
-            BOOT_JDK_FOUND=maybe
-            { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential Boot JDK using java(c) in PATH" >&5
+  BINARY="$JAVAC_CHECK"
+  if test "x$JAVAC_CHECK" = x; then
+    BINARY="$JAVA_CHECK"
+  fi
+  if test "x$BINARY" != x; then
+    # So there is a java(c) binary, it might be part of a JDK.
+    # Lets find the JDK/JRE directory by following symbolic links.
+    # Linux/GNU systems often have links from /usr/bin/java to
+    # /etc/alternatives/java to the real JDK binary.
+
+  if test "x$OPENJDK_BUILD_OS" != xwindows; then
+    # Follow a chain of symbolic links. Use readlink
+    # where it exists, else fall back to horribly
+    # complicated shell code.
+    if test "x$READLINK_TESTED" != yes; then
+      # On MacOSX there is a readlink tool with a different
+      # purpose than the GNU readlink tool. Check the found readlink.
+      ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
+      if test "x$ISGNU" = x; then
+        # A readlink that we do not know how to use.
+        # Are there other non-GNU readlinks out there?
+        READLINK_TESTED=yes
+        READLINK=
+      fi
+    fi
+
+    if test "x$READLINK" != x; then
+      BINARY=`$READLINK -f $BINARY`
+    else
+      # Save the current directory for restoring afterwards
+      STARTDIR=$PWD
+      COUNTER=0
+      sym_link_dir=`$DIRNAME $BINARY`
+      sym_link_file=`$BASENAME $BINARY`
+      cd $sym_link_dir
+      # Use -P flag to resolve symlinks in directories.
+      cd `$THEPWDCMD -P`
+      sym_link_dir=`$THEPWDCMD -P`
+      # Resolve file symlinks
+      while test $COUNTER -lt 20; do
+        ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
+        if test "x$ISLINK" == x; then
+          # This is not a symbolic link! We are done!
+          break
+        fi
+        # Again resolve directory symlinks since the target of the just found
+        # link could be in a different directory
+        cd `$DIRNAME $ISLINK`
+        sym_link_dir=`$THEPWDCMD -P`
+        sym_link_file=`$BASENAME $ISLINK`
+        let COUNTER=COUNTER+1
+      done
+      cd $STARTDIR
+      BINARY=$sym_link_dir/$sym_link_file
+    fi
+  fi
+
+    BOOT_JDK=`dirname "$BINARY"`
+    BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
+    if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
+      # Looks like we found ourselves an JDK
+      BOOT_JDK_FOUND=maybe
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential Boot JDK using java(c) in PATH" >&5
 $as_echo "$as_me: Found potential Boot JDK using java(c) in PATH" >&6;}
-        fi
-    fi
+    fi
+  fi
 
 
     # If previous step claimed to have found a JDK, check it to see if it seems to be valid.
@@ -12485,7 +12483,7 @@
   fi
 
 
-# Test: Is there a JDK installed in default, well-known locations?
+  # Test: Is there a JDK installed in default, well-known locations?
 
   if test "x$BOOT_JDK_FOUND" = xno; then
     # Now execute the test
@@ -15715,67 +15713,67 @@
   fi
 
 
-# If we haven't found anything yet, we've truly lost. Give up.
-if test "x$BOOT_JDK_FOUND" = xno; then
-
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # openjdk is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=openjdk
-    PKGHANDLER_COMMAND=
-
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+  # If we haven't found anything yet, we've truly lost. Give up.
+  if test "x$BOOT_JDK_FOUND" = xno; then
+
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # openjdk is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=openjdk
+  PKGHANDLER_COMMAND=
+
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
-
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find a valid Boot JDK. $HELP_MSG" >&5
+  esac
+
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find a valid Boot JDK. $HELP_MSG" >&5
 $as_echo "$as_me: Could not find a valid Boot JDK. $HELP_MSG" >&6;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: This might be fixed by explicitely setting --with-boot-jdk" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: This might be fixed by explicitely setting --with-boot-jdk" >&5
 $as_echo "$as_me: This might be fixed by explicitely setting --with-boot-jdk" >&6;}
-  as_fn_error $? "Cannot continue" "$LINENO" 5
-fi
-
-# Setup proper paths for what we found
-BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar"
-if test ! -f "$BOOT_RTJAR"; then
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
+
+  # Setup proper paths for what we found
+  BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar"
+  if test ! -f "$BOOT_RTJAR"; then
     # On MacOSX it is called classes.jar
     BOOT_RTJAR="$BOOT_JDK/../Classes/classes.jar"
     if test -f "$BOOT_RTJAR"; then
       # Remove the ..
       BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}"
     fi
-fi
-BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar"
-BOOT_JDK="$BOOT_JDK"
-
-
-
-
-# Setup tools from the Boot JDK.
+  fi
+  BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar"
+  BOOT_JDK="$BOOT_JDK"
+
+
+
+
+  # Setup tools from the Boot JDK.
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for java in Boot JDK" >&5
 $as_echo_n "checking for java in Boot JDK... " >&6; }
   JAVA=$BOOT_JDK/bin/java
   if test ! -x $JAVA; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
 $as_echo "not found" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
 $as_echo "$as_me: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&6;}
-      as_fn_error $? "Could not find java in the Boot JDK" "$LINENO" 5
+    as_fn_error $? "Could not find java in the Boot JDK" "$LINENO" 5
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
 $as_echo "ok" >&6; }
@@ -15785,11 +15783,11 @@
 $as_echo_n "checking for javac in Boot JDK... " >&6; }
   JAVAC=$BOOT_JDK/bin/javac
   if test ! -x $JAVAC; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
 $as_echo "not found" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
 $as_echo "$as_me: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&6;}
-      as_fn_error $? "Could not find javac in the Boot JDK" "$LINENO" 5
+    as_fn_error $? "Could not find javac in the Boot JDK" "$LINENO" 5
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
 $as_echo "ok" >&6; }
@@ -15799,11 +15797,11 @@
 $as_echo_n "checking for javah in Boot JDK... " >&6; }
   JAVAH=$BOOT_JDK/bin/javah
   if test ! -x $JAVAH; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
 $as_echo "not found" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
 $as_echo "$as_me: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&6;}
-      as_fn_error $? "Could not find javah in the Boot JDK" "$LINENO" 5
+    as_fn_error $? "Could not find javah in the Boot JDK" "$LINENO" 5
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
 $as_echo "ok" >&6; }
@@ -15813,11 +15811,11 @@
 $as_echo_n "checking for javap in Boot JDK... " >&6; }
   JAVAP=$BOOT_JDK/bin/javap
   if test ! -x $JAVAP; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
 $as_echo "not found" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
 $as_echo "$as_me: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&6;}
-      as_fn_error $? "Could not find javap in the Boot JDK" "$LINENO" 5
+    as_fn_error $? "Could not find javap in the Boot JDK" "$LINENO" 5
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
 $as_echo "ok" >&6; }
@@ -15827,11 +15825,11 @@
 $as_echo_n "checking for jar in Boot JDK... " >&6; }
   JAR=$BOOT_JDK/bin/jar
   if test ! -x $JAR; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
 $as_echo "not found" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
 $as_echo "$as_me: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&6;}
-      as_fn_error $? "Could not find jar in the Boot JDK" "$LINENO" 5
+    as_fn_error $? "Could not find jar in the Boot JDK" "$LINENO" 5
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
 $as_echo "ok" >&6; }
@@ -15841,11 +15839,11 @@
 $as_echo_n "checking for rmic in Boot JDK... " >&6; }
   RMIC=$BOOT_JDK/bin/rmic
   if test ! -x $RMIC; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
 $as_echo "not found" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
 $as_echo "$as_me: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&6;}
-      as_fn_error $? "Could not find rmic in the Boot JDK" "$LINENO" 5
+    as_fn_error $? "Could not find rmic in the Boot JDK" "$LINENO" 5
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
 $as_echo "ok" >&6; }
@@ -15855,28 +15853,28 @@
 $as_echo_n "checking for native2ascii in Boot JDK... " >&6; }
   NATIVE2ASCII=$BOOT_JDK/bin/native2ascii
   if test ! -x $NATIVE2ASCII; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
 $as_echo "not found" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
 $as_echo "$as_me: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&6;}
-      as_fn_error $? "Could not find native2ascii in the Boot JDK" "$LINENO" 5
+    as_fn_error $? "Could not find native2ascii in the Boot JDK" "$LINENO" 5
   fi
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
 $as_echo "ok" >&6; }
 
 
-# Finally, set some other options...
-
-# When compiling code to be executed by the Boot JDK, force jdk7 compatibility.
-BOOT_JDK_SOURCETARGET="-source 7 -target 7"
-
-
-
-
-##############################################################################
-#
-# Specify options for anything that is run with the Boot JDK.
-#
+  # Finally, set some other options...
+
+  # When compiling code to be executed by the Boot JDK, force jdk7 compatibility.
+  BOOT_JDK_SOURCETARGET="-source 7 -target 7"
+
+
+
+
+  ##############################################################################
+  #
+  # Specify options for anything that is run with the Boot JDK.
+  #
 
 # Check whether --with-boot-jdk-jvmargs was given.
 if test "${with_boot_jdk_jvmargs+set}" = set; then :
@@ -15884,135 +15882,135 @@
 fi
 
 
-if test "x$with_boot_jdk_jvmargs" = x; then
+  if test "x$with_boot_jdk_jvmargs" = x; then
     # Not all JVM:s accept the same arguments on the command line.
     # OpenJDK specific increase in thread stack for JDK build,
     # well more specifically, when running javac.
     if test "x$BUILD_NUM_BITS" = x32; then
-       STACK_SIZE=768
-    else
-       # Running Javac on a JVM on a 64-bit machine, the stack takes more space
-       # since 64-bit pointers are pushed on the stach. Apparently, we need
-       # to increase the stack space when javacing the JDK....
-       STACK_SIZE=1536
+      STACK_SIZE=768
+    else
+      # Running Javac on a JVM on a 64-bit machine, the stack takes more space
+      # since 64-bit pointers are pushed on the stach. Apparently, we need
+      # to increase the stack space when javacing the JDK....
+      STACK_SIZE=1536
     fi
 
     # Minimum amount of heap memory.
 
-    $ECHO "Check if jvm arg is ok: -Xms64M" >&5
-    $ECHO "Command: $JAVA -Xms64M -version" >&5
-    OUTPUT=`$JAVA -Xms64M -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        boot_jdk_jvmargs="$boot_jdk_jvmargs -Xms64M"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
+  $ECHO "Check if jvm arg is ok: -Xms64M" >&5
+  $ECHO "Command: $JAVA -Xms64M -version" >&5
+  OUTPUT=`$JAVA -Xms64M -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    boot_jdk_jvmargs="$boot_jdk_jvmargs -Xms64M"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
 
     if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-        # Why does macosx need more heap? Its the huge JDK batch.
-
-    $ECHO "Check if jvm arg is ok: -Xmx1600M" >&5
-    $ECHO "Command: $JAVA -Xmx1600M -version" >&5
-    OUTPUT=`$JAVA -Xmx1600M -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1600M"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
-
-    else
-
-    $ECHO "Check if jvm arg is ok: -Xmx1100M" >&5
-    $ECHO "Command: $JAVA -Xmx1100M -version" >&5
-    OUTPUT=`$JAVA -Xmx1100M -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1100M"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
+      # Why does macosx need more heap? Its the huge JDK batch.
+
+  $ECHO "Check if jvm arg is ok: -Xmx1600M" >&5
+  $ECHO "Command: $JAVA -Xmx1600M -version" >&5
+  OUTPUT=`$JAVA -Xmx1600M -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1600M"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
+
+    else
+
+  $ECHO "Check if jvm arg is ok: -Xmx1100M" >&5
+  $ECHO "Command: $JAVA -Xmx1100M -version" >&5
+  OUTPUT=`$JAVA -Xmx1100M -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1100M"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
 
     fi
     # When is adding -client something that speeds up the JVM?
     # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
 
-    $ECHO "Check if jvm arg is ok: -XX:PermSize=32m" >&5
-    $ECHO "Command: $JAVA -XX:PermSize=32m -version" >&5
-    OUTPUT=`$JAVA -XX:PermSize=32m -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:PermSize=32m"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
-
-
-    $ECHO "Check if jvm arg is ok: -XX:MaxPermSize=160m" >&5
-    $ECHO "Command: $JAVA -XX:MaxPermSize=160m -version" >&5
-    OUTPUT=`$JAVA -XX:MaxPermSize=160m -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:MaxPermSize=160m"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
-
-
-    $ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5
-    $ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5
-    OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:ThreadStackSize=$STACK_SIZE"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
+  $ECHO "Check if jvm arg is ok: -XX:PermSize=32m" >&5
+  $ECHO "Command: $JAVA -XX:PermSize=32m -version" >&5
+  OUTPUT=`$JAVA -XX:PermSize=32m -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:PermSize=32m"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
+
+
+  $ECHO "Check if jvm arg is ok: -XX:MaxPermSize=160m" >&5
+  $ECHO "Command: $JAVA -XX:MaxPermSize=160m -version" >&5
+  OUTPUT=`$JAVA -XX:MaxPermSize=160m -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:MaxPermSize=160m"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
+
+
+  $ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5
+  $ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5
+  OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:ThreadStackSize=$STACK_SIZE"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
 
     # Disable special log output when a debug build is used as Boot JDK...
 
-    $ECHO "Check if jvm arg is ok: -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" >&5
-    $ECHO "Command: $JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version" >&5
-    OUTPUT=`$JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
-
-fi
-
-BOOT_JDK_JVMARGS=$boot_jdk_jvmargs
+  $ECHO "Check if jvm arg is ok: -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" >&5
+  $ECHO "Command: $JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version" >&5
+  OUTPUT=`$JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
+
+  fi
+
+  BOOT_JDK_JVMARGS=$boot_jdk_jvmargs
 
 
 
@@ -16023,31 +16021,30 @@
 ###############################################################################
 
 
-
-# Where are the sources. Any of these can be overridden
-# using --with-override-corba and the likes.
-LANGTOOLS_TOPDIR="$SRC_ROOT/langtools"
-CORBA_TOPDIR="$SRC_ROOT/corba"
-JAXP_TOPDIR="$SRC_ROOT/jaxp"
-JAXWS_TOPDIR="$SRC_ROOT/jaxws"
-HOTSPOT_TOPDIR="$SRC_ROOT/hotspot"
-NASHORN_TOPDIR="$SRC_ROOT/nashorn"
-JDK_TOPDIR="$SRC_ROOT/jdk"
-
-
-
-
-
-
-
-
-
-
-###############################################################################
-#
-# Pickup additional source for a component from outside of the source root
-# or override source for a component.
-#
+  # Where are the sources. Any of these can be overridden
+  # using --with-override-corba and the likes.
+  LANGTOOLS_TOPDIR="$SRC_ROOT/langtools"
+  CORBA_TOPDIR="$SRC_ROOT/corba"
+  JAXP_TOPDIR="$SRC_ROOT/jaxp"
+  JAXWS_TOPDIR="$SRC_ROOT/jaxws"
+  HOTSPOT_TOPDIR="$SRC_ROOT/hotspot"
+  NASHORN_TOPDIR="$SRC_ROOT/nashorn"
+  JDK_TOPDIR="$SRC_ROOT/jdk"
+
+
+
+
+
+
+
+
+
+
+  ###############################################################################
+  #
+  # Pickup additional source for a component from outside of the source root
+  # or override source for a component.
+  #
 
 # Check whether --with-add-source-root was given.
 if test "${with_add_source_root+set}" = set; then :
@@ -16069,14 +16066,14 @@
 fi
 
 
-if test "x$with_adds_and_overrides" != x; then
+  if test "x$with_adds_and_overrides" != x; then
     with_add_source_root="$with_adds_and_overrides/adds"
     with_override_source_root="$with_adds_and_overrides/overrides"
-fi
-
-if test "x$with_add_source_root" != x; then
+  fi
+
+  if test "x$with_add_source_root" != x; then
     if ! test -d $with_add_source_root; then
-       as_fn_error $? "Trying to use a non-existant add-source-root $with_add_source_root" "$LINENO" 5
+      as_fn_error $? "Trying to use a non-existant add-source-root $with_add_source_root" "$LINENO" 5
     fi
     CURDIR="$PWD"
     cd "$with_add_source_root"
@@ -16085,93 +16082,93 @@
     # Verify that the addon source root does not have any root makefiles.
     # If it does, then it is usually an error, prevent this.
     if test -f $with_add_source_root/langtools/makefiles/Makefile || \
-       test -f $with_add_source_root/langtools/make/Makefile; then
-        as_fn_error $? "Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources." "$LINENO" 5
+      test -f $with_add_source_root/langtools/make/Makefile; then
+      as_fn_error $? "Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources." "$LINENO" 5
     fi
     if test -f $with_add_source_root/corba/makefiles/Makefile || \
-       test -f $with_add_source_root/corba/make/Makefile; then
-        as_fn_error $? "Your add source root seems to contain a full corba repo! An add source root should only contain additional sources." "$LINENO" 5
+      test -f $with_add_source_root/corba/make/Makefile; then
+      as_fn_error $? "Your add source root seems to contain a full corba repo! An add source root should only contain additional sources." "$LINENO" 5
     fi
     if test -f $with_add_source_root/jaxp/makefiles/Makefile || \
-       test -f $with_add_source_root/jaxp/make/Makefile; then
-        as_fn_error $? "Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources." "$LINENO" 5
+      test -f $with_add_source_root/jaxp/make/Makefile; then
+      as_fn_error $? "Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources." "$LINENO" 5
     fi
     if test -f $with_add_source_root/jaxws/makefiles/Makefile || \
-       test -f $with_add_source_root/jaxws/make/Makefile; then
-        as_fn_error $? "Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources." "$LINENO" 5
+      test -f $with_add_source_root/jaxws/make/Makefile; then
+      as_fn_error $? "Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources." "$LINENO" 5
     fi
     if test -f $with_add_source_root/hotspot/makefiles/Makefile || \
-       test -f $with_add_source_root/hotspot/make/Makefile; then
-        as_fn_error $? "Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources." "$LINENO" 5
+      test -f $with_add_source_root/hotspot/make/Makefile; then
+      as_fn_error $? "Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources." "$LINENO" 5
     fi
     if test -f $with_add_source_root/nashorn/makefiles/Makefile || \
-       test -f $with_add_source_root/nashorn/make/Makefile; then
-        as_fn_error $? "Your add source root seems to contain a full nashorn repo! An add source root should only contain additional sources." "$LINENO" 5
+      test -f $with_add_source_root/nashorn/make/Makefile; then
+      as_fn_error $? "Your add source root seems to contain a full nashorn repo! An add source root should only contain additional sources." "$LINENO" 5
     fi
     if test -f $with_add_source_root/jdk/makefiles/Makefile || \
-       test -f $with_add_source_root/jdk/make/Makefile; then
-        as_fn_error $? "Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources." "$LINENO" 5
-    fi
-fi
-
-
-if test "x$with_override_source_root" != x; then
+      test -f $with_add_source_root/jdk/make/Makefile; then
+      as_fn_error $? "Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources." "$LINENO" 5
+    fi
+  fi
+
+
+  if test "x$with_override_source_root" != x; then
     if ! test -d $with_override_source_root; then
-       as_fn_error $? "Trying to use a non-existant override-source-root $with_override_source_root" "$LINENO" 5
+      as_fn_error $? "Trying to use a non-existant override-source-root $with_override_source_root" "$LINENO" 5
     fi
     CURDIR="$PWD"
     cd "$with_override_source_root"
     OVERRIDE_SRC_ROOT="`pwd`"
     cd "$CURDIR"
     if test -f $with_override_source_root/langtools/makefiles/Makefile || \
-       test -f $with_override_source_root/langtools/make/Makefile; then
-        as_fn_error $? "Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override." "$LINENO" 5
+      test -f $with_override_source_root/langtools/make/Makefile; then
+      as_fn_error $? "Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override." "$LINENO" 5
     fi
     if test -f $with_override_source_root/corba/makefiles/Makefile || \
-       test -f $with_override_source_root/corba/make/Makefile; then
-        as_fn_error $? "Your override source root seems to contain a full corba repo! An override source root should only contain sources that override." "$LINENO" 5
+      test -f $with_override_source_root/corba/make/Makefile; then
+      as_fn_error $? "Your override source root seems to contain a full corba repo! An override source root should only contain sources that override." "$LINENO" 5
     fi
     if test -f $with_override_source_root/jaxp/makefiles/Makefile || \
-       test -f $with_override_source_root/jaxp/make/Makefile; then
-        as_fn_error $? "Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override." "$LINENO" 5
+      test -f $with_override_source_root/jaxp/make/Makefile; then
+      as_fn_error $? "Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override." "$LINENO" 5
     fi
     if test -f $with_override_source_root/jaxws/makefiles/Makefile || \
-       test -f $with_override_source_root/jaxws/make/Makefile; then
-        as_fn_error $? "Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override." "$LINENO" 5
+      test -f $with_override_source_root/jaxws/make/Makefile; then
+      as_fn_error $? "Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override." "$LINENO" 5
     fi
     if test -f $with_override_source_root/hotspot/makefiles/Makefile || \
-       test -f $with_override_source_root/hotspot/make/Makefile; then
-        as_fn_error $? "Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override." "$LINENO" 5
+      test -f $with_override_source_root/hotspot/make/Makefile; then
+      as_fn_error $? "Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override." "$LINENO" 5
     fi
     if test -f $with_override_source_root/nashorn/makefiles/Makefile || \
-       test -f $with_override_source_root/nashorn/make/Makefile; then
-        as_fn_error $? "Your override source root seems to contain a full nashorn repo! An override source root should only contain sources that override." "$LINENO" 5
+      test -f $with_override_source_root/nashorn/make/Makefile; then
+      as_fn_error $? "Your override source root seems to contain a full nashorn repo! An override source root should only contain sources that override." "$LINENO" 5
     fi
     if test -f $with_override_source_root/jdk/makefiles/Makefile || \
-       test -f $with_override_source_root/jdk/make/Makefile; then
-        as_fn_error $? "Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override." "$LINENO" 5
-    fi
-fi
-
-
-###############################################################################
-#
-# Override a repo completely, this is used for example when you have 3 small
-# development sandboxes of the langtools sources and want to avoid having 3 full
-# OpenJDK sources checked out on disk.
-#
-# Assuming that the 3 langtools sandboxes are located here:
-# /home/fredrik/sandbox1/langtools
-# /home/fredrik/sandbox2/langtools
-# /home/fredrik/sandbox3/langtools
-#
-# From the source root you create build subdirs manually:
-#     mkdir -p build1 build2 build3
-# in each build directory run:
-#     (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make)
-#     (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make)
-#     (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make)
-#
+      test -f $with_override_source_root/jdk/make/Makefile; then
+      as_fn_error $? "Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override." "$LINENO" 5
+    fi
+  fi
+
+
+  ###############################################################################
+  #
+  # Override a repo completely, this is used for example when you have 3 small
+  # development sandboxes of the langtools sources and want to avoid having 3 full
+  # OpenJDK sources checked out on disk.
+  #
+  # Assuming that the 3 langtools sandboxes are located here:
+  # /home/fredrik/sandbox1/langtools
+  # /home/fredrik/sandbox2/langtools
+  # /home/fredrik/sandbox3/langtools
+  #
+  # From the source root you create build subdirs manually:
+  #     mkdir -p build1 build2 build3
+  # in each build directory run:
+  #     (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make)
+  #     (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make)
+  #     (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make)
+  #
 
 
 # Check whether --with-override-langtools was given.
@@ -16222,106 +16219,105 @@
 fi
 
 
-if test "x$with_override_langtools" != x; then
+  if test "x$with_override_langtools" != x; then
     CURDIR="$PWD"
     cd "$with_override_langtools"
     LANGTOOLS_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $LANGTOOLS_TOPDIR/makefiles/Makefile; then
-        as_fn_error $? "You have to override langtools with a full langtools repo!" "$LINENO" 5
+      as_fn_error $? "You have to override langtools with a full langtools repo!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if langtools should be overridden" >&5
 $as_echo_n "checking if langtools should be overridden... " >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $LANGTOOLS_TOPDIR" >&5
 $as_echo "yes with $LANGTOOLS_TOPDIR" >&6; }
-fi
-if test "x$with_override_corba" != x; then
+  fi
+  if test "x$with_override_corba" != x; then
     CURDIR="$PWD"
     cd "$with_override_corba"
     CORBA_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $CORBA_TOPDIR/makefiles/Makefile; then
-        as_fn_error $? "You have to override corba with a full corba repo!" "$LINENO" 5
+      as_fn_error $? "You have to override corba with a full corba repo!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if corba should be overridden" >&5
 $as_echo_n "checking if corba should be overridden... " >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $CORBA_TOPDIR" >&5
 $as_echo "yes with $CORBA_TOPDIR" >&6; }
-fi
-if test "x$with_override_jaxp" != x; then
+  fi
+  if test "x$with_override_jaxp" != x; then
     CURDIR="$PWD"
     cd "$with_override_jaxp"
     JAXP_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $JAXP_TOPDIR/makefiles/Makefile; then
-        as_fn_error $? "You have to override jaxp with a full jaxp repo!" "$LINENO" 5
+      as_fn_error $? "You have to override jaxp with a full jaxp repo!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if jaxp should be overridden" >&5
 $as_echo_n "checking if jaxp should be overridden... " >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $JAXP_TOPDIR" >&5
 $as_echo "yes with $JAXP_TOPDIR" >&6; }
-fi
-if test "x$with_override_jaxws" != x; then
+  fi
+  if test "x$with_override_jaxws" != x; then
     CURDIR="$PWD"
     cd "$with_override_jaxws"
     JAXWS_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $JAXWS_TOPDIR/makefiles/Makefile; then
-        as_fn_error $? "You have to override jaxws with a full jaxws repo!" "$LINENO" 5
+      as_fn_error $? "You have to override jaxws with a full jaxws repo!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if jaxws should be overridden" >&5
 $as_echo_n "checking if jaxws should be overridden... " >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $JAXWS_TOPDIR" >&5
 $as_echo "yes with $JAXWS_TOPDIR" >&6; }
-fi
-if test "x$with_override_hotspot" != x; then
+  fi
+  if test "x$with_override_hotspot" != x; then
     CURDIR="$PWD"
     cd "$with_override_hotspot"
     HOTSPOT_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $HOTSPOT_TOPDIR/make/Makefile && \
-       ! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then
-        as_fn_error $? "You have to override hotspot with a full hotspot repo!" "$LINENO" 5
+        ! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then
+      as_fn_error $? "You have to override hotspot with a full hotspot repo!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if hotspot should be overridden" >&5
 $as_echo_n "checking if hotspot should be overridden... " >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $HOTSPOT_TOPDIR" >&5
 $as_echo "yes with $HOTSPOT_TOPDIR" >&6; }
-fi
-if test "x$with_override_nashorn" != x; then
+  fi
+  if test "x$with_override_nashorn" != x; then
     CURDIR="$PWD"
     cd "$with_override_nashorn"
     NASHORN_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $NASHORN_TOPDIR/makefiles/Makefile; then
-        as_fn_error $? "You have to override nashorn with a full nashorn repo!" "$LINENO" 5
+      as_fn_error $? "You have to override nashorn with a full nashorn repo!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if nashorn should be overridden" >&5
 $as_echo_n "checking if nashorn should be overridden... " >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $NASHORN_TOPDIR" >&5
 $as_echo "yes with $NASHORN_TOPDIR" >&6; }
-fi
-if test "x$with_override_jdk" != x; then
+  fi
+  if test "x$with_override_jdk" != x; then
     CURDIR="$PWD"
     cd "$with_override_jdk"
     JDK_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $JDK_TOPDIR/makefiles/Makefile; then
-        as_fn_error $? "You have to override JDK with a full JDK repo!" "$LINENO" 5
+      as_fn_error $? "You have to override JDK with a full JDK repo!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if JDK should be overridden" >&5
 $as_echo_n "checking if JDK should be overridden... " >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $JDK_TOPDIR" >&5
 $as_echo "yes with $JDK_TOPDIR" >&6; }
-fi
-
-
-
-BUILD_OUTPUT="$OUTPUT_ROOT"
-
-
-HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist"
-BUILD_HOTSPOT=true
+  fi
+
+
+  BUILD_OUTPUT="$OUTPUT_ROOT"
+
+
+  HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist"
+  BUILD_HOTSPOT=true
 
 
 
@@ -16330,22 +16326,22 @@
   withval=$with_import_hotspot;
 fi
 
-if test "x$with_import_hotspot" != x; then
+  if test "x$with_import_hotspot" != x; then
     CURDIR="$PWD"
     cd "$with_import_hotspot"
     HOTSPOT_DIST="`pwd`"
     cd "$CURDIR"
     if ! (test -d $HOTSPOT_DIST/lib && test -d $HOTSPOT_DIST/jre/lib); then
-        as_fn_error $? "You have to import hotspot from a full jdk image or hotspot build dist dir!" "$LINENO" 5
+      as_fn_error $? "You have to import hotspot from a full jdk image or hotspot build dist dir!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if hotspot should be imported" >&5
 $as_echo_n "checking if hotspot should be imported... " >&6; }
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes from $HOTSPOT_DIST" >&5
 $as_echo "yes from $HOTSPOT_DIST" >&6; }
     BUILD_HOTSPOT=false
-fi
-
-JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk"
+  fi
+
+  JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk"
 
 
 ###############################################################################
@@ -16356,26 +16352,26 @@
 ###############################################################################
 
 
-###############################################################################
-#
-# Configure the development tool paths and potential sysroot.
-#
-ac_ext=cpp
+  ###############################################################################
+  #
+  # Configure the development tool paths and potential sysroot.
+  #
+  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
 
 
-# The option used to specify the target .o,.a or .so file.
-# When compiling, how to specify the to be created object file.
-CC_OUT_OPTION='-o$(SPACE)'
-# When linking, how to specify the to be created executable.
-EXE_OUT_OPTION='-o$(SPACE)'
-# When linking, how to specify the to be created dynamically linkable library.
-LD_OUT_OPTION='-o$(SPACE)'
-# When archiving, how to specify the to be create static archive for object files.
-AR_OUT_OPTION='rcs$(SPACE)'
+  # The option used to specify the target .o,.a or .so file.
+  # When compiling, how to specify the to be created object file.
+  CC_OUT_OPTION='-o$(SPACE)'
+  # When linking, how to specify the to be created executable.
+  EXE_OUT_OPTION='-o$(SPACE)'
+  # When linking, how to specify the to be created dynamically linkable library.
+  LD_OUT_OPTION='-o$(SPACE)'
+  # When archiving, how to specify the to be create static archive for object files.
+  AR_OUT_OPTION='rcs$(SPACE)'
 
 
 
@@ -16544,7 +16540,7 @@
     else
       # try to find jtreg on path
 
-    for ac_prog in jtreg
+  for ac_prog in jtreg
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -16590,16 +16586,16 @@
 done
 
 
-    if test "x$JTREGEXE" = x; then
-        if test "xjtreg" = x; then
-          PROG_NAME=jtregexe
-        else
-          PROG_NAME=jtreg
-        fi
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
-$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
-        as_fn_error $? "Cannot continue" "$LINENO" 5
-    fi
+  if test "x$JTREGEXE" = x; then
+    if test "xjtreg" = x; then
+      PROG_NAME=jtregexe
+    else
+      PROG_NAME=jtreg
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+    as_fn_error $? "Cannot continue" "$LINENO" 5
+  fi
 
 
       JT_HOME="`$DIRNAME $JTREGEXE`"
@@ -16610,7 +16606,7 @@
 
 
 
-if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
 
   # Store path to cygwin link.exe to help excluding it when searching for
   # VS linker. This must be done before changing the PATH when looking for VS.
@@ -17065,8 +17061,8 @@
   # 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
+      && 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
@@ -17081,8 +17077,8 @@
     # 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
+        && 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
@@ -17110,9 +17106,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of VS_ENV_CMD, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of VS_ENV_CMD, which resolves as \"$new_path\", is invalid." >&6;}
@@ -17288,29 +17284,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of VS_ENV_CMD, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of VS_ENV_CMD, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of VS_ENV_CMD, 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
+      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 VS_ENV_CMD" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of VS_ENV_CMD" "$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
-      VS_ENV_CMD="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting VS_ENV_CMD to \"$new_complete\"" >&5
+    VS_ENV_CMD="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting VS_ENV_CMD to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting VS_ENV_CMD to \"$new_complete\"" >&6;}
-    fi
+  fi
 
 
     # Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat
@@ -17626,21 +17622,21 @@
 fi
 
 
-fi
-
-
-
-# If --build AND --host is set, then the configure script will find any
-# cross compilation tools in the PATH. Cross compilation tools
-# follows the cross compilation standard where they are prefixed with ${host}.
-# For example the binary i686-sun-solaris2.10-gcc
-# will cross compile for i686-sun-solaris2.10
-# If neither of build and host is not set, then build=host and the
-# default compiler found in the path will be used.
-# Setting only --host, does not seem to be really supported.
-# Please set both --build and --host if you want to cross compile.
-
-if test "x$COMPILE_TYPE" = "xcross"; then
+  fi
+
+
+
+  # If --build AND --host is set, then the configure script will find any
+  # cross compilation tools in the PATH. Cross compilation tools
+  # follows the cross compilation standard where they are prefixed with ${host}.
+  # For example the binary i686-sun-solaris2.10-gcc
+  # will cross compile for i686-sun-solaris2.10
+  # If neither of build and host is not set, then build=host and the
+  # default compiler found in the path will be used.
+  # Setting only --host, does not seem to be really supported.
+  # Please set both --build and --host if you want to cross compile.
+
+  if test "x$COMPILE_TYPE" = "xcross"; then
     # Now we to find a C/C++ compiler that can build executables for the build
     # platform. We can't use the AC_PROG_CC macro, since it can only be used
     # once. Also, we need to do this before adding a tools dir to the path,
@@ -17711,8 +17707,8 @@
   # 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
+      && 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
@@ -17727,8 +17723,8 @@
     # 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
+        && 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
@@ -17756,9 +17752,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of BUILD_CC, which resolves as \"$new_path\", is invalid." >&6;}
@@ -17934,29 +17930,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of BUILD_CC, 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
+      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_CC" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of BUILD_CC" "$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_CC="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_CC to \"$new_complete\"" >&5
+    BUILD_CC="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_CC to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting BUILD_CC to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     for ac_prog in cl CC g++
 do
@@ -18022,8 +18018,8 @@
   # 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
+      && 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
@@ -18038,8 +18034,8 @@
     # 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
+        && 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
@@ -18067,9 +18063,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of BUILD_CXX, which resolves as \"$new_path\", is invalid." >&6;}
@@ -18245,29 +18241,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of BUILD_CXX, 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
+      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_CXX" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of BUILD_CXX" "$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_CXX="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_CXX to \"$new_complete\"" >&5
+    BUILD_CXX="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_CXX to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting BUILD_CXX to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     # Extract the first word of "ld", so it can be a program name with args.
 set dummy ld; ac_word=$2
@@ -18328,8 +18324,8 @@
   # 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
+      && 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
@@ -18344,8 +18340,8 @@
     # 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
+        && 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
@@ -18373,9 +18369,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of BUILD_LD, which resolves as \"$new_path\", is invalid." >&6;}
@@ -18551,219 +18547,220 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of BUILD_LD, 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
+      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_LD" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of BUILD_LD" "$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_LD="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_LD to \"$new_complete\"" >&5
+    BUILD_LD="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_LD to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting BUILD_LD to \"$new_complete\"" >&6;}
-    fi
-
-fi
-
-
-
-
-# If a devkit is found on the builddeps server, then prepend its path to the
-# PATH variable. If there are cross compilers available in the devkit, these
-# will be found by AC_PROG_CC et al.
-DEVKIT=
-
-
-    if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
-        # Source the builddeps file again, to make sure it uses the latest variables!
-        . $builddepsfile
-        # Look for a target and build machine specific resource!
-        eval resource=\${builddep_devkit_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a target specific resource
-            eval resource=\${builddep_devkit_TARGET_${rewritten_target_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a build specific resource
-            eval resource=\${builddep_devkit_BUILD_${rewritten_build_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a generic resource
-            # (The devkit comes from M4 and not the shell, thus no need for eval here.)
-            resource=${builddep_devkit}
-        fi
-        if test "x$resource" != x; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for devkit" >&5
+  fi
+
+  fi
+
+
+
+
+  # If a devkit is found on the builddeps server, then prepend its path to the
+  # PATH variable. If there are cross compilers available in the devkit, these
+  # will be found by AC_PROG_CC et al.
+  DEVKIT=
+
+
+  if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
+    # Source the builddeps file again, to make sure it uses the latest variables!
+    . $builddepsfile
+    # Look for a target and build machine specific resource!
+    eval resource=\${builddep_devkit_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a target specific resource
+      eval resource=\${builddep_devkit_TARGET_${rewritten_target_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a build specific resource
+      eval resource=\${builddep_devkit_BUILD_${rewritten_build_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a generic resource
+      # (The devkit comes from M4 and not the shell, thus no need for eval here.)
+      resource=${builddep_devkit}
+    fi
+    if test "x$resource" != x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for devkit" >&5
 $as_echo "$as_me: Using builddeps $resource for devkit" >&6;}
-	    # If the resource in the builddeps.conf file is an existing directory,
-	    # for example /java/linux/cups
-	    if test -d ${resource}; then
-	       depdir=${resource}
-	    else
-
-# devkit is for example mymodule
-# $resource is for example libs/general/libmymod_1_2_3.zip
-# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
-# $with_builddeps_dir is for example /localhome/builddeps
-# depdir is the name of the variable into which we store the depdir, eg MYMOD
-# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
-# unzip into the directory: /localhome/builddeps/libmymod_1_2_3
-    filename=`basename $resource`
-    filebase=`echo $filename | sed 's/\.[^\.]*$//'`
-    filebase=${filename%%.*}
-    extension=${filename#*.}
-    installdir=$with_builddeps_dir/$filebase
-    if test ! -f $installdir/$filename.unpacked; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency devkit from $with_builddeps_server/$resource and installing into $installdir" >&5
+      # If the resource in the builddeps.conf file is an existing directory,
+      # for example /java/linux/cups
+      if test -d ${resource}; then
+        depdir=${resource}
+      else
+
+  # devkit is for example mymodule
+  # $resource is for example libs/general/libmymod_1_2_3.zip
+  # $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
+  # $with_builddeps_dir is for example /localhome/builddeps
+  # depdir is the name of the variable into which we store the depdir, eg MYMOD
+  # Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
+  # unzip into the directory: /localhome/builddeps/libmymod_1_2_3
+  filename=`basename $resource`
+  filebase=`echo $filename | sed 's/\.[^\.]*$//'`
+  filebase=${filename%%.*}
+  extension=${filename#*.}
+  installdir=$with_builddeps_dir/$filebase
+  if test ! -f $installdir/$filename.unpacked; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency devkit from $with_builddeps_server/$resource and installing into $installdir" >&5
 $as_echo "$as_me: Downloading build dependency devkit from $with_builddeps_server/$resource and installing into $installdir" >&6;}
-        if test ! -d $installdir; then
-            mkdir -p $installdir
-        fi
-        if test ! -d $installdir; then
-            as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
-        fi
-        tmpfile=`mktemp $installdir/devkit.XXXXXXXXX`
-        touch $tmpfile
-        if test ! -f $tmpfile; then
-            as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
-        fi
-
-    # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
-    # $tmpfile is the local file name for the downloaded file.
-    VALID_TOOL=no
-    if test "x$BDEPS_FTP" = xwget; then
-       VALID_TOOL=yes
-       wget -O $tmpfile $with_builddeps_server/$resource
-    fi
-    if test "x$BDEPS_FTP" = xlftp; then
-       VALID_TOOL=yes
-       lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
-    fi
-    if test "x$BDEPS_FTP" = xftp; then
-        VALID_TOOL=yes
-        FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
-        FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
-        FTPUSERPWD=${FTPSERVER%%@*}
-        if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
-            FTPUSER=${userpwd%%:*}
-            FTPPWD=${userpwd#*@}
-            FTPSERVER=${FTPSERVER#*@}
-        else
-            FTPUSER=ftp
-            FTPPWD=ftp
-        fi
-        # the "pass" command does not work on some
-        # ftp clients (read ftp.exe) but if it works,
-        # passive mode is better!
-        (\
-            echo "user $FTPUSER $FTPPWD"        ;\
-            echo "pass"                         ;\
-            echo "bin"                          ;\
-            echo "get $FTPPATH $tmpfile"              ;\
-        ) | ftp -in $FTPSERVER
-    fi
-    if test "x$VALID_TOOL" != xyes; then
-       as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
-    fi
-
-        mv $tmpfile $installdir/$filename
-        if test ! -s $installdir/$filename; then
-            as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
-        fi
-        case "$extension" in
-            zip)  echo "Unzipping $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
-            ;;
-            tar.gz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            tgz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
-            ;;
-        esac
-    fi
-    if test -f $installdir/$filename.unpacked; then
-        depdir=$installdir
-    fi
-
-	    fi
-            # Source the builddeps file again, because in the previous command, the depdir
-            # was updated to point at the current build dependency install directory.
-            . $builddepsfile
-            # Now extract variables from the builddeps.conf files.
-            theroot=${builddep_devkit_ROOT}
-            thecflags=${builddep_devkit_CFLAGS}
-            thelibs=${builddep_devkit_LIBS}
-            if test "x$depdir" = x; then
-                as_fn_error $? "Could not download build dependency devkit" "$LINENO" 5
-            fi
-            DEVKIT=$depdir
-            if test "x$theroot" != x; then
-               DEVKIT="$theroot"
-            fi
-            if test "x$thecflags" != x; then
-               DEVKIT_CFLAGS="$thecflags"
-            fi
-            if test "x$thelibs" != x; then
-               DEVKIT_LIBS="$thelibs"
-            fi
-            # Found devkit
-                     PATH="$DEVKIT/bin:$PATH"
-                     SYS_ROOT="$DEVKIT/${rewritten_target}/sys-root"
-                     if test "x$x_includes" = "xNONE"; then
-                         x_includes="$SYS_ROOT/usr/include/X11"
-                     fi
-                     if test "x$x_libraries" = "xNONE"; then
-                         x_libraries="$SYS_ROOT/usr/lib"
-                     fi
-
-
-        fi
-
-    fi
-
-
-# Store the CFLAGS etal passed to the configure script.
-ORG_CFLAGS="$CFLAGS"
-ORG_CXXFLAGS="$CXXFLAGS"
-ORG_OBJCFLAGS="$OBJCFLAGS"
-
-# autoconf magic only relies on PATH, so update it if tools dir is specified
-OLD_PATH="$PATH"
-if test "x$TOOLS_DIR" != x; then
-  PATH=$TOOLS_DIR:$PATH
-fi
-
-
-### Locate C compiler (CC)
-
-# On windows, only cl.exe is supported.
-# On Solaris, cc is preferred to gcc.
-# Elsewhere, gcc is preferred to cc.
-
-if test "x$CC" != x; then
-  COMPILER_CHECK_LIST="$CC"
-elif test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  COMPILER_CHECK_LIST="cl"
-elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
-  COMPILER_CHECK_LIST="cc gcc"
-else
-  COMPILER_CHECK_LIST="gcc cc"
-fi
+    if test ! -d $installdir; then
+      mkdir -p $installdir
+    fi
+    if test ! -d $installdir; then
+      as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
+    fi
+    tmpfile=`mktemp $installdir/devkit.XXXXXXXXX`
+    touch $tmpfile
+    if test ! -f $tmpfile; then
+      as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
+    fi
+
+  # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
+  # $tmpfile is the local file name for the downloaded file.
+  VALID_TOOL=no
+  if test "x$BDEPS_FTP" = xwget; then
+    VALID_TOOL=yes
+    wget -O $tmpfile $with_builddeps_server/$resource
+  fi
+  if test "x$BDEPS_FTP" = xlftp; then
+    VALID_TOOL=yes
+    lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
+  fi
+  if test "x$BDEPS_FTP" = xftp; then
+    VALID_TOOL=yes
+    FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
+    FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
+    FTPUSERPWD=${FTPSERVER%%@*}
+    if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
+      FTPUSER=${userpwd%%:*}
+      FTPPWD=${userpwd#*@}
+      FTPSERVER=${FTPSERVER#*@}
+    else
+      FTPUSER=ftp
+      FTPPWD=ftp
+    fi
+    # the "pass" command does not work on some
+    # ftp clients (read ftp.exe) but if it works,
+    # passive mode is better!
+    ( \
+        echo "user $FTPUSER $FTPPWD"        ; \
+        echo "pass"                         ; \
+        echo "bin"                          ; \
+        echo "get $FTPPATH $tmpfile"              ; \
+    ) | ftp -in $FTPSERVER
+  fi
+  if test "x$VALID_TOOL" != xyes; then
+    as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
+  fi
+
+    mv $tmpfile $installdir/$filename
+    if test ! -s $installdir/$filename; then
+      as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
+    fi
+    case "$extension" in
+      zip)  echo "Unzipping $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
+        ;;
+      tar.gz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      tgz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
+        ;;
+    esac
+  fi
+  if test -f $installdir/$filename.unpacked; then
+    depdir=$installdir
+  fi
+
+      fi
+      # Source the builddeps file again, because in the previous command, the depdir
+      # was updated to point at the current build dependency install directory.
+      . $builddepsfile
+      # Now extract variables from the builddeps.conf files.
+      theroot=${builddep_devkit_ROOT}
+      thecflags=${builddep_devkit_CFLAGS}
+      thelibs=${builddep_devkit_LIBS}
+      if test "x$depdir" = x; then
+        as_fn_error $? "Could not download build dependency devkit" "$LINENO" 5
+      fi
+      DEVKIT=$depdir
+      if test "x$theroot" != x; then
+        DEVKIT="$theroot"
+      fi
+      if test "x$thecflags" != x; then
+        DEVKIT_CFLAGS="$thecflags"
+      fi
+      if test "x$thelibs" != x; then
+        DEVKIT_LIBS="$thelibs"
+      fi
+
+        # Found devkit
+        PATH="$DEVKIT/bin:$PATH"
+        SYS_ROOT="$DEVKIT/${rewritten_target}/sys-root"
+        if test "x$x_includes" = "xNONE"; then
+          x_includes="$SYS_ROOT/usr/include/X11"
+        fi
+        if test "x$x_libraries" = "xNONE"; then
+          x_libraries="$SYS_ROOT/usr/lib"
+        fi
+
+
+    fi
+
+  fi
+
+
+  # Store the CFLAGS etal passed to the configure script.
+  ORG_CFLAGS="$CFLAGS"
+  ORG_CXXFLAGS="$CXXFLAGS"
+  ORG_OBJCFLAGS="$OBJCFLAGS"
+
+  # autoconf magic only relies on PATH, so update it if tools dir is specified
+  OLD_PATH="$PATH"
+  if test "x$TOOLS_DIR" != x; then
+    PATH=$TOOLS_DIR:$PATH
+  fi
+
+
+  ### Locate C compiler (CC)
+
+  # On windows, only cl.exe is supported.
+  # On Solaris, cc is preferred to gcc.
+  # Elsewhere, gcc is preferred to cc.
+
+  if test "x$CC" != x; then
+    COMPILER_CHECK_LIST="$CC"
+  elif test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    COMPILER_CHECK_LIST="cl"
+  elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
+    COMPILER_CHECK_LIST="cc gcc"
+  else
+    COMPILER_CHECK_LIST="gcc cc"
+  fi
 
 
   COMPILER_NAME=C
@@ -18876,31 +18873,31 @@
 
   if test "x$CC" = x; then
 
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # devkit is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=devkit
-    PKGHANDLER_COMMAND=
-
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # devkit is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=devkit
+  PKGHANDLER_COMMAND=
+
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
-
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
-
-      as_fn_error $? "Could not find a $COMPILER_NAME compiler. $HELP_MSG" "$LINENO" 5
+  esac
+
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
+
+    as_fn_error $? "Could not find a $COMPILER_NAME compiler. $HELP_MSG" "$LINENO" 5
   fi
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -18921,8 +18918,8 @@
   # 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
+      && 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
@@ -18937,8 +18934,8 @@
     # 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
+        && 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
@@ -18966,9 +18963,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CC, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of CC, which resolves as \"$new_path\", is invalid." >&6;}
@@ -19144,80 +19141,80 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CC, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CC, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of CC, 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
+      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 CC" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of CC" "$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
-      CC="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CC to \"$new_complete\"" >&5
+    CC="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CC to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting CC to \"$new_complete\"" >&6;}
-    fi
+  fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CC" >&5
 $as_echo_n "checking resolved symbolic links for CC... " >&6; }
   TEST_COMPILER="$CC"
 
-    if test "x$OPENJDK_BUILD_OS" != xwindows; then
-        # Follow a chain of symbolic links. Use readlink
-        # where it exists, else fall back to horribly
-        # complicated shell code.
-        if test "x$READLINK_TESTED" != yes; then
-            # On MacOSX there is a readlink tool with a different
-            # purpose than the GNU readlink tool. Check the found readlink.
-            ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
-            if test "x$ISGNU" = x; then
-                 # A readlink that we do not know how to use.
-                 # Are there other non-GNU readlinks out there?
-                 READLINK_TESTED=yes
-                 READLINK=
-            fi
-        fi
-
-        if test "x$READLINK" != x; then
-            TEST_COMPILER=`$READLINK -f $TEST_COMPILER`
-        else
-            # Save the current directory for restoring afterwards
-            STARTDIR=$PWD
-            COUNTER=0
-            sym_link_dir=`$DIRNAME $TEST_COMPILER`
-            sym_link_file=`$BASENAME $TEST_COMPILER`
-            cd $sym_link_dir
-            # Use -P flag to resolve symlinks in directories.
-            cd `$THEPWDCMD -P`
-            sym_link_dir=`$THEPWDCMD -P`
-            # Resolve file symlinks
-            while test $COUNTER -lt 20; do
-                ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
-                if test "x$ISLINK" == x; then
-                    # This is not a symbolic link! We are done!
-                    break
-                fi
-                # Again resolve directory symlinks since the target of the just found
-                # link could be in a different directory
-                cd `$DIRNAME $ISLINK`
-                sym_link_dir=`$THEPWDCMD -P`
-                sym_link_file=`$BASENAME $ISLINK`
-                let COUNTER=COUNTER+1
-            done
-            cd $STARTDIR
-            TEST_COMPILER=$sym_link_dir/$sym_link_file
-        fi
-    fi
+  if test "x$OPENJDK_BUILD_OS" != xwindows; then
+    # Follow a chain of symbolic links. Use readlink
+    # where it exists, else fall back to horribly
+    # complicated shell code.
+    if test "x$READLINK_TESTED" != yes; then
+      # On MacOSX there is a readlink tool with a different
+      # purpose than the GNU readlink tool. Check the found readlink.
+      ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
+      if test "x$ISGNU" = x; then
+        # A readlink that we do not know how to use.
+        # Are there other non-GNU readlinks out there?
+        READLINK_TESTED=yes
+        READLINK=
+      fi
+    fi
+
+    if test "x$READLINK" != x; then
+      TEST_COMPILER=`$READLINK -f $TEST_COMPILER`
+    else
+      # Save the current directory for restoring afterwards
+      STARTDIR=$PWD
+      COUNTER=0
+      sym_link_dir=`$DIRNAME $TEST_COMPILER`
+      sym_link_file=`$BASENAME $TEST_COMPILER`
+      cd $sym_link_dir
+      # Use -P flag to resolve symlinks in directories.
+      cd `$THEPWDCMD -P`
+      sym_link_dir=`$THEPWDCMD -P`
+      # Resolve file symlinks
+      while test $COUNTER -lt 20; do
+        ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
+        if test "x$ISLINK" == x; then
+          # This is not a symbolic link! We are done!
+          break
+        fi
+        # Again resolve directory symlinks since the target of the just found
+        # link could be in a different directory
+        cd `$DIRNAME $ISLINK`
+        sym_link_dir=`$THEPWDCMD -P`
+        sym_link_file=`$BASENAME $ISLINK`
+        let COUNTER=COUNTER+1
+      done
+      cd $STARTDIR
+      TEST_COMPILER=$sym_link_dir/$sym_link_file
+    fi
+  fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5
 $as_echo "$TEST_COMPILER" >&6; }
@@ -19357,8 +19354,8 @@
   # 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
+      && 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
@@ -19373,8 +19370,8 @@
     # 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
+        && 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
@@ -19402,9 +19399,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of PROPER_COMPILER_CC, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of PROPER_COMPILER_CC, which resolves as \"$new_path\", is invalid." >&6;}
@@ -19580,81 +19577,81 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of PROPER_COMPILER_CC, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of PROPER_COMPILER_CC, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of PROPER_COMPILER_CC, 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
+      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 PROPER_COMPILER_CC" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of PROPER_COMPILER_CC" "$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
-      PROPER_COMPILER_CC="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting PROPER_COMPILER_CC to \"$new_complete\"" >&5
+    PROPER_COMPILER_CC="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting PROPER_COMPILER_CC to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting PROPER_COMPILER_CC to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     PATH="$RETRY_COMPILER_SAVED_PATH"
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for resolved symbolic links for CC" >&5
 $as_echo_n "checking for resolved symbolic links for CC... " >&6; }
 
-    if test "x$OPENJDK_BUILD_OS" != xwindows; then
-        # Follow a chain of symbolic links. Use readlink
-        # where it exists, else fall back to horribly
-        # complicated shell code.
-        if test "x$READLINK_TESTED" != yes; then
-            # On MacOSX there is a readlink tool with a different
-            # purpose than the GNU readlink tool. Check the found readlink.
-            ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
-            if test "x$ISGNU" = x; then
-                 # A readlink that we do not know how to use.
-                 # Are there other non-GNU readlinks out there?
-                 READLINK_TESTED=yes
-                 READLINK=
-            fi
-        fi
-
-        if test "x$READLINK" != x; then
-            PROPER_COMPILER_CC=`$READLINK -f $PROPER_COMPILER_CC`
-        else
-            # Save the current directory for restoring afterwards
-            STARTDIR=$PWD
-            COUNTER=0
-            sym_link_dir=`$DIRNAME $PROPER_COMPILER_CC`
-            sym_link_file=`$BASENAME $PROPER_COMPILER_CC`
-            cd $sym_link_dir
-            # Use -P flag to resolve symlinks in directories.
-            cd `$THEPWDCMD -P`
-            sym_link_dir=`$THEPWDCMD -P`
-            # Resolve file symlinks
-            while test $COUNTER -lt 20; do
-                ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
-                if test "x$ISLINK" == x; then
-                    # This is not a symbolic link! We are done!
-                    break
-                fi
-                # Again resolve directory symlinks since the target of the just found
-                # link could be in a different directory
-                cd `$DIRNAME $ISLINK`
-                sym_link_dir=`$THEPWDCMD -P`
-                sym_link_file=`$BASENAME $ISLINK`
-                let COUNTER=COUNTER+1
-            done
-            cd $STARTDIR
-            PROPER_COMPILER_CC=$sym_link_dir/$sym_link_file
-        fi
-    fi
+  if test "x$OPENJDK_BUILD_OS" != xwindows; then
+    # Follow a chain of symbolic links. Use readlink
+    # where it exists, else fall back to horribly
+    # complicated shell code.
+    if test "x$READLINK_TESTED" != yes; then
+      # On MacOSX there is a readlink tool with a different
+      # purpose than the GNU readlink tool. Check the found readlink.
+      ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
+      if test "x$ISGNU" = x; then
+        # A readlink that we do not know how to use.
+        # Are there other non-GNU readlinks out there?
+        READLINK_TESTED=yes
+        READLINK=
+      fi
+    fi
+
+    if test "x$READLINK" != x; then
+      PROPER_COMPILER_CC=`$READLINK -f $PROPER_COMPILER_CC`
+    else
+      # Save the current directory for restoring afterwards
+      STARTDIR=$PWD
+      COUNTER=0
+      sym_link_dir=`$DIRNAME $PROPER_COMPILER_CC`
+      sym_link_file=`$BASENAME $PROPER_COMPILER_CC`
+      cd $sym_link_dir
+      # Use -P flag to resolve symlinks in directories.
+      cd `$THEPWDCMD -P`
+      sym_link_dir=`$THEPWDCMD -P`
+      # Resolve file symlinks
+      while test $COUNTER -lt 20; do
+        ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
+        if test "x$ISLINK" == x; then
+          # This is not a symbolic link! We are done!
+          break
+        fi
+        # Again resolve directory symlinks since the target of the just found
+        # link could be in a different directory
+        cd `$DIRNAME $ISLINK`
+        sym_link_dir=`$THEPWDCMD -P`
+        sym_link_file=`$BASENAME $ISLINK`
+        let COUNTER=COUNTER+1
+      done
+      cd $STARTDIR
+      PROPER_COMPILER_CC=$sym_link_dir/$sym_link_file
+    fi
+  fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PROPER_COMPILER_CC" >&5
 $as_echo "$PROPER_COMPILER_CC" >&6; }
@@ -19686,7 +19683,7 @@
     fi
   elif test  "x$OPENJDK_TARGET_OS" = xwindows; then
     # First line typically looks something like:
-    # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
+    # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
     COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
     COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*Version \([1-9][0-9.]*\) .*/\1/p"`
     COMPILER_VENDOR="Microsoft CL.EXE"
@@ -19726,8 +19723,8 @@
 $as_echo "$as_me: Using $COMPILER_VENDOR $COMPILER_NAME compiler version $COMPILER_VERSION (located at $COMPILER)" >&6;}
 
 
-# Now that we have resolved CC ourself, let autoconf have its go at it
-ac_ext=c
+  # Now that we have resolved CC ourself, let autoconf have its go at it
+  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'
@@ -20325,17 +20322,17 @@
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-### Locate C++ compiler (CXX)
-
-if test "x$CXX" != x; then
-  COMPILER_CHECK_LIST="$CXX"
-elif test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  COMPILER_CHECK_LIST="cl"
-elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
-  COMPILER_CHECK_LIST="CC g++"
-else
-  COMPILER_CHECK_LIST="g++ CC"
-fi
+  ### Locate C++ compiler (CXX)
+
+  if test "x$CXX" != x; then
+    COMPILER_CHECK_LIST="$CXX"
+  elif test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    COMPILER_CHECK_LIST="cl"
+  elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
+    COMPILER_CHECK_LIST="CC g++"
+  else
+    COMPILER_CHECK_LIST="g++ CC"
+  fi
 
 
   COMPILER_NAME=C++
@@ -20448,31 +20445,31 @@
 
   if test "x$CXX" = x; then
 
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # devkit is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=devkit
-    PKGHANDLER_COMMAND=
-
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # devkit is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=devkit
+  PKGHANDLER_COMMAND=
+
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
-
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
-
-      as_fn_error $? "Could not find a $COMPILER_NAME compiler. $HELP_MSG" "$LINENO" 5
+  esac
+
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
+
+    as_fn_error $? "Could not find a $COMPILER_NAME compiler. $HELP_MSG" "$LINENO" 5
   fi
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -20493,8 +20490,8 @@
   # 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
+      && 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
@@ -20509,8 +20506,8 @@
     # 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
+        && 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
@@ -20538,9 +20535,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXX, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of CXX, which resolves as \"$new_path\", is invalid." >&6;}
@@ -20716,80 +20713,80 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXX, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXX, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of CXX, 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
+      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 CXX" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of CXX" "$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
-      CXX="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CXX to \"$new_complete\"" >&5
+    CXX="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CXX to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting CXX to \"$new_complete\"" >&6;}
-    fi
+  fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CXX" >&5
 $as_echo_n "checking resolved symbolic links for CXX... " >&6; }
   TEST_COMPILER="$CXX"
 
-    if test "x$OPENJDK_BUILD_OS" != xwindows; then
-        # Follow a chain of symbolic links. Use readlink
-        # where it exists, else fall back to horribly
-        # complicated shell code.
-        if test "x$READLINK_TESTED" != yes; then
-            # On MacOSX there is a readlink tool with a different
-            # purpose than the GNU readlink tool. Check the found readlink.
-            ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
-            if test "x$ISGNU" = x; then
-                 # A readlink that we do not know how to use.
-                 # Are there other non-GNU readlinks out there?
-                 READLINK_TESTED=yes
-                 READLINK=
-            fi
-        fi
-
-        if test "x$READLINK" != x; then
-            TEST_COMPILER=`$READLINK -f $TEST_COMPILER`
-        else
-            # Save the current directory for restoring afterwards
-            STARTDIR=$PWD
-            COUNTER=0
-            sym_link_dir=`$DIRNAME $TEST_COMPILER`
-            sym_link_file=`$BASENAME $TEST_COMPILER`
-            cd $sym_link_dir
-            # Use -P flag to resolve symlinks in directories.
-            cd `$THEPWDCMD -P`
-            sym_link_dir=`$THEPWDCMD -P`
-            # Resolve file symlinks
-            while test $COUNTER -lt 20; do
-                ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
-                if test "x$ISLINK" == x; then
-                    # This is not a symbolic link! We are done!
-                    break
-                fi
-                # Again resolve directory symlinks since the target of the just found
-                # link could be in a different directory
-                cd `$DIRNAME $ISLINK`
-                sym_link_dir=`$THEPWDCMD -P`
-                sym_link_file=`$BASENAME $ISLINK`
-                let COUNTER=COUNTER+1
-            done
-            cd $STARTDIR
-            TEST_COMPILER=$sym_link_dir/$sym_link_file
-        fi
-    fi
+  if test "x$OPENJDK_BUILD_OS" != xwindows; then
+    # Follow a chain of symbolic links. Use readlink
+    # where it exists, else fall back to horribly
+    # complicated shell code.
+    if test "x$READLINK_TESTED" != yes; then
+      # On MacOSX there is a readlink tool with a different
+      # purpose than the GNU readlink tool. Check the found readlink.
+      ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
+      if test "x$ISGNU" = x; then
+        # A readlink that we do not know how to use.
+        # Are there other non-GNU readlinks out there?
+        READLINK_TESTED=yes
+        READLINK=
+      fi
+    fi
+
+    if test "x$READLINK" != x; then
+      TEST_COMPILER=`$READLINK -f $TEST_COMPILER`
+    else
+      # Save the current directory for restoring afterwards
+      STARTDIR=$PWD
+      COUNTER=0
+      sym_link_dir=`$DIRNAME $TEST_COMPILER`
+      sym_link_file=`$BASENAME $TEST_COMPILER`
+      cd $sym_link_dir
+      # Use -P flag to resolve symlinks in directories.
+      cd `$THEPWDCMD -P`
+      sym_link_dir=`$THEPWDCMD -P`
+      # Resolve file symlinks
+      while test $COUNTER -lt 20; do
+        ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
+        if test "x$ISLINK" == x; then
+          # This is not a symbolic link! We are done!
+          break
+        fi
+        # Again resolve directory symlinks since the target of the just found
+        # link could be in a different directory
+        cd `$DIRNAME $ISLINK`
+        sym_link_dir=`$THEPWDCMD -P`
+        sym_link_file=`$BASENAME $ISLINK`
+        let COUNTER=COUNTER+1
+      done
+      cd $STARTDIR
+      TEST_COMPILER=$sym_link_dir/$sym_link_file
+    fi
+  fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_COMPILER" >&5
 $as_echo "$TEST_COMPILER" >&6; }
@@ -20929,8 +20926,8 @@
   # 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
+      && 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
@@ -20945,8 +20942,8 @@
     # 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
+        && 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
@@ -20974,9 +20971,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of PROPER_COMPILER_CXX, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of PROPER_COMPILER_CXX, which resolves as \"$new_path\", is invalid." >&6;}
@@ -21152,81 +21149,81 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of PROPER_COMPILER_CXX, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of PROPER_COMPILER_CXX, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of PROPER_COMPILER_CXX, 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
+      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 PROPER_COMPILER_CXX" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of PROPER_COMPILER_CXX" "$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
-      PROPER_COMPILER_CXX="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting PROPER_COMPILER_CXX to \"$new_complete\"" >&5
+    PROPER_COMPILER_CXX="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting PROPER_COMPILER_CXX to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting PROPER_COMPILER_CXX to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     PATH="$RETRY_COMPILER_SAVED_PATH"
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for resolved symbolic links for CXX" >&5
 $as_echo_n "checking for resolved symbolic links for CXX... " >&6; }
 
-    if test "x$OPENJDK_BUILD_OS" != xwindows; then
-        # Follow a chain of symbolic links. Use readlink
-        # where it exists, else fall back to horribly
-        # complicated shell code.
-        if test "x$READLINK_TESTED" != yes; then
-            # On MacOSX there is a readlink tool with a different
-            # purpose than the GNU readlink tool. Check the found readlink.
-            ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
-            if test "x$ISGNU" = x; then
-                 # A readlink that we do not know how to use.
-                 # Are there other non-GNU readlinks out there?
-                 READLINK_TESTED=yes
-                 READLINK=
-            fi
-        fi
-
-        if test "x$READLINK" != x; then
-            PROPER_COMPILER_CXX=`$READLINK -f $PROPER_COMPILER_CXX`
-        else
-            # Save the current directory for restoring afterwards
-            STARTDIR=$PWD
-            COUNTER=0
-            sym_link_dir=`$DIRNAME $PROPER_COMPILER_CXX`
-            sym_link_file=`$BASENAME $PROPER_COMPILER_CXX`
-            cd $sym_link_dir
-            # Use -P flag to resolve symlinks in directories.
-            cd `$THEPWDCMD -P`
-            sym_link_dir=`$THEPWDCMD -P`
-            # Resolve file symlinks
-            while test $COUNTER -lt 20; do
-                ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
-                if test "x$ISLINK" == x; then
-                    # This is not a symbolic link! We are done!
-                    break
-                fi
-                # Again resolve directory symlinks since the target of the just found
-                # link could be in a different directory
-                cd `$DIRNAME $ISLINK`
-                sym_link_dir=`$THEPWDCMD -P`
-                sym_link_file=`$BASENAME $ISLINK`
-                let COUNTER=COUNTER+1
-            done
-            cd $STARTDIR
-            PROPER_COMPILER_CXX=$sym_link_dir/$sym_link_file
-        fi
-    fi
+  if test "x$OPENJDK_BUILD_OS" != xwindows; then
+    # Follow a chain of symbolic links. Use readlink
+    # where it exists, else fall back to horribly
+    # complicated shell code.
+    if test "x$READLINK_TESTED" != yes; then
+      # On MacOSX there is a readlink tool with a different
+      # purpose than the GNU readlink tool. Check the found readlink.
+      ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
+      if test "x$ISGNU" = x; then
+        # A readlink that we do not know how to use.
+        # Are there other non-GNU readlinks out there?
+        READLINK_TESTED=yes
+        READLINK=
+      fi
+    fi
+
+    if test "x$READLINK" != x; then
+      PROPER_COMPILER_CXX=`$READLINK -f $PROPER_COMPILER_CXX`
+    else
+      # Save the current directory for restoring afterwards
+      STARTDIR=$PWD
+      COUNTER=0
+      sym_link_dir=`$DIRNAME $PROPER_COMPILER_CXX`
+      sym_link_file=`$BASENAME $PROPER_COMPILER_CXX`
+      cd $sym_link_dir
+      # Use -P flag to resolve symlinks in directories.
+      cd `$THEPWDCMD -P`
+      sym_link_dir=`$THEPWDCMD -P`
+      # Resolve file symlinks
+      while test $COUNTER -lt 20; do
+        ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
+        if test "x$ISLINK" == x; then
+          # This is not a symbolic link! We are done!
+          break
+        fi
+        # Again resolve directory symlinks since the target of the just found
+        # link could be in a different directory
+        cd `$DIRNAME $ISLINK`
+        sym_link_dir=`$THEPWDCMD -P`
+        sym_link_file=`$BASENAME $ISLINK`
+        let COUNTER=COUNTER+1
+      done
+      cd $STARTDIR
+      PROPER_COMPILER_CXX=$sym_link_dir/$sym_link_file
+    fi
+  fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PROPER_COMPILER_CXX" >&5
 $as_echo "$PROPER_COMPILER_CXX" >&6; }
@@ -21258,7 +21255,7 @@
     fi
   elif test  "x$OPENJDK_TARGET_OS" = xwindows; then
     # First line typically looks something like:
-    # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
+    # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
     COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
     COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*Version \([1-9][0-9.]*\) .*/\1/p"`
     COMPILER_VENDOR="Microsoft CL.EXE"
@@ -21298,8 +21295,8 @@
 $as_echo "$as_me: Using $COMPILER_VENDOR $COMPILER_NAME compiler version $COMPILER_VERSION (located at $COMPILER)" >&6;}
 
 
-# Now that we have resolved CXX ourself, let autoconf have its go at it
-ac_ext=cpp
+  # Now that we have resolved CXX ourself, let autoconf have its go at it
+  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'
@@ -21557,9 +21554,9 @@
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-### Locate other tools
-
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  ### Locate other tools
+
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     ac_ext=m
 ac_cpp='$OBJCPP $CPPFLAGS'
 ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -21830,8 +21827,8 @@
   # 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
+      && 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
@@ -21846,8 +21843,8 @@
     # 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
+        && 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
@@ -21875,9 +21872,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of OBJC, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of OBJC, which resolves as \"$new_path\", is invalid." >&6;}
@@ -22053,53 +22050,53 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of OBJC, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of OBJC, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of OBJC, 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
+      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 OBJC" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of OBJC" "$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
-      OBJC="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting OBJC to \"$new_complete\"" >&5
+    OBJC="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting OBJC to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting OBJC to \"$new_complete\"" >&6;}
-    fi
-
-else
+  fi
+
+  else
     OBJC=
-fi
-
-# Restore the flags to the user specified values.
-# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
-CFLAGS="$ORG_CFLAGS"
-CXXFLAGS="$ORG_CXXFLAGS"
-OBJCFLAGS="$ORG_OBJCFLAGS"
-
-LD="$CC"
-LDEXE="$CC"
-LDCXX="$CXX"
-LDEXECXX="$CXX"
-
-# LDEXE is the linker to use, when creating executables.
-
-# Linking C++ libraries.
-
-# Linking C++ executables.
-
-
-if test "x$OPENJDK_TARGET_OS" != xwindows; then
+  fi
+
+  # Restore the flags to the user specified values.
+  # This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
+  CFLAGS="$ORG_CFLAGS"
+  CXXFLAGS="$ORG_CXXFLAGS"
+  OBJCFLAGS="$ORG_OBJCFLAGS"
+
+  LD="$CC"
+  LDEXE="$CC"
+  LDCXX="$CXX"
+  LDEXECXX="$CXX"
+
+  # LDEXE is the linker to use, when creating executables.
+
+  # Linking C++ libraries.
+
+  # Linking C++ executables.
+
+
+  if test "x$OPENJDK_TARGET_OS" != xwindows; then
     if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
@@ -22211,8 +22208,8 @@
   # 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
+      && 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
@@ -22227,8 +22224,8 @@
     # 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
+        && 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
@@ -22256,9 +22253,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of AR, which resolves as \"$new_path\", is invalid." >&6;}
@@ -22434,47 +22431,47 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of 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
+      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 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
+      fi
+      as_fn_error $? "Cannot locate the the path of 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
-      AR="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting AR to \"$new_complete\"" >&5
+    AR="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting AR to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting AR to \"$new_complete\"" >&6;}
-    fi
-
-fi
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  fi
+
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     ARFLAGS="-r"
-else
+  else
     ARFLAGS=""
-fi
-
-
-# For hotspot, we need these in Windows mixed path; other platforms keep them the same
-HOTSPOT_CXX="$CXX"
-HOTSPOT_LD="$LD"
-
-
-
-COMPILER_NAME=gcc
-COMPILER_TYPE=CC
-if test "x$OPENJDK_TARGET_OS" = xwindows; then :
+  fi
+
+
+  # For hotspot, we need these in Windows mixed path; other platforms keep them the same
+  HOTSPOT_CXX="$CXX"
+  HOTSPOT_LD="$LD"
+
+
+
+  COMPILER_NAME=gcc
+  COMPILER_TYPE=CC
+  if test "x$OPENJDK_TARGET_OS" = xwindows; then :
 
     # For now, assume that we are always compiling using cl.exe.
     CC_OUT_OPTION=-Fo
@@ -22558,8 +22555,8 @@
   # 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
+      && 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
@@ -22574,8 +22571,8 @@
     # 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
+        && 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
@@ -22603,9 +22600,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINLD, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of WINLD, which resolves as \"$new_path\", is invalid." >&6;}
@@ -22781,29 +22778,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINLD, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINLD, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of WINLD, 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
+      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 WINLD" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of WINLD" "$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
-      WINLD="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting WINLD to \"$new_complete\"" >&5
+    WINLD="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting WINLD to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting WINLD to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     printf "Windows linker was found at $WINLD\n"
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the found link.exe is actually the Visual Studio linker" >&5
@@ -22895,8 +22892,8 @@
   # 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
+      && 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
@@ -22911,8 +22908,8 @@
     # 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
+        && 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
@@ -22940,9 +22937,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MT, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of MT, which resolves as \"$new_path\", is invalid." >&6;}
@@ -23118,29 +23115,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MT, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MT, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of MT, 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
+      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 MT" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of MT" "$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
-      MT="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MT to \"$new_complete\"" >&5
+    MT="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MT to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting MT to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     # The resource compiler
     # Extract the first word of "rc", so it can be a program name with args.
@@ -23216,8 +23213,8 @@
   # 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
+      && 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
@@ -23232,8 +23229,8 @@
     # 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
+        && 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
@@ -23261,9 +23258,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of RC, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of RC, which resolves as \"$new_path\", is invalid." >&6;}
@@ -23439,29 +23436,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of RC, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of RC, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of RC, 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
+      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 RC" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of RC" "$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
-      RC="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting RC to \"$new_complete\"" >&5
+    RC="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting RC to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting RC to \"$new_complete\"" >&6;}
-    fi
+  fi
 
 
     # For hotspot, we need these in Windows mixed path,
@@ -23516,26 +23513,26 @@
     RC_FLAGS="-nologo -l 0x409 -r"
     if test "x$VARIANT" = xOPT; then :
 
-        RC_FLAGS="$RC_FLAGS -d NDEBUG"
-
-fi
-
-    # The version variables used to create RC_FLAGS may be overridden
-    # in a custom configure script, or possibly the command line.
-    # Let those variables be expanded at make time in spec.gmk.
-    # 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_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_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)\""
-
-    # lib.exe is used to create static libraries.
-    # Extract the first word of "lib", so it can be a program name with args.
+    RC_FLAGS="$RC_FLAGS -d NDEBUG"
+
+fi
+
+  # The version variables used to create RC_FLAGS may be overridden
+  # in a custom configure script, or possibly the command line.
+  # Let those variables be expanded at make time in spec.gmk.
+  # 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_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_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)\""
+
+  # lib.exe is used to create static libraries.
+  # Extract the first word of "lib", so it can be a program name with args.
 set dummy lib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -23591,8 +23588,8 @@
   # 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
+      && 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
@@ -23607,8 +23604,8 @@
     # 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
+        && 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
@@ -23636,9 +23633,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINAR, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of WINAR, which resolves as \"$new_path\", is invalid." >&6;}
@@ -23814,34 +23811,34 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINAR, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINAR, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of WINAR, 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
+      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 WINAR" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of WINAR" "$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
-      WINAR="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting WINAR to \"$new_complete\"" >&5
+    WINAR="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting WINAR to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting WINAR to \"$new_complete\"" >&6;}
-    fi
-
-    AR="$WINAR"
-    ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT"
-
-    # Extract the first word of "dumpbin", so it can be a program name with args.
+  fi
+
+  AR="$WINAR"
+  ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT"
+
+  # Extract the first word of "dumpbin", so it can be a program name with args.
 set dummy dumpbin; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -23897,8 +23894,8 @@
   # 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
+      && 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
@@ -23913,8 +23910,8 @@
     # 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
+        && 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
@@ -23942,9 +23939,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of DUMPBIN, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of DUMPBIN, which resolves as \"$new_path\", is invalid." >&6;}
@@ -24120,39 +24117,39 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of DUMPBIN, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of DUMPBIN, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of DUMPBIN, 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
+      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 DUMPBIN" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of DUMPBIN" "$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
-      DUMPBIN="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting DUMPBIN to \"$new_complete\"" >&5
+    DUMPBIN="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting DUMPBIN to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting DUMPBIN to \"$new_complete\"" >&6;}
-    fi
-
-
-    COMPILER_TYPE=CL
-    CCXXFLAGS="$CCXXFLAGS -nologo"
-
-fi
-
-
-
-ac_ext=c
+  fi
+
+
+      COMPILER_TYPE=CL
+      CCXXFLAGS="$CCXXFLAGS -nologo"
+
+fi
+
+
+
+  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'
@@ -24308,8 +24305,8 @@
   # 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
+      && 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
@@ -24324,8 +24321,8 @@
     # 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
+        && 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
@@ -24353,9 +24350,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of CPP, which resolves as \"$new_path\", is invalid." >&6;}
@@ -24531,32 +24528,32 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of CPP, 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
+      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 CPP" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of CPP" "$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
-      CPP="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CPP to \"$new_complete\"" >&5
+    CPP="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CPP to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting CPP to \"$new_complete\"" >&6;}
-    fi
-
-
-ac_ext=cpp
+  fi
+
+
+  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'
@@ -24708,8 +24705,8 @@
   # 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
+      && 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
@@ -24724,8 +24721,8 @@
     # 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
+        && 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
@@ -24753,9 +24750,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of CXXCPP, which resolves as \"$new_path\", is invalid." >&6;}
@@ -24931,32 +24928,32 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of CXXCPP, 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
+      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 CXXCPP" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of CXXCPP" "$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
-      CXXCPP="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CXXCPP to \"$new_complete\"" >&5
+    CXXCPP="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CXXCPP to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting CXXCPP to \"$new_complete\"" >&6;}
-    fi
-
-
-if test "x$COMPILE_TYPE" != "xcross"; then
+  fi
+
+
+  if test "x$COMPILE_TYPE" != "xcross"; then
     # If we are not cross compiling, use the same compilers for
     # building the build platform executables. The cross-compilation
     # case needed to be done earlier, but this can only be done after
@@ -24964,20 +24961,20 @@
     BUILD_CC="$CC"
     BUILD_CXX="$CXX"
     BUILD_LD="$LD"
-fi
-
-# for solaris we really need solaris tools, and not gnu equivalent
-#   these seems to normally reside in /usr/ccs/bin so add that to path before
-#   starting to probe
-#
-#   NOTE: I add this /usr/ccs/bin after TOOLS but before OLD_PATH
-#         so that it can be overriden --with-tools-dir
-if test "x$OPENJDK_BUILD_OS" = xsolaris; then
+  fi
+
+  # for solaris we really need solaris tools, and not gnu equivalent
+  #   these seems to normally reside in /usr/ccs/bin so add that to path before
+  #   starting to probe
+  #
+  #   NOTE: I add this /usr/ccs/bin after TOOLS but before OLD_PATH
+  #         so that it can be overriden --with-tools-dir
+  if test "x$OPENJDK_BUILD_OS" = xsolaris; then
     PATH="${TOOLS_DIR}:/usr/ccs/bin:${OLD_PATH}"
-fi
-
-# Find the right assembler.
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+  fi
+
+  # Find the right assembler.
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     # Extract the first word of "as", so it can be a program name with args.
 set dummy as; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -25037,8 +25034,8 @@
   # 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
+      && 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
@@ -25053,8 +25050,8 @@
     # 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
+        && 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
@@ -25082,9 +25079,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of AS, which resolves as \"$new_path\", is invalid." >&6;}
@@ -25260,36 +25257,36 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of AS, 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
+      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 AS" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of AS" "$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
-      AS="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting AS to \"$new_complete\"" >&5
+    AS="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting AS to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting AS to \"$new_complete\"" >&6;}
-    fi
-
-else
+  fi
+
+  else
     AS="$CC -c"
-fi
-
-
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+  fi
+
+
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     # Extract the first word of "nm", so it can be a program name with args.
 set dummy nm; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -25349,8 +25346,8 @@
   # 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
+      && 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
@@ -25365,8 +25362,8 @@
     # 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
+        && 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
@@ -25394,9 +25391,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of NM, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of NM, which resolves as \"$new_path\", is invalid." >&6;}
@@ -25572,29 +25569,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of NM, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of NM, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of 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
+      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 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
+      fi
+      as_fn_error $? "Cannot locate the the path of 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
-      NM="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting NM to \"$new_complete\"" >&5
+    NM="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting NM to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting NM to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     # Extract the first word of "gnm", so it can be a program name with args.
 set dummy gnm; ac_word=$2
@@ -25655,8 +25652,8 @@
   # 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
+      && 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
@@ -25671,8 +25668,8 @@
     # 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
+        && 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
@@ -25700,9 +25697,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of GNM, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of GNM, which resolves as \"$new_path\", is invalid." >&6;}
@@ -25878,29 +25875,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of GNM, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of GNM, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of GNM, 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
+      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 GNM" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of GNM" "$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
-      GNM="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting GNM to \"$new_complete\"" >&5
+    GNM="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting GNM to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting GNM to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
@@ -25961,8 +25958,8 @@
   # 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
+      && 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
@@ -25977,8 +25974,8 @@
     # 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
+        && 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
@@ -26006,9 +26003,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of STRIP, which resolves as \"$new_path\", is invalid." >&6;}
@@ -26184,29 +26181,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of STRIP, 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
+      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 STRIP" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of STRIP" "$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
-      STRIP="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting STRIP to \"$new_complete\"" >&5
+    STRIP="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting STRIP to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting STRIP to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     # Extract the first word of "mcs", so it can be a program name with args.
 set dummy mcs; ac_word=$2
@@ -26267,8 +26264,8 @@
   # 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
+      && 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
@@ -26283,8 +26280,8 @@
     # 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
+        && 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
@@ -26312,9 +26309,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MCS, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of MCS, which resolves as \"$new_path\", is invalid." >&6;}
@@ -26490,31 +26487,31 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MCS, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MCS, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of MCS, 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
+      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 MCS" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of MCS" "$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
-      MCS="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MCS to \"$new_complete\"" >&5
+    MCS="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MCS to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting MCS to \"$new_complete\"" >&6;}
-    fi
-
-elif test "x$OPENJDK_TARGET_OS" != xwindows; then
+  fi
+
+  elif test "x$OPENJDK_TARGET_OS" != xwindows; then
     if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}nm", so it can be a program name with args.
 set dummy ${ac_tool_prefix}nm; ac_word=$2
@@ -26626,8 +26623,8 @@
   # 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
+      && 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
@@ -26642,8 +26639,8 @@
     # 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
+        && 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
@@ -26671,9 +26668,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of NM, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of NM, which resolves as \"$new_path\", is invalid." >&6;}
@@ -26849,29 +26846,29 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of NM, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of NM, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of 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
+      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 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
+      fi
+      as_fn_error $? "Cannot locate the the path of 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
-      NM="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting NM to \"$new_complete\"" >&5
+    NM="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting NM to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting NM to \"$new_complete\"" >&6;}
-    fi
+  fi
 
     GNM="$NM"
 
@@ -26986,8 +26983,8 @@
   # 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
+      && 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
@@ -27002,8 +26999,8 @@
     # 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
+        && 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
@@ -27031,9 +27028,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of STRIP, which resolves as \"$new_path\", is invalid." >&6;}
@@ -27209,35 +27206,35 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of STRIP, 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
+      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 STRIP" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of STRIP" "$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
-      STRIP="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting STRIP to \"$new_complete\"" >&5
+    STRIP="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting STRIP to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting STRIP to \"$new_complete\"" >&6;}
-    fi
-
-fi
-
-# objcopy is used for moving debug symbols to separate files when
-# full debug symbols are enabled.
-if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
+  fi
+
+  fi
+
+  # objcopy is used for moving debug symbols to separate files when
+  # full debug symbols are enabled.
+  if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
     if test -n "$ac_tool_prefix"; then
   for ac_prog in gobjcopy objcopy
   do
@@ -27359,8 +27356,8 @@
   # 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
+      && 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
@@ -27375,8 +27372,8 @@
     # 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
+        && 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
@@ -27404,9 +27401,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of OBJCOPY, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of OBJCOPY, which resolves as \"$new_path\", is invalid." >&6;}
@@ -27582,34 +27579,34 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of OBJCOPY, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of OBJCOPY, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of OBJCOPY, 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
+      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 OBJCOPY" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of OBJCOPY" "$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
-      OBJCOPY="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting OBJCOPY to \"$new_complete\"" >&5
+    OBJCOPY="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting OBJCOPY to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting OBJCOPY to \"$new_complete\"" >&6;}
-    fi
-
-    fi
-fi
-
-if test -n "$ac_tool_prefix"; then
+  fi
+
+    fi
+  fi
+
+  if test -n "$ac_tool_prefix"; then
   for ac_prog in gobjdump objdump
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
@@ -27709,8 +27706,8 @@
   fi
 fi
 
-if test "x$OBJDUMP" != x; then
-  # Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE bails if argument is missing.
+  if test "x$OBJDUMP" != x; then
+    # Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE bails if argument is missing.
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
 
@@ -27730,8 +27727,8 @@
   # 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
+      && 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
@@ -27746,8 +27743,8 @@
     # 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
+        && 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
@@ -27775,9 +27772,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of OBJDUMP, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of OBJDUMP, which resolves as \"$new_path\", is invalid." >&6;}
@@ -27953,34 +27950,34 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of OBJDUMP, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of OBJDUMP, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of OBJDUMP, 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
+      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 OBJDUMP" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of OBJDUMP" "$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
-      OBJDUMP="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting OBJDUMP to \"$new_complete\"" >&5
+    OBJDUMP="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting OBJDUMP to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting OBJDUMP to \"$new_complete\"" >&6;}
-    fi
-
-fi
-
-if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-   # Extract the first word of "lipo", so it can be a program name with args.
+  fi
+
+  fi
+
+  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+    # Extract the first word of "lipo", so it can be a program name with args.
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -28039,8 +28036,8 @@
   # 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
+      && 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
@@ -28055,8 +28052,8 @@
     # 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
+        && 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
@@ -28084,9 +28081,9 @@
     # 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"
+      input_to_shortpath="${new_path}.exe"
     elif test -f "${new_path}.cmd"; then
-       input_to_shortpath="${new_path}.cmd"
+      input_to_shortpath="${new_path}.cmd"
     else
       { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$new_path\", is invalid." >&5
 $as_echo "$as_me: The path of LIPO, which resolves as \"$new_path\", is invalid." >&6;}
@@ -28262,36 +28259,36 @@
     fi
 
     if test "x$new_path" = x; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$complete\", is not found." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$complete\", is not found." >&5
 $as_echo "$as_me: The path of LIPO, 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
+      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 LIPO" "$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
+      fi
+      as_fn_error $? "Cannot locate the the path of LIPO" "$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
-      LIPO="$new_complete"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting LIPO to \"$new_complete\"" >&5
+    LIPO="$new_complete"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting LIPO to \"$new_complete\"" >&5
 $as_echo "$as_me: Rewriting LIPO to \"$new_complete\"" >&6;}
-    fi
-
-fi
-
-
-
-# Restore old path without tools dir
-PATH="$OLD_PATH"
+  fi
+
+  fi
+
+
+
+  # Restore old path without tools dir
+  PATH="$OLD_PATH"
 
 
 # FIXME: Currently we must test this after paths but before flags. Fix!
@@ -28429,15 +28426,15 @@
 
 
 
-###############################################################################
-#
-# Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code.
-# (The JVM can use 32 or 64 bit Java pointers but that decision
-# is made at runtime.)
-#
-
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-  # Always specify -m flags on Solaris
+  ###############################################################################
+  #
+  # Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code.
+  # (The JVM can use 32 or 64 bit Java pointers but that decision
+  # is made at runtime.)
+  #
+
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+    # Always specify -m flags on Solaris
 
   # When we add flags to the "official" CFLAGS etc, we need to
   # keep track of these additions in ADDED_CFLAGS etc. These
@@ -28455,9 +28452,9 @@
   CXXFLAGS_JDK="${CXXFLAGS_JDK}${ADDED_CXXFLAGS}"
   LDFLAGS_JDK="${LDFLAGS_JDK}${ADDED_LDFLAGS}"
 
-elif test "x$COMPILE_TYPE" = xreduced; then
-  if test "x$OPENJDK_TARGET_OS" != xwindows; then
-    # Specify -m if running reduced on other Posix platforms
+  elif test "x$COMPILE_TYPE" = xreduced; then
+    if test "x$OPENJDK_TARGET_OS" != xwindows; then
+      # Specify -m if running reduced on other Posix platforms
 
   # When we add flags to the "official" CFLAGS etc, we need to
   # keep track of these additions in ADDED_CFLAGS etc. These
@@ -28475,11 +28472,11 @@
   CXXFLAGS_JDK="${CXXFLAGS_JDK}${ADDED_CXXFLAGS}"
   LDFLAGS_JDK="${LDFLAGS_JDK}${ADDED_LDFLAGS}"
 
-  fi
-fi
-
-# Make compilation sanity check
-for ac_header in stdio.h
+    fi
+  fi
+
+  # Make compilation sanity check
+  for ac_header in stdio.h
 do :
   ac_fn_cxx_check_header_mongrel "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default"
 if test "x$ac_cv_header_stdio_h" = xyes; then :
@@ -28489,23 +28486,23 @@
 
 else
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to compile stdio.h. This likely implies missing compile dependencies." >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Failed to compile stdio.h. This likely implies missing compile dependencies." >&5
 $as_echo "$as_me: Failed to compile stdio.h. This likely implies missing compile dependencies." >&6;}
-  if test "x$COMPILE_TYPE" = xreduced; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a reduced build. Check that you have 32-bit libraries installed." >&5
+    if test "x$COMPILE_TYPE" = xreduced; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a reduced build. Check that you have 32-bit libraries installed." >&5
 $as_echo "$as_me: You are doing a reduced build. Check that you have 32-bit libraries installed." >&6;}
-  elif test "x$COMPILE_TYPE" = xcross; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&5
+    elif test "x$COMPILE_TYPE" = xcross; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&5
 $as_echo "$as_me: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&6;}
-  fi
-  as_fn_error $? "Cannot continue." "$LINENO" 5
-
-fi
-
-done
-
-
-# The cast to long int works around a bug in the HP C Compiler
+    fi
+    as_fn_error $? "Cannot continue." "$LINENO" 5
+
+fi
+
+done
+
+
+  # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
@@ -28539,34 +28536,34 @@
 
 
 
-if test "x$SIZEOF_INT_P" != "x$ac_cv_sizeof_int_p"; then
-  # Workaround autoconf bug, see http://lists.gnu.org/archive/html/autoconf/2010-07/msg00004.html
-  SIZEOF_INT_P="$ac_cv_sizeof_int_p"
-fi
-
-if test "x$SIZEOF_INT_P" = x; then
+  if test "x$SIZEOF_INT_P" != "x$ac_cv_sizeof_int_p"; then
+    # Workaround autoconf bug, see http://lists.gnu.org/archive/html/autoconf/2010-07/msg00004.html
+    SIZEOF_INT_P="$ac_cv_sizeof_int_p"
+  fi
+
+  if test "x$SIZEOF_INT_P" = x; then
     # The test failed, lets stick to the assumed value.
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The number of bits in the target could not be determined, using $OPENJDK_TARGET_CPU_BITS." >&5
 $as_echo "$as_me: WARNING: The number of bits in the target could not be determined, using $OPENJDK_TARGET_CPU_BITS." >&2;}
-else
+  else
     TESTED_TARGET_CPU_BITS=`expr 8 \* $SIZEOF_INT_P`
 
     if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
-        as_fn_error $? "The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" "$LINENO" 5
-    fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for target address size" >&5
+      as_fn_error $? "The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" "$LINENO" 5
+    fi
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for target address size" >&5
 $as_echo_n "checking for target address size... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENJDK_TARGET_CPU_BITS bits" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENJDK_TARGET_CPU_BITS bits" >&5
 $as_echo "$OPENJDK_TARGET_CPU_BITS bits" >&6; }
 
 
-###############################################################################
-#
-# Is the target little of big endian?
-#
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+  ###############################################################################
+  #
+  # Is the target little of big endian?
+  #
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
 if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -28787,23 +28784,23 @@
  esac
 
 
-if test "x$ENDIAN" = xuniversal_endianness; then
+  if test "x$ENDIAN" = xuniversal_endianness; then
     as_fn_error $? "Building with both big and little endianness is not supported" "$LINENO" 5
-fi
-if test "x$ENDIAN" != "x$OPENJDK_TARGET_CPU_ENDIAN"; then
+  fi
+  if test "x$ENDIAN" != "x$OPENJDK_TARGET_CPU_ENDIAN"; then
     as_fn_error $? "The tested endian in the target ($ENDIAN) differs from the endian expected to be found in the target ($OPENJDK_TARGET_CPU_ENDIAN)" "$LINENO" 5
-fi
+  fi
 
 
 # Configure flags for the tools
 
 
-###############################################################################
-#
-# How to compile shared libraries.
-#
-
-if test "x$GCC" = xyes; then
+  ###############################################################################
+  #
+  # How to compile shared libraries.
+  #
+
+  if test "x$GCC" = xyes; then
     COMPILER_NAME=gcc
     PICFLAG="-fPIC"
     LIBRARY_PREFIX=lib
@@ -28828,95 +28825,95 @@
 
     # Linking is different on MacOSX
     if test "x$OPENJDK_TARGET_OS" = xmacosx; then
-        # Might change in the future to clang.
-        COMPILER_NAME=gcc
-        SHARED_LIBRARY='lib$1.dylib'
-        SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
-        SHARED_LIBRARY_SUFFIX='.dylib'
-        EXE_SUFFIX=''
-        SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/$1'
-        SET_SHARED_LIBRARY_MAPFILE=''
-        SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
-        SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
-        POST_STRIP_CMD="$STRIP -S"
-    fi
-else
+      # Might change in the future to clang.
+      COMPILER_NAME=gcc
+      SHARED_LIBRARY='lib$1.dylib'
+      SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
+      SHARED_LIBRARY_SUFFIX='.dylib'
+      EXE_SUFFIX=''
+      SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/$1'
+      SET_SHARED_LIBRARY_MAPFILE=''
+      SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
+      SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
+      POST_STRIP_CMD="$STRIP -S"
+    fi
+  else
     if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-        # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler
-        COMPILER_NAME=ossc
-        PICFLAG="-KPIC"
-        LIBRARY_PREFIX=lib
-        SHARED_LIBRARY='lib$1.so'
-        STATIC_LIBRARY='lib$1.a'
-        SHARED_LIBRARY_FLAGS="-G"
-        SHARED_LIBRARY_SUFFIX='.so'
-        STATIC_LIBRARY_SUFFIX='.a'
-        OBJ_SUFFIX='.o'
-        EXE_SUFFIX=''
-        SET_SHARED_LIBRARY_NAME=''
-        SET_SHARED_LIBRARY_MAPFILE='-M$1'
-	C_FLAG_REORDER='-xF'
-	CXX_FLAG_REORDER='-xF'
-        SET_SHARED_LIBRARY_ORIGIN='-R\$$$$ORIGIN$1'
-        SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
-        CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
-        CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
-        CFLAGS_JDKLIB_EXTRA='-xstrconst'
-        POST_STRIP_CMD="$STRIP -x"
-        POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
+      # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler
+      COMPILER_NAME=ossc
+      PICFLAG="-KPIC"
+      LIBRARY_PREFIX=lib
+      SHARED_LIBRARY='lib$1.so'
+      STATIC_LIBRARY='lib$1.a'
+      SHARED_LIBRARY_FLAGS="-G"
+      SHARED_LIBRARY_SUFFIX='.so'
+      STATIC_LIBRARY_SUFFIX='.a'
+      OBJ_SUFFIX='.o'
+      EXE_SUFFIX=''
+      SET_SHARED_LIBRARY_NAME=''
+      SET_SHARED_LIBRARY_MAPFILE='-M$1'
+      C_FLAG_REORDER='-xF'
+      CXX_FLAG_REORDER='-xF'
+      SET_SHARED_LIBRARY_ORIGIN='-R\$$$$ORIGIN$1'
+      SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
+      CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
+      CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
+      CFLAGS_JDKLIB_EXTRA='-xstrconst'
+      POST_STRIP_CMD="$STRIP -x"
+      POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
     fi
     if test "x$OPENJDK_TARGET_OS" = xwindows; then
-        # If it is not gcc, then assume it is the MS Visual Studio compiler
-        COMPILER_NAME=cl
-        PICFLAG=""
-        LIBRARY_PREFIX=
-        SHARED_LIBRARY='$1.dll'
-        STATIC_LIBRARY='$1.lib'
-        SHARED_LIBRARY_FLAGS="-LD"
-        SHARED_LIBRARY_SUFFIX='.dll'
-        STATIC_LIBRARY_SUFFIX='.lib'
-        OBJ_SUFFIX='.obj'
-        EXE_SUFFIX='.exe'
-        SET_SHARED_LIBRARY_NAME=''
-        SET_SHARED_LIBRARY_MAPFILE=''
-        SET_SHARED_LIBRARY_ORIGIN=''
-        SET_EXECUTABLE_ORIGIN=''
-    fi
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# The (cross) compiler is now configured, we can now test capabilities
-# of the target platform.
-
-
-
-###############################################################################
-#
-# Setup the opt flags for different compilers
-# and different operating systems.
-#
-
-#
-# NOTE: check for -mstackrealign needs to be below potential addition of -m32
-#
-if test "x$OPENJDK_TARGET_CPU_BITS" = x32 && test "x$OPENJDK_TARGET_OS" = xmacosx; then
+      # If it is not gcc, then assume it is the MS Visual Studio compiler
+      COMPILER_NAME=cl
+      PICFLAG=""
+      LIBRARY_PREFIX=
+      SHARED_LIBRARY='$1.dll'
+      STATIC_LIBRARY='$1.lib'
+      SHARED_LIBRARY_FLAGS="-LD"
+      SHARED_LIBRARY_SUFFIX='.dll'
+      STATIC_LIBRARY_SUFFIX='.lib'
+      OBJ_SUFFIX='.obj'
+      EXE_SUFFIX='.exe'
+      SET_SHARED_LIBRARY_NAME=''
+      SET_SHARED_LIBRARY_MAPFILE=''
+      SET_SHARED_LIBRARY_ORIGIN=''
+      SET_EXECUTABLE_ORIGIN=''
+    fi
+  fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  # The (cross) compiler is now configured, we can now test capabilities
+  # of the target platform.
+
+
+
+  ###############################################################################
+  #
+  # Setup the opt flags for different compilers
+  # and different operating systems.
+  #
+
+  #
+  # NOTE: check for -mstackrealign needs to be below potential addition of -m32
+  #
+  if test "x$OPENJDK_TARGET_CPU_BITS" = x32 && test "x$OPENJDK_TARGET_OS" = xmacosx; then
     # On 32-bit MacOSX the OS requires C-entry points to be 16 byte aligned.
     # While waiting for a better solution, the current workaround is to use -mstackrealign.
     CFLAGS="$CFLAGS -mstackrealign"
@@ -28928,176 +28925,177 @@
 _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
 
-		        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 
 else
 
-		        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	                as_fn_error $? "The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path." "$LINENO" 5
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+          as_fn_error $? "The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path." "$LINENO" 5
+
 
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-fi
-
-C_FLAG_DEPS="-MMD -MF"
-CXX_FLAG_DEPS="-MMD -MF"
-
-case $COMPILER_TYPE in
-  CC )
-    case $COMPILER_NAME in
-      gcc )
-      	case $OPENJDK_TARGET_OS in
-	  macosx )
-	    # On MacOSX we optimize for size, something
-	    # we should do for all platforms?
-	    C_O_FLAG_HI="-Os"
-	    C_O_FLAG_NORM="-Os"
-	    C_O_FLAG_NONE=""
-	    ;;
-	  *)
-	    C_O_FLAG_HI="-O3"
-	    C_O_FLAG_NORM="-O2"
-	    C_O_FLAG_NONE="-O0"
-	    ;;
-	esac
-        CXX_O_FLAG_HI="$C_O_FLAG_HI"
-        CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
-        CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
-        CFLAGS_DEBUG_SYMBOLS="-g"
-        CXXFLAGS_DEBUG_SYMBOLS="-g"
-        if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
+  fi
+
+  C_FLAG_DEPS="-MMD -MF"
+  CXX_FLAG_DEPS="-MMD -MF"
+
+  case $COMPILER_TYPE in
+    CC )
+      case $COMPILER_NAME in
+        gcc )
+          case $OPENJDK_TARGET_OS in
+            macosx )
+              # On MacOSX we optimize for size, something
+              # we should do for all platforms?
+              C_O_FLAG_HI="-Os"
+              C_O_FLAG_NORM="-Os"
+              C_O_FLAG_NONE=""
+              ;;
+            *)
+              C_O_FLAG_HI="-O3"
+              C_O_FLAG_NORM="-O2"
+              C_O_FLAG_NONE="-O0"
+              ;;
+          esac
+          CXX_O_FLAG_HI="$C_O_FLAG_HI"
+          CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
+          CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
+          CFLAGS_DEBUG_SYMBOLS="-g"
+          CXXFLAGS_DEBUG_SYMBOLS="-g"
+          if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
             CFLAGS_DEBUG_SYMBOLS="-g1"
             CXXFLAGS_DEBUG_SYMBOLS="-g1"
-        fi
-        ;;
-      ossc )
-        #
-        # Forte has different names for this with their C++ compiler...
-        #
-        C_FLAG_DEPS="-xMMD -xMF"
-        CXX_FLAG_DEPS="-xMMD -xMF"
-
-        # Extra options used with HIGHEST
-        #
-        # WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
-        #          done with care, there are some assumptions below that need to
-        #          be understood about the use of pointers, and IEEE behavior.
-        #
-        # Use non-standard floating point mode (not IEEE 754)
-        CC_HIGHEST="$CC_HIGHEST -fns"
-        # Do some simplification of floating point arithmetic (not IEEE 754)
-        CC_HIGHEST="$CC_HIGHEST -fsimple"
-        # Use single precision floating point with 'float'
-        CC_HIGHEST="$CC_HIGHEST -fsingle"
-        # Assume memory references via basic pointer types do not alias
-        #   (Source with excessing pointer casting and data access with mixed
-        #    pointer types are not recommended)
-        CC_HIGHEST="$CC_HIGHEST -xalias_level=basic"
-        # Use intrinsic or inline versions for math/std functions
-        #   (If you expect perfect errno behavior, do not use this)
-        CC_HIGHEST="$CC_HIGHEST -xbuiltin=%all"
-        # Loop data dependency optimizations (need -xO3 or higher)
-        CC_HIGHEST="$CC_HIGHEST -xdepend"
-        # Pointer parameters to functions do not overlap
-        #   (Similar to -xalias_level=basic usage, but less obvious sometimes.
-        #    If you pass in multiple pointers to the same data, do not use this)
-        CC_HIGHEST="$CC_HIGHEST -xrestrict"
-        # Inline some library routines
-        #   (If you expect perfect errno behavior, do not use this)
-        CC_HIGHEST="$CC_HIGHEST -xlibmil"
-        # Use optimized math routines
-        #   (If you expect perfect errno behavior, do not use this)
-        #  Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
-        #CC_HIGHEST="$CC_HIGHEST -xlibmopt"
-
-        if test "x$OPENJDK_TARGET_CPU" = xsparc; then
-          CFLAGS_JDK="${CFLAGS_JDK} -xmemalign=4s"
-          CXXFLAGS_JDK="${CXXFLAGS_JDK} -xmemalign=4s"
-        fi
-
-        case $OPENJDK_TARGET_CPU_ARCH in
-          x86)
-            C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xregs=no%frameptr"
-            C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
-            C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
-            C_O_FLAG_NONE="-xregs=no%frameptr"
-            CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
-            CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
-            CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"
-            CXX_O_FLAG_NONE="-xregs=no%frameptr"
-            if test "x$OPENJDK_TARGET_CPU" = xx86; then
-               C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xchip=pentium"
-               CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HIGHEST -xchip=pentium"
-            fi
-            ;;
-          sparc)
-            CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
-            CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
-            C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
-            C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
-            C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
-            C_O_FLAG_NONE=""
-            CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
-            CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
-            CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
-            CXX_O_FLAG_NONE=""
-            ;;
-        esac
-
-    CFLAGS_DEBUG_SYMBOLS="-g -xs"
-    CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
-    esac
-    ;;
-  CL )
-    C_O_FLAG_HIGHEST="-O2"
-    C_O_FLAG_HI="-O1"
-    C_O_FLAG_NORM="-O1"
-    C_O_FLAG_NONE="-Od"
-    CXX_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST"
-    CXX_O_FLAG_HI="$C_O_FLAG_HI"
-    CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
-    CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
-    ;;
-esac
-
-if test -z "$C_O_FLAG_HIGHEST"; then
-   C_O_FLAG_HIGHEST="$C_O_FLAG_HI"
-fi
-
-if test -z "$CXX_O_FLAG_HIGHEST"; then
-   CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HI"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
-   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&5
+          fi
+          ;;
+        ossc )
+          #
+          # Forte has different names for this with their C++ compiler...
+          #
+          C_FLAG_DEPS="-xMMD -xMF"
+          CXX_FLAG_DEPS="-xMMD -xMF"
+
+          # Extra options used with HIGHEST
+          #
+          # WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
+          #          done with care, there are some assumptions below that need to
+          #          be understood about the use of pointers, and IEEE behavior.
+          #
+          # Use non-standard floating point mode (not IEEE 754)
+          CC_HIGHEST="$CC_HIGHEST -fns"
+          # Do some simplification of floating point arithmetic (not IEEE 754)
+          CC_HIGHEST="$CC_HIGHEST -fsimple"
+          # Use single precision floating point with 'float'
+          CC_HIGHEST="$CC_HIGHEST -fsingle"
+          # Assume memory references via basic pointer types do not alias
+          #   (Source with excessing pointer casting and data access with mixed
+          #    pointer types are not recommended)
+          CC_HIGHEST="$CC_HIGHEST -xalias_level=basic"
+          # Use intrinsic or inline versions for math/std functions
+          #   (If you expect perfect errno behavior, do not use this)
+          CC_HIGHEST="$CC_HIGHEST -xbuiltin=%all"
+          # Loop data dependency optimizations (need -xO3 or higher)
+          CC_HIGHEST="$CC_HIGHEST -xdepend"
+          # Pointer parameters to functions do not overlap
+          #   (Similar to -xalias_level=basic usage, but less obvious sometimes.
+          #    If you pass in multiple pointers to the same data, do not use this)
+          CC_HIGHEST="$CC_HIGHEST -xrestrict"
+          # Inline some library routines
+          #   (If you expect perfect errno behavior, do not use this)
+          CC_HIGHEST="$CC_HIGHEST -xlibmil"
+          # Use optimized math routines
+          #   (If you expect perfect errno behavior, do not use this)
+          #  Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
+          #CC_HIGHEST="$CC_HIGHEST -xlibmopt"
+
+          if test "x$OPENJDK_TARGET_CPU" = xsparc; then
+            CFLAGS_JDK="${CFLAGS_JDK} -xmemalign=4s"
+            CXXFLAGS_JDK="${CXXFLAGS_JDK} -xmemalign=4s"
+          fi
+
+          case $OPENJDK_TARGET_CPU_ARCH in
+            x86)
+              C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xregs=no%frameptr"
+              C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
+              C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
+              C_O_FLAG_NONE="-xregs=no%frameptr"
+              CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
+              CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
+              CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"
+              CXX_O_FLAG_NONE="-xregs=no%frameptr"
+              if test "x$OPENJDK_TARGET_CPU" = xx86; then
+                C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xchip=pentium"
+                CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HIGHEST -xchip=pentium"
+              fi
+              ;;
+            sparc)
+              CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
+              CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
+              C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
+              C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
+              C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
+              C_O_FLAG_NONE=""
+              CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
+              CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
+              CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
+              CXX_O_FLAG_NONE=""
+              ;;
+          esac
+
+          CFLAGS_DEBUG_SYMBOLS="-g -xs"
+          CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
+      esac
+      ;;
+    CL )
+      C_O_FLAG_HIGHEST="-O2"
+      C_O_FLAG_HI="-O1"
+      C_O_FLAG_NORM="-O1"
+      C_O_FLAG_NONE="-Od"
+      CXX_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST"
+      CXX_O_FLAG_HI="$C_O_FLAG_HI"
+      CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
+      CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
+      ;;
+  esac
+
+  if test -z "$C_O_FLAG_HIGHEST"; then
+    C_O_FLAG_HIGHEST="$C_O_FLAG_HI"
+  fi
+
+  if test -z "$CXX_O_FLAG_HIGHEST"; then
+    CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HI"
+  fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&5
 $as_echo "$as_me: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&2;}
-fi
-
-if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
-   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&5
+  fi
+
+  if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&5
 $as_echo "$as_me: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&2;}
-fi
-
-if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
-   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&5
+  fi
+
+  if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&5
 $as_echo "$as_me: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&2;}
-fi
+  fi
 
 
 # Check whether --with-extra-cflags was given.
@@ -29120,128 +29118,128 @@
 fi
 
 
-CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
-CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
-LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
-
-# Hotspot needs these set in their legacy form
-LEGACY_EXTRA_CFLAGS=$with_extra_cflags
-LEGACY_EXTRA_CXXFLAGS=$with_extra_cxxflags
-LEGACY_EXTRA_LDFLAGS=$with_extra_ldflags
-
-
-
-
-
-###############################################################################
-#
-# Now setup the CFLAGS and LDFLAGS for the JDK build.
-# Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build.
-#
-case $COMPILER_NAME in
-      gcc )
-      	  CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
-                          -pipe \
-                          -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
-	  case $OPENJDK_TARGET_CPU_ARCH in
-	  arm )
-            # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
-	    CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
-	  ;;
-	  ppc )
-            # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
-	  ;;
-	  * )
-	    CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
-	    CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
+  CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
+  CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
+  LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
+
+  # Hotspot needs these set in their legacy form
+  LEGACY_EXTRA_CFLAGS=$with_extra_cflags
+  LEGACY_EXTRA_CXXFLAGS=$with_extra_cxxflags
+  LEGACY_EXTRA_LDFLAGS=$with_extra_ldflags
+
+
+
+
+
+  ###############################################################################
+  #
+  # Now setup the CFLAGS and LDFLAGS for the JDK build.
+  # Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build.
+  #
+  case $COMPILER_NAME in
+    gcc )
+      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
+      -pipe \
+      -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
+      case $OPENJDK_TARGET_CPU_ARCH in
+        arm )
+          # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
+          CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
           ;;
-	  esac
+        ppc )
+          # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
+          ;;
+        * )
+          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
+          CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
           ;;
-      ossc )
-          CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
-          case $OPENJDK_TARGET_CPU_ARCH in
-          x86 )
-            CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB"
-       	    CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE"
+      esac
+      ;;
+    ossc )
+      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
+      case $OPENJDK_TARGET_CPU_ARCH in
+        x86 )
+          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB"
+          CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE"
           ;;
-          esac
-
-      	  CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal"
-      	  CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt -features=no%except -DCC_NOEX -norunpath -xnolib"
-
-          LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
-          LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
+      esac
+
+      CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal"
+      CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt -features=no%except -DCC_NOEX -norunpath -xnolib"
+
+      LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
+      LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
+      ;;
+    cl )
+      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
+      -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
+      -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
+      -DWIN32 -DIAL"
+      case $OPENJDK_TARGET_CPU in
+        x86 )
+          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86"
           ;;
-      cl )
-          CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
-               -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
-	       -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
-	       -DWIN32 -DIAL"
-          case $OPENJDK_TARGET_CPU in
-              x86 )
-                  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86"
-                  ;;
-              x86_64 )
-                  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64"
-                  ;;
-          esac
+        x86_64 )
+          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64"
           ;;
-esac
-
-###############################################################################
-
-# Adjust flags according to debug level.
-case $DEBUG_LEVEL in
-      fastdebug )
-              CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
-              CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
-	      C_O_FLAG_HI="$C_O_FLAG_NORM"
-	      C_O_FLAG_NORM="$C_O_FLAG_NORM"
-	      CXX_O_FLAG_HI="$CXX_O_FLAG_NORM"
-	      CXX_O_FLAG_NORM="$CXX_O_FLAG_NORM"
-              JAVAC_FLAGS="$JAVAC_FLAGS -g"
-              ;;
-      slowdebug )
-              CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
-              CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
-	      C_O_FLAG_HI="$C_O_FLAG_NONE"
-	      C_O_FLAG_NORM="$C_O_FLAG_NONE"
-	      CXX_O_FLAG_HI="$CXX_O_FLAG_NONE"
-	      CXX_O_FLAG_NORM="$CXX_O_FLAG_NONE"
-              JAVAC_FLAGS="$JAVAC_FLAGS -g"
-              ;;
-esac
-
-CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
-
-# The package path is used only on macosx?
-PACKAGE_PATH=/opt/local
-
-
-if test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
+      esac
+      ;;
+  esac
+
+  ###############################################################################
+
+  # Adjust flags according to debug level.
+  case $DEBUG_LEVEL in
+    fastdebug )
+      CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
+      CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
+      C_O_FLAG_HI="$C_O_FLAG_NORM"
+      C_O_FLAG_NORM="$C_O_FLAG_NORM"
+      CXX_O_FLAG_HI="$CXX_O_FLAG_NORM"
+      CXX_O_FLAG_NORM="$CXX_O_FLAG_NORM"
+      JAVAC_FLAGS="$JAVAC_FLAGS -g"
+      ;;
+    slowdebug )
+      CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
+      CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
+      C_O_FLAG_HI="$C_O_FLAG_NONE"
+      C_O_FLAG_NORM="$C_O_FLAG_NONE"
+      CXX_O_FLAG_HI="$CXX_O_FLAG_NONE"
+      CXX_O_FLAG_NORM="$CXX_O_FLAG_NONE"
+      JAVAC_FLAGS="$JAVAC_FLAGS -g"
+      ;;
+  esac
+
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
+
+  # The package path is used only on macosx?
+  PACKAGE_PATH=/opt/local
+
+
+  if test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
     # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
     #   Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
     #   (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
     #   Note: -Dmacro         is the same as    #define macro 1
-    #         -Dmacro=	    is the same as    #define macro
+    #         -Dmacro=        is the same as    #define macro
     if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-        CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN="
-    else
-        CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN"
-    fi
-else
+      CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN="
+    else
+      CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN"
+    fi
+  else
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN"
-fi
-if test "x$OPENJDK_TARGET_OS" = xlinux; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xlinux; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX"
-fi
-if test "x$OPENJDK_TARGET_OS" = xwindows; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xwindows; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DWINDOWS"
-fi
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS"
-fi
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
     # Setting these parameters makes it an error to link to macosx APIs that are
     # newer than the given OS version and makes the linked binaries compatible even
@@ -29254,106 +29252,106 @@
     # command line.
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
     LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
-fi
-if test "x$OPENJDK_TARGET_OS" = xbsd; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xbsd; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE"
-fi
-if test "x$DEBUG_LEVEL" = xrelease; then
+  fi
+  if test "x$DEBUG_LEVEL" = xrelease; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG"
-    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-        CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED"
-    fi
-else
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+    CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED"
+  fi
+  else
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG"
-fi
-
-CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
-CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"$RELEASE\"'"
-
-CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
-        -I${JDK_OUTPUTDIR}/include \
-        -I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \
-        -I${JDK_TOPDIR}/src/share/javavm/export \
-        -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/javavm/export \
-        -I${JDK_TOPDIR}/src/share/native/common \
-        -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/native/common"
-
-# The shared libraries are compiled using the picflag.
-CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
-CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
-
-# Executable flags
-CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK"
-CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK"
-
-# Now this is odd. The JDK native libraries have to link against libjvm.so
-# On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
-# Which should we link to? Are we lucky enough that the binary api to the libjvm.so library
-# is identical for client and server? Yes. Which is picked at runtime (client or server)?
-# Neither, since the chosen libjvm.so has already been loaded by the launcher, all the following
-# libraries will link to whatever is in memory. Yuck.
-#
-# Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh.
-if test "x$COMPILER_NAME" = xcl; then
+  fi
+
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"$RELEASE\"'"
+
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
+      -I${JDK_OUTPUTDIR}/include \
+      -I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \
+      -I${JDK_TOPDIR}/src/share/javavm/export \
+      -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/javavm/export \
+      -I${JDK_TOPDIR}/src/share/native/common \
+      -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/native/common"
+
+  # The shared libraries are compiled using the picflag.
+  CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
+  CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
+
+  # Executable flags
+  CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK"
+  CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK"
+
+  # Now this is odd. The JDK native libraries have to link against libjvm.so
+  # On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
+  # Which should we link to? Are we lucky enough that the binary api to the libjvm.so library
+  # is identical for client and server? Yes. Which is picked at runtime (client or server)?
+  # Neither, since the chosen libjvm.so has already been loaded by the launcher, all the following
+  # libraries will link to whatever is in memory. Yuck.
+  #
+  # Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh.
+  if test "x$COMPILER_NAME" = xcl; then
     LDFLAGS_JDK="$LDFLAGS_JDK -nologo -opt:ref -incremental:no"
     if test "x$OPENJDK_TARGET_CPU" = xx86; then
-        LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
+      LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
     fi
     # TODO: make -debug optional "--disable-full-debug-symbols"
     LDFLAGS_JDK="$LDFLAGS_JDK -debug"
     LDFLAGS_JDKLIB="${LDFLAGS_JDK} -dll -libpath:${JDK_OUTPUTDIR}/lib"
     LDFLAGS_JDKLIB_SUFFIX=""
     if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
-        LDFLAGS_STACK_SIZE=1048576
-    else
-        LDFLAGS_STACK_SIZE=327680
+      LDFLAGS_STACK_SIZE=1048576
+    else
+      LDFLAGS_STACK_SIZE=327680
     fi
     LDFLAGS_JDKEXE="${LDFLAGS_JDK} /STACK:$LDFLAGS_STACK_SIZE"
-else
+  else
     if test "x$COMPILER_NAME" = xgcc; then
-        # If this is a --hash-style=gnu system, use --hash-style=both, why?
-        HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'`
-        if test -n "$HAS_GNU_HASH"; then
-            LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker --hash-style=both "
-        fi
-        if test "x$OPENJDK_TARGET_OS" = xlinux; then
-          # And since we now know that the linker is gnu, then add -z defs, to forbid
-          # undefined symbols in object files.
-          LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -z -Xlinker defs"
-          if test "x$DEBUG_LEVEL" = "xrelease"; then
-              # When building release libraries, tell the linker optimize them.
-              # Should this be supplied to the OSS linker as well?
-              LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -O1"
-          fi
-        fi
+      # If this is a --hash-style=gnu system, use --hash-style=both, why?
+      HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'`
+      if test -n "$HAS_GNU_HASH"; then
+        LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker --hash-style=both "
+      fi
+      if test "x$OPENJDK_TARGET_OS" = xlinux; then
+        # And since we now know that the linker is gnu, then add -z defs, to forbid
+        # undefined symbols in object files.
+        LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -z -Xlinker defs"
+        if test "x$DEBUG_LEVEL" = "xrelease"; then
+          # When building release libraries, tell the linker optimize them.
+          # Should this be supplied to the OSS linker as well?
+          LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -O1"
+        fi
+      fi
     fi
     LDFLAGS_JDKLIB="${LDFLAGS_JDK} $SHARED_LIBRARY_FLAGS \
-                    -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}"
+        -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}"
 
     # On some platforms (mac) the linker warns about non existing -L dirs.
     # Add server first if available. Linking aginst client does not always produce the same results.
     # Only add client dir if client is being built. Add minimal (note not minimal1) if only building minimal1.
     # Default to server for other variants.
     if test "x$JVM_VARIANT_SERVER" = xtrue; then
-        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
+      LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
     elif test "x$JVM_VARIANT_CLIENT" = xtrue; then
-        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/client"
+      LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/client"
     elif test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
-        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/minimal"
-    else
-        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
+      LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/minimal"
+    else
+      LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
     fi
 
     LDFLAGS_JDKLIB_SUFFIX="-ljava -ljvm"
     if test "x$COMPILER_NAME" = xossc; then
-        LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc"
+      LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc"
     fi
 
     LDFLAGS_JDKEXE="${LDFLAGS_JDK}"
     if test "x$OPENJDK_TARGET_OS" = xlinux; then
-        LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
-    fi
-fi
+      LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
+    fi
+  fi
 
 
 
@@ -29393,9 +29391,7 @@
 
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-    int i;
-
+int i;
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
 
@@ -29421,9 +29417,7 @@
 
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-    int i;
-
+int i;
 _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
 
@@ -29466,9 +29460,7 @@
 
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-    int i;
-
+int i;
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
 
@@ -29494,9 +29486,7 @@
 
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-    int i;
-
+int i;
 _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
 
@@ -29525,64 +29515,64 @@
 
 # Setup debug symbols (need objcopy from the toolchain for that)
 
-#
-# ENABLE_DEBUG_SYMBOLS
-# This must be done after the toolchain is setup, since we're looking at objcopy.
-#
-# Check whether --enable-debug-symbols was given.
+  #
+  # ENABLE_DEBUG_SYMBOLS
+  # This must be done after the toolchain is setup, since we're looking at objcopy.
+  #
+  # Check whether --enable-debug-symbols was given.
 if test "${enable_debug_symbols+set}" = set; then :
   enableval=$enable_debug_symbols;
 fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should generate debug symbols" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should generate debug symbols" >&5
 $as_echo_n "checking if we should generate debug symbols... " >&6; }
 
-if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then
-   # explicit enabling of enable-debug-symbols and can't find objcopy
-   #   this is an error
-   as_fn_error $? "Unable to find objcopy, cannot enable debug-symbols" "$LINENO" 5
-fi
-
-if test "x$enable_debug_symbols" = "xyes"; then
-  ENABLE_DEBUG_SYMBOLS=true
-elif test "x$enable_debug_symbols" = "xno"; then
-  ENABLE_DEBUG_SYMBOLS=false
-else
-  # default on macosx is false
-  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then
+    # explicit enabling of enable-debug-symbols and can't find objcopy
+    #   this is an error
+    as_fn_error $? "Unable to find objcopy, cannot enable debug-symbols" "$LINENO" 5
+  fi
+
+  if test "x$enable_debug_symbols" = "xyes"; then
+    ENABLE_DEBUG_SYMBOLS=true
+  elif test "x$enable_debug_symbols" = "xno"; then
     ENABLE_DEBUG_SYMBOLS=false
-  # Default is on if objcopy is found, otherwise off
-  elif test "x$OBJCOPY" != x || test "x$OPENJDK_TARGET_OS" = xwindows; then
-    ENABLE_DEBUG_SYMBOLS=true
-  else
-    ENABLE_DEBUG_SYMBOLS=false
-  fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_DEBUG_SYMBOLS" >&5
+  else
+    # default on macosx is false
+    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+      ENABLE_DEBUG_SYMBOLS=false
+      # Default is on if objcopy is found, otherwise off
+    elif test "x$OBJCOPY" != x || test "x$OPENJDK_TARGET_OS" = xwindows; then
+      ENABLE_DEBUG_SYMBOLS=true
+    else
+      ENABLE_DEBUG_SYMBOLS=false
+    fi
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_DEBUG_SYMBOLS" >&5
 $as_echo "$ENABLE_DEBUG_SYMBOLS" >&6; }
 
-#
-# ZIP_DEBUGINFO_FILES
-#
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should zip debug-info files" >&5
+  #
+  # ZIP_DEBUGINFO_FILES
+  #
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should zip debug-info files" >&5
 $as_echo_n "checking if we should zip debug-info files... " >&6; }
-# Check whether --enable-zip-debug-info was given.
+  # Check whether --enable-zip-debug-info was given.
 if test "${enable_zip_debug_info+set}" = set; then :
   enableval=$enable_zip_debug_info; enable_zip_debug_info="${enableval}"
 else
   enable_zip_debug_info="yes"
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${enable_zip_debug_info}" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${enable_zip_debug_info}" >&5
 $as_echo "${enable_zip_debug_info}" >&6; }
 
-if test "x${enable_zip_debug_info}" = "xno"; then
-   ZIP_DEBUGINFO_FILES=false
-else
-   ZIP_DEBUGINFO_FILES=true
-fi
+  if test "x${enable_zip_debug_info}" = "xno"; then
+    ZIP_DEBUGINFO_FILES=false
+  else
+    ZIP_DEBUGINFO_FILES=true
+  fi
 
 
 
@@ -29598,28 +29588,28 @@
 
 
 
-###############################################################################
-#
-# OS specific settings that we never will need to probe.
-#
-if test "x$OPENJDK_TARGET_OS" = xlinux; then
+  ###############################################################################
+  #
+  # OS specific settings that we never will need to probe.
+  #
+  if test "x$OPENJDK_TARGET_OS" = xlinux; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on Linux?" >&5
 $as_echo_n "checking what is not needed on Linux?... " >&6; }
     PULSE_NOT_NEEDED=yes
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: pulse" >&5
 $as_echo "pulse" >&6; }
-fi
-
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+  fi
+
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on Solaris?" >&5
 $as_echo_n "checking what is not needed on Solaris?... " >&6; }
     ALSA_NOT_NEEDED=yes
     PULSE_NOT_NEEDED=yes
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa pulse" >&5
 $as_echo "alsa pulse" >&6; }
-fi
-
-if test "x$OPENJDK_TARGET_OS" = xwindows; then
+  fi
+
+  if test "x$OPENJDK_TARGET_OS" = xwindows; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on Windows?" >&5
 $as_echo_n "checking what is not needed on Windows?... " >&6; }
     CUPS_NOT_NEEDED=yes
@@ -29628,9 +29618,9 @@
     X11_NOT_NEEDED=yes
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa cups pulse x11" >&5
 $as_echo "alsa cups pulse x11" >&6; }
-fi
-
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  fi
+
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on MacOSX?" >&5
 $as_echo_n "checking what is not needed on MacOSX?... " >&6; }
     ALSA_NOT_NEEDED=yes
@@ -29641,30 +29631,30 @@
     # This will be adjusted below.
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa pulse x11" >&5
 $as_echo "alsa pulse x11" >&6; }
-fi
-
-if test "x$OPENJDK_TARGET_OS" = xbsd; then
+  fi
+
+  if test "x$OPENJDK_TARGET_OS" = xbsd; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on bsd?" >&5
 $as_echo_n "checking what is not needed on bsd?... " >&6; }
     ALSA_NOT_NEEDED=yes
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa" >&5
 $as_echo "alsa" >&6; }
-fi
-
-if test "x$OPENJDK" = "xfalse"; then
+  fi
+
+  if test "x$OPENJDK" = "xfalse"; then
     FREETYPE2_NOT_NEEDED=yes
-fi
-
-if test "x$SUPPORT_HEADFUL" = xno; then
+  fi
+
+  if test "x$SUPPORT_HEADFUL" = xno; then
     X11_NOT_NEEDED=yes
-fi
-
-###############################################################################
-#
-# Check for MacOSX support for OpenJDK. If this exists, try to build a JVM
-# that uses this API.
-#
-# Check whether --enable-macosx-runtime-support was given.
+  fi
+
+  ###############################################################################
+  #
+  # Check for MacOSX support for OpenJDK. If this exists, try to build a JVM
+  # that uses this API.
+  #
+  # Check whether --enable-macosx-runtime-support was given.
 if test "${enable_macosx_runtime_support+set}" = set; then :
   enableval=$enable_macosx_runtime_support; MACOSX_RUNTIME_SUPPORT="${enableval}"
 else
@@ -29672,64 +29662,64 @@
 fi
 
 
-USE_MACOSX_RUNTIME_SUPPORT=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for explicit Java runtime support in the OS" >&5
+  USE_MACOSX_RUNTIME_SUPPORT=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for explicit Java runtime support in the OS" >&5
 $as_echo_n "checking for explicit Java runtime support in the OS... " >&6; }
-if test -f /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Headers/JavaRuntimeSupport.h; then
+  if test -f /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Headers/JavaRuntimeSupport.h; then
     if test "x$MACOSX_RUNTIME_SUPPORT" != xno; then
-        MACOSX_RUNTIME_SUPPORT=yes
-        USE_MACOSX_RUNTIME_SUPPORT=yes
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, does not need alsa freetype2 pulse and X11" >&5
+      MACOSX_RUNTIME_SUPPORT=yes
+      USE_MACOSX_RUNTIME_SUPPORT=yes
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, does not need alsa freetype2 pulse and X11" >&5
 $as_echo "yes, does not need alsa freetype2 pulse and X11" >&6; }
     else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, but explicitly disabled." >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, but explicitly disabled." >&5
 $as_echo "yes, but explicitly disabled." >&6; }
     fi
-else
+  else
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-fi
-
-if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$USE_MACOSX_RUNTIME_SUPPORT" = xno; then
+  fi
+
+  if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$USE_MACOSX_RUNTIME_SUPPORT" = xno; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on an X11 build on MacOSX?" >&5
 $as_echo_n "checking what is not needed on an X11 build on MacOSX?... " >&6; }
     X11_NOT_NEEDED=
     FREETYPE2_NOT_NEEDED=
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa pulse" >&5
 $as_echo "alsa pulse" >&6; }
-fi
-
-
-
-###############################################################################
-#
-# Check for X Windows
-#
-
-# Check if the user has specified sysroot, but not --x-includes or --x-libraries.
-# Make a simple check for the libraries at the sysroot, and setup --x-includes and
-# --x-libraries for the sysroot, if that seems to be correct.
-if test "x$SYS_ROOT" != "x/"; then
-  if test "x$x_includes" = xNONE; then
-    if test -f "$SYS_ROOT/usr/X11R6/include/X11/Xlib.h"; then
-      x_includes="$SYS_ROOT/usr/X11R6/include"
-    elif test -f "$SYS_ROOT/usr/include/X11/Xlib.h"; then
-      x_includes="$SYS_ROOT/usr/include"
-    fi
-  fi
-  if test "x$x_libraries" = xNONE; then
-    if test -f "$SYS_ROOT/usr/X11R6/lib/libX11.so"; then
-      x_libraries="$SYS_ROOT/usr/X11R6/lib"
-    elif test "$SYS_ROOT/usr/lib64/libX11.so" && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-      x_libraries="$SYS_ROOT/usr/lib64"
-    elif test -f "$SYS_ROOT/usr/lib/libX11.so"; then
-      x_libraries="$SYS_ROOT/usr/lib"
-    fi
-  fi
-fi
-
-# Now let autoconf do it's magic
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
+  fi
+
+
+
+  ###############################################################################
+  #
+  # Check for X Windows
+  #
+
+  # Check if the user has specified sysroot, but not --x-includes or --x-libraries.
+  # Make a simple check for the libraries at the sysroot, and setup --x-includes and
+  # --x-libraries for the sysroot, if that seems to be correct.
+  if test "x$SYS_ROOT" != "x/"; then
+    if test "x$x_includes" = xNONE; then
+      if test -f "$SYS_ROOT/usr/X11R6/include/X11/Xlib.h"; then
+        x_includes="$SYS_ROOT/usr/X11R6/include"
+      elif test -f "$SYS_ROOT/usr/include/X11/Xlib.h"; then
+        x_includes="$SYS_ROOT/usr/include"
+      fi
+    fi
+    if test "x$x_libraries" = xNONE; then
+      if test -f "$SYS_ROOT/usr/X11R6/lib/libX11.so"; then
+        x_libraries="$SYS_ROOT/usr/X11R6/lib"
+      elif test "$SYS_ROOT/usr/lib64/libX11.so" && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
+        x_libraries="$SYS_ROOT/usr/lib64"
+      elif test -f "$SYS_ROOT/usr/lib/libX11.so"; then
+        x_libraries="$SYS_ROOT/usr/lib"
+      fi
+    fi
+  fi
+
+  # Now let autoconf do it's magic
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
 $as_echo_n "checking for X... " >&6; }
 
 
@@ -29922,7 +29912,7 @@
 $as_echo "libraries $x_libraries, headers $x_includes" >&6; }
 fi
 
-if test "$no_x" = yes; then
+  if test "$no_x" = yes; then
   # Not all programs may use this symbol, but it does not hurt to define it.
 
 $as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h
@@ -30413,83 +30403,85 @@
 fi
 
 
-# AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
-# this doesn't make sense so we remove it.
-if test "x$COMPILE_TYPE" = xcross; then
-  X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[^ ]*//g'`
-fi
-
-if test "x$no_x" = xyes && test "x$X11_NOT_NEEDED" != xyes; then
-
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # x11 is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=x11
-    PKGHANDLER_COMMAND=
-
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+  # AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
+  # this doesn't make sense so we remove it.
+  if test "x$COMPILE_TYPE" = xcross; then
+    X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[^ ]*//g'`
+  fi
+
+  if test "x$no_x" = xyes && test "x$X11_NOT_NEEDED" != xyes; then
+
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # x11 is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=x11
+  PKGHANDLER_COMMAND=
+
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
-
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
+  esac
+
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
 
     as_fn_error $? "Could not find X11 libraries. $HELP_MSG" "$LINENO" 5
-fi
-
-# Some of the old makefiles require a setting of OPENWIN_HOME
-# Since the X11R6 directory has disappeared on later Linuxes,
-# we need to probe for it.
-if test "x$OPENJDK_TARGET_OS" = xlinux; then
+  fi
+
+  # Some of the old makefiles require a setting of OPENWIN_HOME
+  # Since the X11R6 directory has disappeared on later Linuxes,
+  # we need to probe for it.
+  if test "x$OPENJDK_TARGET_OS" = xlinux; then
     if test -d "$SYS_ROOT/usr/X11R6"; then
-        OPENWIN_HOME="$SYS_ROOT/usr/X11R6"
+      OPENWIN_HOME="$SYS_ROOT/usr/X11R6"
     elif test -d "$SYS_ROOT/usr/include/X11"; then
-        OPENWIN_HOME="$SYS_ROOT/usr"
-    fi
-fi
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+      OPENWIN_HOME="$SYS_ROOT/usr"
+    fi
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     OPENWIN_HOME="/usr/openwin"
-fi
-
-
-
-#
-# Weird Sol10 something check...TODO change to try compile
-#
-if test "x${OPENJDK_TARGET_OS}" = xsolaris; then
-  if test "`uname -r`" = "5.10"; then
-     if test "`${EGREP} -c XLinearGradient ${OPENWIN_HOME}/share/include/X11/extensions/Xrender.h`" = "0"; then
-     	X_CFLAGS="${X_CFLAGS} -DSOLARIS10_NO_XRENDER_STRUCTS"
-     fi
-  fi
-fi
-
-ac_ext=c
+  fi
+
+
+
+  #
+  # Weird Sol10 something check...TODO change to try compile
+  #
+  if test "x${OPENJDK_TARGET_OS}" = xsolaris; then
+    if test "`uname -r`" = "5.10"; then
+      if test "`${EGREP} -c XLinearGradient ${OPENWIN_HOME}/share/include/X11/extensions/Xrender.h`" = "0"; then
+        X_CFLAGS="${X_CFLAGS} -DSOLARIS10_NO_XRENDER_STRUCTS"
+      fi
+    fi
+  fi
+
+  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
 
-OLD_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $X_CFLAGS"
-
-# Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10
-for ac_header in X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h
+  OLD_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS $X_CFLAGS"
+
+  # Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10
+  for ac_header in X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " # include <X11/Xlib.h>
-                   # include <X11/Xutil.h>
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
+        # include <X11/Xlib.h>
+        # include <X11/Xutil.h>
+
 
 "
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
@@ -30504,52 +30496,52 @@
 done
 
 
-CFLAGS="$OLD_CFLAGS"
-ac_ext=cpp
+  CFLAGS="$OLD_CFLAGS"
+  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
 
 
-if test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then
-
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # x11 is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=x11
-    PKGHANDLER_COMMAND=
-
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+  if test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then
+
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # x11 is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=x11
+  PKGHANDLER_COMMAND=
+
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
-
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
+  esac
+
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
 
     as_fn_error $? "Could not find all X11 headers (shape.h Xrender.h XTest.h Intrinsic.h). $HELP_MSG" "$LINENO" 5
-fi
-
-
-
-
-
-
-###############################################################################
-#
-# The common unix printing system cups is used to print from java.
-#
+  fi
+
+
+
+
+
+
+  ###############################################################################
+  #
+  # The common unix printing system cups is used to print from java.
+  #
 
 # Check whether --with-cups was given.
 if test "${with_cups+set}" = set; then :
@@ -30563,175 +30555,175 @@
 fi
 
 
-if test "x$CUPS_NOT_NEEDED" = xyes; then
-	if test "x${with_cups}" != x || test "x${with_cups_include}" != x; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cups not used, so --with-cups is ignored" >&5
+  if test "x$CUPS_NOT_NEEDED" = xyes; then
+    if test "x${with_cups}" != x || test "x${with_cups_include}" != x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cups not used, so --with-cups is ignored" >&5
 $as_echo "$as_me: WARNING: cups not used, so --with-cups is ignored" >&2;}
-	fi
-	CUPS_CFLAGS=
-else
-	CUPS_FOUND=no
-
-	if test "x${with_cups}" = xno || test "x${with_cups_include}" = xno; then
-	    as_fn_error $? "It is not possible to disable the use of cups. Remove the --without-cups option." "$LINENO" 5
-	fi
-
-	if test "x${with_cups}" != x; then
-	    CUPS_CFLAGS="-I${with_cups}/include"
-	    CUPS_FOUND=yes
-	fi
-	if test "x${with_cups_include}" != x; then
-	    CUPS_CFLAGS="-I${with_cups_include}"
-	    CUPS_FOUND=yes
-	fi
-	if test "x$CUPS_FOUND" = xno; then
-
-
-    if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
-        # Source the builddeps file again, to make sure it uses the latest variables!
-        . $builddepsfile
-        # Look for a target and build machine specific resource!
-        eval resource=\${builddep_cups_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a target specific resource
-            eval resource=\${builddep_cups_TARGET_${rewritten_target_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a build specific resource
-            eval resource=\${builddep_cups_BUILD_${rewritten_build_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a generic resource
-            # (The cups comes from M4 and not the shell, thus no need for eval here.)
-            resource=${builddep_cups}
-        fi
-        if test "x$resource" != x; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for cups" >&5
+    fi
+    CUPS_CFLAGS=
+  else
+    CUPS_FOUND=no
+
+    if test "x${with_cups}" = xno || test "x${with_cups_include}" = xno; then
+      as_fn_error $? "It is not possible to disable the use of cups. Remove the --without-cups option." "$LINENO" 5
+    fi
+
+    if test "x${with_cups}" != x; then
+      CUPS_CFLAGS="-I${with_cups}/include"
+      CUPS_FOUND=yes
+    fi
+    if test "x${with_cups_include}" != x; then
+      CUPS_CFLAGS="-I${with_cups_include}"
+      CUPS_FOUND=yes
+    fi
+    if test "x$CUPS_FOUND" = xno; then
+
+
+  if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
+    # Source the builddeps file again, to make sure it uses the latest variables!
+    . $builddepsfile
+    # Look for a target and build machine specific resource!
+    eval resource=\${builddep_cups_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a target specific resource
+      eval resource=\${builddep_cups_TARGET_${rewritten_target_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a build specific resource
+      eval resource=\${builddep_cups_BUILD_${rewritten_build_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a generic resource
+      # (The cups comes from M4 and not the shell, thus no need for eval here.)
+      resource=${builddep_cups}
+    fi
+    if test "x$resource" != x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for cups" >&5
 $as_echo "$as_me: Using builddeps $resource for cups" >&6;}
-	    # If the resource in the builddeps.conf file is an existing directory,
-	    # for example /java/linux/cups
-	    if test -d ${resource}; then
-	       depdir=${resource}
-	    else
-
-# cups is for example mymodule
-# $resource is for example libs/general/libmymod_1_2_3.zip
-# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
-# $with_builddeps_dir is for example /localhome/builddeps
-# depdir is the name of the variable into which we store the depdir, eg MYMOD
-# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
-# unzip into the directory: /localhome/builddeps/libmymod_1_2_3
-    filename=`basename $resource`
-    filebase=`echo $filename | sed 's/\.[^\.]*$//'`
-    filebase=${filename%%.*}
-    extension=${filename#*.}
-    installdir=$with_builddeps_dir/$filebase
-    if test ! -f $installdir/$filename.unpacked; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency cups from $with_builddeps_server/$resource and installing into $installdir" >&5
+      # If the resource in the builddeps.conf file is an existing directory,
+      # for example /java/linux/cups
+      if test -d ${resource}; then
+        depdir=${resource}
+      else
+
+  # cups is for example mymodule
+  # $resource is for example libs/general/libmymod_1_2_3.zip
+  # $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
+  # $with_builddeps_dir is for example /localhome/builddeps
+  # depdir is the name of the variable into which we store the depdir, eg MYMOD
+  # Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
+  # unzip into the directory: /localhome/builddeps/libmymod_1_2_3
+  filename=`basename $resource`
+  filebase=`echo $filename | sed 's/\.[^\.]*$//'`
+  filebase=${filename%%.*}
+  extension=${filename#*.}
+  installdir=$with_builddeps_dir/$filebase
+  if test ! -f $installdir/$filename.unpacked; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency cups from $with_builddeps_server/$resource and installing into $installdir" >&5
 $as_echo "$as_me: Downloading build dependency cups from $with_builddeps_server/$resource and installing into $installdir" >&6;}
-        if test ! -d $installdir; then
-            mkdir -p $installdir
-        fi
-        if test ! -d $installdir; then
-            as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
-        fi
-        tmpfile=`mktemp $installdir/cups.XXXXXXXXX`
-        touch $tmpfile
-        if test ! -f $tmpfile; then
-            as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
-        fi
-
-    # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
-    # $tmpfile is the local file name for the downloaded file.
-    VALID_TOOL=no
-    if test "x$BDEPS_FTP" = xwget; then
-       VALID_TOOL=yes
-       wget -O $tmpfile $with_builddeps_server/$resource
-    fi
-    if test "x$BDEPS_FTP" = xlftp; then
-       VALID_TOOL=yes
-       lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
-    fi
-    if test "x$BDEPS_FTP" = xftp; then
-        VALID_TOOL=yes
-        FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
-        FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
-        FTPUSERPWD=${FTPSERVER%%@*}
-        if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
-            FTPUSER=${userpwd%%:*}
-            FTPPWD=${userpwd#*@}
-            FTPSERVER=${FTPSERVER#*@}
-        else
-            FTPUSER=ftp
-            FTPPWD=ftp
-        fi
-        # the "pass" command does not work on some
-        # ftp clients (read ftp.exe) but if it works,
-        # passive mode is better!
-        (\
-            echo "user $FTPUSER $FTPPWD"        ;\
-            echo "pass"                         ;\
-            echo "bin"                          ;\
-            echo "get $FTPPATH $tmpfile"              ;\
-        ) | ftp -in $FTPSERVER
-    fi
-    if test "x$VALID_TOOL" != xyes; then
-       as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
-    fi
-
-        mv $tmpfile $installdir/$filename
-        if test ! -s $installdir/$filename; then
-            as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
-        fi
-        case "$extension" in
-            zip)  echo "Unzipping $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
-            ;;
-            tar.gz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            tgz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
-            ;;
-        esac
-    fi
-    if test -f $installdir/$filename.unpacked; then
-        depdir=$installdir
-    fi
-
-	    fi
-            # Source the builddeps file again, because in the previous command, the depdir
-            # was updated to point at the current build dependency install directory.
-            . $builddepsfile
-            # Now extract variables from the builddeps.conf files.
-            theroot=${builddep_cups_ROOT}
-            thecflags=${builddep_cups_CFLAGS}
-            thelibs=${builddep_cups_LIBS}
-            if test "x$depdir" = x; then
-                as_fn_error $? "Could not download build dependency cups" "$LINENO" 5
-            fi
-            CUPS=$depdir
-            if test "x$theroot" != x; then
-               CUPS="$theroot"
-            fi
-            if test "x$thecflags" != x; then
-               CUPS_CFLAGS="$thecflags"
-            fi
-            if test "x$thelibs" != x; then
-               CUPS_LIBS="$thelibs"
-            fi
-            CUPS_FOUND=yes
-
-        fi
-
-    fi
-
-	fi
-	if test "x$CUPS_FOUND" = xno; then
-	    # Are the cups headers installed in the default /usr/include location?
-	    for ac_header in cups/cups.h cups/ppd.h
+    if test ! -d $installdir; then
+      mkdir -p $installdir
+    fi
+    if test ! -d $installdir; then
+      as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
+    fi
+    tmpfile=`mktemp $installdir/cups.XXXXXXXXX`
+    touch $tmpfile
+    if test ! -f $tmpfile; then
+      as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
+    fi
+
+  # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
+  # $tmpfile is the local file name for the downloaded file.
+  VALID_TOOL=no
+  if test "x$BDEPS_FTP" = xwget; then
+    VALID_TOOL=yes
+    wget -O $tmpfile $with_builddeps_server/$resource
+  fi
+  if test "x$BDEPS_FTP" = xlftp; then
+    VALID_TOOL=yes
+    lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
+  fi
+  if test "x$BDEPS_FTP" = xftp; then
+    VALID_TOOL=yes
+    FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
+    FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
+    FTPUSERPWD=${FTPSERVER%%@*}
+    if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
+      FTPUSER=${userpwd%%:*}
+      FTPPWD=${userpwd#*@}
+      FTPSERVER=${FTPSERVER#*@}
+    else
+      FTPUSER=ftp
+      FTPPWD=ftp
+    fi
+    # the "pass" command does not work on some
+    # ftp clients (read ftp.exe) but if it works,
+    # passive mode is better!
+    ( \
+        echo "user $FTPUSER $FTPPWD"        ; \
+        echo "pass"                         ; \
+        echo "bin"                          ; \
+        echo "get $FTPPATH $tmpfile"              ; \
+    ) | ftp -in $FTPSERVER
+  fi
+  if test "x$VALID_TOOL" != xyes; then
+    as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
+  fi
+
+    mv $tmpfile $installdir/$filename
+    if test ! -s $installdir/$filename; then
+      as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
+    fi
+    case "$extension" in
+      zip)  echo "Unzipping $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
+        ;;
+      tar.gz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      tgz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
+        ;;
+    esac
+  fi
+  if test -f $installdir/$filename.unpacked; then
+    depdir=$installdir
+  fi
+
+      fi
+      # Source the builddeps file again, because in the previous command, the depdir
+      # was updated to point at the current build dependency install directory.
+      . $builddepsfile
+      # Now extract variables from the builddeps.conf files.
+      theroot=${builddep_cups_ROOT}
+      thecflags=${builddep_cups_CFLAGS}
+      thelibs=${builddep_cups_LIBS}
+      if test "x$depdir" = x; then
+        as_fn_error $? "Could not download build dependency cups" "$LINENO" 5
+      fi
+      CUPS=$depdir
+      if test "x$theroot" != x; then
+        CUPS="$theroot"
+      fi
+      if test "x$thecflags" != x; then
+        CUPS_CFLAGS="$thecflags"
+      fi
+      if test "x$thelibs" != x; then
+        CUPS_LIBS="$thelibs"
+      fi
+      CUPS_FOUND=yes
+
+    fi
+
+  fi
+
+    fi
+    if test "x$CUPS_FOUND" = xno; then
+      # Are the cups headers installed in the default /usr/include location?
+      for ac_header in cups/cups.h cups/ppd.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -30739,70 +30731,73 @@
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
- CUPS_FOUND=yes
-	                      CUPS_CFLAGS=
-	                      DEFAULT_CUPS=yes
-fi
-
-done
-
-	fi
-	if test "x$CUPS_FOUND" = xno; then
-	    # Getting nervous now? Lets poke around for standard Solaris third-party
-	    # package installation locations.
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cups headers" >&5
+
+            CUPS_FOUND=yes
+            CUPS_CFLAGS=
+            DEFAULT_CUPS=yes
+
+
+fi
+
+done
+
+    fi
+    if test "x$CUPS_FOUND" = xno; then
+      # Getting nervous now? Lets poke around for standard Solaris third-party
+      # package installation locations.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cups headers" >&5
 $as_echo_n "checking for cups headers... " >&6; }
-	    if test -s /opt/sfw/cups/include/cups/cups.h; then
-	       # An SFW package seems to be installed!
-	       CUPS_FOUND=yes
-	       CUPS_CFLAGS="-I/opt/sfw/cups/include"
-	    elif test -s /opt/csw/include/cups/cups.h; then
-	       # A CSW package seems to be installed!
-	       CUPS_FOUND=yes
-	       CUPS_CFLAGS="-I/opt/csw/include"
-	    fi
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_FOUND" >&5
+      if test -s /opt/sfw/cups/include/cups/cups.h; then
+        # An SFW package seems to be installed!
+        CUPS_FOUND=yes
+        CUPS_CFLAGS="-I/opt/sfw/cups/include"
+      elif test -s /opt/csw/include/cups/cups.h; then
+        # A CSW package seems to be installed!
+        CUPS_FOUND=yes
+        CUPS_CFLAGS="-I/opt/csw/include"
+      fi
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_FOUND" >&5
 $as_echo "$CUPS_FOUND" >&6; }
-	fi
-	if test "x$CUPS_FOUND" = xno; then
-
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # cups is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=cups
-    PKGHANDLER_COMMAND=
-
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+    fi
+    if test "x$CUPS_FOUND" = xno; then
+
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # cups is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=cups
+  PKGHANDLER_COMMAND=
+
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
-
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
-
-	    as_fn_error $? "Could not find cups! $HELP_MSG " "$LINENO" 5
-	fi
-fi
-
-
-
-
-
-
-###############################################################################
-#
-# The ubiquitous freetype2 library is used to render fonts.
-#
+  esac
+
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
+
+      as_fn_error $? "Could not find cups! $HELP_MSG " "$LINENO" 5
+    fi
+  fi
+
+
+
+
+
+
+  ###############################################################################
+  #
+  # The ubiquitous freetype2 library is used to render fonts.
+  #
 
 # Check whether --with-freetype was given.
 if test "${with_freetype+set}" = set; then :
@@ -30810,21 +30805,21 @@
 fi
 
 
-# If we are using the OS installed system lib for freetype, then we do not need to copy it to the build tree
-USING_SYSTEM_FT_LIB=false
-
-if test "x$FREETYPE2_NOT_NEEDED" = xyes; then
-	if test "x$with_freetype" != x || test "x$with_freetype_include" != x || test "x$with_freetype_lib" != x; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: freetype not used, so --with-freetype is ignored" >&5
+  # If we are using the OS installed system lib for freetype, then we do not need to copy it to the build tree
+  USING_SYSTEM_FT_LIB=false
+
+  if test "x$FREETYPE2_NOT_NEEDED" = xyes; then
+    if test "x$with_freetype" != x || test "x$with_freetype_include" != x || test "x$with_freetype_lib" != x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: freetype not used, so --with-freetype is ignored" >&5
 $as_echo "$as_me: WARNING: freetype not used, so --with-freetype is ignored" >&2;}
-	fi
-	FREETYPE2_CFLAGS=
-	FREETYPE2_LIBS=
-        FREETYPE2_LIB_PATH=
-else
-	FREETYPE2_FOUND=no
-
-	if test "x$with_freetype" != x; then
+    fi
+    FREETYPE2_CFLAGS=
+    FREETYPE2_LIBS=
+    FREETYPE2_LIB_PATH=
+  else
+    FREETYPE2_FOUND=no
+
+    if test "x$with_freetype" != x; then
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
 
@@ -30947,186 +30942,186 @@
     with_freetype="`cd "$path"; $THEPWDCMD -L`"
   fi
 
-	    FREETYPE2_LIBS="-L$with_freetype/lib -lfreetype"
-            FREETYPE2_LIB_PATH="$with_freetype/lib"
-            if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64 && test -d "$with_freetype/lib/amd64"; then
-                FREETYPE2_LIBS="-L$with_freetype/lib/amd64 -lfreetype"
-                FREETYPE2_LIB_PATH="$with_freetype/lib/amd64"
-            fi
-            if test "x$OPENJDK_TARGET_OS" = xwindows; then
-                FREETYPE2_LIBS="$with_freetype/lib/freetype.lib"
-            fi
-	    FREETYPE2_CFLAGS="-I$with_freetype/include"
-            if test -s $with_freetype/include/ft2build.h && test -d $with_freetype/include/freetype2/freetype; then
-                FREETYPE2_CFLAGS="-I$with_freetype/include/freetype2 -I$with_freetype/include"
-            fi
- 	    FREETYPE2_FOUND=yes
-   	    if test "x$FREETYPE2_FOUND" = xyes; then
-	        # Verify that the directories exist
-                if ! test -d "$with_freetype/lib" || ! test -d "$with_freetype/include"; then
-		   as_fn_error $? "Could not find the expected directories $with_freetype/lib and $with_freetype/include" "$LINENO" 5
-		fi
-	        # List the contents of the lib.
-		FREETYPELIB=`ls $with_freetype/lib/libfreetype.so $with_freetype/lib/freetype.dll 2> /dev/null`
-                if test "x$FREETYPELIB" = x; then
-		   as_fn_error $? "Could not find libfreetype.so nor freetype.dll in $with_freetype/lib" "$LINENO" 5
-		fi
-	        # Check one h-file
-                if ! test -s "$with_freetype/include/ft2build.h"; then
-		   as_fn_error $? "Could not find $with_freetype/include/ft2build.h" "$LINENO" 5
-		fi
-            fi
-        fi
-	if test "x$FREETYPE2_FOUND" = xno; then
-
-
-    if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
-        # Source the builddeps file again, to make sure it uses the latest variables!
-        . $builddepsfile
-        # Look for a target and build machine specific resource!
-        eval resource=\${builddep_freetype2_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a target specific resource
-            eval resource=\${builddep_freetype2_TARGET_${rewritten_target_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a build specific resource
-            eval resource=\${builddep_freetype2_BUILD_${rewritten_build_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a generic resource
-            # (The freetype2 comes from M4 and not the shell, thus no need for eval here.)
-            resource=${builddep_freetype2}
-        fi
-        if test "x$resource" != x; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for freetype2" >&5
+      FREETYPE2_LIBS="-L$with_freetype/lib -lfreetype"
+      FREETYPE2_LIB_PATH="$with_freetype/lib"
+      if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64 && test -d "$with_freetype/lib/amd64"; then
+        FREETYPE2_LIBS="-L$with_freetype/lib/amd64 -lfreetype"
+        FREETYPE2_LIB_PATH="$with_freetype/lib/amd64"
+      fi
+      if test "x$OPENJDK_TARGET_OS" = xwindows; then
+        FREETYPE2_LIBS="$with_freetype/lib/freetype.lib"
+      fi
+      FREETYPE2_CFLAGS="-I$with_freetype/include"
+      if test -s $with_freetype/include/ft2build.h && test -d $with_freetype/include/freetype2/freetype; then
+        FREETYPE2_CFLAGS="-I$with_freetype/include/freetype2 -I$with_freetype/include"
+      fi
+      FREETYPE2_FOUND=yes
+      if test "x$FREETYPE2_FOUND" = xyes; then
+        # Verify that the directories exist
+        if ! test -d "$with_freetype/lib" || ! test -d "$with_freetype/include"; then
+          as_fn_error $? "Could not find the expected directories $with_freetype/lib and $with_freetype/include" "$LINENO" 5
+        fi
+        # List the contents of the lib.
+        FREETYPELIB=`ls $with_freetype/lib/libfreetype.so $with_freetype/lib/freetype.dll 2> /dev/null`
+        if test "x$FREETYPELIB" = x; then
+          as_fn_error $? "Could not find libfreetype.so nor freetype.dll in $with_freetype/lib" "$LINENO" 5
+        fi
+        # Check one h-file
+        if ! test -s "$with_freetype/include/ft2build.h"; then
+          as_fn_error $? "Could not find $with_freetype/include/ft2build.h" "$LINENO" 5
+        fi
+      fi
+    fi
+    if test "x$FREETYPE2_FOUND" = xno; then
+
+
+  if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
+    # Source the builddeps file again, to make sure it uses the latest variables!
+    . $builddepsfile
+    # Look for a target and build machine specific resource!
+    eval resource=\${builddep_freetype2_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a target specific resource
+      eval resource=\${builddep_freetype2_TARGET_${rewritten_target_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a build specific resource
+      eval resource=\${builddep_freetype2_BUILD_${rewritten_build_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a generic resource
+      # (The freetype2 comes from M4 and not the shell, thus no need for eval here.)
+      resource=${builddep_freetype2}
+    fi
+    if test "x$resource" != x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for freetype2" >&5
 $as_echo "$as_me: Using builddeps $resource for freetype2" >&6;}
-	    # If the resource in the builddeps.conf file is an existing directory,
-	    # for example /java/linux/cups
-	    if test -d ${resource}; then
-	       depdir=${resource}
-	    else
-
-# freetype2 is for example mymodule
-# $resource is for example libs/general/libmymod_1_2_3.zip
-# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
-# $with_builddeps_dir is for example /localhome/builddeps
-# depdir is the name of the variable into which we store the depdir, eg MYMOD
-# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
-# unzip into the directory: /localhome/builddeps/libmymod_1_2_3
-    filename=`basename $resource`
-    filebase=`echo $filename | sed 's/\.[^\.]*$//'`
-    filebase=${filename%%.*}
-    extension=${filename#*.}
-    installdir=$with_builddeps_dir/$filebase
-    if test ! -f $installdir/$filename.unpacked; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency freetype2 from $with_builddeps_server/$resource and installing into $installdir" >&5
+      # If the resource in the builddeps.conf file is an existing directory,
+      # for example /java/linux/cups
+      if test -d ${resource}; then
+        depdir=${resource}
+      else
+
+  # freetype2 is for example mymodule
+  # $resource is for example libs/general/libmymod_1_2_3.zip
+  # $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
+  # $with_builddeps_dir is for example /localhome/builddeps
+  # depdir is the name of the variable into which we store the depdir, eg MYMOD
+  # Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
+  # unzip into the directory: /localhome/builddeps/libmymod_1_2_3
+  filename=`basename $resource`
+  filebase=`echo $filename | sed 's/\.[^\.]*$//'`
+  filebase=${filename%%.*}
+  extension=${filename#*.}
+  installdir=$with_builddeps_dir/$filebase
+  if test ! -f $installdir/$filename.unpacked; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency freetype2 from $with_builddeps_server/$resource and installing into $installdir" >&5
 $as_echo "$as_me: Downloading build dependency freetype2 from $with_builddeps_server/$resource and installing into $installdir" >&6;}
-        if test ! -d $installdir; then
-            mkdir -p $installdir
-        fi
-        if test ! -d $installdir; then
-            as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
-        fi
-        tmpfile=`mktemp $installdir/freetype2.XXXXXXXXX`
-        touch $tmpfile
-        if test ! -f $tmpfile; then
-            as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
-        fi
-
-    # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
-    # $tmpfile is the local file name for the downloaded file.
-    VALID_TOOL=no
-    if test "x$BDEPS_FTP" = xwget; then
-       VALID_TOOL=yes
-       wget -O $tmpfile $with_builddeps_server/$resource
-    fi
-    if test "x$BDEPS_FTP" = xlftp; then
-       VALID_TOOL=yes
-       lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
-    fi
-    if test "x$BDEPS_FTP" = xftp; then
-        VALID_TOOL=yes
-        FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
-        FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
-        FTPUSERPWD=${FTPSERVER%%@*}
-        if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
-            FTPUSER=${userpwd%%:*}
-            FTPPWD=${userpwd#*@}
-            FTPSERVER=${FTPSERVER#*@}
-        else
-            FTPUSER=ftp
-            FTPPWD=ftp
-        fi
-        # the "pass" command does not work on some
-        # ftp clients (read ftp.exe) but if it works,
-        # passive mode is better!
-        (\
-            echo "user $FTPUSER $FTPPWD"        ;\
-            echo "pass"                         ;\
-            echo "bin"                          ;\
-            echo "get $FTPPATH $tmpfile"              ;\
-        ) | ftp -in $FTPSERVER
-    fi
-    if test "x$VALID_TOOL" != xyes; then
-       as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
-    fi
-
-        mv $tmpfile $installdir/$filename
-        if test ! -s $installdir/$filename; then
-            as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
-        fi
-        case "$extension" in
-            zip)  echo "Unzipping $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
-            ;;
-            tar.gz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            tgz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
-            ;;
-        esac
-    fi
-    if test -f $installdir/$filename.unpacked; then
-        depdir=$installdir
-    fi
-
-	    fi
-            # Source the builddeps file again, because in the previous command, the depdir
-            # was updated to point at the current build dependency install directory.
-            . $builddepsfile
-            # Now extract variables from the builddeps.conf files.
-            theroot=${builddep_freetype2_ROOT}
-            thecflags=${builddep_freetype2_CFLAGS}
-            thelibs=${builddep_freetype2_LIBS}
-            if test "x$depdir" = x; then
-                as_fn_error $? "Could not download build dependency freetype2" "$LINENO" 5
-            fi
-            FREETYPE2=$depdir
-            if test "x$theroot" != x; then
-               FREETYPE2="$theroot"
-            fi
-            if test "x$thecflags" != x; then
-               FREETYPE2_CFLAGS="$thecflags"
-            fi
-            if test "x$thelibs" != x; then
-               FREETYPE2_LIBS="$thelibs"
-            fi
-            FREETYPE2_FOUND=yes
-            else FREETYPE2_FOUND=no
-
-        fi
-        else FREETYPE2_FOUND=no
-
-    fi
-
-            USING_SYSTEM_FT_LIB=true
-	fi
-	if test "x$FREETYPE2_FOUND" = xno && test "x$OPENJDK_TARGET_OS" = xwindows; then
-            FREETYPELOCATION="$PROGRAMFILES/GnuWin32"
+    if test ! -d $installdir; then
+      mkdir -p $installdir
+    fi
+    if test ! -d $installdir; then
+      as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
+    fi
+    tmpfile=`mktemp $installdir/freetype2.XXXXXXXXX`
+    touch $tmpfile
+    if test ! -f $tmpfile; then
+      as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
+    fi
+
+  # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
+  # $tmpfile is the local file name for the downloaded file.
+  VALID_TOOL=no
+  if test "x$BDEPS_FTP" = xwget; then
+    VALID_TOOL=yes
+    wget -O $tmpfile $with_builddeps_server/$resource
+  fi
+  if test "x$BDEPS_FTP" = xlftp; then
+    VALID_TOOL=yes
+    lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
+  fi
+  if test "x$BDEPS_FTP" = xftp; then
+    VALID_TOOL=yes
+    FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
+    FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
+    FTPUSERPWD=${FTPSERVER%%@*}
+    if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
+      FTPUSER=${userpwd%%:*}
+      FTPPWD=${userpwd#*@}
+      FTPSERVER=${FTPSERVER#*@}
+    else
+      FTPUSER=ftp
+      FTPPWD=ftp
+    fi
+    # the "pass" command does not work on some
+    # ftp clients (read ftp.exe) but if it works,
+    # passive mode is better!
+    ( \
+        echo "user $FTPUSER $FTPPWD"        ; \
+        echo "pass"                         ; \
+        echo "bin"                          ; \
+        echo "get $FTPPATH $tmpfile"              ; \
+    ) | ftp -in $FTPSERVER
+  fi
+  if test "x$VALID_TOOL" != xyes; then
+    as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
+  fi
+
+    mv $tmpfile $installdir/$filename
+    if test ! -s $installdir/$filename; then
+      as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
+    fi
+    case "$extension" in
+      zip)  echo "Unzipping $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
+        ;;
+      tar.gz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      tgz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
+        ;;
+    esac
+  fi
+  if test -f $installdir/$filename.unpacked; then
+    depdir=$installdir
+  fi
+
+      fi
+      # Source the builddeps file again, because in the previous command, the depdir
+      # was updated to point at the current build dependency install directory.
+      . $builddepsfile
+      # Now extract variables from the builddeps.conf files.
+      theroot=${builddep_freetype2_ROOT}
+      thecflags=${builddep_freetype2_CFLAGS}
+      thelibs=${builddep_freetype2_LIBS}
+      if test "x$depdir" = x; then
+        as_fn_error $? "Could not download build dependency freetype2" "$LINENO" 5
+      fi
+      FREETYPE2=$depdir
+      if test "x$theroot" != x; then
+        FREETYPE2="$theroot"
+      fi
+      if test "x$thecflags" != x; then
+        FREETYPE2_CFLAGS="$thecflags"
+      fi
+      if test "x$thelibs" != x; then
+        FREETYPE2_LIBS="$thelibs"
+      fi
+      FREETYPE2_FOUND=yes
+      else FREETYPE2_FOUND=no
+
+    fi
+    else FREETYPE2_FOUND=no
+
+  fi
+
+      USING_SYSTEM_FT_LIB=true
+    fi
+    if test "x$FREETYPE2_FOUND" = xno && test "x$OPENJDK_TARGET_OS" = xwindows; then
+      FREETYPELOCATION="$PROGRAMFILES/GnuWin32"
 
   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
 
@@ -31249,25 +31244,25 @@
     FREETYPELOCATION="`cd "$path"; $THEPWDCMD -L`"
   fi
 
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype in some standard windows locations" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype in some standard windows locations" >&5
 $as_echo_n "checking for freetype in some standard windows locations... " >&6; }
-	    if test -s "$FREETYPELOCATION/include/ft2build.h" && test -d "$FREETYPELOCATION/include/freetype2/freetype"; then
-	        FREETYPE2_CFLAGS="-I$FREETYPELOCATION/include/freetype2 -I$FREETYPELOCATION/include"
-	        FREETYPE2_LIBS="$FREETYPELOCATION/lib/freetype.lib"
- 	        FREETYPE2_LIB_PATH="$FREETYPELOCATION/lib"
-                if ! test -s "$FREETYPE2_LIBS"; then
-		   as_fn_error $? "Could not find $FREETYPE2_LIBS" "$LINENO" 5
-		fi
-                if ! test -s "$FREETYPE2_LIB_PATH/freetype.dll"; then
-		   as_fn_error $? "Could not find $FREETYPE2_LIB_PATH/freetype.dll" "$LINENO" 5
-		fi
-                USING_SYSTEM_FT_LIB=true
-                FREETYPE2_FOUND=yes
-	    fi
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE2_FOUND" >&5
+      if test -s "$FREETYPELOCATION/include/ft2build.h" && test -d "$FREETYPELOCATION/include/freetype2/freetype"; then
+        FREETYPE2_CFLAGS="-I$FREETYPELOCATION/include/freetype2 -I$FREETYPELOCATION/include"
+        FREETYPE2_LIBS="$FREETYPELOCATION/lib/freetype.lib"
+        FREETYPE2_LIB_PATH="$FREETYPELOCATION/lib"
+        if ! test -s "$FREETYPE2_LIBS"; then
+          as_fn_error $? "Could not find $FREETYPE2_LIBS" "$LINENO" 5
+        fi
+        if ! test -s "$FREETYPE2_LIB_PATH/freetype.dll"; then
+          as_fn_error $? "Could not find $FREETYPE2_LIB_PATH/freetype.dll" "$LINENO" 5
+        fi
+        USING_SYSTEM_FT_LIB=true
+        FREETYPE2_FOUND=yes
+      fi
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE2_FOUND" >&5
 $as_echo "$FREETYPE2_FOUND" >&6; }
-        fi
-	if test "x$FREETYPE2_FOUND" = xno; then
+    fi
+    if test "x$FREETYPE2_FOUND" = xno; then
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE2" >&5
@@ -31335,92 +31330,94 @@
 $as_echo "yes" >&6; }
 	FREETYPE2_FOUND=yes
 fi
-            # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us.
-            FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's/-lz//g'`
-            USING_SYSTEM_FT_LIB=true
-            # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64
-            if test "x$FREETYPE2_FOUND" = xyes && test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
-              FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's?/lib?/lib/amd64?g'`
-            fi
-	fi
-	if test "x$FREETYPE2_FOUND" = xno; then
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype in some standard locations" >&5
+      # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us.
+      FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's/-lz//g'`
+      USING_SYSTEM_FT_LIB=true
+      # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64
+      if test "x$FREETYPE2_FOUND" = xyes && test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+        FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's?/lib?/lib/amd64?g'`
+      fi
+    fi
+    if test "x$FREETYPE2_FOUND" = xno; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype in some standard locations" >&5
 $as_echo_n "checking for freetype in some standard locations... " >&6; }
 
-	    if test -s $SYS_ROOT/usr/X11/include/ft2build.h && test -d $SYS_ROOT/usr/X11/include/freetype2/freetype; then
-	        DEFAULT_FREETYPE_CFLAGS="-I$SYS_ROOT/usr/X11/include/freetype2 -I$SYS_ROOT/usr/X11/include"
-	        DEFAULT_FREETYPE_LIBS="-L$SYS_ROOT/usr/X11/lib -lfreetype"
-	    fi
-	    if test -s $SYS_ROOT/usr/include/ft2build.h && test -d $SYS_ROOT/usr/include/freetype2/freetype; then
-	        DEFAULT_FREETYPE_CFLAGS="-I$SYS_ROOT/usr/include/freetype2"
-	        DEFAULT_FREETYPE_LIBS="-lfreetype"
-	    fi
-
-	    PREV_CXXCFLAGS="$CXXFLAGS"
-	    PREV_LDFLAGS="$LDFLAGS"
-	    CXXFLAGS="$CXXFLAGS $DEFAULT_FREETYPE_CFLAGS"
-	    LDFLAGS="$LDFLAGS $DEFAULT_FREETYPE_LIBS"
-	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include<ft2build.h>
-	                    #include FT_FREETYPE_H
-	                   int main() { return 0; }
+      if test -s $SYS_ROOT/usr/X11/include/ft2build.h && test -d $SYS_ROOT/usr/X11/include/freetype2/freetype; then
+        DEFAULT_FREETYPE_CFLAGS="-I$SYS_ROOT/usr/X11/include/freetype2 -I$SYS_ROOT/usr/X11/include"
+        DEFAULT_FREETYPE_LIBS="-L$SYS_ROOT/usr/X11/lib -lfreetype"
+      fi
+      if test -s $SYS_ROOT/usr/include/ft2build.h && test -d $SYS_ROOT/usr/include/freetype2/freetype; then
+        DEFAULT_FREETYPE_CFLAGS="-I$SYS_ROOT/usr/include/freetype2"
+        DEFAULT_FREETYPE_LIBS="-lfreetype"
+      fi
+
+      PREV_CXXCFLAGS="$CXXFLAGS"
+      PREV_LDFLAGS="$LDFLAGS"
+      CXXFLAGS="$CXXFLAGS $DEFAULT_FREETYPE_CFLAGS"
+      LDFLAGS="$LDFLAGS $DEFAULT_FREETYPE_LIBS"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+            #include<ft2build.h>
+            #include FT_FREETYPE_H
+            int main() { return 0; }
 
 _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
 
-	                      # Yes, the default cflags and libs did the trick.
-	                      FREETYPE2_FOUND=yes
-	                      FREETYPE2_CFLAGS="$DEFAULT_FREETYPE_CFLAGS"
-	                      FREETYPE2_LIBS="$DEFAULT_FREETYPE_LIBS"
-
-else
-
-	                      FREETYPE2_FOUND=no
+            # Yes, the default cflags and libs did the trick.
+            FREETYPE2_FOUND=yes
+            FREETYPE2_CFLAGS="$DEFAULT_FREETYPE_CFLAGS"
+            FREETYPE2_LIBS="$DEFAULT_FREETYPE_LIBS"
+
+else
+
+            FREETYPE2_FOUND=no
+
 
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-            CXXCFLAGS="$PREV_CXXFLAGS"
-	    LDFLAGS="$PREV_LDFLAGS"
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE2_FOUND" >&5
+      CXXCFLAGS="$PREV_CXXFLAGS"
+      LDFLAGS="$PREV_LDFLAGS"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE2_FOUND" >&5
 $as_echo "$FREETYPE2_FOUND" >&6; }
-            USING_SYSTEM_FT_LIB=true
-	fi
-	if test "x$FREETYPE2_FOUND" = xno; then
-
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # freetype2 is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=freetype2
-    PKGHANDLER_COMMAND=
-
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+      USING_SYSTEM_FT_LIB=true
+    fi
+    if test "x$FREETYPE2_FOUND" = xno; then
+
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # freetype2 is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=freetype2
+  PKGHANDLER_COMMAND=
+
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
-
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
-
-		as_fn_error $? "Could not find freetype2! $HELP_MSG " "$LINENO" 5
-	fi
-
-        if test "x$OPENJDK_TARGET_OS" != xwindows; then
-            # AC_CHECK_LIB does not support use of cl.exe
-            PREV_LDFLAGS="$LDFLAGS"
-            LDFLAGS="$FREETYPE2_LIBS"
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT_Init_FreeType in -lfreetype" >&5
+  esac
+
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
+
+      as_fn_error $? "Could not find freetype2! $HELP_MSG " "$LINENO" 5
+    fi
+
+    if test "x$OPENJDK_TARGET_OS" != xwindows; then
+      # AC_CHECK_LIB does not support use of cl.exe
+      PREV_LDFLAGS="$LDFLAGS"
+      LDFLAGS="$FREETYPE2_LIBS"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT_Init_FreeType in -lfreetype" >&5
 $as_echo_n "checking for FT_Init_FreeType in -lfreetype... " >&6; }
 if ${ac_cv_lib_freetype_FT_Init_FreeType+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -31462,22 +31459,21 @@
   as_fn_error $? "Could not find freetype2! $HELP_MSG " "$LINENO" 5
 fi
 
-            LDFLAGS="$PREV_LDFLAGS"
-        fi
-fi
-
-
-
-
-
-
-
-
-
-###############################################################################
-#
-# Check for alsa headers and libraries. Used on Linux/GNU systems.
-#
+      LDFLAGS="$PREV_LDFLAGS"
+    fi
+  fi
+
+
+
+
+
+
+
+
+  ###############################################################################
+  #
+  # Check for alsa headers and libraries. Used on Linux/GNU systems.
+  #
 
 # Check whether --with-alsa was given.
 if test "${with_alsa+set}" = set; then :
@@ -31497,181 +31493,181 @@
 fi
 
 
-if test "x$ALSA_NOT_NEEDED" = xyes; then
-	if test "x${with_alsa}" != x || test "x${with_alsa_include}" != x || test "x${with_alsa_lib}" != x; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: alsa not used, so --with-alsa is ignored" >&5
+  if test "x$ALSA_NOT_NEEDED" = xyes; then
+    if test "x${with_alsa}" != x || test "x${with_alsa_include}" != x || test "x${with_alsa_lib}" != x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: alsa not used, so --with-alsa is ignored" >&5
 $as_echo "$as_me: WARNING: alsa not used, so --with-alsa is ignored" >&2;}
-	fi
-	ALSA_CFLAGS=
-	ALSA_LIBS=
-else
-	ALSA_FOUND=no
-
-	if test "x${with_alsa}" = xno || test "x${with_alsa_include}" = xno || test "x${with_alsa_lib}" = xno; then
-	    as_fn_error $? "It is not possible to disable the use of alsa. Remove the --without-alsa option." "$LINENO" 5
-	fi
-
-	if test "x${with_alsa}" != x; then
-	    ALSA_LIBS="-L${with_alsa}/lib -lalsa"
-	    ALSA_CFLAGS="-I${with_alsa}/include"
-	    ALSA_FOUND=yes
-	fi
-	if test "x${with_alsa_include}" != x; then
-	    ALSA_CFLAGS="-I${with_alsa_include}"
-	    ALSA_FOUND=yes
-	fi
-	if test "x${with_alsa_lib}" != x; then
-	    ALSA_LIBS="-L${with_alsa_lib} -lalsa"
-	    ALSA_FOUND=yes
-	fi
-	if test "x$ALSA_FOUND" = xno; then
-
-
-    if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
-        # Source the builddeps file again, to make sure it uses the latest variables!
-        . $builddepsfile
-        # Look for a target and build machine specific resource!
-        eval resource=\${builddep_alsa_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a target specific resource
-            eval resource=\${builddep_alsa_TARGET_${rewritten_target_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a build specific resource
-            eval resource=\${builddep_alsa_BUILD_${rewritten_build_var}}
-        fi
-        if test "x$resource" = x; then
-            # Ok, lets instead look for a generic resource
-            # (The alsa comes from M4 and not the shell, thus no need for eval here.)
-            resource=${builddep_alsa}
-        fi
-        if test "x$resource" != x; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for alsa" >&5
+    fi
+    ALSA_CFLAGS=
+    ALSA_LIBS=
+  else
+    ALSA_FOUND=no
+
+    if test "x${with_alsa}" = xno || test "x${with_alsa_include}" = xno || test "x${with_alsa_lib}" = xno; then
+      as_fn_error $? "It is not possible to disable the use of alsa. Remove the --without-alsa option." "$LINENO" 5
+    fi
+
+    if test "x${with_alsa}" != x; then
+      ALSA_LIBS="-L${with_alsa}/lib -lalsa"
+      ALSA_CFLAGS="-I${with_alsa}/include"
+      ALSA_FOUND=yes
+    fi
+    if test "x${with_alsa_include}" != x; then
+      ALSA_CFLAGS="-I${with_alsa_include}"
+      ALSA_FOUND=yes
+    fi
+    if test "x${with_alsa_lib}" != x; then
+      ALSA_LIBS="-L${with_alsa_lib} -lalsa"
+      ALSA_FOUND=yes
+    fi
+    if test "x$ALSA_FOUND" = xno; then
+
+
+  if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
+    # Source the builddeps file again, to make sure it uses the latest variables!
+    . $builddepsfile
+    # Look for a target and build machine specific resource!
+    eval resource=\${builddep_alsa_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a target specific resource
+      eval resource=\${builddep_alsa_TARGET_${rewritten_target_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a build specific resource
+      eval resource=\${builddep_alsa_BUILD_${rewritten_build_var}}
+    fi
+    if test "x$resource" = x; then
+      # Ok, lets instead look for a generic resource
+      # (The alsa comes from M4 and not the shell, thus no need for eval here.)
+      resource=${builddep_alsa}
+    fi
+    if test "x$resource" != x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for alsa" >&5
 $as_echo "$as_me: Using builddeps $resource for alsa" >&6;}
-	    # If the resource in the builddeps.conf file is an existing directory,
-	    # for example /java/linux/cups
-	    if test -d ${resource}; then
-	       depdir=${resource}
-	    else
-
-# alsa is for example mymodule
-# $resource is for example libs/general/libmymod_1_2_3.zip
-# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
-# $with_builddeps_dir is for example /localhome/builddeps
-# depdir is the name of the variable into which we store the depdir, eg MYMOD
-# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
-# unzip into the directory: /localhome/builddeps/libmymod_1_2_3
-    filename=`basename $resource`
-    filebase=`echo $filename | sed 's/\.[^\.]*$//'`
-    filebase=${filename%%.*}
-    extension=${filename#*.}
-    installdir=$with_builddeps_dir/$filebase
-    if test ! -f $installdir/$filename.unpacked; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency alsa from $with_builddeps_server/$resource and installing into $installdir" >&5
+      # If the resource in the builddeps.conf file is an existing directory,
+      # for example /java/linux/cups
+      if test -d ${resource}; then
+        depdir=${resource}
+      else
+
+  # alsa is for example mymodule
+  # $resource is for example libs/general/libmymod_1_2_3.zip
+  # $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps
+  # $with_builddeps_dir is for example /localhome/builddeps
+  # depdir is the name of the variable into which we store the depdir, eg MYMOD
+  # Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
+  # unzip into the directory: /localhome/builddeps/libmymod_1_2_3
+  filename=`basename $resource`
+  filebase=`echo $filename | sed 's/\.[^\.]*$//'`
+  filebase=${filename%%.*}
+  extension=${filename#*.}
+  installdir=$with_builddeps_dir/$filebase
+  if test ! -f $installdir/$filename.unpacked; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency alsa from $with_builddeps_server/$resource and installing into $installdir" >&5
 $as_echo "$as_me: Downloading build dependency alsa from $with_builddeps_server/$resource and installing into $installdir" >&6;}
-        if test ! -d $installdir; then
-            mkdir -p $installdir
-        fi
-        if test ! -d $installdir; then
-            as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
-        fi
-        tmpfile=`mktemp $installdir/alsa.XXXXXXXXX`
-        touch $tmpfile
-        if test ! -f $tmpfile; then
-            as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
-        fi
-
-    # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
-    # $tmpfile is the local file name for the downloaded file.
-    VALID_TOOL=no
-    if test "x$BDEPS_FTP" = xwget; then
-       VALID_TOOL=yes
-       wget -O $tmpfile $with_builddeps_server/$resource
-    fi
-    if test "x$BDEPS_FTP" = xlftp; then
-       VALID_TOOL=yes
-       lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
-    fi
-    if test "x$BDEPS_FTP" = xftp; then
-        VALID_TOOL=yes
-        FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
-        FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
-        FTPUSERPWD=${FTPSERVER%%@*}
-        if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
-            FTPUSER=${userpwd%%:*}
-            FTPPWD=${userpwd#*@}
-            FTPSERVER=${FTPSERVER#*@}
-        else
-            FTPUSER=ftp
-            FTPPWD=ftp
-        fi
-        # the "pass" command does not work on some
-        # ftp clients (read ftp.exe) but if it works,
-        # passive mode is better!
-        (\
-            echo "user $FTPUSER $FTPPWD"        ;\
-            echo "pass"                         ;\
-            echo "bin"                          ;\
-            echo "get $FTPPATH $tmpfile"              ;\
-        ) | ftp -in $FTPSERVER
-    fi
-    if test "x$VALID_TOOL" != xyes; then
-       as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
-    fi
-
-        mv $tmpfile $installdir/$filename
-        if test ! -s $installdir/$filename; then
-            as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
-        fi
-        case "$extension" in
-            zip)  echo "Unzipping $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
-            ;;
-            tar.gz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            tgz) echo "Untaring $installdir/$filename..."
-               (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
-            ;;
-            *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
-            ;;
-        esac
-    fi
-    if test -f $installdir/$filename.unpacked; then
-        depdir=$installdir
-    fi
-
-	    fi
-            # Source the builddeps file again, because in the previous command, the depdir
-            # was updated to point at the current build dependency install directory.
-            . $builddepsfile
-            # Now extract variables from the builddeps.conf files.
-            theroot=${builddep_alsa_ROOT}
-            thecflags=${builddep_alsa_CFLAGS}
-            thelibs=${builddep_alsa_LIBS}
-            if test "x$depdir" = x; then
-                as_fn_error $? "Could not download build dependency alsa" "$LINENO" 5
-            fi
-            ALSA=$depdir
-            if test "x$theroot" != x; then
-               ALSA="$theroot"
-            fi
-            if test "x$thecflags" != x; then
-               ALSA_CFLAGS="$thecflags"
-            fi
-            if test "x$thelibs" != x; then
-               ALSA_LIBS="$thelibs"
-            fi
-            ALSA_FOUND=yes
-            else ALSA_FOUND=no
-
-        fi
-        else ALSA_FOUND=no
-
-    fi
-
-	fi
-	if test "x$ALSA_FOUND" = xno; then
+    if test ! -d $installdir; then
+      mkdir -p $installdir
+    fi
+    if test ! -d $installdir; then
+      as_fn_error $? "Could not create directory $installdir" "$LINENO" 5
+    fi
+    tmpfile=`mktemp $installdir/alsa.XXXXXXXXX`
+    touch $tmpfile
+    if test ! -f $tmpfile; then
+      as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5
+    fi
+
+  # $with_builddeps_server/$resource  is the ftp://abuilddeps.server.com/libs/cups.zip
+  # $tmpfile is the local file name for the downloaded file.
+  VALID_TOOL=no
+  if test "x$BDEPS_FTP" = xwget; then
+    VALID_TOOL=yes
+    wget -O $tmpfile $with_builddeps_server/$resource
+  fi
+  if test "x$BDEPS_FTP" = xlftp; then
+    VALID_TOOL=yes
+    lftp -c "get $with_builddeps_server/$resource  -o $tmpfile"
+  fi
+  if test "x$BDEPS_FTP" = xftp; then
+    VALID_TOOL=yes
+    FTPSERVER=`echo $with_builddeps_server/$resource  | cut -f 3 -d '/'`
+    FTPPATH=`echo $with_builddeps_server/$resource  | cut -f 4- -d '/'`
+    FTPUSERPWD=${FTPSERVER%%@*}
+    if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
+      FTPUSER=${userpwd%%:*}
+      FTPPWD=${userpwd#*@}
+      FTPSERVER=${FTPSERVER#*@}
+    else
+      FTPUSER=ftp
+      FTPPWD=ftp
+    fi
+    # the "pass" command does not work on some
+    # ftp clients (read ftp.exe) but if it works,
+    # passive mode is better!
+    ( \
+        echo "user $FTPUSER $FTPPWD"        ; \
+        echo "pass"                         ; \
+        echo "bin"                          ; \
+        echo "get $FTPPATH $tmpfile"              ; \
+    ) | ftp -in $FTPSERVER
+  fi
+  if test "x$VALID_TOOL" != xyes; then
+    as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5
+  fi
+
+    mv $tmpfile $installdir/$filename
+    if test ! -s $installdir/$filename; then
+      as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5
+    fi
+    case "$extension" in
+      zip)  echo "Unzipping $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
+        ;;
+      tar.gz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      tgz) echo "Untaring $installdir/$filename..."
+        (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
+        ;;
+      *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5
+        ;;
+    esac
+  fi
+  if test -f $installdir/$filename.unpacked; then
+    depdir=$installdir
+  fi
+
+      fi
+      # Source the builddeps file again, because in the previous command, the depdir
+      # was updated to point at the current build dependency install directory.
+      . $builddepsfile
+      # Now extract variables from the builddeps.conf files.
+      theroot=${builddep_alsa_ROOT}
+      thecflags=${builddep_alsa_CFLAGS}
+      thelibs=${builddep_alsa_LIBS}
+      if test "x$depdir" = x; then
+        as_fn_error $? "Could not download build dependency alsa" "$LINENO" 5
+      fi
+      ALSA=$depdir
+      if test "x$theroot" != x; then
+        ALSA="$theroot"
+      fi
+      if test "x$thecflags" != x; then
+        ALSA_CFLAGS="$thecflags"
+      fi
+      if test "x$thelibs" != x; then
+        ALSA_LIBS="$thelibs"
+      fi
+      ALSA_FOUND=yes
+      else ALSA_FOUND=no
+
+    fi
+    else ALSA_FOUND=no
+
+  fi
+
+    fi
+    if test "x$ALSA_FOUND" = xno; then
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ALSA" >&5
@@ -31739,69 +31735,70 @@
 $as_echo "yes" >&6; }
 	ALSA_FOUND=yes
 fi
-	fi
-	if test "x$ALSA_FOUND" = xno; then
-	    for ac_header in alsa/asoundlib.h
+    fi
+    if test "x$ALSA_FOUND" = xno; then
+      for ac_header in alsa/asoundlib.h
 do :
   ac_fn_cxx_check_header_mongrel "$LINENO" "alsa/asoundlib.h" "ac_cv_header_alsa_asoundlib_h" "$ac_includes_default"
 if test "x$ac_cv_header_alsa_asoundlib_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_ALSA_ASOUNDLIB_H 1
 _ACEOF
- ALSA_FOUND=yes
-	                      ALSA_CFLAGS=-Iignoreme
-	                      ALSA_LIBS=-lasound
-	                      DEFAULT_ALSA=yes
+
+            ALSA_FOUND=yes
+            ALSA_CFLAGS=-Iignoreme
+            ALSA_LIBS=-lasound
+            DEFAULT_ALSA=yes
+
 else
   ALSA_FOUND=no
 fi
 
 done
 
-	fi
-	if test "x$ALSA_FOUND" = xno; then
-
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # alsa is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=alsa
-    PKGHANDLER_COMMAND=
-
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+    fi
+    if test "x$ALSA_FOUND" = xno; then
+
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # alsa is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=alsa
+  PKGHANDLER_COMMAND=
+
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
-
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
-
-	    as_fn_error $? "Could not find alsa! $HELP_MSG " "$LINENO" 5
-	fi
-fi
-
-
-
-
-
-
-
-###############################################################################
-#
-# Check for the jpeg library
-#
-
-USE_EXTERNAL_LIBJPEG=true
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ljpeg" >&5
+  esac
+
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
+
+      as_fn_error $? "Could not find alsa! $HELP_MSG " "$LINENO" 5
+    fi
+  fi
+
+
+
+
+
+
+  ###############################################################################
+  #
+  # Check for the jpeg library
+  #
+
+  USE_EXTERNAL_LIBJPEG=true
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ljpeg" >&5
 $as_echo_n "checking for main in -ljpeg... " >&6; }
 if ${ac_cv_lib_jpeg_main+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -31840,17 +31837,17 @@
 
 else
    USE_EXTERNAL_LIBJPEG=false
-               { $as_echo "$as_me:${as_lineno-$LINENO}: Will use jpeg decoder bundled with the OpenJDK source" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: Will use jpeg decoder bundled with the OpenJDK source" >&5
 $as_echo "$as_me: Will use jpeg decoder bundled with the OpenJDK source" >&6;}
 
 fi
 
 
 
-###############################################################################
-#
-# Check for the gif library
-#
+  ###############################################################################
+  #
+  # Check for the gif library
+  #
 
 
 # Check whether --with-giflib was given.
@@ -31860,25 +31857,25 @@
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for which giflib to use" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for which giflib to use" >&5
 $as_echo_n "checking for which giflib to use... " >&6; }
 
-# default is bundled
-DEFAULT_GIFLIB=bundled
-
-#
-# if user didn't specify, use DEFAULT_GIFLIB
-#
-if test "x${with_giflib}" = "x"; then
+  # default is bundled
+  DEFAULT_GIFLIB=bundled
+
+  #
+  # if user didn't specify, use DEFAULT_GIFLIB
+  #
+  if test "x${with_giflib}" = "x"; then
     with_giflib=${DEFAULT_GIFLIB}
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_giflib}" >&5
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_giflib}" >&5
 $as_echo "${with_giflib}" >&6; }
 
-if test "x${with_giflib}" = "xbundled"; then
+  if test "x${with_giflib}" = "xbundled"; then
     USE_EXTERNAL_LIBGIF=false
-elif test "x${with_giflib}" = "xsystem"; then
+  elif test "x${with_giflib}" = "xsystem"; then
     ac_fn_cxx_check_header_mongrel "$LINENO" "gif_lib.h" "ac_cv_header_gif_lib_h" "$ac_includes_default"
 if test "x$ac_cv_header_gif_lib_h" = xyes; then :
 
@@ -31936,15 +31933,15 @@
 
 
     USE_EXTERNAL_LIBGIF=true
-else
+  else
     as_fn_error $? "Invalid value of --with-giflib: ${with_giflib}, use 'system' or 'bundled'" "$LINENO" 5
-fi
-
-
-###############################################################################
-#
-# Check for the zlib library
-#
+  fi
+
+
+  ###############################################################################
+  #
+  # Check for the zlib library
+  #
 
 
 # Check whether --with-zlib was given.
@@ -31953,7 +31950,7 @@
 fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress in -lz" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress in -lz" >&5
 $as_echo_n "checking for compress in -lz... " >&6; }
 if ${ac_cv_lib_z_compress+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -31996,62 +31993,62 @@
 fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for which zlib to use" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for which zlib to use" >&5
 $as_echo_n "checking for which zlib to use... " >&6; }
 
-DEFAULT_ZLIB=bundled
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
-#
-# On macosx default is system...on others default is
-#
+  DEFAULT_ZLIB=bundled
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+    #
+    # On macosx default is system...on others default is
+    #
     DEFAULT_ZLIB=system
-fi
-
-if test "x${ZLIB_FOUND}" != "xyes"; then
-#
-# If we don't find any system...set default to bundled
-#
+  fi
+
+  if test "x${ZLIB_FOUND}" != "xyes"; then
+    #
+    # If we don't find any system...set default to bundled
+    #
     DEFAULT_ZLIB=bundled
-fi
-
-#
-# If user didn't specify, use DEFAULT_ZLIB
-#
-if test "x${with_zlib}" = "x"; then
+  fi
+
+  #
+  # If user didn't specify, use DEFAULT_ZLIB
+  #
+  if test "x${with_zlib}" = "x"; then
     with_zlib=${DEFAULT_ZLIB}
-fi
-
-if test "x${with_zlib}" = "xbundled"; then
+  fi
+
+  if test "x${with_zlib}" = "xbundled"; then
     USE_EXTERNAL_LIBZ=false
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: bundled" >&5
 $as_echo "bundled" >&6; }
-elif test "x${with_zlib}" = "xsystem"; then
+  elif test "x${with_zlib}" = "xsystem"; then
     if test "x${ZLIB_FOUND}" = "xyes"; then
-        USE_EXTERNAL_LIBZ=true
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: system" >&5
+      USE_EXTERNAL_LIBZ=true
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: system" >&5
 $as_echo "system" >&6; }
     else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: system not found" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: system not found" >&5
 $as_echo "system not found" >&6; }
-        as_fn_error $? "--with-zlib=system specified, but no zlib found!" "$LINENO" 5
-    fi
-else
+      as_fn_error $? "--with-zlib=system specified, but no zlib found!" "$LINENO" 5
+    fi
+  else
     as_fn_error $? "Invalid value for --with-zlib: ${with_zlib}, use 'system' or 'bundled'" "$LINENO" 5
-fi
-
-
-
-###############################################################################
-LIBZIP_CAN_USE_MMAP=true
-
-
-
-###############################################################################
-#
-# Check if altzone exists in time.h
-#
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  fi
+
+
+
+  ###############################################################################
+  LIBZIP_CAN_USE_MMAP=true
+
+
+
+  ###############################################################################
+  #
+  # Check if altzone exists in time.h
+  #
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <time.h>
 int
@@ -32069,18 +32066,18 @@
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-if test "x$has_altzone" = xyes; then
+  if test "x$has_altzone" = xyes; then
 
 $as_echo "#define HAVE_ALTZONE 1" >>confdefs.h
 
-fi
-
-###############################################################################
-#
-# Check the maths library
-#
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
+  fi
+
+  ###############################################################################
+  #
+  # Check the maths library
+  #
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
 $as_echo_n "checking for cos in -lm... " >&6; }
 if ${ac_cv_lib_m_cos+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -32125,20 +32122,21 @@
 
 else
 
-                  { $as_echo "$as_me:${as_lineno-$LINENO}: Maths library was not found" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: Maths library was not found" >&5
 $as_echo "$as_me: Maths library was not found" >&6;}
 
-fi
-
-
-
-###############################################################################
-#
-# Check for libdl.so
-
-save_LIBS="$LIBS"
-LIBS=""
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+
+fi
+
+
+
+  ###############################################################################
+  #
+  # Check for libdl.so
+
+  save_LIBS="$LIBS"
+  LIBS=""
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
 if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -32183,25 +32181,24 @@
 
 fi
 
-LIBDL="$LIBS"
-
-LIBS="$save_LIBS"
-
-
-
-###############################################################################
-#
-# statically link libstdc++ before C++ ABI is stablized on Linux unless
-# dynamic build is configured on command line.
-#
+  LIBDL="$LIBS"
+
+  LIBS="$save_LIBS"
+
+
+  ###############################################################################
+  #
+  # statically link libstdc++ before C++ ABI is stablized on Linux unless
+  # dynamic build is configured on command line.
+  #
 
 # Check whether --with-stdc++lib was given.
 if test "${with_stdc__lib+set}" = set; then :
   withval=$with_stdc__lib;
-    if test "x$with_stdc__lib" != xdynamic && test "x$with_stdc__lib" != xstatic \
-        && test "x$with_stdc__lib" != xdefault; then
-      as_fn_error $? "Bad parameter value --with-stdc++lib=$with_stdc__lib!" "$LINENO" 5
-    fi
+        if test "x$with_stdc__lib" != xdynamic && test "x$with_stdc__lib" != xstatic \
+                && test "x$with_stdc__lib" != xdefault; then
+          as_fn_error $? "Bad parameter value --with-stdc++lib=$with_stdc__lib!" "$LINENO" 5
+        fi
 
 else
   with_stdc__lib=default
@@ -32209,7 +32206,7 @@
 fi
 
 
-if test "x$OPENJDK_TARGET_OS" = xlinux; then
+  if test "x$OPENJDK_TARGET_OS" = xlinux; then
     # Test if -lstdc++ works.
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if dynamic link of stdc++ is possible" >&5
 $as_echo_n "checking if dynamic link of stdc++ is possible... " >&6; }
@@ -32293,15 +32290,15 @@
 $as_echo "$has_static_libstdcxx" >&6; }
 
     if test "x$has_static_libstdcxx" = xno && test "x$has_dynamic_libstdcxx" = xno; then
-        as_fn_error $? "Cannot link to stdc++, neither dynamically nor statically!" "$LINENO" 5
+      as_fn_error $? "Cannot link to stdc++, neither dynamically nor statically!" "$LINENO" 5
     fi
 
     if test "x$with_stdc__lib" = xstatic && test "x$has_static_libstdcxx" = xno; then
-        as_fn_error $? "Static linking of libstdc++ was not possible!" "$LINENO" 5
+      as_fn_error $? "Static linking of libstdc++ was not possible!" "$LINENO" 5
     fi
 
     if test "x$with_stdc__lib" = xdynamic && test "x$has_dynamic_libstdcxx" = xno; then
-        as_fn_error $? "Dynamic linking of libstdc++ was not possible!" "$LINENO" 5
+      as_fn_error $? "Dynamic linking of libstdc++ was not possible!" "$LINENO" 5
     fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libstdc++" >&5
@@ -32309,22 +32306,22 @@
     # If dynamic was requested, it's available since it would fail above otherwise.
     # If dynamic wasn't requested, go with static unless it isn't available.
     if test "x$with_stdc__lib" = xdynamic || test "x$has_static_libstdcxx" = xno || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
-        LIBCXX="$LIBCXX -lstdc++"
-        LDCXX="$CXX"
-        STATIC_CXX_SETTING="STATIC_CXX=false"
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: dynamic" >&5
+      LIBCXX="$LIBCXX -lstdc++"
+      LDCXX="$CXX"
+      STATIC_CXX_SETTING="STATIC_CXX=false"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: dynamic" >&5
 $as_echo "dynamic" >&6; }
     else
-        LIBCXX="$LIBCXX $STATIC_STDCXX_FLAGS"
-        LDCXX="$CC"
-        STATIC_CXX_SETTING="STATIC_CXX=true"
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: static" >&5
+      LIBCXX="$LIBCXX $STATIC_STDCXX_FLAGS"
+      LDCXX="$CC"
+      STATIC_CXX_SETTING="STATIC_CXX=true"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: static" >&5
 $as_echo "static" >&6; }
     fi
-fi
-
-
-if test "x$JVM_VARIANT_ZERO" = xtrue || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
+  fi
+
+
+  if test "x$JVM_VARIANT_ZERO" = xtrue || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
     # Figure out LIBFFI_CFLAGS and LIBFFI_LIBS
 
 pkg_failed=no
@@ -32413,9 +32410,9 @@
 	:
 fi
 
-fi
-
-if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
+  fi
+
+  if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
     # Extract the first word of "llvm-config", so it can be a program name with args.
 set dummy llvm-config; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -32455,7 +32452,7 @@
 
 
     if test "x$LLVM_CONFIG" != xllvm-config; then
-        as_fn_error $? "llvm-config not found in $PATH." "$LINENO" 5
+      as_fn_error $? "llvm-config not found in $PATH." "$LINENO" 5
     fi
 
     llvm_components="jit mcjit engine nativecodegen native"
@@ -32496,30 +32493,29 @@
 
 
 
-fi
-
-# libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
-if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$LIBCXX" = x; then
+  fi
+
+  # libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
+  if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$LIBCXX" = x; then
     LIBCXX="/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1"
-fi
-
-# TODO better (platform agnostic) test
-if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$GCC" = xyes; then
+  fi
+
+  # TODO better (platform agnostic) test
+  if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$GCC" = xyes; then
     LIBCXX="-lstdc++"
-fi
-
+  fi
 
 
 
 
 # After we have toolchain and the paths to all libraries (needed by msys), we can compile the fixpath helper
 
-# When using cygwin or msys, we need a wrapper binary that renames
-# /cygdrive/c/ arguments into c:/ arguments and peeks into
-# @files and rewrites these too! This wrapper binary is
-# called fixpath.
-FIXPATH=
-if test "x$OPENJDK_BUILD_OS" = xwindows; then
+  # When using cygwin or msys, we need a wrapper binary that renames
+  # /cygdrive/c/ arguments into c:/ arguments and peeks into
+  # @files and rewrites these too! This wrapper binary is
+  # called fixpath.
+  FIXPATH=
+  if test "x$OPENJDK_BUILD_OS" = xwindows; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fixpath can be created" >&5
 $as_echo_n "checking if fixpath can be created... " >&6; }
     FIXPATH_SRC="$SRC_ROOT/common/src/fixpath.c"
@@ -32546,10 +32542,10 @@
     cd $CURDIR
 
     if test ! -x $OUTPUT_ROOT/fixpath.exe; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-        cat $OUTPUT_ROOT/fixpath1.log
-        as_fn_error $? "Could not create $OUTPUT_ROOT/fixpath.exe" "$LINENO" 5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      cat $OUTPUT_ROOT/fixpath1.log
+      as_fn_error $? "Could not create $OUTPUT_ROOT/fixpath.exe" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
@@ -32559,15 +32555,15 @@
     $FIXPATH $CC $SRC_ROOT/common/src/fixpath.c -Fe$OUTPUT_ROOT/fixpath2.exe > $OUTPUT_ROOT/fixpath2.log 2>&1
     cd $CURDIR
     if test ! -x $OUTPUT_ROOT/fixpath2.exe; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-        cat $OUTPUT_ROOT/fixpath2.log
-        as_fn_error $? "fixpath did not work!" "$LINENO" 5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      cat $OUTPUT_ROOT/fixpath2.log
+      as_fn_error $? "fixpath did not work!" "$LINENO" 5
     fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
     rm -f $OUTPUT_ROOT/fixpath?.??? $OUTPUT_ROOT/fixpath.obj
-fi
+  fi
 
 
 
@@ -32579,30 +32575,29 @@
 ###############################################################################
 
 
-HOTSPOT_MAKE_ARGS="$HOTSPOT_TARGET"
-
-
-# The name of the Service Agent jar.
-SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}"
-if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
-fi
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if elliptic curve crypto implementation is present" >&5
+  HOTSPOT_MAKE_ARGS="$HOTSPOT_TARGET"
+
+
+  # The name of the Service Agent jar.
+  SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}"
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
+  fi
+
+
+
+    { $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/share/native/sun/security/ec/impl"; then
-    ENABLE_INTREE_EC=yes
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+    if test -d "${SRC_ROOT}/jdk/src/share/native/sun/security/ec/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
 
 
 
@@ -32625,39 +32620,38 @@
   if test "x$with_num_cores" = x; then
     # The number of cores were not specified, try to probe them.
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for number of cores" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for number of cores" >&5
 $as_echo_n "checking for number of cores... " >&6; }
-    NUM_CORES=1
-    FOUND_CORES=no
-
-    if test -f /proc/cpuinfo; then
-        # Looks like a Linux (or cygwin) system
-        NUM_CORES=`cat /proc/cpuinfo  | grep -c processor`
-        FOUND_CORES=yes
-    elif test -x /usr/sbin/psrinfo; then
-        # Looks like a Solaris system
-        NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
-        FOUND_CORES=yes
-    elif test -x /usr/sbin/system_profiler; then
-        # Looks like a MacOSX system
-        NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk  '{print $5}'`
-        FOUND_CORES=yes
-    elif test -n "$NUMBER_OF_PROCESSORS"; then
-        # On windows, look in the env
-        NUM_CORES=$NUMBER_OF_PROCESSORS
-        FOUND_CORES=yes
-    fi
-
-    if test "x$FOUND_CORES" = xyes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NUM_CORES" >&5
+  NUM_CORES=1
+  FOUND_CORES=no
+
+  if test -f /proc/cpuinfo; then
+    # Looks like a Linux (or cygwin) system
+    NUM_CORES=`cat /proc/cpuinfo  | grep -c processor`
+    FOUND_CORES=yes
+  elif test -x /usr/sbin/psrinfo; then
+    # Looks like a Solaris system
+    NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
+    FOUND_CORES=yes
+  elif test -x /usr/sbin/system_profiler; then
+    # Looks like a MacOSX system
+    NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk  '{print $5}'`
+    FOUND_CORES=yes
+  elif test -n "$NUMBER_OF_PROCESSORS"; then
+    # On windows, look in the env
+    NUM_CORES=$NUMBER_OF_PROCESSORS
+    FOUND_CORES=yes
+  fi
+
+  if test "x$FOUND_CORES" = xyes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NUM_CORES" >&5
 $as_echo "$NUM_CORES" >&6; }
-    else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: could not detect number of cores, defaulting to 1" >&5
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: could not detect number of cores, defaulting to 1" >&5
 $as_echo "could not detect number of cores, defaulting to 1" >&6; }
-        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This will disable all parallelism from build!" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This will disable all parallelism from build!" >&5
 $as_echo "$as_me: WARNING: This will disable all parallelism from build!" >&2;}
-    fi
-
+  fi
 
   else
     NUM_CORES=$with_num_cores
@@ -32675,42 +32669,42 @@
   if test "x$with_memory_size" = x; then
     # The memory size was not specified, try to probe it.
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for memory size" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for memory size" >&5
 $as_echo_n "checking for memory size... " >&6; }
-    # Default to 1024 MB
-    MEMORY_SIZE=1024
-    FOUND_MEM=no
-
-    if test -f /proc/meminfo; then
-        # Looks like a Linux (or cygwin) system
-        MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'`
-        MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
-        FOUND_MEM=yes
-    elif test -x /usr/sbin/prtconf; then
-        # Looks like a Solaris system
-        MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print $3 }'`
-        FOUND_MEM=yes
-    elif test -x /usr/sbin/system_profiler; then
-        # Looks like a MacOSX system
-        MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk  '{print $2}'`
-        MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
-        FOUND_MEM=yes
-    elif test "x$OPENJDK_BUILD_OS" = xwindows; then
-        # Windows, but without cygwin
-        MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-`
-        MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024`
-        FOUND_MEM=yes
-    fi
-
-    if test "x$FOUND_MEM" = xyes; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MEMORY_SIZE MB" >&5
+  # Default to 1024 MB
+  MEMORY_SIZE=1024
+  FOUND_MEM=no
+
+  if test -f /proc/meminfo; then
+    # Looks like a Linux (or cygwin) system
+    MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'`
+    MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
+    FOUND_MEM=yes
+  elif test -x /usr/sbin/prtconf; then
+    # Looks like a Solaris system
+    MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print $3 }'`
+    FOUND_MEM=yes
+  elif test -x /usr/sbin/system_profiler; then
+    # Looks like a MacOSX system
+    MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk  '{print $2}'`
+    MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
+    FOUND_MEM=yes
+  elif test "x$OPENJDK_BUILD_OS" = xwindows; then
+    # Windows, but without cygwin
+    MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-`
+    MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024`
+    FOUND_MEM=yes
+  fi
+
+  if test "x$FOUND_MEM" = xyes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MEMORY_SIZE MB" >&5
 $as_echo "$MEMORY_SIZE MB" >&6; }
-    else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: could not detect memory size, defaulting to 1024 MB" >&5
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: could not detect memory size, defaulting to 1024 MB" >&5
 $as_echo "could not detect memory size, defaulting to 1024 MB" >&6; }
-        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This might seriously impact build performance!" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This might seriously impact build performance!" >&5
 $as_echo "$as_me: WARNING: This might seriously impact build performance!" >&2;}
-    fi
+  fi
 
   else
     MEMORY_SIZE=$with_memory_size
@@ -32766,224 +32760,223 @@
 fi
 
 
-if test "x$with_sjavac_server_java" != x; then
+  if test "x$with_sjavac_server_java" != x; then
     SJAVAC_SERVER_JAVA="$with_sjavac_server_java"
     FOUND_VERSION=`$SJAVAC_SERVER_JAVA -version 2>&1 | grep " version \""`
     if test "x$FOUND_VERSION" = x; then
-        as_fn_error $? "Could not execute server java: $SJAVAC_SERVER_JAVA" "$LINENO" 5
-    fi
-else
+      as_fn_error $? "Could not execute server java: $SJAVAC_SERVER_JAVA" "$LINENO" 5
+    fi
+  else
     SJAVAC_SERVER_JAVA=""
     # Hotspot specific options.
 
-    $ECHO "Check if jvm arg is ok: -verbosegc" >&5
-    $ECHO "Command: $JAVA -verbosegc -version" >&5
-    OUTPUT=`$JAVA -verbosegc -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -verbosegc"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
+  $ECHO "Check if jvm arg is ok: -verbosegc" >&5
+  $ECHO "Command: $JAVA -verbosegc -version" >&5
+  OUTPUT=`$JAVA -verbosegc -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -verbosegc"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
 
     # JRockit specific options.
 
-    $ECHO "Check if jvm arg is ok: -Xverbose:gc" >&5
-    $ECHO "Command: $JAVA -Xverbose:gc -version" >&5
-    OUTPUT=`$JAVA -Xverbose:gc -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xverbose:gc"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
+  $ECHO "Check if jvm arg is ok: -Xverbose:gc" >&5
+  $ECHO "Command: $JAVA -Xverbose:gc -version" >&5
+  OUTPUT=`$JAVA -Xverbose:gc -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xverbose:gc"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
 
     SJAVAC_SERVER_JAVA="$JAVA $SJAVAC_SERVER_JAVA"
-fi
-
-
-if test "$MEMORY_SIZE" -gt "2500"; then
-
-    $ECHO "Check if jvm arg is ok: -d64" >&5
-    $ECHO "Command: $SJAVAC_SERVER_JAVA -d64 -version" >&5
-    OUTPUT=`$SJAVAC_SERVER_JAVA -d64 -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -d64"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
+  fi
+
+
+  if test "$MEMORY_SIZE" -gt "2500"; then
+
+  $ECHO "Check if jvm arg is ok: -d64" >&5
+  $ECHO "Command: $SJAVAC_SERVER_JAVA -d64 -version" >&5
+  OUTPUT=`$SJAVAC_SERVER_JAVA -d64 -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -d64"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
 
     if test "$JVM_ARG_OK" = true; then
-        JVM_64BIT=true
-	JVM_ARG_OK=false
-    fi
-    fi
-
-if test "$JVM_64BIT" = true; then
+      JVM_64BIT=true
+      JVM_ARG_OK=false
+    fi
+  fi
+
+  if test "$JVM_64BIT" = true; then
     if test "$MEMORY_SIZE" -gt "17000"; then
 
-    $ECHO "Check if jvm arg is ok: -Xms10G -Xmx10G" >&5
-    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms10G -Xmx10G -version" >&5
-    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms10G -Xmx10G -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms10G -Xmx10G"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
+  $ECHO "Check if jvm arg is ok: -Xms10G -Xmx10G" >&5
+  $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms10G -Xmx10G -version" >&5
+  OUTPUT=`$SJAVAC_SERVER_JAVA -Xms10G -Xmx10G -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms10G -Xmx10G"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
 
     fi
     if test "$MEMORY_SIZE" -gt "10000" && test "$JVM_ARG_OK" = false; then
 
-    $ECHO "Check if jvm arg is ok: -Xms6G -Xmx6G" >&5
-    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms6G -Xmx6G -version" >&5
-    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms6G -Xmx6G -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms6G -Xmx6G"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
+  $ECHO "Check if jvm arg is ok: -Xms6G -Xmx6G" >&5
+  $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms6G -Xmx6G -version" >&5
+  OUTPUT=`$SJAVAC_SERVER_JAVA -Xms6G -Xmx6G -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms6G -Xmx6G"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
 
     fi
     if test "$MEMORY_SIZE" -gt "5000" && test "$JVM_ARG_OK" = false; then
 
-    $ECHO "Check if jvm arg is ok: -Xms1G -Xmx3G" >&5
-    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms1G -Xmx3G -version" >&5
-    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx3G -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms1G -Xmx3G"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
+  $ECHO "Check if jvm arg is ok: -Xms1G -Xmx3G" >&5
+  $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms1G -Xmx3G -version" >&5
+  OUTPUT=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx3G -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms1G -Xmx3G"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
 
     fi
     if test "$MEMORY_SIZE" -gt "3800" && test "$JVM_ARG_OK" = false; then
 
-    $ECHO "Check if jvm arg is ok: -Xms1G -Xmx2500M" >&5
-    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M -version" >&5
-    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
-
-    fi
-fi
-if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then
-
-    $ECHO "Check if jvm arg is ok: -Xms1000M -Xmx1500M" >&5
-    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms1000M -Xmx1500M -version" >&5
-    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms1000M -Xmx1500M -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms1000M -Xmx1500M"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
-
-fi
-if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then
-
-    $ECHO "Check if jvm arg is ok: -Xms400M -Xmx1100M" >&5
-    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M -version" >&5
-    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
-
-fi
-if test "$JVM_ARG_OK" = false; then
-
-    $ECHO "Check if jvm arg is ok: -Xms256M -Xmx512M" >&5
-    $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms256M -Xmx512M -version" >&5
-    OUTPUT=`$SJAVAC_SERVER_JAVA -Xms256M -Xmx512M -version 2>&1`
-    FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
-    FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
-    if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
-        SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms256M -Xmx512M"
-	JVM_ARG_OK=true
-    else
-	$ECHO "Arg failed:" >&5
-	$ECHO "$OUTPUT" >&5
-	JVM_ARG_OK=false
-    fi
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use sjavac" >&5
+  $ECHO "Check if jvm arg is ok: -Xms1G -Xmx2500M" >&5
+  $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M -version" >&5
+  OUTPUT=`$SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms1G -Xmx2500M"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
+
+    fi
+  fi
+  if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then
+
+  $ECHO "Check if jvm arg is ok: -Xms1000M -Xmx1500M" >&5
+  $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms1000M -Xmx1500M -version" >&5
+  OUTPUT=`$SJAVAC_SERVER_JAVA -Xms1000M -Xmx1500M -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms1000M -Xmx1500M"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
+
+  fi
+  if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then
+
+  $ECHO "Check if jvm arg is ok: -Xms400M -Xmx1100M" >&5
+  $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M -version" >&5
+  OUTPUT=`$SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms400M -Xmx1100M"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
+
+  fi
+  if test "$JVM_ARG_OK" = false; then
+
+  $ECHO "Check if jvm arg is ok: -Xms256M -Xmx512M" >&5
+  $ECHO "Command: $SJAVAC_SERVER_JAVA -Xms256M -Xmx512M -version" >&5
+  OUTPUT=`$SJAVAC_SERVER_JAVA -Xms256M -Xmx512M -version 2>&1`
+  FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+  FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+  if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+    SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms256M -Xmx512M"
+    JVM_ARG_OK=true
+  else
+    $ECHO "Arg failed:" >&5
+    $ECHO "$OUTPUT" >&5
+    JVM_ARG_OK=false
+  fi
+
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use sjavac" >&5
 $as_echo_n "checking whether to use sjavac... " >&6; }
-# Check whether --enable-sjavac was given.
+  # Check whether --enable-sjavac was given.
 if test "${enable_sjavac+set}" = set; then :
   enableval=$enable_sjavac; ENABLE_SJAVAC="${enableval}"
 else
   ENABLE_SJAVAC='no'
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_SJAVAC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_SJAVAC" >&5
 $as_echo "$ENABLE_SJAVAC" >&6; }
 
 
-if test "x$ENABLE_SJAVAC" = xyes; then
+  if test "x$ENABLE_SJAVAC" = xyes; then
     SJAVAC_SERVER_DIR="$OUTPUT_ROOT/javacservers"
-else
+  else
     SJAVAC_SERVER_DIR=
-fi
-
+  fi
 
 
 
 # Can the C/C++ compiler use precompiled headers?
 
 
-###############################################################################
-#
-# Can the C/C++ compiler use precompiled headers?
-#
-# Check whether --enable-precompiled-headers was given.
+  ###############################################################################
+  #
+  # Can the C/C++ compiler use precompiled headers?
+  #
+  # Check whether --enable-precompiled-headers was given.
 if test "${enable_precompiled_headers+set}" = set; then :
   enableval=$enable_precompiled_headers; ENABLE_PRECOMPH=${enable_precompiled_headers}
 else
@@ -32991,48 +32984,48 @@
 fi
 
 
-USE_PRECOMPILED_HEADER=1
-if test "x$ENABLE_PRECOMPH" = xno; then
+  USE_PRECOMPILED_HEADER=1
+  if test "x$ENABLE_PRECOMPH" = xno; then
     USE_PRECOMPILED_HEADER=0
-fi
-
-if test "x$ENABLE_PRECOMPH" = xyes; then
+  fi
+
+  if test "x$ENABLE_PRECOMPH" = xyes; then
     # Check that the compiler actually supports precomp headers.
     if test "x$GCC" = xyes; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking that precompiled headers work" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking that precompiled headers work" >&5
 $as_echo_n "checking that precompiled headers work... " >&6; }
-         echo "int alfa();" > conftest.h
-         $CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&5 >&5
-         if test ! -f conftest.hpp.gch; then
-             USE_PRECOMPILED_HEADER=0
-             { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-         else
-             { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+      echo "int alfa();" > conftest.h
+      $CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&5 >&5
+      if test ! -f conftest.hpp.gch; then
+        USE_PRECOMPILED_HEADER=0
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-         fi
-         rm -f conftest.h conftest.hpp.gch
-    fi
-fi
+      fi
+      rm -f conftest.h conftest.hpp.gch
+    fi
+  fi
 
 
 
 
 # Setup use of ccache, if available
 
-    # Check whether --enable-ccache was given.
+  # Check whether --enable-ccache was given.
 if test "${enable_ccache+set}" = set; then :
   enableval=$enable_ccache; ENABLE_CCACHE=${enable_ccache}
 else
   ENABLE_CCACHE=yes
 fi
 
-    if test "x$ENABLE_CCACHE" = xyes; then
-        OLD_PATH="$PATH"
-        if test "x$TOOLS_DIR" != x; then
-          PATH=$TOOLS_DIR:$PATH
-        fi
-        # Extract the first word of "ccache", so it can be a program name with args.
+  if test "x$ENABLE_CCACHE" = xyes; then
+    OLD_PATH="$PATH"
+    if test "x$TOOLS_DIR" != x; then
+      PATH=$TOOLS_DIR:$PATH
+    fi
+    # Extract the first word of "ccache", so it can be a program name with args.
 set dummy ccache; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -33072,14 +33065,14 @@
 fi
 
 
-        PATH="$OLD_PATH"
-    else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ccache" >&5
+    PATH="$OLD_PATH"
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ccache" >&5
 $as_echo_n "checking for ccache... " >&6; }
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: explicitly disabled" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: explicitly disabled" >&5
 $as_echo "explicitly disabled" >&6; }
-        CCACHE=
-    fi
+    CCACHE=
+  fi
 
 
 
@@ -33089,33 +33082,33 @@
 fi
 
 
-    if test "x$with_ccache_dir" != x; then
-        # When using a non home ccache directory, assume the use is to share ccache files
-        # with other users. Thus change the umask.
-        SET_CCACHE_DIR="CCACHE_DIR=$with_ccache_dir CCACHE_UMASK=002"
-    fi
-    CCACHE_FOUND=""
-    if test "x$CCACHE" != x; then
-
-    if test "x$CCACHE" != x; then
-        CCACHE_FOUND="true"
-        # Only use ccache if it is 3.1.4 or later, which supports
-        # precompiled headers.
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ccache supports precompiled headers" >&5
+  if test "x$with_ccache_dir" != x; then
+    # When using a non home ccache directory, assume the use is to share ccache files
+    # with other users. Thus change the umask.
+    SET_CCACHE_DIR="CCACHE_DIR=$with_ccache_dir CCACHE_UMASK=002"
+  fi
+  CCACHE_FOUND=""
+  if test "x$CCACHE" != x; then
+
+  if test "x$CCACHE" != x; then
+    CCACHE_FOUND="true"
+    # Only use ccache if it is 3.1.4 or later, which supports
+    # precompiled headers.
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ccache supports precompiled headers" >&5
 $as_echo_n "checking if ccache supports precompiled headers... " >&6; }
-        HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.[456789]) 2> /dev/null`
-        if test "x$HAS_GOOD_CCACHE" = x; then
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccache" >&5
+    HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.[456789]) 2> /dev/null`
+    if test "x$HAS_GOOD_CCACHE" = x; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccache" >&5
 $as_echo "no, disabling ccache" >&6; }
-            CCACHE=
-        else
-            { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+      CCACHE=
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking if C-compiler supports ccache precompiled headers" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking if C-compiler supports ccache precompiled headers" >&5
 $as_echo_n "checking if C-compiler supports ccache precompiled headers... " >&6; }
-            PUSHED_FLAGS="$CXXFLAGS"
-            CXXFLAGS="-fpch-preprocess $CXXFLAGS"
-            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+      PUSHED_FLAGS="$CXXFLAGS"
+      CXXFLAGS="-fpch-preprocess $CXXFLAGS"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -33132,30 +33125,30 @@
   CC_KNOWS_CCACHE_TRICK=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-            CXXFLAGS="$PUSHED_FLAGS"
-            if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+      CXXFLAGS="$PUSHED_FLAGS"
+      if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-            else
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccaching of precompiled headers" >&5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccaching of precompiled headers" >&5
 $as_echo "no, disabling ccaching of precompiled headers" >&6; }
-                CCACHE=
-            fi
-        fi
-    fi
-
-    if test "x$CCACHE" != x; then
-        CCACHE_SLOPPINESS=time_macros
-        CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
-        CCACHE_FLAGS=-fpch-preprocess
-
-        if test "x$SET_CCACHE_DIR" != x; then
-            mkdir -p $CCACHE_DIR > /dev/null 2>&1
-	    chmod a+rwxs $CCACHE_DIR > /dev/null 2>&1
-        fi
-    fi
-
-    fi
+        CCACHE=
+      fi
+    fi
+  fi
+
+  if test "x$CCACHE" != x; then
+    CCACHE_SLOPPINESS=time_macros
+    CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
+    CCACHE_FLAGS=-fpch-preprocess
+
+    if test "x$SET_CCACHE_DIR" != x; then
+      mkdir -p $CCACHE_DIR > /dev/null 2>&1
+      chmod a+rwxs $CCACHE_DIR > /dev/null 2>&1
+    fi
+  fi
+
+  fi
 
 
 ###############################################################################
@@ -33174,12 +33167,11 @@
   fi
 
 
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if build directory is on local disk" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if build directory is on local disk" >&5
 $as_echo_n "checking if build directory is on local disk... " >&6; }
 
-	# df -l lists only local disks; if the given directory is not found then
-	# a non-zero exit code is given
+  # df -l lists only local disks; if the given directory is not found then
+  # a non-zero exit code is given
   if test "x$DF" = x; then
     if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
       # msys does not have df; use Windows "net use" instead.
@@ -33201,30 +33193,29 @@
     fi
   fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OUTPUT_DIR_IS_LOCAL" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OUTPUT_DIR_IS_LOCAL" >&5
 $as_echo "$OUTPUT_DIR_IS_LOCAL" >&6; }
 
 
 
-# Check if the user has any old-style ALT_ variables set.
-FOUND_ALT_VARIABLES=`env | grep ^ALT_`
-
-# Before generating output files, test if they exist. If they do, this is a reconfigure.
-# Since we can't properly handle the dependencies for this, warn the user about the situation
-if test -e $OUTPUT_ROOT/spec.gmk; then
-  IS_RECONFIGURE=yes
-else
-  IS_RECONFIGURE=no
-fi
-
-if test -e $SRC_ROOT/build/.hide-configure-performance-hints; then
-  HIDE_PERFORMANCE_HINTS=yes
-else
-  HIDE_PERFORMANCE_HINTS=no
-  # Hide it the next time around...
-  $TOUCH $SRC_ROOT/build/.hide-configure-performance-hints > /dev/null 2>&1
-fi
-
+  # Check if the user has any old-style ALT_ variables set.
+  FOUND_ALT_VARIABLES=`env | grep ^ALT_`
+
+  # Before generating output files, test if they exist. If they do, this is a reconfigure.
+  # Since we can't properly handle the dependencies for this, warn the user about the situation
+  if test -e $OUTPUT_ROOT/spec.gmk; then
+    IS_RECONFIGURE=yes
+  else
+    IS_RECONFIGURE=no
+  fi
+
+  if test -e $SRC_ROOT/build/.hide-configure-performance-hints; then
+    HIDE_PERFORMANCE_HINTS=yes
+  else
+    HIDE_PERFORMANCE_HINTS=no
+    # Hide it the next time around...
+    $TOUCH $SRC_ROOT/build/.hide-configure-performance-hints > /dev/null 2>&1
+  fi
 
 
 # At the end, call the custom hook. (Dummy macro if no custom sources available)
@@ -34525,115 +34516,115 @@
 
 # Finally output some useful information to the user
 
-# Finally output some useful information to the user
-
-if test "x$CCACHE_FOUND" != x; then
-	if  test "x$HAS_GOOD_CCACHE" = x; then
-		CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
-		CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
-	else
-		CCACHE_STATUS="installed and in use"
-	fi
-else
-	if test "x$GCC" = xyes; then
-		CCACHE_STATUS="not installed (consider installing)"
-		CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
-	else
-		CCACHE_STATUS="not available for your system"
-	fi
-fi
-
-printf "\n"
-printf "====================================================\n"
-printf "A new configuration has been successfully created in\n"
-printf "$OUTPUT_ROOT\n"
-if test "x$CONFIGURE_COMMAND_LINE" != x; then
-	printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
-else
-	printf "using default settings.\n"
-fi
-
-printf "\n"
-printf "Configuration summary:\n"
-printf "* Debug level:    $DEBUG_LEVEL\n"
-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 "\n"
-printf "Tools summary:\n"
-if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
-  printf "* Environment:    $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
-fi
-printf "* Boot JDK:       $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
-printf "* C Compiler:     $CC_VENDOR version $CC_VERSION (at $CC)\n"
-printf "* C++ Compiler:   $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
-
-printf "\n"
-printf "Build performance summary:\n"
-printf "* Cores to use:   $JOBS\n"
-printf "* Memory limit:   $MEMORY_SIZE MB\n"
-printf "* ccache status:  $CCACHE_STATUS\n"
-printf "\n"
-
-if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
-	printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
-	printf "$CCACHE_HELP_MSG\n"
-
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # ccache is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=ccache
-    PKGHANDLER_COMMAND=
-
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+  # Finally output some useful information to the user
+
+  if test "x$CCACHE_FOUND" != x; then
+    if  test "x$HAS_GOOD_CCACHE" = x; then
+      CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
+      CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
+    else
+      CCACHE_STATUS="installed and in use"
+    fi
+  else
+    if test "x$GCC" = xyes; then
+      CCACHE_STATUS="not installed (consider installing)"
+      CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
+    else
+      CCACHE_STATUS="not available for your system"
+    fi
+  fi
+
+  printf "\n"
+  printf "====================================================\n"
+  printf "A new configuration has been successfully created in\n"
+  printf "$OUTPUT_ROOT\n"
+  if test "x$CONFIGURE_COMMAND_LINE" != x; then
+    printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
+  else
+    printf "using default settings.\n"
+  fi
+
+  printf "\n"
+  printf "Configuration summary:\n"
+  printf "* Debug level:    $DEBUG_LEVEL\n"
+  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 "\n"
+  printf "Tools summary:\n"
+  if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
+    printf "* Environment:    $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
+  fi
+  printf "* Boot JDK:       $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
+  printf "* C Compiler:     $CC_VENDOR version $CC_VERSION (at $CC)\n"
+  printf "* C++ Compiler:   $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
+
+  printf "\n"
+  printf "Build performance summary:\n"
+  printf "* Cores to use:   $JOBS\n"
+  printf "* Memory limit:   $MEMORY_SIZE MB\n"
+  printf "* ccache status:  $CCACHE_STATUS\n"
+  printf "\n"
+
+  if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
+    printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
+    printf "$CCACHE_HELP_MSG\n"
+
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # ccache is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=ccache
+  PKGHANDLER_COMMAND=
+
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
-
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
-
-	printf "$HELP_MSG\n"
-	printf "\n"
-fi
-
-if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
-	printf "NOTE: You have requested to build more than one version of the JVM, which\n"
-	printf "will result in longer build times.\n"
-	printf "\n"
-fi
-
-if test "x$FOUND_ALT_VARIABLES" != "x"; then
-	printf "WARNING: You have old-style ALT_ environment variables set.\n"
-	printf "These are not respected, and will be ignored. It is recommended\n"
-	printf "that you clean your environment. The following variables are set:\n"
-	printf "$FOUND_ALT_VARIABLES\n"
-	printf "\n"
-fi
-
-if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
-	printf "WARNING: Your build output directory is not on a local disk.\n"
-	printf "This will severely degrade build performance!\n"
-	printf "It is recommended that you create an output directory on a local disk,\n"
-	printf "and run the configure script again from that directory.\n"
-	printf "\n"
-fi
-
-if test "x$IS_RECONFIGURE" = "xyes"; then
-	printf "WARNING: The result of this configuration has overridden an older\n"
-	printf "configuration. You *should* run 'make clean' to make sure you get a\n"
-	printf "proper build. Failure to do so might result in strange build problems.\n"
-	printf "\n"
-fi
-
+  esac
+
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
+
+    printf "$HELP_MSG\n"
+    printf "\n"
+  fi
+
+  if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
+    printf "NOTE: You have requested to build more than one version of the JVM, which\n"
+    printf "will result in longer build times.\n"
+    printf "\n"
+  fi
+
+  if test "x$FOUND_ALT_VARIABLES" != "x"; then
+    printf "WARNING: You have old-style ALT_ environment variables set.\n"
+    printf "These are not respected, and will be ignored. It is recommended\n"
+    printf "that you clean your environment. The following variables are set:\n"
+    printf "$FOUND_ALT_VARIABLES\n"
+    printf "\n"
+  fi
+
+  if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
+    printf "WARNING: Your build output directory is not on a local disk.\n"
+    printf "This will severely degrade build performance!\n"
+    printf "It is recommended that you create an output directory on a local disk,\n"
+    printf "and run the configure script again from that directory.\n"
+    printf "\n"
+  fi
+
+  if test "x$IS_RECONFIGURE" = "xyes"; then
+    printf "WARNING: The result of this configuration has overridden an older\n"
+    printf "configuration. You *should* run 'make clean' to make sure you get a\n"
+    printf "proper build. Failure to do so might result in strange build problems.\n"
+    printf "\n"
+  fi
+
--- a/common/autoconf/help.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/help.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -25,194 +25,194 @@
 
 AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
 [
-    AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
+  AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
 ])
 
 AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
 [
-    # Print a helpful message on how to acquire the necessary build dependency.
-    # $1 is the help tag: freetyp2, cups, pulse, alsa etc
-    MISSING_DEPENDENCY=$1
-    PKGHANDLER_COMMAND=
+  # Print a helpful message on how to acquire the necessary build dependency.
+  # $1 is the help tag: freetyp2, cups, pulse, alsa etc
+  MISSING_DEPENDENCY=$1
+  PKGHANDLER_COMMAND=
 
-    case $PKGHANDLER in
-	apt-get)
-                apt_help     $MISSING_DEPENDENCY ;;
+  case $PKGHANDLER in
+    apt-get)
+      apt_help     $MISSING_DEPENDENCY ;;
     yum)
-                yum_help     $MISSING_DEPENDENCY ;;
-	port)
-                port_help    $MISSING_DEPENDENCY ;;
-	pkgutil)
-                pkgutil_help $MISSING_DEPENDENCY ;;
-	pkgadd)
-                pkgadd_help  $MISSING_DEPENDENCY ;;
+      yum_help     $MISSING_DEPENDENCY ;;
+    port)
+      port_help    $MISSING_DEPENDENCY ;;
+    pkgutil)
+      pkgutil_help $MISSING_DEPENDENCY ;;
+    pkgadd)
+      pkgadd_help  $MISSING_DEPENDENCY ;;
     * )
       break ;;
-    esac
+  esac
 
-    if test "x$PKGHANDLER_COMMAND" != x; then
-        HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
-    fi
+  if test "x$PKGHANDLER_COMMAND" != x; then
+    HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+  fi
 ])
 
 cygwin_help() {
-    case $1 in
+  case $1 in
     unzip)
-        PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip" ;;
+      PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip" ;;
     zip)
-        PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P zip" ;;
+      PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P zip" ;;
     make)
-        PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P make" ;;
+      PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P make" ;;
     * )
-       break ;;
-    esac
+      break ;;
+  esac
 }
 
 apt_help() {
-    case $1 in
+  case $1 in
     devkit)
-        PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
     openjdk)
-        PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
     alsa)
-        PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
     cups)
-        PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
     freetype2)
-        PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
     pulse)
-        PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
     x11)
-        PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
     ccache)
-        PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
+      PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
     * )
-       break ;;
-    esac
+      break ;;
+  esac
 }
 
 yum_help() {
-    case $1 in
+  case $1 in
     devkit)
-        PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
+      PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
     openjdk)
-        PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
+      PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
     alsa)
-        PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
     cups)
-        PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
     freetype2)
-        PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
     pulse)
-        PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
     x11)
-        PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
+      PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
     ccache)
-        PKGHANDLER_COMMAND="sudo yum install ccache" ;;
+      PKGHANDLER_COMMAND="sudo yum install ccache" ;;
     * )
-       break ;;
-    esac
+      break ;;
+  esac
 }
 
 port_help() {
-    PKGHANDLER_COMMAND=""
+  PKGHANDLER_COMMAND=""
 }
 
 pkgutil_help() {
-    PKGHANDLER_COMMAND=""
+  PKGHANDLER_COMMAND=""
 }
 
 pkgadd_help() {
-    PKGHANDLER_COMMAND=""
+  PKGHANDLER_COMMAND=""
 }
 
 AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
 [
-# Finally output some useful information to the user
+  # Finally output some useful information to the user
 
-if test "x$CCACHE_FOUND" != x; then
-	if  test "x$HAS_GOOD_CCACHE" = x; then
-		CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
-		CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
-	else
-		CCACHE_STATUS="installed and in use"
-	fi
-else
-	if test "x$GCC" = xyes; then
-		CCACHE_STATUS="not installed (consider installing)"
-		CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
-	else
-		CCACHE_STATUS="not available for your system"
-	fi
-fi
+  if test "x$CCACHE_FOUND" != x; then
+    if  test "x$HAS_GOOD_CCACHE" = x; then
+      CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
+      CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
+    else
+      CCACHE_STATUS="installed and in use"
+    fi
+  else
+    if test "x$GCC" = xyes; then
+      CCACHE_STATUS="not installed (consider installing)"
+      CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
+    else
+      CCACHE_STATUS="not available for your system"
+    fi
+  fi
 
-printf "\n"
-printf "====================================================\n"
-printf "A new configuration has been successfully created in\n"
-printf "$OUTPUT_ROOT\n"
-if test "x$CONFIGURE_COMMAND_LINE" != x; then
-	printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
-else
-	printf "using default settings.\n"
-fi
+  printf "\n"
+  printf "====================================================\n"
+  printf "A new configuration has been successfully created in\n"
+  printf "$OUTPUT_ROOT\n"
+  if test "x$CONFIGURE_COMMAND_LINE" != x; then
+    printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
+  else
+    printf "using default settings.\n"
+  fi
 
-printf "\n"
-printf "Configuration summary:\n"
-printf "* Debug level:    $DEBUG_LEVEL\n"
-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 "\n"
+  printf "Configuration summary:\n"
+  printf "* Debug level:    $DEBUG_LEVEL\n"
+  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 "\n"
-printf "Tools summary:\n"
-if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
-  printf "* Environment:    $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
-fi
-printf "* Boot JDK:       $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
-printf "* C Compiler:     $CC_VENDOR version $CC_VERSION (at $CC)\n"
-printf "* C++ Compiler:   $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
+  printf "\n"
+  printf "Tools summary:\n"
+  if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
+    printf "* Environment:    $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
+  fi
+  printf "* Boot JDK:       $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
+  printf "* C Compiler:     $CC_VENDOR version $CC_VERSION (at $CC)\n"
+  printf "* C++ Compiler:   $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
 
-printf "\n"
-printf "Build performance summary:\n"
-printf "* Cores to use:   $JOBS\n"
-printf "* Memory limit:   $MEMORY_SIZE MB\n"
-printf "* ccache status:  $CCACHE_STATUS\n"
-printf "\n"
+  printf "\n"
+  printf "Build performance summary:\n"
+  printf "* Cores to use:   $JOBS\n"
+  printf "* Memory limit:   $MEMORY_SIZE MB\n"
+  printf "* ccache status:  $CCACHE_STATUS\n"
+  printf "\n"
 
-if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
-	printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
-	printf "$CCACHE_HELP_MSG\n"
-	HELP_MSG_MISSING_DEPENDENCY([ccache])
-	printf "$HELP_MSG\n"
-	printf "\n"
-fi
+  if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
+    printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
+    printf "$CCACHE_HELP_MSG\n"
+    HELP_MSG_MISSING_DEPENDENCY([ccache])
+    printf "$HELP_MSG\n"
+    printf "\n"
+  fi
 
-if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
-	printf "NOTE: You have requested to build more than one version of the JVM, which\n"
-	printf "will result in longer build times.\n"
-	printf "\n"
-fi
+  if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
+    printf "NOTE: You have requested to build more than one version of the JVM, which\n"
+    printf "will result in longer build times.\n"
+    printf "\n"
+  fi
 
-if test "x$FOUND_ALT_VARIABLES" != "x"; then
-	printf "WARNING: You have old-style ALT_ environment variables set.\n"
-	printf "These are not respected, and will be ignored. It is recommended\n"
-	printf "that you clean your environment. The following variables are set:\n"
-	printf "$FOUND_ALT_VARIABLES\n"
-	printf "\n"
-fi
+  if test "x$FOUND_ALT_VARIABLES" != "x"; then
+    printf "WARNING: You have old-style ALT_ environment variables set.\n"
+    printf "These are not respected, and will be ignored. It is recommended\n"
+    printf "that you clean your environment. The following variables are set:\n"
+    printf "$FOUND_ALT_VARIABLES\n"
+    printf "\n"
+  fi
 
-if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
-	printf "WARNING: Your build output directory is not on a local disk.\n"
-	printf "This will severely degrade build performance!\n"
-	printf "It is recommended that you create an output directory on a local disk,\n"
-	printf "and run the configure script again from that directory.\n"
-	printf "\n"
-fi
+  if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
+    printf "WARNING: Your build output directory is not on a local disk.\n"
+    printf "This will severely degrade build performance!\n"
+    printf "It is recommended that you create an output directory on a local disk,\n"
+    printf "and run the configure script again from that directory.\n"
+    printf "\n"
+  fi
 
-if test "x$IS_RECONFIGURE" = "xyes"; then
-	printf "WARNING: The result of this configuration has overridden an older\n"
-	printf "configuration. You *should* run 'make clean' to make sure you get a\n"
-	printf "proper build. Failure to do so might result in strange build problems.\n"
-	printf "\n"
-fi
+  if test "x$IS_RECONFIGURE" = "xyes"; then
+    printf "WARNING: The result of this configuration has overridden an older\n"
+    printf "configuration. You *should* run 'make clean' to make sure you get a\n"
+    printf "proper build. Failure to do so might result in strange build problems.\n"
+    printf "\n"
+  fi
 ])
--- a/common/autoconf/hotspot-spec.gmk.in	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/hotspot-spec.gmk.in	Wed Jul 05 19:15:55 2017 +0200
@@ -111,12 +111,12 @@
 USE_PRECOMPILED_HEADER=@USE_PRECOMPILED_HEADER@
 
 # Hotspot expects the variable FULL_DEBUG_SYMBOLS=1/0 to control debug symbols
-# creation. 
-ifeq ($(ENABLE_DEBUG_SYMBOLS), true) 
+# creation.
+ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
   FULL_DEBUG_SYMBOLS=1
-  # Ensure hotspot uses the objcopy that configure located 
-  ALT_OBJCOPY:=$(OBJCOPY) 
-else 
+  # Ensure hotspot uses the objcopy that configure located
+  ALT_OBJCOPY:=$(OBJCOPY)
+else
   FULL_DEBUG_SYMBOLS=0
 endif
 
--- a/common/autoconf/jdk-options.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/jdk-options.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -25,235 +25,234 @@
 
 AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VARIANT],
 [
-###############################################################################
-#
-# Check which variant of the JDK that we want to build.
-# Currently we have:
-#    normal:   standard edition   
-# but the custom make system may add other variants
-#
-# Effectively the JDK variant gives a name to a specific set of
-# modules to compile into the JDK. In the future, these modules
-# might even be Jigsaw modules.
-#
-AC_MSG_CHECKING([which variant of the JDK to build])
-AC_ARG_WITH([jdk-variant], [AS_HELP_STRING([--with-jdk-variant],
-	[JDK variant to build (normal) @<:@normal@:>@])])
+  ###############################################################################
+  #
+  # Check which variant of the JDK that we want to build.
+  # Currently we have:
+  #    normal:   standard edition
+  # but the custom make system may add other variants
+  #
+  # Effectively the JDK variant gives a name to a specific set of
+  # modules to compile into the JDK. In the future, these modules
+  # might even be Jigsaw modules.
+  #
+  AC_MSG_CHECKING([which variant of the JDK to build])
+  AC_ARG_WITH([jdk-variant], [AS_HELP_STRING([--with-jdk-variant],
+      [JDK variant to build (normal) @<:@normal@:>@])])
 
-if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then
+  if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then
     JDK_VARIANT="normal"
-else
+  else
     AC_MSG_ERROR([The available JDK variants are: normal])
-fi
+  fi
 
-AC_SUBST(JDK_VARIANT)
+  AC_SUBST(JDK_VARIANT)
 
-AC_MSG_RESULT([$JDK_VARIANT])
+  AC_MSG_RESULT([$JDK_VARIANT])
 ])
 
 AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS],
 [
 
-###############################################################################
-#
-# Check which variants of the JVM that we want to build.
-# Currently we have:
-#    server: normal interpreter and a tiered C1/C2 compiler
-#    client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms)
-#    minimal1: reduced form of client with optional VM services and features stripped out
-#    kernel: kernel footprint JVM that passes the TCK without major performance problems,
-#             ie normal interpreter and C1, only the serial GC, kernel jvmti etc
-#    zero: no machine code interpreter, no compiler
-#    zeroshark: zero interpreter and shark/llvm compiler backend
-AC_MSG_CHECKING([which variants of the JVM to build])
-AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
-	[JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark) @<:@server@:>@])])
+  ###############################################################################
+  #
+  # Check which variants of the JVM that we want to build.
+  # Currently we have:
+  #    server: normal interpreter and a tiered C1/C2 compiler
+  #    client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms)
+  #    minimal1: reduced form of client with optional VM services and features stripped out
+  #    kernel: kernel footprint JVM that passes the TCK without major performance problems,
+  #             ie normal interpreter and C1, only the serial GC, kernel jvmti etc
+  #    zero: no machine code interpreter, no compiler
+  #    zeroshark: zero interpreter and shark/llvm compiler backend
+  AC_MSG_CHECKING([which variants of the JVM to build])
+  AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
+      [JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark) @<:@server@:>@])])
 
-if test "x$with_jvm_variants" = x; then
-     with_jvm_variants="server"
-fi
+  if test "x$with_jvm_variants" = x; then
+    with_jvm_variants="server"
+  fi
 
-JVM_VARIANTS=",$with_jvm_variants,"
-TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
+  JVM_VARIANTS=",$with_jvm_variants,"
+  TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//'  -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
 
-if test "x$TEST_VARIANTS" != "x,"; then
-   AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark])
-fi   
-AC_MSG_RESULT([$with_jvm_variants])
+  if test "x$TEST_VARIANTS" != "x,"; then
+    AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark])
+  fi
+  AC_MSG_RESULT([$with_jvm_variants])
 
-JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'`
-JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'` 
-JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS" | $SED -e '/,minimal1,/!s/.*/false/g' -e '/,minimal1,/s/.*/true/g'`
-JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
-JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
-JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
+  JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'`
+  JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'`
+  JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS" | $SED -e '/,minimal1,/!s/.*/false/g' -e '/,minimal1,/s/.*/true/g'`
+  JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
+  JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
+  JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
 
-if test "x$JVM_VARIANT_CLIENT" = xtrue; then
+  if test "x$JVM_VARIANT_CLIENT" = xtrue; then
     if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-        AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.])
+      AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.])
     fi
-fi
-if test "x$JVM_VARIANT_KERNEL" = xtrue; then
+  fi
+  if test "x$JVM_VARIANT_KERNEL" = xtrue; then
     if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-        AC_MSG_ERROR([You cannot build a kernel JVM for a 64-bit machine.])
+      AC_MSG_ERROR([You cannot build a kernel JVM for a 64-bit machine.])
     fi
-fi
-if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
+  fi
+  if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
     if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-        AC_MSG_ERROR([You cannot build a minimal JVM for a 64-bit machine.])
+      AC_MSG_ERROR([You cannot build a minimal JVM for a 64-bit machine.])
     fi
-fi
+  fi
 
-# Replace the commas with AND for use in the build directory name.
-ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
-COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
-if test "x$COUNT_VARIANTS" != "x,1"; then
+  # Replace the commas with AND for use in the build directory name.
+  ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
+  COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
+  if test "x$COUNT_VARIANTS" != "x,1"; then
     BUILDING_MULTIPLE_JVM_VARIANTS=yes
-else
+  else
     BUILDING_MULTIPLE_JVM_VARIANTS=no
-fi
+  fi
 
-AC_SUBST(JVM_VARIANTS)
-AC_SUBST(JVM_VARIANT_SERVER)
-AC_SUBST(JVM_VARIANT_CLIENT)
-AC_SUBST(JVM_VARIANT_MINIMAL1)
-AC_SUBST(JVM_VARIANT_KERNEL)
-AC_SUBST(JVM_VARIANT_ZERO)
-AC_SUBST(JVM_VARIANT_ZEROSHARK)
+  AC_SUBST(JVM_VARIANTS)
+  AC_SUBST(JVM_VARIANT_SERVER)
+  AC_SUBST(JVM_VARIANT_CLIENT)
+  AC_SUBST(JVM_VARIANT_MINIMAL1)
+  AC_SUBST(JVM_VARIANT_KERNEL)
+  AC_SUBST(JVM_VARIANT_ZERO)
+  AC_SUBST(JVM_VARIANT_ZEROSHARK)
 
-INCLUDE_SA=true
-if test "x$JVM_VARIANT_ZERO" = xtrue ; then
+  INCLUDE_SA=true
+  if test "x$JVM_VARIANT_ZERO" = xtrue ; then
     INCLUDE_SA=false
-fi
-if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
+  fi
+  if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
     INCLUDE_SA=false
-fi
-AC_SUBST(INCLUDE_SA)
+  fi
+  AC_SUBST(INCLUDE_SA)
 
-if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-   MACOSX_UNIVERSAL="true"
-fi
+  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+    MACOSX_UNIVERSAL="true"
+  fi
 
-AC_SUBST(MACOSX_UNIVERSAL)
-
+  AC_SUBST(MACOSX_UNIVERSAL)
 ])
 
 AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],
 [
-###############################################################################
-#
-# Set the debug level
-#    release: no debug information, all optimizations, no asserts.
-#    fastdebug: debug information (-g), all optimizations, all asserts
-#    slowdebug: debug information (-g), no optimizations, all asserts
-#
-DEBUG_LEVEL="release"              
-AC_MSG_CHECKING([which debug level to use])
-AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],
-	[set the debug level to fastdebug (shorthand for --with-debug-level=fastdebug) @<:@disabled@:>@])],
-	[
+  ###############################################################################
+  #
+  # Set the debug level
+  #    release: no debug information, all optimizations, no asserts.
+  #    fastdebug: debug information (-g), all optimizations, all asserts
+  #    slowdebug: debug information (-g), no optimizations, all asserts
+  #
+  DEBUG_LEVEL="release"
+  AC_MSG_CHECKING([which debug level to use])
+  AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],
+      [set the debug level to fastdebug (shorthand for --with-debug-level=fastdebug) @<:@disabled@:>@])],
+      [
         ENABLE_DEBUG="${enableval}"
         DEBUG_LEVEL="fastdebug"
-    ], [ENABLE_DEBUG="no"])
+      ], [ENABLE_DEBUG="no"])
 
-AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level],
-	[set the debug level (release, fastdebug, slowdebug) @<:@release@:>@])],
-	[
+  AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level],
+      [set the debug level (release, fastdebug, slowdebug) @<:@release@:>@])],
+      [
         DEBUG_LEVEL="${withval}"
         if test "x$ENABLE_DEBUG" = xyes; then
-			AC_MSG_ERROR([You cannot use both --enable-debug and --with-debug-level at the same time.])
+          AC_MSG_ERROR([You cannot use both --enable-debug and --with-debug-level at the same time.])
         fi
-    ])
-AC_MSG_RESULT([$DEBUG_LEVEL])
+      ])
+  AC_MSG_RESULT([$DEBUG_LEVEL])
 
-if test "x$DEBUG_LEVEL" != xrelease && \
-   test "x$DEBUG_LEVEL" != xfastdebug && \
-   test "x$DEBUG_LEVEL" != xslowdebug; then
-   AC_MSG_ERROR([Allowed debug levels are: release, fastdebug and slowdebug])
-fi
+  if test "x$DEBUG_LEVEL" != xrelease && \
+      test "x$DEBUG_LEVEL" != xfastdebug && \
+      test "x$DEBUG_LEVEL" != xslowdebug; then
+    AC_MSG_ERROR([Allowed debug levels are: release, fastdebug and slowdebug])
+  fi
 
 
-###############################################################################
-#
-# Setup legacy vars/targets and new vars to deal with different debug levels.
-#
+  ###############################################################################
+  #
+  # Setup legacy vars/targets and new vars to deal with different debug levels.
+  #
 
-case $DEBUG_LEVEL in
-      release )
-          VARIANT="OPT"
-          FASTDEBUG="false"
-          DEBUG_CLASSFILES="false"            
-          BUILD_VARIANT_RELEASE=""             
-          HOTSPOT_DEBUG_LEVEL="product"
-          HOTSPOT_EXPORT="product"
-           ;;
-      fastdebug )
-          VARIANT="DBG"
-          FASTDEBUG="true"
-          DEBUG_CLASSFILES="true"            
-          BUILD_VARIANT_RELEASE="-fastdebug"
-          HOTSPOT_DEBUG_LEVEL="fastdebug"   
-          HOTSPOT_EXPORT="fastdebug"
-           ;;
-      slowdebug )
-          VARIANT="DBG"
-          FASTDEBUG="false"
-          DEBUG_CLASSFILES="true"            
-          BUILD_VARIANT_RELEASE="-debug"             
-          HOTSPOT_DEBUG_LEVEL="jvmg"
-          HOTSPOT_EXPORT="debug"
-           ;;
-esac
+  case $DEBUG_LEVEL in
+    release )
+      VARIANT="OPT"
+      FASTDEBUG="false"
+      DEBUG_CLASSFILES="false"
+      BUILD_VARIANT_RELEASE=""
+      HOTSPOT_DEBUG_LEVEL="product"
+      HOTSPOT_EXPORT="product"
+      ;;
+    fastdebug )
+      VARIANT="DBG"
+      FASTDEBUG="true"
+      DEBUG_CLASSFILES="true"
+      BUILD_VARIANT_RELEASE="-fastdebug"
+      HOTSPOT_DEBUG_LEVEL="fastdebug"
+      HOTSPOT_EXPORT="fastdebug"
+      ;;
+    slowdebug )
+      VARIANT="DBG"
+      FASTDEBUG="false"
+      DEBUG_CLASSFILES="true"
+      BUILD_VARIANT_RELEASE="-debug"
+      HOTSPOT_DEBUG_LEVEL="jvmg"
+      HOTSPOT_EXPORT="debug"
+      ;;
+  esac
 
-#####
-# Generate the legacy makefile targets for hotspot.
-# The hotspot api for selecting the build artifacts, really, needs to be improved.
-# JDK-7195896 will fix this on the hotspot side by using the JVM_VARIANT_* variables to
-# determine what needs to be built. All we will need to set here is all_product, all_fastdebug etc
-# But until then ...
-HOTSPOT_TARGET=""
+  #####
+  # Generate the legacy makefile targets for hotspot.
+  # The hotspot api for selecting the build artifacts, really, needs to be improved.
+  # JDK-7195896 will fix this on the hotspot side by using the JVM_VARIANT_* variables to
+  # determine what needs to be built. All we will need to set here is all_product, all_fastdebug etc
+  # But until then ...
+  HOTSPOT_TARGET=""
 
-if test "x$JVM_VARIANT_SERVER" = xtrue; then
+  if test "x$JVM_VARIANT_SERVER" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL} "
-fi
+  fi
 
-if test "x$JVM_VARIANT_CLIENT" = xtrue; then
+  if test "x$JVM_VARIANT_CLIENT" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}1 "
-fi
+  fi
 
-if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
+  if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}minimal1 "
-fi
+  fi
 
-if test "x$JVM_VARIANT_KERNEL" = xtrue; then
+  if test "x$JVM_VARIANT_KERNEL" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}kernel "
-fi
+  fi
 
-if test "x$JVM_VARIANT_ZERO" = xtrue; then
+  if test "x$JVM_VARIANT_ZERO" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}zero "
-fi
+  fi
 
-if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
+  if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
     HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
-fi
+  fi
 
-HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
+  HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
 
-# On Macosx universal binaries are produced, but they only contain
-# 64 bit intel. This invalidates control of which jvms are built
-# from configure, but only server is valid anyway. Fix this
-# when hotspot makefiles are rewritten.
-if test "x$MACOSX_UNIVERSAL" = xtrue; then
+  # On Macosx universal binaries are produced, but they only contain
+  # 64 bit intel. This invalidates control of which jvms are built
+  # from configure, but only server is valid anyway. Fix this
+  # when hotspot makefiles are rewritten.
+  if test "x$MACOSX_UNIVERSAL" = xtrue; then
     HOTSPOT_TARGET=universal_${HOTSPOT_EXPORT}
-fi
+  fi
 
-#####
+  #####
 
-AC_SUBST(DEBUG_LEVEL)
-AC_SUBST(VARIANT)
-AC_SUBST(FASTDEBUG)
-AC_SUBST(DEBUG_CLASSFILES)
-AC_SUBST(BUILD_VARIANT_RELEASE)
+  AC_SUBST(DEBUG_LEVEL)
+  AC_SUBST(VARIANT)
+  AC_SUBST(FASTDEBUG)
+  AC_SUBST(DEBUG_CLASSFILES)
+  AC_SUBST(BUILD_VARIANT_RELEASE)
 ])
 
 
@@ -264,7 +263,7 @@
 AC_DEFUN_ONCE([JDKOPT_SETUP_OPEN_OR_CUSTOM],
 [
   AC_ARG_ENABLE([openjdk-only], [AS_HELP_STRING([--enable-openjdk-only],
-    [suppress building custom source even if present @<:@disabled@:>@])],,[enable_openjdk_only="no"])
+      [suppress building custom source even if present @<:@disabled@:>@])],,[enable_openjdk_only="no"])
 
   AC_MSG_CHECKING([for presence of closed sources])
   if test -d "$SRC_ROOT/jdk/src/closed"; then
@@ -301,100 +300,100 @@
 AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
 [
 
-###############################################################################
-#
-# Should we build a JDK/JVM with headful support (ie a graphical ui)?
-# We always build headless support.
-#
-AC_MSG_CHECKING([headful support])
-AC_ARG_ENABLE([headful], [AS_HELP_STRING([--disable-headful],
-	[disable building headful support (graphical UI support) @<:@enabled@:>@])],
-    [SUPPORT_HEADFUL=${enable_headful}], [SUPPORT_HEADFUL=yes])
+  ###############################################################################
+  #
+  # Should we build a JDK/JVM with headful support (ie a graphical ui)?
+  # We always build headless support.
+  #
+  AC_MSG_CHECKING([headful support])
+  AC_ARG_ENABLE([headful], [AS_HELP_STRING([--disable-headful],
+      [disable building headful support (graphical UI support) @<:@enabled@:>@])],
+      [SUPPORT_HEADFUL=${enable_headful}], [SUPPORT_HEADFUL=yes])
 
-SUPPORT_HEADLESS=yes
-BUILD_HEADLESS="BUILD_HEADLESS:=true"
+  SUPPORT_HEADLESS=yes
+  BUILD_HEADLESS="BUILD_HEADLESS:=true"
 
-if test "x$SUPPORT_HEADFUL" = xyes; then
+  if test "x$SUPPORT_HEADFUL" = xyes; then
     # We are building both headful and headless.
     headful_msg="include support for both headful and headless"
-fi
+  fi
 
-if test "x$SUPPORT_HEADFUL" = xno; then
+  if test "x$SUPPORT_HEADFUL" = xno; then
     # Thus we are building headless only.
     BUILD_HEADLESS="BUILD_HEADLESS:=true"
     headful_msg="headless only"
-fi
+  fi
 
-AC_MSG_RESULT([$headful_msg])
+  AC_MSG_RESULT([$headful_msg])
 
-AC_SUBST(SUPPORT_HEADLESS)
-AC_SUBST(SUPPORT_HEADFUL)
-AC_SUBST(BUILD_HEADLESS)
+  AC_SUBST(SUPPORT_HEADLESS)
+  AC_SUBST(SUPPORT_HEADFUL)
+  AC_SUBST(BUILD_HEADLESS)
 
-# Control wether Hotspot runs Queens test after build.
-AC_ARG_ENABLE([hotspot-test-in-build], [AS_HELP_STRING([--enable-hotspot-test-in-build],
-	[run the Queens test after Hotspot build @<:@disabled@:>@])],,
-    [enable_hotspot_test_in_build=no])
-if test "x$enable_hotspot_test_in_build" = "xyes"; then
+  # Control wether Hotspot runs Queens test after build.
+  AC_ARG_ENABLE([hotspot-test-in-build], [AS_HELP_STRING([--enable-hotspot-test-in-build],
+      [run the Queens test after Hotspot build @<:@disabled@:>@])],,
+      [enable_hotspot_test_in_build=no])
+  if test "x$enable_hotspot_test_in_build" = "xyes"; then
     TEST_IN_BUILD=true
-else
+  else
     TEST_IN_BUILD=false
-fi
-AC_SUBST(TEST_IN_BUILD)
+  fi
+  AC_SUBST(TEST_IN_BUILD)
 
-###############################################################################
-#
-# Choose cacerts source file
-#
-AC_ARG_WITH(cacerts-file, [AS_HELP_STRING([--with-cacerts-file],
-    [specify alternative cacerts file])])
-if test "x$with_cacerts_file" != x; then
+  ###############################################################################
+  #
+  # Choose cacerts source file
+  #
+  AC_ARG_WITH(cacerts-file, [AS_HELP_STRING([--with-cacerts-file],
+      [specify alternative cacerts file])])
+  if test "x$with_cacerts_file" != x; then
     CACERTS_FILE=$with_cacerts_file
-else
+  else
     CACERTS_FILE=${SRC_ROOT}/jdk/src/share/lib/security/cacerts
-fi
-AC_SUBST(CACERTS_FILE)
+  fi
+  AC_SUBST(CACERTS_FILE)
 
-###############################################################################
-#
-# Enable or disable unlimited crypto
-#
-AC_ARG_ENABLE(unlimited-crypto, [AS_HELP_STRING([--enable-unlimited-crypto],
-        [Enable unlimited crypto policy @<:@disabled@:>@])],,
-    [enable_unlimited_crypto=no])
-if test "x$enable_unlimited_crypto" = "xyes"; then
+  ###############################################################################
+  #
+  # Enable or disable unlimited crypto
+  #
+  AC_ARG_ENABLE(unlimited-crypto, [AS_HELP_STRING([--enable-unlimited-crypto],
+      [Enable unlimited crypto policy @<:@disabled@:>@])],,
+      [enable_unlimited_crypto=no])
+  if test "x$enable_unlimited_crypto" = "xyes"; then
     UNLIMITED_CRYPTO=true
-else
+  else
     UNLIMITED_CRYPTO=false
-fi
-AC_SUBST(UNLIMITED_CRYPTO)
+  fi
+  AC_SUBST(UNLIMITED_CRYPTO)
 
-###############################################################################
-#
-# 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])
+  ###############################################################################
+  #
+  # 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/share/native/sun/security/ec/impl"; then
-    ENABLE_INTREE_EC=yes
-    AC_MSG_RESULT([yes])
-else
-    ENABLE_INTREE_EC=no
-    AC_MSG_RESULT([no])
-fi
+    if test -d "${SRC_ROOT}/jdk/src/share/native/sun/security/ec/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_SUBST(ENABLE_INTREE_EC)
+  ])
 
-###############################################################################
-#
-# Compress jars
-#
-COMPRESS_JARS=false
+  ###############################################################################
+  #
+  # Compress jars
+  #
+  COMPRESS_JARS=false
 
-AC_SUBST(COMPRESS_JARS)
+  AC_SUBST(COMPRESS_JARS)
 ])
 
 ###############################################################################
@@ -403,153 +402,152 @@
 #
 AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS],
 [
-# Source the version numbers
-. $AUTOCONF_DIR/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
+  # 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
+  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"
-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"
+  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 isn't 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(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix],
+      [Add a custom string to the version string if build number isn't 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 'abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`
-    USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+  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
-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 'abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`
+      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)
+  # 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)
 
-COPYRIGHT_YEAR=`date +'%Y'`
-AC_SUBST(COPYRIGHT_YEAR)
+  COPYRIGHT_YEAR=`date +'%Y'`
+  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)
+  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)
+  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],
 [
-HOTSPOT_MAKE_ARGS="$HOTSPOT_TARGET"
-AC_SUBST(HOTSPOT_MAKE_ARGS)
+  HOTSPOT_MAKE_ARGS="$HOTSPOT_TARGET"
+  AC_SUBST(HOTSPOT_MAKE_ARGS)
 
-# The name of the Service Agent jar.
-SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}"
-if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
-fi
-AC_SUBST(SALIB_NAME)
-
+  # The name of the Service Agent jar.
+  SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}"
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
+  fi
+  AC_SUBST(SALIB_NAME)
 ])
 
 AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
 [
-#
-# ENABLE_DEBUG_SYMBOLS
-# This must be done after the toolchain is setup, since we're looking at objcopy.
-#
-AC_ARG_ENABLE([debug-symbols],
-              [AS_HELP_STRING([--disable-debug-symbols],[disable generation of debug symbols @<:@enabled@:>@])])
-
-AC_MSG_CHECKING([if we should generate debug symbols])
+  #
+  # ENABLE_DEBUG_SYMBOLS
+  # This must be done after the toolchain is setup, since we're looking at objcopy.
+  #
+  AC_ARG_ENABLE([debug-symbols],
+      [AS_HELP_STRING([--disable-debug-symbols],[disable generation of debug symbols @<:@enabled@:>@])])
 
-if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then
-   # explicit enabling of enable-debug-symbols and can't find objcopy
-   #   this is an error
-   AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols])
-fi
+  AC_MSG_CHECKING([if we should generate debug symbols])
 
-if test "x$enable_debug_symbols" = "xyes"; then
-  ENABLE_DEBUG_SYMBOLS=true
-elif test "x$enable_debug_symbols" = "xno"; then
-  ENABLE_DEBUG_SYMBOLS=false
-else
-  # default on macosx is false
-  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
-    ENABLE_DEBUG_SYMBOLS=false
-  # Default is on if objcopy is found, otherwise off
-  elif test "x$OBJCOPY" != x || test "x$OPENJDK_TARGET_OS" = xwindows; then
+  if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then
+    # explicit enabling of enable-debug-symbols and can't find objcopy
+    #   this is an error
+    AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols])
+  fi
+
+  if test "x$enable_debug_symbols" = "xyes"; then
     ENABLE_DEBUG_SYMBOLS=true
+  elif test "x$enable_debug_symbols" = "xno"; then
+    ENABLE_DEBUG_SYMBOLS=false
   else
-    ENABLE_DEBUG_SYMBOLS=false
+    # default on macosx is false
+    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+      ENABLE_DEBUG_SYMBOLS=false
+      # Default is on if objcopy is found, otherwise off
+    elif test "x$OBJCOPY" != x || test "x$OPENJDK_TARGET_OS" = xwindows; then
+      ENABLE_DEBUG_SYMBOLS=true
+    else
+      ENABLE_DEBUG_SYMBOLS=false
+    fi
   fi
-fi
 
-AC_MSG_RESULT([$ENABLE_DEBUG_SYMBOLS])
+  AC_MSG_RESULT([$ENABLE_DEBUG_SYMBOLS])
 
-#
-# ZIP_DEBUGINFO_FILES
-#
-AC_MSG_CHECKING([if we should zip debug-info files])
-AC_ARG_ENABLE([zip-debug-info],
-              [AS_HELP_STRING([--disable-zip-debug-info],[disable zipping of debug-info files @<:@enabled@:>@])],
-	      [enable_zip_debug_info="${enableval}"], [enable_zip_debug_info="yes"])
-AC_MSG_RESULT([${enable_zip_debug_info}])
+  #
+  # ZIP_DEBUGINFO_FILES
+  #
+  AC_MSG_CHECKING([if we should zip debug-info files])
+  AC_ARG_ENABLE([zip-debug-info],
+      [AS_HELP_STRING([--disable-zip-debug-info],[disable zipping of debug-info files @<:@enabled@:>@])],
+      [enable_zip_debug_info="${enableval}"], [enable_zip_debug_info="yes"])
+  AC_MSG_RESULT([${enable_zip_debug_info}])
 
-if test "x${enable_zip_debug_info}" = "xno"; then
-   ZIP_DEBUGINFO_FILES=false
-else
-   ZIP_DEBUGINFO_FILES=true
-fi
+  if test "x${enable_zip_debug_info}" = "xno"; then
+    ZIP_DEBUGINFO_FILES=false
+  else
+    ZIP_DEBUGINFO_FILES=true
+  fi
 
-AC_SUBST(ENABLE_DEBUG_SYMBOLS)
-AC_SUBST(ZIP_DEBUGINFO_FILES)
-AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
-AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
+  AC_SUBST(ENABLE_DEBUG_SYMBOLS)
+  AC_SUBST(ZIP_DEBUGINFO_FILES)
+  AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
+  AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
 ])
 
 # Support for customization of the build process. Some build files
@@ -557,5 +555,5 @@
 # for a degree of customization of the build targets and the rules/recipes
 # to create them
 AC_ARG_WITH([custom-make-dir], [AS_HELP_STRING([--with-custom-make-dir],
-    [use this directory for custom build/make files])], [CUSTOM_MAKE_DIR=$with_custom_make_dir])
+[use this directory for custom build/make files])], [CUSTOM_MAKE_DIR=$with_custom_make_dir])
 AC_SUBST(CUSTOM_MAKE_DIR)
--- a/common/autoconf/libraries.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/libraries.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -25,638 +25,645 @@
 
 AC_DEFUN_ONCE([LIB_SETUP_INIT],
 [
-        
-###############################################################################
-#
-# OS specific settings that we never will need to probe.
-#
-if test "x$OPENJDK_TARGET_OS" = xlinux; then
+
+  ###############################################################################
+  #
+  # OS specific settings that we never will need to probe.
+  #
+  if test "x$OPENJDK_TARGET_OS" = xlinux; then
     AC_MSG_CHECKING([what is not needed on Linux?])
     PULSE_NOT_NEEDED=yes
     AC_MSG_RESULT([pulse])
-fi
+  fi
 
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     AC_MSG_CHECKING([what is not needed on Solaris?])
     ALSA_NOT_NEEDED=yes
     PULSE_NOT_NEEDED=yes
     AC_MSG_RESULT([alsa pulse])
-fi
+  fi
 
-if test "x$OPENJDK_TARGET_OS" = xwindows; then
+  if test "x$OPENJDK_TARGET_OS" = xwindows; then
     AC_MSG_CHECKING([what is not needed on Windows?])
-    CUPS_NOT_NEEDED=yes    
+    CUPS_NOT_NEEDED=yes
     ALSA_NOT_NEEDED=yes
     PULSE_NOT_NEEDED=yes
     X11_NOT_NEEDED=yes
     AC_MSG_RESULT([alsa cups pulse x11])
-fi
+  fi
 
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     AC_MSG_CHECKING([what is not needed on MacOSX?])
     ALSA_NOT_NEEDED=yes
     PULSE_NOT_NEEDED=yes
     X11_NOT_NEEDED=yes
-    FREETYPE2_NOT_NEEDED=yes    
+    FREETYPE2_NOT_NEEDED=yes
     # If the java runtime framework is disabled, then we need X11.
     # This will be adjusted below.
     AC_MSG_RESULT([alsa pulse x11])
-fi
+  fi
 
-if test "x$OPENJDK_TARGET_OS" = xbsd; then
+  if test "x$OPENJDK_TARGET_OS" = xbsd; then
     AC_MSG_CHECKING([what is not needed on bsd?])
     ALSA_NOT_NEEDED=yes
-    AC_MSG_RESULT([alsa])    
-fi
+    AC_MSG_RESULT([alsa])
+  fi
 
-if test "x$OPENJDK" = "xfalse"; then
+  if test "x$OPENJDK" = "xfalse"; then
     FREETYPE2_NOT_NEEDED=yes
-fi
+  fi
 
-if test "x$SUPPORT_HEADFUL" = xno; then
+  if test "x$SUPPORT_HEADFUL" = xno; then
     X11_NOT_NEEDED=yes
-fi
+  fi
 
-###############################################################################
-#
-# Check for MacOSX support for OpenJDK. If this exists, try to build a JVM
-# that uses this API. 
-#
-AC_ARG_ENABLE([macosx-runtime-support], [AS_HELP_STRING([--disable-macosx-runtime-support],
-	[disable the use of MacOSX Java runtime support framework @<:@enabled@:>@])],
-	[MACOSX_RUNTIME_SUPPORT="${enableval}"],[MACOSX_RUNTIME_SUPPORT="no"])
+  ###############################################################################
+  #
+  # Check for MacOSX support for OpenJDK. If this exists, try to build a JVM
+  # that uses this API.
+  #
+  AC_ARG_ENABLE([macosx-runtime-support], [AS_HELP_STRING([--disable-macosx-runtime-support],
+      [disable the use of MacOSX Java runtime support framework @<:@enabled@:>@])],
+      [MACOSX_RUNTIME_SUPPORT="${enableval}"],[MACOSX_RUNTIME_SUPPORT="no"])
 
-USE_MACOSX_RUNTIME_SUPPORT=no
-AC_MSG_CHECKING([for explicit Java runtime support in the OS])
-if test -f /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Headers/JavaRuntimeSupport.h; then
+  USE_MACOSX_RUNTIME_SUPPORT=no
+  AC_MSG_CHECKING([for explicit Java runtime support in the OS])
+  if test -f /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Headers/JavaRuntimeSupport.h; then
     if test "x$MACOSX_RUNTIME_SUPPORT" != xno; then
-        MACOSX_RUNTIME_SUPPORT=yes
-        USE_MACOSX_RUNTIME_SUPPORT=yes
-        AC_MSG_RESULT([yes, does not need alsa freetype2 pulse and X11])
+      MACOSX_RUNTIME_SUPPORT=yes
+      USE_MACOSX_RUNTIME_SUPPORT=yes
+      AC_MSG_RESULT([yes, does not need alsa freetype2 pulse and X11])
     else
-        AC_MSG_RESULT([yes, but explicitly disabled.])
+      AC_MSG_RESULT([yes, but explicitly disabled.])
     fi
-else
+  else
     AC_MSG_RESULT([no])
-fi
+  fi
 
-if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$USE_MACOSX_RUNTIME_SUPPORT" = xno; then
+  if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$USE_MACOSX_RUNTIME_SUPPORT" = xno; then
     AC_MSG_CHECKING([what is not needed on an X11 build on MacOSX?])
     X11_NOT_NEEDED=
     FREETYPE2_NOT_NEEDED=
     AC_MSG_RESULT([alsa pulse])
-fi
+  fi
 ])
 
 AC_DEFUN_ONCE([LIB_SETUP_X11],
 [
 
-###############################################################################
-#
-# Check for X Windows
-#
+  ###############################################################################
+  #
+  # Check for X Windows
+  #
 
-# Check if the user has specified sysroot, but not --x-includes or --x-libraries.
-# Make a simple check for the libraries at the sysroot, and setup --x-includes and
-# --x-libraries for the sysroot, if that seems to be correct.
-if test "x$SYS_ROOT" != "x/"; then
-  if test "x$x_includes" = xNONE; then
-    if test -f "$SYS_ROOT/usr/X11R6/include/X11/Xlib.h"; then
-      x_includes="$SYS_ROOT/usr/X11R6/include"
-    elif test -f "$SYS_ROOT/usr/include/X11/Xlib.h"; then
-      x_includes="$SYS_ROOT/usr/include"
+  # Check if the user has specified sysroot, but not --x-includes or --x-libraries.
+  # Make a simple check for the libraries at the sysroot, and setup --x-includes and
+  # --x-libraries for the sysroot, if that seems to be correct.
+  if test "x$SYS_ROOT" != "x/"; then
+    if test "x$x_includes" = xNONE; then
+      if test -f "$SYS_ROOT/usr/X11R6/include/X11/Xlib.h"; then
+        x_includes="$SYS_ROOT/usr/X11R6/include"
+      elif test -f "$SYS_ROOT/usr/include/X11/Xlib.h"; then
+        x_includes="$SYS_ROOT/usr/include"
+      fi
+    fi
+    if test "x$x_libraries" = xNONE; then
+      if test -f "$SYS_ROOT/usr/X11R6/lib/libX11.so"; then
+        x_libraries="$SYS_ROOT/usr/X11R6/lib"
+      elif test "$SYS_ROOT/usr/lib64/libX11.so" && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
+        x_libraries="$SYS_ROOT/usr/lib64"
+      elif test -f "$SYS_ROOT/usr/lib/libX11.so"; then
+        x_libraries="$SYS_ROOT/usr/lib"
+      fi
     fi
   fi
-  if test "x$x_libraries" = xNONE; then
-    if test -f "$SYS_ROOT/usr/X11R6/lib/libX11.so"; then
-      x_libraries="$SYS_ROOT/usr/X11R6/lib"
-    elif test "$SYS_ROOT/usr/lib64/libX11.so" && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-      x_libraries="$SYS_ROOT/usr/lib64"
-    elif test -f "$SYS_ROOT/usr/lib/libX11.so"; then
-      x_libraries="$SYS_ROOT/usr/lib"
-    fi
-  fi
-fi
+
+  # Now let autoconf do it's magic
+  AC_PATH_X
+  AC_PATH_XTRA
 
-# Now let autoconf do it's magic
-AC_PATH_X
-AC_PATH_XTRA
+  # AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
+  # this doesn't make sense so we remove it.
+  if test "x$COMPILE_TYPE" = xcross; then
+    X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[[^ ]]*//g'`
+  fi
 
-# AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
-# this doesn't make sense so we remove it.
-if test "x$COMPILE_TYPE" = xcross; then
-  X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[[^ ]]*//g'`
-fi
-
-if test "x$no_x" = xyes && test "x$X11_NOT_NEEDED" != xyes; then 
+  if test "x$no_x" = xyes && test "x$X11_NOT_NEEDED" != xyes; then
     HELP_MSG_MISSING_DEPENDENCY([x11])
     AC_MSG_ERROR([Could not find X11 libraries. $HELP_MSG])
-fi
+  fi
 
-# Some of the old makefiles require a setting of OPENWIN_HOME
-# Since the X11R6 directory has disappeared on later Linuxes,
-# we need to probe for it.
-if test "x$OPENJDK_TARGET_OS" = xlinux; then
+  # Some of the old makefiles require a setting of OPENWIN_HOME
+  # Since the X11R6 directory has disappeared on later Linuxes,
+  # we need to probe for it.
+  if test "x$OPENJDK_TARGET_OS" = xlinux; then
     if test -d "$SYS_ROOT/usr/X11R6"; then
-        OPENWIN_HOME="$SYS_ROOT/usr/X11R6"
+      OPENWIN_HOME="$SYS_ROOT/usr/X11R6"
     elif test -d "$SYS_ROOT/usr/include/X11"; then
-        OPENWIN_HOME="$SYS_ROOT/usr"
+      OPENWIN_HOME="$SYS_ROOT/usr"
     fi
-fi
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     OPENWIN_HOME="/usr/openwin"
-fi
-AC_SUBST(OPENWIN_HOME)
+  fi
+  AC_SUBST(OPENWIN_HOME)
 
 
-#
-# Weird Sol10 something check...TODO change to try compile
-#
-if test "x${OPENJDK_TARGET_OS}" = xsolaris; then
-  if test "`uname -r`" = "5.10"; then
-     if test "`${EGREP} -c XLinearGradient ${OPENWIN_HOME}/share/include/X11/extensions/Xrender.h`" = "0"; then
-     	X_CFLAGS="${X_CFLAGS} -DSOLARIS10_NO_XRENDER_STRUCTS"
-     fi
+  #
+  # Weird Sol10 something check...TODO change to try compile
+  #
+  if test "x${OPENJDK_TARGET_OS}" = xsolaris; then
+    if test "`uname -r`" = "5.10"; then
+      if test "`${EGREP} -c XLinearGradient ${OPENWIN_HOME}/share/include/X11/extensions/Xrender.h`" = "0"; then
+        X_CFLAGS="${X_CFLAGS} -DSOLARIS10_NO_XRENDER_STRUCTS"
+      fi
+    fi
   fi
-fi
+
+  AC_LANG_PUSH(C)
+  OLD_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS $X_CFLAGS"
 
-AC_LANG_PUSH(C)
-OLD_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $X_CFLAGS"
+  # Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10
+  AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h],
+      [X11_A_OK=yes],
+      [X11_A_OK=no; break],
+      [
+        # include <X11/Xlib.h>
+        # include <X11/Xutil.h>
+      ]
+  )
 
-# Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10
-AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h],
-                 [X11_A_OK=yes],
-                 [X11_A_OK=no; break],
-                 [ # include <X11/Xlib.h>
-                   # include <X11/Xutil.h>
-                 ])
+  CFLAGS="$OLD_CFLAGS"
+  AC_LANG_POP(C)
 
-CFLAGS="$OLD_CFLAGS"
-AC_LANG_POP(C)
-
-if test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then 
+  if test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then
     HELP_MSG_MISSING_DEPENDENCY([x11])
     AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h XTest.h Intrinsic.h). $HELP_MSG])
-fi
+  fi
 
-AC_SUBST(X_CFLAGS)
-AC_SUBST(X_LIBS)
+  AC_SUBST(X_CFLAGS)
+  AC_SUBST(X_LIBS)
 ])
 
 AC_DEFUN_ONCE([LIB_SETUP_CUPS],
 [
 
-###############################################################################
-#
-# The common unix printing system cups is used to print from java.
-#
-AC_ARG_WITH(cups, [AS_HELP_STRING([--with-cups],
-    [specify prefix directory for the cups package
-	 (expecting the headers under PATH/include)])])
-AC_ARG_WITH(cups-include, [AS_HELP_STRING([--with-cups-include],
-	[specify directory for the cups include files])])
+  ###############################################################################
+  #
+  # The common unix printing system cups is used to print from java.
+  #
+  AC_ARG_WITH(cups, [AS_HELP_STRING([--with-cups],
+      [specify prefix directory for the cups package
+      (expecting the headers under PATH/include)])])
+  AC_ARG_WITH(cups-include, [AS_HELP_STRING([--with-cups-include],
+      [specify directory for the cups include files])])
 
-if test "x$CUPS_NOT_NEEDED" = xyes; then
-	if test "x${with_cups}" != x || test "x${with_cups_include}" != x; then
-		AC_MSG_WARN([cups not used, so --with-cups is ignored])
-	fi
-	CUPS_CFLAGS=
-else
-	CUPS_FOUND=no
+  if test "x$CUPS_NOT_NEEDED" = xyes; then
+    if test "x${with_cups}" != x || test "x${with_cups_include}" != x; then
+      AC_MSG_WARN([cups not used, so --with-cups is ignored])
+    fi
+    CUPS_CFLAGS=
+  else
+    CUPS_FOUND=no
 
-	if test "x${with_cups}" = xno || test "x${with_cups_include}" = xno; then
-	    AC_MSG_ERROR([It is not possible to disable the use of cups. Remove the --without-cups option.])
-	fi
+    if test "x${with_cups}" = xno || test "x${with_cups_include}" = xno; then
+      AC_MSG_ERROR([It is not possible to disable the use of cups. Remove the --without-cups option.])
+    fi
 
-	if test "x${with_cups}" != x; then
-	    CUPS_CFLAGS="-I${with_cups}/include"
-	    CUPS_FOUND=yes
-	fi
-	if test "x${with_cups_include}" != x; then
-	    CUPS_CFLAGS="-I${with_cups_include}"
-	    CUPS_FOUND=yes
-	fi
-	if test "x$CUPS_FOUND" = xno; then
-	    BDEPS_CHECK_MODULE(CUPS, cups, xxx, [CUPS_FOUND=yes])
-	fi
-	if test "x$CUPS_FOUND" = xno; then
-	    # Are the cups headers installed in the default /usr/include location?
-	    AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],
-	                     [CUPS_FOUND=yes
-	                      CUPS_CFLAGS=
-	                      DEFAULT_CUPS=yes])
-	fi
-	if test "x$CUPS_FOUND" = xno; then
-	    # Getting nervous now? Lets poke around for standard Solaris third-party
-	    # package installation locations.
-	    AC_MSG_CHECKING([for cups headers])
-	    if test -s /opt/sfw/cups/include/cups/cups.h; then
-	       # An SFW package seems to be installed!
-	       CUPS_FOUND=yes
-	       CUPS_CFLAGS="-I/opt/sfw/cups/include"
-	    elif test -s /opt/csw/include/cups/cups.h; then
-	       # A CSW package seems to be installed!
-	       CUPS_FOUND=yes
-	       CUPS_CFLAGS="-I/opt/csw/include"
-	    fi
-	    AC_MSG_RESULT([$CUPS_FOUND])
-	fi
-	if test "x$CUPS_FOUND" = xno; then 
-	    HELP_MSG_MISSING_DEPENDENCY([cups])
-	    AC_MSG_ERROR([Could not find cups! $HELP_MSG ])
-	fi
-fi
+    if test "x${with_cups}" != x; then
+      CUPS_CFLAGS="-I${with_cups}/include"
+      CUPS_FOUND=yes
+    fi
+    if test "x${with_cups_include}" != x; then
+      CUPS_CFLAGS="-I${with_cups_include}"
+      CUPS_FOUND=yes
+    fi
+    if test "x$CUPS_FOUND" = xno; then
+      BDEPS_CHECK_MODULE(CUPS, cups, xxx, [CUPS_FOUND=yes])
+    fi
+    if test "x$CUPS_FOUND" = xno; then
+      # Are the cups headers installed in the default /usr/include location?
+      AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],
+          [
+            CUPS_FOUND=yes
+            CUPS_CFLAGS=
+            DEFAULT_CUPS=yes
+          ]
+      )
+    fi
+    if test "x$CUPS_FOUND" = xno; then
+      # Getting nervous now? Lets poke around for standard Solaris third-party
+      # package installation locations.
+      AC_MSG_CHECKING([for cups headers])
+      if test -s /opt/sfw/cups/include/cups/cups.h; then
+        # An SFW package seems to be installed!
+        CUPS_FOUND=yes
+        CUPS_CFLAGS="-I/opt/sfw/cups/include"
+      elif test -s /opt/csw/include/cups/cups.h; then
+        # A CSW package seems to be installed!
+        CUPS_FOUND=yes
+        CUPS_CFLAGS="-I/opt/csw/include"
+      fi
+      AC_MSG_RESULT([$CUPS_FOUND])
+    fi
+    if test "x$CUPS_FOUND" = xno; then
+      HELP_MSG_MISSING_DEPENDENCY([cups])
+      AC_MSG_ERROR([Could not find cups! $HELP_MSG ])
+    fi
+  fi
 
-AC_SUBST(CUPS_CFLAGS)
+  AC_SUBST(CUPS_CFLAGS)
 
 ])
 
 AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
 [
 
-###############################################################################
-#
-# The ubiquitous freetype2 library is used to render fonts.
-#
-AC_ARG_WITH(freetype, [AS_HELP_STRING([--with-freetype],
-	[specify prefix directory for the freetype2 package
-     (expecting the libraries under PATH/lib and the headers under PATH/include)])])
+  ###############################################################################
+  #
+  # The ubiquitous freetype2 library is used to render fonts.
+  #
+  AC_ARG_WITH(freetype, [AS_HELP_STRING([--with-freetype],
+      [specify prefix directory for the freetype2 package
+      (expecting the libraries under PATH/lib and the headers under PATH/include)])])
 
-# If we are using the OS installed system lib for freetype, then we do not need to copy it to the build tree
-USING_SYSTEM_FT_LIB=false
+  # If we are using the OS installed system lib for freetype, then we do not need to copy it to the build tree
+  USING_SYSTEM_FT_LIB=false
 
-if test "x$FREETYPE2_NOT_NEEDED" = xyes; then
-	if test "x$with_freetype" != x || test "x$with_freetype_include" != x || test "x$with_freetype_lib" != x; then
-		AC_MSG_WARN([freetype not used, so --with-freetype is ignored])
-	fi
-	FREETYPE2_CFLAGS=
-	FREETYPE2_LIBS=
-        FREETYPE2_LIB_PATH=
-else
-	FREETYPE2_FOUND=no
+  if test "x$FREETYPE2_NOT_NEEDED" = xyes; then
+    if test "x$with_freetype" != x || test "x$with_freetype_include" != x || test "x$with_freetype_lib" != x; then
+      AC_MSG_WARN([freetype not used, so --with-freetype is ignored])
+    fi
+    FREETYPE2_CFLAGS=
+    FREETYPE2_LIBS=
+    FREETYPE2_LIB_PATH=
+  else
+    FREETYPE2_FOUND=no
 
-	if test "x$with_freetype" != x; then
-            BASIC_FIXUP_PATH(with_freetype)
-	    FREETYPE2_LIBS="-L$with_freetype/lib -lfreetype"
-            FREETYPE2_LIB_PATH="$with_freetype/lib"
-            if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64 && test -d "$with_freetype/lib/amd64"; then
-                FREETYPE2_LIBS="-L$with_freetype/lib/amd64 -lfreetype"
-                FREETYPE2_LIB_PATH="$with_freetype/lib/amd64"
-            fi
-            if test "x$OPENJDK_TARGET_OS" = xwindows; then
-                FREETYPE2_LIBS="$with_freetype/lib/freetype.lib"
-            fi
-	    FREETYPE2_CFLAGS="-I$with_freetype/include"
-            if test -s $with_freetype/include/ft2build.h && test -d $with_freetype/include/freetype2/freetype; then
-                FREETYPE2_CFLAGS="-I$with_freetype/include/freetype2 -I$with_freetype/include"
-            fi
- 	    FREETYPE2_FOUND=yes
-   	    if test "x$FREETYPE2_FOUND" = xyes; then
-	        # Verify that the directories exist 
-                if ! test -d "$with_freetype/lib" || ! test -d "$with_freetype/include"; then
-		   AC_MSG_ERROR([Could not find the expected directories $with_freetype/lib and $with_freetype/include])
-		fi
-	        # List the contents of the lib.
-		FREETYPELIB=`ls $with_freetype/lib/libfreetype.so $with_freetype/lib/freetype.dll 2> /dev/null`
-                if test "x$FREETYPELIB" = x; then
-		   AC_MSG_ERROR([Could not find libfreetype.so nor freetype.dll in $with_freetype/lib])
-		fi
-	        # Check one h-file
-                if ! test -s "$with_freetype/include/ft2build.h"; then
-		   AC_MSG_ERROR([Could not find $with_freetype/include/ft2build.h])
-		fi
-            fi
+    if test "x$with_freetype" != x; then
+      BASIC_FIXUP_PATH(with_freetype)
+      FREETYPE2_LIBS="-L$with_freetype/lib -lfreetype"
+      FREETYPE2_LIB_PATH="$with_freetype/lib"
+      if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64 && test -d "$with_freetype/lib/amd64"; then
+        FREETYPE2_LIBS="-L$with_freetype/lib/amd64 -lfreetype"
+        FREETYPE2_LIB_PATH="$with_freetype/lib/amd64"
+      fi
+      if test "x$OPENJDK_TARGET_OS" = xwindows; then
+        FREETYPE2_LIBS="$with_freetype/lib/freetype.lib"
+      fi
+      FREETYPE2_CFLAGS="-I$with_freetype/include"
+      if test -s $with_freetype/include/ft2build.h && test -d $with_freetype/include/freetype2/freetype; then
+        FREETYPE2_CFLAGS="-I$with_freetype/include/freetype2 -I$with_freetype/include"
+      fi
+      FREETYPE2_FOUND=yes
+      if test "x$FREETYPE2_FOUND" = xyes; then
+        # Verify that the directories exist
+        if ! test -d "$with_freetype/lib" || ! test -d "$with_freetype/include"; then
+          AC_MSG_ERROR([Could not find the expected directories $with_freetype/lib and $with_freetype/include])
+        fi
+        # List the contents of the lib.
+        FREETYPELIB=`ls $with_freetype/lib/libfreetype.so $with_freetype/lib/freetype.dll 2> /dev/null`
+        if test "x$FREETYPELIB" = x; then
+          AC_MSG_ERROR([Could not find libfreetype.so nor freetype.dll in $with_freetype/lib])
+        fi
+        # Check one h-file
+        if ! test -s "$with_freetype/include/ft2build.h"; then
+          AC_MSG_ERROR([Could not find $with_freetype/include/ft2build.h])
+        fi
+      fi
+    fi
+    if test "x$FREETYPE2_FOUND" = xno; then
+      BDEPS_CHECK_MODULE(FREETYPE2, freetype2, xxx, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no])
+      USING_SYSTEM_FT_LIB=true
+    fi
+    if test "x$FREETYPE2_FOUND" = xno && test "x$OPENJDK_TARGET_OS" = xwindows; then
+      FREETYPELOCATION="$PROGRAMFILES/GnuWin32"
+      BASIC_FIXUP_PATH(FREETYPELOCATION)
+      AC_MSG_CHECKING([for freetype in some standard windows locations])
+      if test -s "$FREETYPELOCATION/include/ft2build.h" && test -d "$FREETYPELOCATION/include/freetype2/freetype"; then
+        FREETYPE2_CFLAGS="-I$FREETYPELOCATION/include/freetype2 -I$FREETYPELOCATION/include"
+        FREETYPE2_LIBS="$FREETYPELOCATION/lib/freetype.lib"
+        FREETYPE2_LIB_PATH="$FREETYPELOCATION/lib"
+        if ! test -s "$FREETYPE2_LIBS"; then
+          AC_MSG_ERROR([Could not find $FREETYPE2_LIBS])
+        fi
+        if ! test -s "$FREETYPE2_LIB_PATH/freetype.dll"; then
+          AC_MSG_ERROR([Could not find $FREETYPE2_LIB_PATH/freetype.dll])
         fi
-	if test "x$FREETYPE2_FOUND" = xno; then
-	    BDEPS_CHECK_MODULE(FREETYPE2, freetype2, xxx, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no])
-            USING_SYSTEM_FT_LIB=true
-	fi
-	if test "x$FREETYPE2_FOUND" = xno && test "x$OPENJDK_TARGET_OS" = xwindows; then
-            FREETYPELOCATION="$PROGRAMFILES/GnuWin32"
-            BASIC_FIXUP_PATH(FREETYPELOCATION)
-	    AC_MSG_CHECKING([for freetype in some standard windows locations])
-	    if test -s "$FREETYPELOCATION/include/ft2build.h" && test -d "$FREETYPELOCATION/include/freetype2/freetype"; then
-	        FREETYPE2_CFLAGS="-I$FREETYPELOCATION/include/freetype2 -I$FREETYPELOCATION/include"
-	        FREETYPE2_LIBS="$FREETYPELOCATION/lib/freetype.lib"
- 	        FREETYPE2_LIB_PATH="$FREETYPELOCATION/lib"
-                if ! test -s "$FREETYPE2_LIBS"; then
-		   AC_MSG_ERROR([Could not find $FREETYPE2_LIBS])
-		fi
-                if ! test -s "$FREETYPE2_LIB_PATH/freetype.dll"; then
-		   AC_MSG_ERROR([Could not find $FREETYPE2_LIB_PATH/freetype.dll])
-		fi
-                USING_SYSTEM_FT_LIB=true
-                FREETYPE2_FOUND=yes
-	    fi
-	    AC_MSG_RESULT([$FREETYPE2_FOUND])         
-        fi
-	if test "x$FREETYPE2_FOUND" = xno; then
-	    PKG_CHECK_MODULES(FREETYPE2, freetype2, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no])
-            # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us.
-            FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's/-lz//g'` 
-            USING_SYSTEM_FT_LIB=true
-            # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64
-            if test "x$FREETYPE2_FOUND" = xyes && test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
-              FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's?/lib?/lib/amd64?g'`
-            fi
-	fi
-	if test "x$FREETYPE2_FOUND" = xno; then
-	    AC_MSG_CHECKING([for freetype in some standard locations])
-	
-	    if test -s $SYS_ROOT/usr/X11/include/ft2build.h && test -d $SYS_ROOT/usr/X11/include/freetype2/freetype; then
-	        DEFAULT_FREETYPE_CFLAGS="-I$SYS_ROOT/usr/X11/include/freetype2 -I$SYS_ROOT/usr/X11/include"
-	        DEFAULT_FREETYPE_LIBS="-L$SYS_ROOT/usr/X11/lib -lfreetype"
-	    fi
-	    if test -s $SYS_ROOT/usr/include/ft2build.h && test -d $SYS_ROOT/usr/include/freetype2/freetype; then
-	        DEFAULT_FREETYPE_CFLAGS="-I$SYS_ROOT/usr/include/freetype2"
-	        DEFAULT_FREETYPE_LIBS="-lfreetype"
-	    fi
-	
-	    PREV_CXXCFLAGS="$CXXFLAGS"
-	    PREV_LDFLAGS="$LDFLAGS"
-	    CXXFLAGS="$CXXFLAGS $DEFAULT_FREETYPE_CFLAGS"
-	    LDFLAGS="$LDFLAGS $DEFAULT_FREETYPE_LIBS"
-	    AC_LINK_IFELSE([AC_LANG_SOURCE([[#include<ft2build.h>
-	                    #include FT_FREETYPE_H 
-	                   int main() { return 0; }
-	                  ]])],
-	                  [
-	                      # Yes, the default cflags and libs did the trick.
-	                      FREETYPE2_FOUND=yes
-	                      FREETYPE2_CFLAGS="$DEFAULT_FREETYPE_CFLAGS"
-	                      FREETYPE2_LIBS="$DEFAULT_FREETYPE_LIBS"
-	                  ],
-	                  [
-	                      FREETYPE2_FOUND=no
-	                  ])
-            CXXCFLAGS="$PREV_CXXFLAGS"
-	    LDFLAGS="$PREV_LDFLAGS"
-	    AC_MSG_RESULT([$FREETYPE2_FOUND])
-            USING_SYSTEM_FT_LIB=true
-	fi
-	if test "x$FREETYPE2_FOUND" = xno; then
-		HELP_MSG_MISSING_DEPENDENCY([freetype2])
-		AC_MSG_ERROR([Could not find freetype2! $HELP_MSG ])
-	fi
+        USING_SYSTEM_FT_LIB=true
+        FREETYPE2_FOUND=yes
+      fi
+      AC_MSG_RESULT([$FREETYPE2_FOUND])
+    fi
+    if test "x$FREETYPE2_FOUND" = xno; then
+      PKG_CHECK_MODULES(FREETYPE2, freetype2, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no])
+      # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us.
+      FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's/-lz//g'`
+      USING_SYSTEM_FT_LIB=true
+      # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64
+      if test "x$FREETYPE2_FOUND" = xyes && test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+        FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's?/lib?/lib/amd64?g'`
+      fi
+    fi
+    if test "x$FREETYPE2_FOUND" = xno; then
+      AC_MSG_CHECKING([for freetype in some standard locations])
+
+      if test -s $SYS_ROOT/usr/X11/include/ft2build.h && test -d $SYS_ROOT/usr/X11/include/freetype2/freetype; then
+        DEFAULT_FREETYPE_CFLAGS="-I$SYS_ROOT/usr/X11/include/freetype2 -I$SYS_ROOT/usr/X11/include"
+        DEFAULT_FREETYPE_LIBS="-L$SYS_ROOT/usr/X11/lib -lfreetype"
+      fi
+      if test -s $SYS_ROOT/usr/include/ft2build.h && test -d $SYS_ROOT/usr/include/freetype2/freetype; then
+        DEFAULT_FREETYPE_CFLAGS="-I$SYS_ROOT/usr/include/freetype2"
+        DEFAULT_FREETYPE_LIBS="-lfreetype"
+      fi
 
-        if test "x$OPENJDK_TARGET_OS" != xwindows; then
-            # AC_CHECK_LIB does not support use of cl.exe
-            PREV_LDFLAGS="$LDFLAGS"
-            LDFLAGS="$FREETYPE2_LIBS"
-            AC_CHECK_LIB(freetype, FT_Init_FreeType, 
-                         FREETYPE2_FOUND=true, 
-                         AC_MSG_ERROR([Could not find freetype2! $HELP_MSG ]))
-            LDFLAGS="$PREV_LDFLAGS"
-        fi
-fi
+      PREV_CXXCFLAGS="$CXXFLAGS"
+      PREV_LDFLAGS="$LDFLAGS"
+      CXXFLAGS="$CXXFLAGS $DEFAULT_FREETYPE_CFLAGS"
+      LDFLAGS="$LDFLAGS $DEFAULT_FREETYPE_LIBS"
+      AC_LINK_IFELSE([AC_LANG_SOURCE([[
+            #include<ft2build.h>
+            #include FT_FREETYPE_H
+            int main() { return 0; }
+          ]])],
+          [
+            # Yes, the default cflags and libs did the trick.
+            FREETYPE2_FOUND=yes
+            FREETYPE2_CFLAGS="$DEFAULT_FREETYPE_CFLAGS"
+            FREETYPE2_LIBS="$DEFAULT_FREETYPE_LIBS"
+          ],
+          [
+            FREETYPE2_FOUND=no
+          ]
+      )
+      CXXCFLAGS="$PREV_CXXFLAGS"
+      LDFLAGS="$PREV_LDFLAGS"
+      AC_MSG_RESULT([$FREETYPE2_FOUND])
+      USING_SYSTEM_FT_LIB=true
+    fi
+    if test "x$FREETYPE2_FOUND" = xno; then
+      HELP_MSG_MISSING_DEPENDENCY([freetype2])
+      AC_MSG_ERROR([Could not find freetype2! $HELP_MSG ])
+    fi
 
-AC_SUBST(USING_SYSTEM_FT_LIB)
-AC_SUBST(FREETYPE2_LIB_PATH)
-AC_SUBST(FREETYPE2_CFLAGS)
-AC_SUBST(FREETYPE2_LIBS)
+    if test "x$OPENJDK_TARGET_OS" != xwindows; then
+      # AC_CHECK_LIB does not support use of cl.exe
+      PREV_LDFLAGS="$LDFLAGS"
+      LDFLAGS="$FREETYPE2_LIBS"
+      AC_CHECK_LIB(freetype, FT_Init_FreeType,
+          FREETYPE2_FOUND=true,
+          AC_MSG_ERROR([Could not find freetype2! $HELP_MSG ]))
+      LDFLAGS="$PREV_LDFLAGS"
+    fi
+  fi
 
+  AC_SUBST(USING_SYSTEM_FT_LIB)
+  AC_SUBST(FREETYPE2_LIB_PATH)
+  AC_SUBST(FREETYPE2_CFLAGS)
+  AC_SUBST(FREETYPE2_LIBS)
 ])
 
 AC_DEFUN_ONCE([LIB_SETUP_ALSA],
 [
 
-###############################################################################
-#
-# Check for alsa headers and libraries. Used on Linux/GNU systems.
-#
-AC_ARG_WITH(alsa, [AS_HELP_STRING([--with-alsa],
-	[specify prefix directory for the alsa package
-	 (expecting the libraries under PATH/lib and the headers under PATH/include)])])
-AC_ARG_WITH(alsa-include, [AS_HELP_STRING([--with-alsa-include],
-	[specify directory for the alsa include files])])
-AC_ARG_WITH(alsa-lib, [AS_HELP_STRING([--with-alsa-lib],
-	[specify directory for the alsa library])])
+  ###############################################################################
+  #
+  # Check for alsa headers and libraries. Used on Linux/GNU systems.
+  #
+  AC_ARG_WITH(alsa, [AS_HELP_STRING([--with-alsa],
+      [specify prefix directory for the alsa package
+      (expecting the libraries under PATH/lib and the headers under PATH/include)])])
+  AC_ARG_WITH(alsa-include, [AS_HELP_STRING([--with-alsa-include],
+      [specify directory for the alsa include files])])
+  AC_ARG_WITH(alsa-lib, [AS_HELP_STRING([--with-alsa-lib],
+      [specify directory for the alsa library])])
 
-if test "x$ALSA_NOT_NEEDED" = xyes; then
-	if test "x${with_alsa}" != x || test "x${with_alsa_include}" != x || test "x${with_alsa_lib}" != x; then
-		AC_MSG_WARN([alsa not used, so --with-alsa is ignored])
-	fi
-	ALSA_CFLAGS=
-	ALSA_LIBS=
-else
-	ALSA_FOUND=no
+  if test "x$ALSA_NOT_NEEDED" = xyes; then
+    if test "x${with_alsa}" != x || test "x${with_alsa_include}" != x || test "x${with_alsa_lib}" != x; then
+      AC_MSG_WARN([alsa not used, so --with-alsa is ignored])
+    fi
+    ALSA_CFLAGS=
+    ALSA_LIBS=
+  else
+    ALSA_FOUND=no
 
-	if test "x${with_alsa}" = xno || test "x${with_alsa_include}" = xno || test "x${with_alsa_lib}" = xno; then
-	    AC_MSG_ERROR([It is not possible to disable the use of alsa. Remove the --without-alsa option.])
-	fi
+    if test "x${with_alsa}" = xno || test "x${with_alsa_include}" = xno || test "x${with_alsa_lib}" = xno; then
+      AC_MSG_ERROR([It is not possible to disable the use of alsa. Remove the --without-alsa option.])
+    fi
 
-	if test "x${with_alsa}" != x; then
-	    ALSA_LIBS="-L${with_alsa}/lib -lalsa"
-	    ALSA_CFLAGS="-I${with_alsa}/include"
-	    ALSA_FOUND=yes
-	fi
-	if test "x${with_alsa_include}" != x; then
-	    ALSA_CFLAGS="-I${with_alsa_include}"
-	    ALSA_FOUND=yes
-	fi
-	if test "x${with_alsa_lib}" != x; then
-	    ALSA_LIBS="-L${with_alsa_lib} -lalsa"
-	    ALSA_FOUND=yes
-	fi
-	if test "x$ALSA_FOUND" = xno; then
-	    BDEPS_CHECK_MODULE(ALSA, alsa, xxx, [ALSA_FOUND=yes], [ALSA_FOUND=no])
-	fi
-	if test "x$ALSA_FOUND" = xno; then
-	    PKG_CHECK_MODULES(ALSA, alsa, [ALSA_FOUND=yes], [ALSA_FOUND=no])
-	fi
-	if test "x$ALSA_FOUND" = xno; then
-	    AC_CHECK_HEADERS([alsa/asoundlib.h],
-	                     [ALSA_FOUND=yes
-	                      ALSA_CFLAGS=-Iignoreme
-	                      ALSA_LIBS=-lasound
-	                      DEFAULT_ALSA=yes],
-	                     [ALSA_FOUND=no])
-	fi
-	if test "x$ALSA_FOUND" = xno; then 
-	    HELP_MSG_MISSING_DEPENDENCY([alsa])
-	    AC_MSG_ERROR([Could not find alsa! $HELP_MSG ])
-	fi    
-fi
+    if test "x${with_alsa}" != x; then
+      ALSA_LIBS="-L${with_alsa}/lib -lalsa"
+      ALSA_CFLAGS="-I${with_alsa}/include"
+      ALSA_FOUND=yes
+    fi
+    if test "x${with_alsa_include}" != x; then
+      ALSA_CFLAGS="-I${with_alsa_include}"
+      ALSA_FOUND=yes
+    fi
+    if test "x${with_alsa_lib}" != x; then
+      ALSA_LIBS="-L${with_alsa_lib} -lalsa"
+      ALSA_FOUND=yes
+    fi
+    if test "x$ALSA_FOUND" = xno; then
+      BDEPS_CHECK_MODULE(ALSA, alsa, xxx, [ALSA_FOUND=yes], [ALSA_FOUND=no])
+    fi
+    if test "x$ALSA_FOUND" = xno; then
+      PKG_CHECK_MODULES(ALSA, alsa, [ALSA_FOUND=yes], [ALSA_FOUND=no])
+    fi
+    if test "x$ALSA_FOUND" = xno; then
+      AC_CHECK_HEADERS([alsa/asoundlib.h],
+          [
+            ALSA_FOUND=yes
+            ALSA_CFLAGS=-Iignoreme
+            ALSA_LIBS=-lasound
+            DEFAULT_ALSA=yes
+          ],
+          [ALSA_FOUND=no])
+    fi
+    if test "x$ALSA_FOUND" = xno; then
+      HELP_MSG_MISSING_DEPENDENCY([alsa])
+      AC_MSG_ERROR([Could not find alsa! $HELP_MSG ])
+    fi
+  fi
 
-AC_SUBST(ALSA_CFLAGS)
-AC_SUBST(ALSA_LIBS)
-
+  AC_SUBST(ALSA_CFLAGS)
+  AC_SUBST(ALSA_LIBS)
 ])
 
 AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
 [
 
-###############################################################################
-#
-# Check for the jpeg library
-#
+  ###############################################################################
+  #
+  # Check for the jpeg library
+  #
 
-USE_EXTERNAL_LIBJPEG=true
-AC_CHECK_LIB(jpeg, main, [],
-             [ USE_EXTERNAL_LIBJPEG=false
-               AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source])
-             ])
-AC_SUBST(USE_EXTERNAL_LIBJPEG)
-        
-###############################################################################
-#
-# Check for the gif library
-#
+  USE_EXTERNAL_LIBJPEG=true
+  AC_CHECK_LIB(jpeg, main, [],
+      [ USE_EXTERNAL_LIBJPEG=false
+      AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source])
+  ])
+  AC_SUBST(USE_EXTERNAL_LIBJPEG)
 
-AC_ARG_WITH(giflib, [AS_HELP_STRING([--with-giflib],
-	[use giflib from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
+  ###############################################################################
+  #
+  # Check for the gif library
+  #
+
+  AC_ARG_WITH(giflib, [AS_HELP_STRING([--with-giflib],
+      [use giflib from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
 
 
-AC_MSG_CHECKING([for which giflib to use])
+  AC_MSG_CHECKING([for which giflib to use])
 
-# default is bundled
-DEFAULT_GIFLIB=bundled
+  # default is bundled
+  DEFAULT_GIFLIB=bundled
 
-#
-# if user didn't specify, use DEFAULT_GIFLIB
-#
-if test "x${with_giflib}" = "x"; then
+  #
+  # if user didn't specify, use DEFAULT_GIFLIB
+  #
+  if test "x${with_giflib}" = "x"; then
     with_giflib=${DEFAULT_GIFLIB}
-fi
+  fi
 
-AC_MSG_RESULT(${with_giflib})
+  AC_MSG_RESULT(${with_giflib})
 
-if test "x${with_giflib}" = "xbundled"; then
+  if test "x${with_giflib}" = "xbundled"; then
     USE_EXTERNAL_LIBGIF=false
-elif test "x${with_giflib}" = "xsystem"; then
+  elif test "x${with_giflib}" = "xsystem"; then
     AC_CHECK_HEADER(gif_lib.h, [],
-             [ AC_MSG_ERROR([--with-giflib=system specified, but gif_lib.h not found!])])
+        [ AC_MSG_ERROR([--with-giflib=system specified, but gif_lib.h not found!])])
     AC_CHECK_LIB(gif, DGifGetCode, [],
-             [ AC_MSG_ERROR([--with-giflib=system specified, but no giflib found!])])
+        [ AC_MSG_ERROR([--with-giflib=system specified, but no giflib found!])])
 
     USE_EXTERNAL_LIBGIF=true
-else
+  else
     AC_MSG_ERROR([Invalid value of --with-giflib: ${with_giflib}, use 'system' or 'bundled'])
-fi
-AC_SUBST(USE_EXTERNAL_LIBGIF)
+  fi
+  AC_SUBST(USE_EXTERNAL_LIBGIF)
 
-###############################################################################
-#
-# Check for the zlib library
-#
+  ###############################################################################
+  #
+  # Check for the zlib library
+  #
 
-AC_ARG_WITH(zlib, [AS_HELP_STRING([--with-zlib],
-	[use zlib from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
+  AC_ARG_WITH(zlib, [AS_HELP_STRING([--with-zlib],
+      [use zlib from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
 
-AC_CHECK_LIB(z, compress,
-             [ ZLIB_FOUND=yes ],
-             [ ZLIB_FOUND=no ])
+  AC_CHECK_LIB(z, compress,
+      [ ZLIB_FOUND=yes ],
+      [ ZLIB_FOUND=no ])
 
-AC_MSG_CHECKING([for which zlib to use])
+  AC_MSG_CHECKING([for which zlib to use])
 
-DEFAULT_ZLIB=bundled
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
-#
-# On macosx default is system...on others default is 
-#
+  DEFAULT_ZLIB=bundled
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+    #
+    # On macosx default is system...on others default is
+    #
     DEFAULT_ZLIB=system
-fi
+  fi
 
-if test "x${ZLIB_FOUND}" != "xyes"; then
-#
-# If we don't find any system...set default to bundled
-#
+  if test "x${ZLIB_FOUND}" != "xyes"; then
+    #
+    # If we don't find any system...set default to bundled
+    #
     DEFAULT_ZLIB=bundled
-fi
+  fi
 
-#
-# If user didn't specify, use DEFAULT_ZLIB
-#
-if test "x${with_zlib}" = "x"; then
+  #
+  # If user didn't specify, use DEFAULT_ZLIB
+  #
+  if test "x${with_zlib}" = "x"; then
     with_zlib=${DEFAULT_ZLIB}
-fi
+  fi
 
-if test "x${with_zlib}" = "xbundled"; then
+  if test "x${with_zlib}" = "xbundled"; then
     USE_EXTERNAL_LIBZ=false
     AC_MSG_RESULT([bundled])
-elif test "x${with_zlib}" = "xsystem"; then
+  elif test "x${with_zlib}" = "xsystem"; then
     if test "x${ZLIB_FOUND}" = "xyes"; then
-        USE_EXTERNAL_LIBZ=true
-        AC_MSG_RESULT([system])
+      USE_EXTERNAL_LIBZ=true
+      AC_MSG_RESULT([system])
     else
-        AC_MSG_RESULT([system not found])
-        AC_MSG_ERROR([--with-zlib=system specified, but no zlib found!])  
+      AC_MSG_RESULT([system not found])
+      AC_MSG_ERROR([--with-zlib=system specified, but no zlib found!])
     fi
-else
-    AC_MSG_ERROR([Invalid value for --with-zlib: ${with_zlib}, use 'system' or 'bundled'])  
-fi
+  else
+    AC_MSG_ERROR([Invalid value for --with-zlib: ${with_zlib}, use 'system' or 'bundled'])
+  fi
 
-AC_SUBST(USE_EXTERNAL_LIBZ)
+  AC_SUBST(USE_EXTERNAL_LIBZ)
 
-###############################################################################
-LIBZIP_CAN_USE_MMAP=true
+  ###############################################################################
+  LIBZIP_CAN_USE_MMAP=true
 
-AC_SUBST(LIBZIP_CAN_USE_MMAP)
+  AC_SUBST(LIBZIP_CAN_USE_MMAP)
 
-###############################################################################
-#
-# Check if altzone exists in time.h
-#
+  ###############################################################################
+  #
+  # Check if altzone exists in time.h
+  #
 
-AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <time.h>], [return (int)altzone;])],
-            [has_altzone=yes],
-            [has_altzone=no])
-if test "x$has_altzone" = xyes; then
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <time.h>], [return (int)altzone;])],
+      [has_altzone=yes],
+      [has_altzone=no])
+  if test "x$has_altzone" = xyes; then
     AC_DEFINE([HAVE_ALTZONE], 1, [Define if you have the external 'altzone' variable in time.h])
-fi
+  fi
 
-###############################################################################
-#
-# Check the maths library
-#
+  ###############################################################################
+  #
+  # Check the maths library
+  #
 
-AC_CHECK_LIB(m, cos, [],
-             [ 
-                  AC_MSG_NOTICE([Maths library was not found])
-             ])
-AC_SUBST(LIBM)
+  AC_CHECK_LIB(m, cos, [],
+      [
+        AC_MSG_NOTICE([Maths library was not found])
+      ]
+  )
+  AC_SUBST(LIBM)
 
-###############################################################################
-#
-# Check for libdl.so
+  ###############################################################################
+  #
+  # Check for libdl.so
 
-save_LIBS="$LIBS"
-LIBS=""
-AC_CHECK_LIB(dl,dlopen)
-LIBDL="$LIBS"
-AC_SUBST(LIBDL)
-LIBS="$save_LIBS"
-
+  save_LIBS="$LIBS"
+  LIBS=""
+  AC_CHECK_LIB(dl,dlopen)
+  LIBDL="$LIBS"
+  AC_SUBST(LIBDL)
+  LIBS="$save_LIBS"
 ])
 
 AC_DEFUN_ONCE([LIB_SETUP_STATIC_LINK_LIBSTDCPP],
 [
-###############################################################################
-#
-# statically link libstdc++ before C++ ABI is stablized on Linux unless 
-# dynamic build is configured on command line.
-#
-AC_ARG_WITH([stdc++lib], [AS_HELP_STRING([--with-stdc++lib=<static>,<dynamic>,<default>],
-  [force linking of the C++ runtime on Linux to either static or dynamic, default is static with dynamic as fallback])],
-  [
-    if test "x$with_stdc__lib" != xdynamic && test "x$with_stdc__lib" != xstatic \
-        && test "x$with_stdc__lib" != xdefault; then
-      AC_MSG_ERROR([Bad parameter value --with-stdc++lib=$with_stdc__lib!])
-    fi
-  ],
-  [with_stdc__lib=default]
-)
+  ###############################################################################
+  #
+  # statically link libstdc++ before C++ ABI is stablized on Linux unless
+  # dynamic build is configured on command line.
+  #
+  AC_ARG_WITH([stdc++lib], [AS_HELP_STRING([--with-stdc++lib=<static>,<dynamic>,<default>],
+      [force linking of the C++ runtime on Linux to either static or dynamic, default is static with dynamic as fallback])],
+      [
+        if test "x$with_stdc__lib" != xdynamic && test "x$with_stdc__lib" != xstatic \
+                && test "x$with_stdc__lib" != xdefault; then
+          AC_MSG_ERROR([Bad parameter value --with-stdc++lib=$with_stdc__lib!])
+        fi
+      ],
+      [with_stdc__lib=default]
+  )
 
-if test "x$OPENJDK_TARGET_OS" = xlinux; then
+  if test "x$OPENJDK_TARGET_OS" = xlinux; then
     # Test if -lstdc++ works.
     AC_MSG_CHECKING([if dynamic link of stdc++ is possible])
     AC_LANG_PUSH(C++)
     OLD_CXXFLAGS="$CXXFLAGS"
     CXXFLAGS="$CXXFLAGS -lstdc++"
     AC_LINK_IFELSE([AC_LANG_PROGRAM([], [return 0;])],
-            [has_dynamic_libstdcxx=yes],
-            [has_dynamic_libstdcxx=no])
+        [has_dynamic_libstdcxx=yes],
+        [has_dynamic_libstdcxx=no])
     CXXFLAGS="$OLD_CXXFLAGS"
     AC_LANG_POP(C++)
     AC_MSG_RESULT([$has_dynamic_libstdcxx])
@@ -668,55 +675,55 @@
     OLD_LIBS="$LIBS"
     OLD_CXX="$CXX"
     LIBS="$STATIC_STDCXX_FLAGS"
-    CXX="$CC"                       
+    CXX="$CC"
     AC_LINK_IFELSE([AC_LANG_PROGRAM([], [return 0;])],
-            [has_static_libstdcxx=yes],
-            [has_static_libstdcxx=no])
+        [has_static_libstdcxx=yes],
+        [has_static_libstdcxx=no])
     LIBS="$OLD_LIBS"
     CXX="$OLD_CXX"
     AC_LANG_POP(C++)
     AC_MSG_RESULT([$has_static_libstdcxx])
 
     if test "x$has_static_libstdcxx" = xno && test "x$has_dynamic_libstdcxx" = xno; then
-        AC_MSG_ERROR([Cannot link to stdc++, neither dynamically nor statically!])
+      AC_MSG_ERROR([Cannot link to stdc++, neither dynamically nor statically!])
     fi
 
     if test "x$with_stdc__lib" = xstatic && test "x$has_static_libstdcxx" = xno; then
-        AC_MSG_ERROR([Static linking of libstdc++ was not possible!])
+      AC_MSG_ERROR([Static linking of libstdc++ was not possible!])
     fi
 
     if test "x$with_stdc__lib" = xdynamic && test "x$has_dynamic_libstdcxx" = xno; then
-        AC_MSG_ERROR([Dynamic linking of libstdc++ was not possible!])
+      AC_MSG_ERROR([Dynamic linking of libstdc++ was not possible!])
     fi
 
     AC_MSG_CHECKING([how to link with libstdc++])
     # If dynamic was requested, it's available since it would fail above otherwise.
     # If dynamic wasn't requested, go with static unless it isn't available.
     if test "x$with_stdc__lib" = xdynamic || test "x$has_static_libstdcxx" = xno || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
-        LIBCXX="$LIBCXX -lstdc++"
-        LDCXX="$CXX"
-        STATIC_CXX_SETTING="STATIC_CXX=false"
-        AC_MSG_RESULT([dynamic])
+      LIBCXX="$LIBCXX -lstdc++"
+      LDCXX="$CXX"
+      STATIC_CXX_SETTING="STATIC_CXX=false"
+      AC_MSG_RESULT([dynamic])
     else
-        LIBCXX="$LIBCXX $STATIC_STDCXX_FLAGS"
-        LDCXX="$CC"
-        STATIC_CXX_SETTING="STATIC_CXX=true"
-        AC_MSG_RESULT([static])
+      LIBCXX="$LIBCXX $STATIC_STDCXX_FLAGS"
+      LDCXX="$CC"
+      STATIC_CXX_SETTING="STATIC_CXX=true"
+      AC_MSG_RESULT([static])
     fi
-fi
-AC_SUBST(STATIC_CXX_SETTING)
+  fi
+  AC_SUBST(STATIC_CXX_SETTING)
 
-if test "x$JVM_VARIANT_ZERO" = xtrue || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
+  if test "x$JVM_VARIANT_ZERO" = xtrue || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
     # Figure out LIBFFI_CFLAGS and LIBFFI_LIBS
     PKG_CHECK_MODULES([LIBFFI], [libffi])
 
-fi
+  fi
 
-if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
+  if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
     AC_CHECK_PROG([LLVM_CONFIG], [llvm-config], [llvm-config])
 
     if test "x$LLVM_CONFIG" != xllvm-config; then
-        AC_MSG_ERROR([llvm-config not found in $PATH.])
+      AC_MSG_ERROR([llvm-config not found in $PATH.])
     fi
 
     llvm_components="jit mcjit engine nativecodegen native"
@@ -757,18 +764,17 @@
     AC_SUBST(LLVM_CFLAGS)
     AC_SUBST(LLVM_LDFLAGS)
     AC_SUBST(LLVM_LIBS)
-fi
+  fi
 
-# libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
-if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$LIBCXX" = x; then
+  # libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
+  if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$LIBCXX" = x; then
     LIBCXX="/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1"
-fi
+  fi
 
-# TODO better (platform agnostic) test
-if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$GCC" = xyes; then
+  # TODO better (platform agnostic) test
+  if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$GCC" = xyes; then
     LIBCXX="-lstdc++"
-fi
+  fi
 
-AC_SUBST(LIBCXX)
-
+  AC_SUBST(LIBCXX)
 ])
--- a/common/autoconf/platform.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/platform.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -53,37 +53,37 @@
       VAR_CPU_ARCH=ppc
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     powerpc64)
       VAR_CPU=ppc64
       VAR_CPU_ARCH=ppc
       VAR_CPU_BITS=64
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     s390)
       VAR_CPU=s390
       VAR_CPU_ARCH=s390
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     s390x)
       VAR_CPU=s390x
       VAR_CPU_ARCH=s390
       VAR_CPU_BITS=64
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     sparc)
       VAR_CPU=sparc
       VAR_CPU_ARCH=sparc
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     sparcv9)
       VAR_CPU=sparcv9
       VAR_CPU_ARCH=sparc
       VAR_CPU_BITS=64
       VAR_CPU_ENDIAN=big
-       ;;
+      ;;
     *)
       AC_MSG_ERROR([unsupported cpu $1])
       ;;
@@ -140,56 +140,56 @@
 # OPENJDK_BUILD_OS, etc.
 AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
 [
-    # Copy the autoconf trip/quadruplet verbatim to OPENJDK_TARGET_AUTOCONF_NAME
-    # (from the autoconf "host") and OPENJDK_BUILD_AUTOCONF_NAME
-    # Note that we might later on rewrite e.g. OPENJDK_TARGET_CPU due to reduced build,
-    # but this will not change the value of OPENJDK_TARGET_AUTOCONF_NAME.     
-    OPENJDK_TARGET_AUTOCONF_NAME="$host"
-    OPENJDK_BUILD_AUTOCONF_NAME="$build"
-    AC_SUBST(OPENJDK_TARGET_AUTOCONF_NAME)
-    AC_SUBST(OPENJDK_BUILD_AUTOCONF_NAME)
+  # Copy the autoconf trip/quadruplet verbatim to OPENJDK_TARGET_AUTOCONF_NAME
+  # (from the autoconf "host") and OPENJDK_BUILD_AUTOCONF_NAME
+  # Note that we might later on rewrite e.g. OPENJDK_TARGET_CPU due to reduced build,
+  # but this will not change the value of OPENJDK_TARGET_AUTOCONF_NAME.
+  OPENJDK_TARGET_AUTOCONF_NAME="$host"
+  OPENJDK_BUILD_AUTOCONF_NAME="$build"
+  AC_SUBST(OPENJDK_TARGET_AUTOCONF_NAME)
+  AC_SUBST(OPENJDK_BUILD_AUTOCONF_NAME)
 
-    # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
-    PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
-    PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
-    # ..and setup our own variables. (Do this explicitely to facilitate searching)
-    OPENJDK_BUILD_OS="$VAR_OS"
-    OPENJDK_BUILD_OS_API="$VAR_OS_API"
-    OPENJDK_BUILD_OS_ENV="$VAR_OS_ENV"
-    OPENJDK_BUILD_CPU="$VAR_CPU"
-    OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
-    OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
-    OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
-    AC_SUBST(OPENJDK_BUILD_OS)
-    AC_SUBST(OPENJDK_BUILD_OS_API)
-    AC_SUBST(OPENJDK_BUILD_CPU)
-    AC_SUBST(OPENJDK_BUILD_CPU_ARCH)
-    AC_SUBST(OPENJDK_BUILD_CPU_BITS)
-    AC_SUBST(OPENJDK_BUILD_CPU_ENDIAN)
+  # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
+  PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
+  PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
+  # ..and setup our own variables. (Do this explicitely to facilitate searching)
+  OPENJDK_BUILD_OS="$VAR_OS"
+  OPENJDK_BUILD_OS_API="$VAR_OS_API"
+  OPENJDK_BUILD_OS_ENV="$VAR_OS_ENV"
+  OPENJDK_BUILD_CPU="$VAR_CPU"
+  OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
+  OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
+  OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
+  AC_SUBST(OPENJDK_BUILD_OS)
+  AC_SUBST(OPENJDK_BUILD_OS_API)
+  AC_SUBST(OPENJDK_BUILD_CPU)
+  AC_SUBST(OPENJDK_BUILD_CPU_ARCH)
+  AC_SUBST(OPENJDK_BUILD_CPU_BITS)
+  AC_SUBST(OPENJDK_BUILD_CPU_ENDIAN)
 
-    AC_MSG_CHECKING([openjdk-build os-cpu])
-    AC_MSG_RESULT([$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU])
+  AC_MSG_CHECKING([openjdk-build os-cpu])
+  AC_MSG_RESULT([$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU])
 
-    # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
-    PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
-    PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
-    # ... and setup our own variables. (Do this explicitely to facilitate searching)
-    OPENJDK_TARGET_OS="$VAR_OS"
-    OPENJDK_TARGET_OS_API="$VAR_OS_API"
-    OPENJDK_TARGET_OS_ENV="$VAR_OS_ENV"
-    OPENJDK_TARGET_CPU="$VAR_CPU"
-    OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
-    OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
-    OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
-    AC_SUBST(OPENJDK_TARGET_OS)
-    AC_SUBST(OPENJDK_TARGET_OS_API)
-    AC_SUBST(OPENJDK_TARGET_CPU)
-    AC_SUBST(OPENJDK_TARGET_CPU_ARCH)
-    AC_SUBST(OPENJDK_TARGET_CPU_BITS)
-    AC_SUBST(OPENJDK_TARGET_CPU_ENDIAN)
+  # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
+  PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
+  PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
+  # ... and setup our own variables. (Do this explicitely to facilitate searching)
+  OPENJDK_TARGET_OS="$VAR_OS"
+  OPENJDK_TARGET_OS_API="$VAR_OS_API"
+  OPENJDK_TARGET_OS_ENV="$VAR_OS_ENV"
+  OPENJDK_TARGET_CPU="$VAR_CPU"
+  OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
+  OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
+  OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
+  AC_SUBST(OPENJDK_TARGET_OS)
+  AC_SUBST(OPENJDK_TARGET_OS_API)
+  AC_SUBST(OPENJDK_TARGET_CPU)
+  AC_SUBST(OPENJDK_TARGET_CPU_ARCH)
+  AC_SUBST(OPENJDK_TARGET_CPU_BITS)
+  AC_SUBST(OPENJDK_TARGET_CPU_ENDIAN)
 
-    AC_MSG_CHECKING([openjdk-target os-cpu])
-    AC_MSG_RESULT([$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
+  AC_MSG_CHECKING([openjdk-target os-cpu])
+  AC_MSG_RESULT([$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
 ])
 
 # Check if a reduced build (32-bit on 64-bit platforms) is requested, and modify behaviour
@@ -198,7 +198,7 @@
 AC_DEFUN([PLATFORM_SETUP_TARGET_CPU_BITS],
 [
   AC_ARG_WITH(target-bits, [AS_HELP_STRING([--with-target-bits],
-     [build 32-bit or 64-bit binaries (for platforms that support it), e.g. --with-target-bits=32 @<:@guessed@:>@])])
+       [build 32-bit or 64-bit binaries (for platforms that support it), e.g. --with-target-bits=32 @<:@guessed@:>@])])
 
   # We have three types of compiles:
   # native  == normal compilation, target system == build system
@@ -227,7 +227,7 @@
         OPENJDK_TARGET_CPU=sparc
       else
         AC_MSG_ERROR([Reduced build (--with-target-bits=32) is only supported on x86_64 and sparcv9])
-      fi 
+      fi
     elif test "x$with_target_bits" = x64 && test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
       AC_MSG_ERROR([It is not possible to use --with-target-bits=64 on a 32 bit system. Use proper cross-compilation instead.])
     elif test "x$with_target_bits" = "x$OPENJDK_TARGET_CPU_BITS"; then
@@ -238,184 +238,183 @@
   fi
   AC_SUBST(COMPILE_TYPE)
 
-AC_MSG_CHECKING([compilation type])
-AC_MSG_RESULT([$COMPILE_TYPE])
+  AC_MSG_CHECKING([compilation type])
+  AC_MSG_RESULT([$COMPILE_TYPE])
 ])
 
-    # Setup the legacy variables, for controlling the old makefiles.
-    #
+# Setup the legacy variables, for controlling the old makefiles.
+#
 AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
 [
-    # Also store the legacy naming of the cpu.
-    # Ie i586 and amd64 instead of x86 and x86_64
-    OPENJDK_TARGET_CPU_LEGACY="$OPENJDK_TARGET_CPU"
-    if test "x$OPENJDK_TARGET_CPU" = xx86; then 
-      OPENJDK_TARGET_CPU_LEGACY="i586"
-    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then 
-      # On all platforms except MacOSX replace x86_64 with amd64.
-      OPENJDK_TARGET_CPU_LEGACY="amd64"
-    fi
-    AC_SUBST(OPENJDK_TARGET_CPU_LEGACY)
+  # Also store the legacy naming of the cpu.
+  # Ie i586 and amd64 instead of x86 and x86_64
+  OPENJDK_TARGET_CPU_LEGACY="$OPENJDK_TARGET_CPU"
+  if test "x$OPENJDK_TARGET_CPU" = xx86; then
+    OPENJDK_TARGET_CPU_LEGACY="i586"
+  elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    # On all platforms except MacOSX replace x86_64 with amd64.
+    OPENJDK_TARGET_CPU_LEGACY="amd64"
+  fi
+  AC_SUBST(OPENJDK_TARGET_CPU_LEGACY)
 
-    # And the second legacy naming of the cpu.
-    # Ie i386 and amd64 instead of x86 and x86_64.
-    OPENJDK_TARGET_CPU_LEGACY_LIB="$OPENJDK_TARGET_CPU"
-    if test "x$OPENJDK_TARGET_CPU" = xx86; then 
-      OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
-    elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then 
-      OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
-    fi
-    AC_SUBST(OPENJDK_TARGET_CPU_LEGACY_LIB)
+  # And the second legacy naming of the cpu.
+  # Ie i386 and amd64 instead of x86 and x86_64.
+  OPENJDK_TARGET_CPU_LEGACY_LIB="$OPENJDK_TARGET_CPU"
+  if test "x$OPENJDK_TARGET_CPU" = xx86; then
+    OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
+  elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
+  fi
+  AC_SUBST(OPENJDK_TARGET_CPU_LEGACY_LIB)
 
-    # This is the name of the cpu (but using i386 and amd64 instead of
-    # x86 and x86_64, respectively), preceeded by a /, to be used when
-    # locating libraries. On macosx, it's empty, though.
-    OPENJDK_TARGET_CPU_LIBDIR="/$OPENJDK_TARGET_CPU_LEGACY_LIB"
-    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
-        OPENJDK_TARGET_CPU_LIBDIR=""
-    fi
-    AC_SUBST(OPENJDK_TARGET_CPU_LIBDIR)
+  # This is the name of the cpu (but using i386 and amd64 instead of
+  # x86 and x86_64, respectively), preceeded by a /, to be used when
+  # locating libraries. On macosx, it's empty, though.
+  OPENJDK_TARGET_CPU_LIBDIR="/$OPENJDK_TARGET_CPU_LEGACY_LIB"
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+    OPENJDK_TARGET_CPU_LIBDIR=""
+  fi
+  AC_SUBST(OPENJDK_TARGET_CPU_LIBDIR)
 
-    # OPENJDK_TARGET_CPU_ISADIR is normally empty. On 64-bit Solaris systems, it is set to
-    # /amd64 or /sparcv9. This string is appended to some library paths, like this:
-    # /usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libexample.so
-    OPENJDK_TARGET_CPU_ISADIR=""
-    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-      if test "x$OPENJDK_TARGET_CPU" = xx86_64; then 
-          OPENJDK_TARGET_CPU_ISADIR="/amd64"
-      elif test "x$OPENJDK_TARGET_CPU" = xsparcv9; then 
-          OPENJDK_TARGET_CPU_ISADIR="/sparcv9"
-      fi
+  # OPENJDK_TARGET_CPU_ISADIR is normally empty. On 64-bit Solaris systems, it is set to
+  # /amd64 or /sparcv9. This string is appended to some library paths, like this:
+  # /usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libexample.so
+  OPENJDK_TARGET_CPU_ISADIR=""
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+    if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+      OPENJDK_TARGET_CPU_ISADIR="/amd64"
+    elif test "x$OPENJDK_TARGET_CPU" = xsparcv9; then
+      OPENJDK_TARGET_CPU_ISADIR="/sparcv9"
     fi
-    AC_SUBST(OPENJDK_TARGET_CPU_ISADIR)
+  fi
+  AC_SUBST(OPENJDK_TARGET_CPU_ISADIR)
 
-    # Setup OPENJDK_TARGET_CPU_OSARCH, which is used to set the os.arch Java system property
-    OPENJDK_TARGET_CPU_OSARCH="$OPENJDK_TARGET_CPU"
-    if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xx86; then
-      # On linux only, we replace x86 with i386.
-      OPENJDK_TARGET_CPU_OSARCH="i386"
-    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
-      # On all platforms except macosx, we replace x86_64 with amd64.
-      OPENJDK_TARGET_CPU_OSARCH="amd64"
-    fi
-    AC_SUBST(OPENJDK_TARGET_CPU_OSARCH)
+  # Setup OPENJDK_TARGET_CPU_OSARCH, which is used to set the os.arch Java system property
+  OPENJDK_TARGET_CPU_OSARCH="$OPENJDK_TARGET_CPU"
+  if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xx86; then
+    # On linux only, we replace x86 with i386.
+    OPENJDK_TARGET_CPU_OSARCH="i386"
+  elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    # On all platforms except macosx, we replace x86_64 with amd64.
+    OPENJDK_TARGET_CPU_OSARCH="amd64"
+  fi
+  AC_SUBST(OPENJDK_TARGET_CPU_OSARCH)
 
-    OPENJDK_TARGET_CPU_JLI="$OPENJDK_TARGET_CPU"
-    if test "x$OPENJDK_TARGET_CPU" = xx86; then 
-      OPENJDK_TARGET_CPU_JLI="i386"
-    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
-      # On all platforms except macosx, we replace x86_64 with amd64.
-      OPENJDK_TARGET_CPU_JLI="amd64"
+  OPENJDK_TARGET_CPU_JLI="$OPENJDK_TARGET_CPU"
+  if test "x$OPENJDK_TARGET_CPU" = xx86; then
+    OPENJDK_TARGET_CPU_JLI="i386"
+  elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+    # On all platforms except macosx, we replace x86_64 with amd64.
+    OPENJDK_TARGET_CPU_JLI="amd64"
+  fi
+  # Now setup the -D flags for building libjli.
+  OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+    if test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
+      OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"sparc\"' -DLIBARCH64NAME='\"sparcv9\"'"
+    elif test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
+      OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'"
     fi
-    # Now setup the -D flags for building libjli.
-    OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
-    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-      if test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
-        OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"sparc\"' -DLIBARCH64NAME='\"sparcv9\"'"
-      elif test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then 
-        OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'"
-      fi
-    fi
-    AC_SUBST(OPENJDK_TARGET_CPU_JLI_CFLAGS)
+  fi
+  AC_SUBST(OPENJDK_TARGET_CPU_JLI_CFLAGS)
 
-    # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
-    if test "x$OPENJDK_TARGET_OS_API" = xposix; then
-        OPENJDK_TARGET_OS_API_DIR="solaris"
-    fi
-    if test "x$OPENJDK_TARGET_OS_API" = xwinapi; then
-        OPENJDK_TARGET_OS_API_DIR="windows"
-    fi
-    AC_SUBST(OPENJDK_TARGET_OS_API_DIR)
+  # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
+  if test "x$OPENJDK_TARGET_OS_API" = xposix; then
+    OPENJDK_TARGET_OS_API_DIR="solaris"
+  fi
+  if test "x$OPENJDK_TARGET_OS_API" = xwinapi; then
+    OPENJDK_TARGET_OS_API_DIR="windows"
+  fi
+  AC_SUBST(OPENJDK_TARGET_OS_API_DIR)
 
-    if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
-        A_LP64="LP64:="
-        # -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in 
-        # unpack200.exe
-        if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xmacosx; then
-            ADD_LP64="-D_LP64=1"
-        fi
+  if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
+    A_LP64="LP64:="
+    # -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in
+    # unpack200.exe
+    if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xmacosx; then
+      ADD_LP64="-D_LP64=1"
     fi
-    AC_SUBST(LP64,$A_LP64)
+  fi
+  AC_SUBST(LP64,$A_LP64)
 
-    if test "x$COMPILE_TYPE" = "xcross"; then
-      # FIXME: ... or should this include reduced builds..?
-      DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$OPENJDK_TARGET_CPU_LEGACY"
-    else
-      DEFINE_CROSS_COMPILE_ARCH=""
-    fi
-    AC_SUBST(DEFINE_CROSS_COMPILE_ARCH)
+  if test "x$COMPILE_TYPE" = "xcross"; then
+    # FIXME: ... or should this include reduced builds..?
+    DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$OPENJDK_TARGET_CPU_LEGACY"
+  else
+    DEFINE_CROSS_COMPILE_ARCH=""
+  fi
+  AC_SUBST(DEFINE_CROSS_COMPILE_ARCH)
 
-    # ZERO_ARCHDEF is used to enable architecture-specific code
-    case "${OPENJDK_TARGET_CPU}" in
-      ppc*)    ZERO_ARCHDEF=PPC   ;;
-      s390*)   ZERO_ARCHDEF=S390  ;;
-      sparc*)  ZERO_ARCHDEF=SPARC ;;
-      x86_64*) ZERO_ARCHDEF=AMD64 ;;
-      x86)     ZERO_ARCHDEF=IA32  ;;
-      *)      ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
-    esac
-    AC_SUBST(ZERO_ARCHDEF)
-
+  # ZERO_ARCHDEF is used to enable architecture-specific code
+  case "${OPENJDK_TARGET_CPU}" in
+    ppc*)    ZERO_ARCHDEF=PPC   ;;
+    s390*)   ZERO_ARCHDEF=S390  ;;
+    sparc*)  ZERO_ARCHDEF=SPARC ;;
+    x86_64*) ZERO_ARCHDEF=AMD64 ;;
+    x86)     ZERO_ARCHDEF=IA32  ;;
+    *)      ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
+  esac
+  AC_SUBST(ZERO_ARCHDEF)
 ])
 
 AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
 [
-    if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
-       REQUIRED_OS_NAME=SunOS
-       REQUIRED_OS_VERSION=5.10
-    fi
-    if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
-       REQUIRED_OS_NAME=Linux
-       REQUIRED_OS_VERSION=2.6
+  if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
+    REQUIRED_OS_NAME=SunOS
+    REQUIRED_OS_VERSION=5.10
+  fi
+  if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
+    REQUIRED_OS_NAME=Linux
+    REQUIRED_OS_VERSION=2.6
+  fi
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    REQUIRED_OS_NAME=Windows
+    if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
+      REQUIRED_OS_VERSION=5.2
+    else
+      REQUIRED_OS_VERSION=5.1
     fi
-    if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-        REQUIRED_OS_NAME=Windows
-        if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
-            REQUIRED_OS_VERSION=5.2
-        else
-            REQUIRED_OS_VERSION=5.1
-        fi
-    fi
-    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-        REQUIRED_OS_NAME=Darwin
-        REQUIRED_OS_VERSION=11.2
-    fi
+  fi
+  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+    REQUIRED_OS_NAME=Darwin
+    REQUIRED_OS_VERSION=11.2
+  fi
 
-    AC_SUBST(REQUIRED_OS_NAME)
-    AC_SUBST(REQUIRED_OS_VERSION)
+  AC_SUBST(REQUIRED_OS_NAME)
+  AC_SUBST(REQUIRED_OS_VERSION)
 ])
 
 #%%% Build and target systems %%%
 AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET],
 [
-# Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
-# is confusing; it assumes you are cross-compiling a cross-compiler (!)  and "target" is thus the target of the
-# product you're building. The target of this build is called "host". Since this is confusing to most people, we
-# have not adopted that system, but use "target" as the platform we are building for. In some places though we need
-# to use the configure naming style.
-AC_CANONICAL_BUILD
-AC_CANONICAL_HOST
-AC_CANONICAL_TARGET
+  # Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
+  # is confusing; it assumes you are cross-compiling a cross-compiler (!)  and "target" is thus the target of the
+  # product you're building. The target of this build is called "host". Since this is confusing to most people, we
+  # have not adopted that system, but use "target" as the platform we are building for. In some places though we need
+  # to use the configure naming style.
+  AC_CANONICAL_BUILD
+  AC_CANONICAL_HOST
+  AC_CANONICAL_TARGET
 
-PLATFORM_EXTRACT_TARGET_AND_BUILD
-PLATFORM_SETUP_TARGET_CPU_BITS
-PLATFORM_SET_RELEASE_FILE_OS_VALUES
-PLATFORM_SETUP_LEGACY_VARS
+  PLATFORM_EXTRACT_TARGET_AND_BUILD
+  PLATFORM_SETUP_TARGET_CPU_BITS
+  PLATFORM_SET_RELEASE_FILE_OS_VALUES
+  PLATFORM_SETUP_LEGACY_VARS
 ])
 
 AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION],
 [
-###############################################################################
+  ###############################################################################
 
-# Note that this is the build platform OS version!
+  # Note that this is the build platform OS version!
 
-OS_VERSION="`uname -r | ${SED} 's!\.! !g' | ${SED} 's!-! !g'`"
-OS_VERSION_MAJOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 1 -d ' '`"
-OS_VERSION_MINOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 2 -d ' '`"
-OS_VERSION_MICRO="`${ECHO} ${OS_VERSION} | ${CUT} -f 3 -d ' '`"
-AC_SUBST(OS_VERSION_MAJOR)
-AC_SUBST(OS_VERSION_MINOR)
-AC_SUBST(OS_VERSION_MICRO)
+  OS_VERSION="`uname -r | ${SED} 's!\.! !g' | ${SED} 's!-! !g'`"
+  OS_VERSION_MAJOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 1 -d ' '`"
+  OS_VERSION_MINOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 2 -d ' '`"
+  OS_VERSION_MICRO="`${ECHO} ${OS_VERSION} | ${CUT} -f 3 -d ' '`"
+  AC_SUBST(OS_VERSION_MAJOR)
+  AC_SUBST(OS_VERSION_MINOR)
+  AC_SUBST(OS_VERSION_MICRO)
 ])
 
 # Support macro for PLATFORM_SETUP_OPENJDK_TARGET_BITS.
@@ -441,68 +440,68 @@
 
 AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_BITS],
 [
-###############################################################################
-#
-# Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code.
-# (The JVM can use 32 or 64 bit Java pointers but that decision
-# is made at runtime.)
-#
+  ###############################################################################
+  #
+  # Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code.
+  # (The JVM can use 32 or 64 bit Java pointers but that decision
+  # is made at runtime.)
+  #
 
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-  # Always specify -m flags on Solaris
-  PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
-elif test "x$COMPILE_TYPE" = xreduced; then
-  if test "x$OPENJDK_TARGET_OS" != xwindows; then
-    # Specify -m if running reduced on other Posix platforms
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+    # Always specify -m flags on Solaris
     PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
+  elif test "x$COMPILE_TYPE" = xreduced; then
+    if test "x$OPENJDK_TARGET_OS" != xwindows; then
+      # Specify -m if running reduced on other Posix platforms
+      PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
+    fi
   fi
-fi
 
-# Make compilation sanity check
-AC_CHECK_HEADERS([stdio.h], , [
-  AC_MSG_NOTICE([Failed to compile stdio.h. This likely implies missing compile dependencies.])
-  if test "x$COMPILE_TYPE" = xreduced; then
-    AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed.])
-  elif test "x$COMPILE_TYPE" = xcross; then
-    AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
+  # Make compilation sanity check
+  AC_CHECK_HEADERS([stdio.h], , [
+    AC_MSG_NOTICE([Failed to compile stdio.h. This likely implies missing compile dependencies.])
+    if test "x$COMPILE_TYPE" = xreduced; then
+      AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed.])
+    elif test "x$COMPILE_TYPE" = xcross; then
+      AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
+    fi
+    AC_MSG_ERROR([Cannot continue.])
+  ])
+
+  AC_CHECK_SIZEOF([int *], [1111])
+
+  if test "x$SIZEOF_INT_P" != "x$ac_cv_sizeof_int_p"; then
+    # Workaround autoconf bug, see http://lists.gnu.org/archive/html/autoconf/2010-07/msg00004.html
+    SIZEOF_INT_P="$ac_cv_sizeof_int_p"
   fi
-  AC_MSG_ERROR([Cannot continue.])
-])
 
-AC_CHECK_SIZEOF([int *], [1111])
-
-if test "x$SIZEOF_INT_P" != "x$ac_cv_sizeof_int_p"; then
-  # Workaround autoconf bug, see http://lists.gnu.org/archive/html/autoconf/2010-07/msg00004.html
-  SIZEOF_INT_P="$ac_cv_sizeof_int_p"
-fi
-
-if test "x$SIZEOF_INT_P" = x; then 
+  if test "x$SIZEOF_INT_P" = x; then
     # The test failed, lets stick to the assumed value.
     AC_MSG_WARN([The number of bits in the target could not be determined, using $OPENJDK_TARGET_CPU_BITS.])
-else
+  else
     TESTED_TARGET_CPU_BITS=`expr 8 \* $SIZEOF_INT_P`
 
     if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
-        AC_MSG_ERROR([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)])
+      AC_MSG_ERROR([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)])
     fi
-fi
+  fi
 
-AC_MSG_CHECKING([for target address size])
-AC_MSG_RESULT([$OPENJDK_TARGET_CPU_BITS bits])
+  AC_MSG_CHECKING([for target address size])
+  AC_MSG_RESULT([$OPENJDK_TARGET_CPU_BITS bits])
 ])
 
 AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS],
 [
-###############################################################################
-#
-# Is the target little of big endian?
-#
-AC_C_BIGENDIAN([ENDIAN="big"],[ENDIAN="little"],[ENDIAN="unknown"],[ENDIAN="universal_endianness"])
+  ###############################################################################
+  #
+  # Is the target little of big endian?
+  #
+  AC_C_BIGENDIAN([ENDIAN="big"],[ENDIAN="little"],[ENDIAN="unknown"],[ENDIAN="universal_endianness"])
 
-if test "x$ENDIAN" = xuniversal_endianness; then
+  if test "x$ENDIAN" = xuniversal_endianness; then
     AC_MSG_ERROR([Building with both big and little endianness is not supported])
-fi
-if test "x$ENDIAN" != "x$OPENJDK_TARGET_CPU_ENDIAN"; then
+  fi
+  if test "x$ENDIAN" != "x$OPENJDK_TARGET_CPU_ENDIAN"; then
     AC_MSG_ERROR([The tested endian in the target ($ENDIAN) differs from the endian expected to be found in the target ($OPENJDK_TARGET_CPU_ENDIAN)])
-fi
+  fi
 ])
--- a/common/autoconf/source-dirs.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/source-dirs.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -25,55 +25,54 @@
 
 AC_DEFUN_ONCE([SRCDIRS_SETUP_TOPDIRS],
 [
-
-# Where are the sources. Any of these can be overridden
-# using --with-override-corba and the likes.
-LANGTOOLS_TOPDIR="$SRC_ROOT/langtools"
-CORBA_TOPDIR="$SRC_ROOT/corba"
-JAXP_TOPDIR="$SRC_ROOT/jaxp"
-JAXWS_TOPDIR="$SRC_ROOT/jaxws"
-HOTSPOT_TOPDIR="$SRC_ROOT/hotspot"
-NASHORN_TOPDIR="$SRC_ROOT/nashorn"
-JDK_TOPDIR="$SRC_ROOT/jdk"
-AC_SUBST(LANGTOOLS_TOPDIR)
-AC_SUBST(CORBA_TOPDIR)
-AC_SUBST(JAXP_TOPDIR)
-AC_SUBST(JAXWS_TOPDIR)
-AC_SUBST(HOTSPOT_TOPDIR)
-AC_SUBST(NASHORN_TOPDIR)
-AC_SUBST(JDK_TOPDIR)
+  # Where are the sources. Any of these can be overridden
+  # using --with-override-corba and the likes.
+  LANGTOOLS_TOPDIR="$SRC_ROOT/langtools"
+  CORBA_TOPDIR="$SRC_ROOT/corba"
+  JAXP_TOPDIR="$SRC_ROOT/jaxp"
+  JAXWS_TOPDIR="$SRC_ROOT/jaxws"
+  HOTSPOT_TOPDIR="$SRC_ROOT/hotspot"
+  NASHORN_TOPDIR="$SRC_ROOT/nashorn"
+  JDK_TOPDIR="$SRC_ROOT/jdk"
+  AC_SUBST(LANGTOOLS_TOPDIR)
+  AC_SUBST(CORBA_TOPDIR)
+  AC_SUBST(JAXP_TOPDIR)
+  AC_SUBST(JAXWS_TOPDIR)
+  AC_SUBST(HOTSPOT_TOPDIR)
+  AC_SUBST(NASHORN_TOPDIR)
+  AC_SUBST(JDK_TOPDIR)
 ])
 
 
 AC_DEFUN_ONCE([SRCDIRS_SETUP_ALTERNATIVE_TOPDIRS],
 [
 
-###############################################################################
-#
-# Pickup additional source for a component from outside of the source root
-# or override source for a component. 
-#
-AC_ARG_WITH(add-source-root, [AS_HELP_STRING([--with-add-source-root],
-    [for each and every source directory, look in this additional source root for
-     the same directory; if it exists and have files in it, include it in the build])])                             
-                             
-AC_ARG_WITH(override-source-root, [AS_HELP_STRING([--with-override-source-root],
-    [for each and every source directory, look in this override source root for
-     the same directory; if it exists, use that directory instead and
-     ignore the directory in the original source root])])
+  ###############################################################################
+  #
+  # Pickup additional source for a component from outside of the source root
+  # or override source for a component.
+  #
+  AC_ARG_WITH(add-source-root, [AS_HELP_STRING([--with-add-source-root],
+      [for each and every source directory, look in this additional source root for
+      the same directory; if it exists and have files in it, include it in the build])])
 
-AC_ARG_WITH(adds-and-overrides, [AS_HELP_STRING([--with-adds-and-overrides],
-    [use the subdirs 'adds' and 'overrides' in the specified directory as
-     add-source-root and override-source-root])])
+  AC_ARG_WITH(override-source-root, [AS_HELP_STRING([--with-override-source-root],
+      [for each and every source directory, look in this override source root for
+      the same directory; if it exists, use that directory instead and
+      ignore the directory in the original source root])])
 
-if test "x$with_adds_and_overrides" != x; then
+  AC_ARG_WITH(adds-and-overrides, [AS_HELP_STRING([--with-adds-and-overrides],
+      [use the subdirs 'adds' and 'overrides' in the specified directory as
+      add-source-root and override-source-root])])
+
+  if test "x$with_adds_and_overrides" != x; then
     with_add_source_root="$with_adds_and_overrides/adds"
     with_override_source_root="$with_adds_and_overrides/overrides"
-fi
+  fi
 
-if test "x$with_add_source_root" != x; then
+  if test "x$with_add_source_root" != x; then
     if ! test -d $with_add_source_root; then
-       AC_MSG_ERROR([Trying to use a non-existant add-source-root $with_add_source_root])
+      AC_MSG_ERROR([Trying to use a non-existant add-source-root $with_add_source_root])
     fi
     CURDIR="$PWD"
     cd "$with_add_source_root"
@@ -82,219 +81,218 @@
     # Verify that the addon source root does not have any root makefiles.
     # If it does, then it is usually an error, prevent this.
     if test -f $with_add_source_root/langtools/makefiles/Makefile || \
-       test -f $with_add_source_root/langtools/make/Makefile; then
-        AC_MSG_ERROR([Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources.])
+      test -f $with_add_source_root/langtools/make/Makefile; then
+      AC_MSG_ERROR([Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources.])
     fi
     if test -f $with_add_source_root/corba/makefiles/Makefile || \
-       test -f $with_add_source_root/corba/make/Makefile; then
-        AC_MSG_ERROR([Your add source root seems to contain a full corba repo! An add source root should only contain additional sources.])
+      test -f $with_add_source_root/corba/make/Makefile; then
+      AC_MSG_ERROR([Your add source root seems to contain a full corba repo! An add source root should only contain additional sources.])
     fi
     if test -f $with_add_source_root/jaxp/makefiles/Makefile || \
-       test -f $with_add_source_root/jaxp/make/Makefile; then
-        AC_MSG_ERROR([Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources.])
+      test -f $with_add_source_root/jaxp/make/Makefile; then
+      AC_MSG_ERROR([Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources.])
     fi
     if test -f $with_add_source_root/jaxws/makefiles/Makefile || \
-       test -f $with_add_source_root/jaxws/make/Makefile; then
-        AC_MSG_ERROR([Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources.])
+      test -f $with_add_source_root/jaxws/make/Makefile; then
+      AC_MSG_ERROR([Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources.])
     fi
     if test -f $with_add_source_root/hotspot/makefiles/Makefile || \
-       test -f $with_add_source_root/hotspot/make/Makefile; then
-        AC_MSG_ERROR([Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources.])
+      test -f $with_add_source_root/hotspot/make/Makefile; then
+      AC_MSG_ERROR([Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources.])
     fi
     if test -f $with_add_source_root/nashorn/makefiles/Makefile || \
-       test -f $with_add_source_root/nashorn/make/Makefile; then
-        AC_MSG_ERROR([Your add source root seems to contain a full nashorn repo! An add source root should only contain additional sources.])
+      test -f $with_add_source_root/nashorn/make/Makefile; then
+      AC_MSG_ERROR([Your add source root seems to contain a full nashorn repo! An add source root should only contain additional sources.])
     fi
     if test -f $with_add_source_root/jdk/makefiles/Makefile || \
-       test -f $with_add_source_root/jdk/make/Makefile; then
-        AC_MSG_ERROR([Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources.])
+      test -f $with_add_source_root/jdk/make/Makefile; then
+      AC_MSG_ERROR([Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources.])
     fi
-fi
-AC_SUBST(ADD_SRC_ROOT)
+  fi
+  AC_SUBST(ADD_SRC_ROOT)
 
-if test "x$with_override_source_root" != x; then
+  if test "x$with_override_source_root" != x; then
     if ! test -d $with_override_source_root; then
-       AC_MSG_ERROR([Trying to use a non-existant override-source-root $with_override_source_root])
+      AC_MSG_ERROR([Trying to use a non-existant override-source-root $with_override_source_root])
     fi
     CURDIR="$PWD"
     cd "$with_override_source_root"
     OVERRIDE_SRC_ROOT="`pwd`"
     cd "$CURDIR"
     if test -f $with_override_source_root/langtools/makefiles/Makefile || \
-       test -f $with_override_source_root/langtools/make/Makefile; then
-        AC_MSG_ERROR([Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override.])
+      test -f $with_override_source_root/langtools/make/Makefile; then
+      AC_MSG_ERROR([Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override.])
     fi
     if test -f $with_override_source_root/corba/makefiles/Makefile || \
-       test -f $with_override_source_root/corba/make/Makefile; then
-        AC_MSG_ERROR([Your override source root seems to contain a full corba repo! An override source root should only contain sources that override.])
+      test -f $with_override_source_root/corba/make/Makefile; then
+      AC_MSG_ERROR([Your override source root seems to contain a full corba repo! An override source root should only contain sources that override.])
     fi
     if test -f $with_override_source_root/jaxp/makefiles/Makefile || \
-       test -f $with_override_source_root/jaxp/make/Makefile; then
-        AC_MSG_ERROR([Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override.])
+      test -f $with_override_source_root/jaxp/make/Makefile; then
+      AC_MSG_ERROR([Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override.])
     fi
     if test -f $with_override_source_root/jaxws/makefiles/Makefile || \
-       test -f $with_override_source_root/jaxws/make/Makefile; then
-        AC_MSG_ERROR([Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override.])
+      test -f $with_override_source_root/jaxws/make/Makefile; then
+      AC_MSG_ERROR([Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override.])
     fi
     if test -f $with_override_source_root/hotspot/makefiles/Makefile || \
-       test -f $with_override_source_root/hotspot/make/Makefile; then
-        AC_MSG_ERROR([Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override.])
+      test -f $with_override_source_root/hotspot/make/Makefile; then
+      AC_MSG_ERROR([Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override.])
     fi
     if test -f $with_override_source_root/nashorn/makefiles/Makefile || \
-       test -f $with_override_source_root/nashorn/make/Makefile; then
-        AC_MSG_ERROR([Your override source root seems to contain a full nashorn repo! An override source root should only contain sources that override.])
+      test -f $with_override_source_root/nashorn/make/Makefile; then
+      AC_MSG_ERROR([Your override source root seems to contain a full nashorn repo! An override source root should only contain sources that override.])
     fi
     if test -f $with_override_source_root/jdk/makefiles/Makefile || \
-       test -f $with_override_source_root/jdk/make/Makefile; then
-        AC_MSG_ERROR([Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override.])
+      test -f $with_override_source_root/jdk/make/Makefile; then
+      AC_MSG_ERROR([Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override.])
     fi
-fi
-AC_SUBST(OVERRIDE_SRC_ROOT)
+  fi
+  AC_SUBST(OVERRIDE_SRC_ROOT)
 
-###############################################################################
-#
-# Override a repo completely, this is used for example when you have 3 small
-# development sandboxes of the langtools sources and want to avoid having 3 full
-# OpenJDK sources checked out on disk.
-#
-# Assuming that the 3 langtools sandboxes are located here:
-# /home/fredrik/sandbox1/langtools
-# /home/fredrik/sandbox2/langtools
-# /home/fredrik/sandbox3/langtools
-#
-# From the source root you create build subdirs manually:
-#     mkdir -p build1 build2 build3 
-# in each build directory run:
-#     (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make)
-#     (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make)
-#     (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make)
-#
+  ###############################################################################
+  #
+  # Override a repo completely, this is used for example when you have 3 small
+  # development sandboxes of the langtools sources and want to avoid having 3 full
+  # OpenJDK sources checked out on disk.
+  #
+  # Assuming that the 3 langtools sandboxes are located here:
+  # /home/fredrik/sandbox1/langtools
+  # /home/fredrik/sandbox2/langtools
+  # /home/fredrik/sandbox3/langtools
+  #
+  # From the source root you create build subdirs manually:
+  #     mkdir -p build1 build2 build3
+  # in each build directory run:
+  #     (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make)
+  #     (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make)
+  #     (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make)
+  #
 
-AC_ARG_WITH(override-langtools, [AS_HELP_STRING([--with-override-langtools],
-    [use this langtools dir for the build])])
+  AC_ARG_WITH(override-langtools, [AS_HELP_STRING([--with-override-langtools],
+      [use this langtools dir for the build])])
 
-AC_ARG_WITH(override-corba, [AS_HELP_STRING([--with-override-corba],
-    [use this corba dir for the build])])
+  AC_ARG_WITH(override-corba, [AS_HELP_STRING([--with-override-corba],
+      [use this corba dir for the build])])
 
-AC_ARG_WITH(override-jaxp, [AS_HELP_STRING([--with-override-jaxp],
-	[use this jaxp dir for the build])])
+  AC_ARG_WITH(override-jaxp, [AS_HELP_STRING([--with-override-jaxp],
+      [use this jaxp dir for the build])])
 
-AC_ARG_WITH(override-jaxws, [AS_HELP_STRING([--with-override-jaxws],
-	[use this jaxws dir for the build])])
+  AC_ARG_WITH(override-jaxws, [AS_HELP_STRING([--with-override-jaxws],
+      [use this jaxws dir for the build])])
 
-AC_ARG_WITH(override-hotspot, [AS_HELP_STRING([--with-override-hotspot],
-	[use this hotspot dir for the build])])
+  AC_ARG_WITH(override-hotspot, [AS_HELP_STRING([--with-override-hotspot],
+      [use this hotspot dir for the build])])
 
-AC_ARG_WITH(override-nashorn, [AS_HELP_STRING([--with-override-nashorn],
-	[use this nashorn dir for the build])])
+  AC_ARG_WITH(override-nashorn, [AS_HELP_STRING([--with-override-nashorn],
+      [use this nashorn dir for the build])])
 
-AC_ARG_WITH(override-jdk, [AS_HELP_STRING([--with-override-jdk],
-	[use this jdk dir for the build])])
+  AC_ARG_WITH(override-jdk, [AS_HELP_STRING([--with-override-jdk],
+      [use this jdk dir for the build])])
 
-if test "x$with_override_langtools" != x; then
+  if test "x$with_override_langtools" != x; then
     CURDIR="$PWD"
     cd "$with_override_langtools"
     LANGTOOLS_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $LANGTOOLS_TOPDIR/makefiles/Makefile; then
-        AC_MSG_ERROR([You have to override langtools with a full langtools repo!])
+      AC_MSG_ERROR([You have to override langtools with a full langtools repo!])
     fi
     AC_MSG_CHECKING([if langtools should be overridden])
     AC_MSG_RESULT([yes with $LANGTOOLS_TOPDIR])
-fi    
-if test "x$with_override_corba" != x; then
+  fi
+  if test "x$with_override_corba" != x; then
     CURDIR="$PWD"
     cd "$with_override_corba"
     CORBA_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $CORBA_TOPDIR/makefiles/Makefile; then
-        AC_MSG_ERROR([You have to override corba with a full corba repo!])
+      AC_MSG_ERROR([You have to override corba with a full corba repo!])
     fi
     AC_MSG_CHECKING([if corba should be overridden])
     AC_MSG_RESULT([yes with $CORBA_TOPDIR])
-fi    
-if test "x$with_override_jaxp" != x; then
+  fi
+  if test "x$with_override_jaxp" != x; then
     CURDIR="$PWD"
     cd "$with_override_jaxp"
     JAXP_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $JAXP_TOPDIR/makefiles/Makefile; then
-        AC_MSG_ERROR([You have to override jaxp with a full jaxp repo!])
+      AC_MSG_ERROR([You have to override jaxp with a full jaxp repo!])
     fi
     AC_MSG_CHECKING([if jaxp should be overridden])
     AC_MSG_RESULT([yes with $JAXP_TOPDIR])
-fi    
-if test "x$with_override_jaxws" != x; then
+  fi
+  if test "x$with_override_jaxws" != x; then
     CURDIR="$PWD"
     cd "$with_override_jaxws"
     JAXWS_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $JAXWS_TOPDIR/makefiles/Makefile; then
-        AC_MSG_ERROR([You have to override jaxws with a full jaxws repo!])
+      AC_MSG_ERROR([You have to override jaxws with a full jaxws repo!])
     fi
     AC_MSG_CHECKING([if jaxws should be overridden])
     AC_MSG_RESULT([yes with $JAXWS_TOPDIR])
-fi    
-if test "x$with_override_hotspot" != x; then
+  fi
+  if test "x$with_override_hotspot" != x; then
     CURDIR="$PWD"
     cd "$with_override_hotspot"
     HOTSPOT_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $HOTSPOT_TOPDIR/make/Makefile && \
-       ! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then
-        AC_MSG_ERROR([You have to override hotspot with a full hotspot repo!])
+        ! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then
+      AC_MSG_ERROR([You have to override hotspot with a full hotspot repo!])
     fi
     AC_MSG_CHECKING([if hotspot should be overridden])
     AC_MSG_RESULT([yes with $HOTSPOT_TOPDIR])
-fi
-if test "x$with_override_nashorn" != x; then
+  fi
+  if test "x$with_override_nashorn" != x; then
     CURDIR="$PWD"
     cd "$with_override_nashorn"
     NASHORN_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $NASHORN_TOPDIR/makefiles/Makefile; then
-        AC_MSG_ERROR([You have to override nashorn with a full nashorn repo!])
+      AC_MSG_ERROR([You have to override nashorn with a full nashorn repo!])
     fi
     AC_MSG_CHECKING([if nashorn should be overridden])
     AC_MSG_RESULT([yes with $NASHORN_TOPDIR])
-fi
-if test "x$with_override_jdk" != x; then
+  fi
+  if test "x$with_override_jdk" != x; then
     CURDIR="$PWD"
     cd "$with_override_jdk"
     JDK_TOPDIR="`pwd`"
     cd "$CURDIR"
     if ! test -f $JDK_TOPDIR/makefiles/Makefile; then
-        AC_MSG_ERROR([You have to override JDK with a full JDK repo!])
+      AC_MSG_ERROR([You have to override JDK with a full JDK repo!])
     fi
     AC_MSG_CHECKING([if JDK should be overridden])
     AC_MSG_RESULT([yes with $JDK_TOPDIR])
-fi    
-
+  fi
 ])
 
 AC_DEFUN_ONCE([SRCDIRS_SETUP_OUTPUT_DIRS],
 [
-BUILD_OUTPUT="$OUTPUT_ROOT"
-AC_SUBST(BUILD_OUTPUT)
+  BUILD_OUTPUT="$OUTPUT_ROOT"
+  AC_SUBST(BUILD_OUTPUT)
 
-HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist"
-BUILD_HOTSPOT=true
-AC_SUBST(HOTSPOT_DIST)
-AC_SUBST(BUILD_HOTSPOT)
-AC_ARG_WITH(import-hotspot, [AS_HELP_STRING([--with-import-hotspot],
-	[import hotspot binaries from this jdk image or hotspot build dist dir instead of building from source])])
-if test "x$with_import_hotspot" != x; then
+  HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist"
+  BUILD_HOTSPOT=true
+  AC_SUBST(HOTSPOT_DIST)
+  AC_SUBST(BUILD_HOTSPOT)
+  AC_ARG_WITH(import-hotspot, [AS_HELP_STRING([--with-import-hotspot],
+  [import hotspot binaries from this jdk image or hotspot build dist dir instead of building from source])])
+  if test "x$with_import_hotspot" != x; then
     CURDIR="$PWD"
     cd "$with_import_hotspot"
     HOTSPOT_DIST="`pwd`"
     cd "$CURDIR"
     if ! (test -d $HOTSPOT_DIST/lib && test -d $HOTSPOT_DIST/jre/lib); then
-        AC_MSG_ERROR([You have to import hotspot from a full jdk image or hotspot build dist dir!])
+      AC_MSG_ERROR([You have to import hotspot from a full jdk image or hotspot build dist dir!])
     fi
     AC_MSG_CHECKING([if hotspot should be imported])
     AC_MSG_RESULT([yes from $HOTSPOT_DIST])
     BUILD_HOTSPOT=false
-fi
+  fi
 
-JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk"
+  JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk"
 ])
--- a/common/autoconf/spec.gmk.in	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/spec.gmk.in	Wed Jul 05 19:15:55 2017 +0200
@@ -30,8 +30,8 @@
 #   (called @OPENJDK_BUILD_AUTOCONF_NAME@ by autoconf)
 # using 'configure @CONFIGURE_COMMAND_LINE@'
 
-# When calling macros, the spaces between arguments are 
-# often semantically important! Sometimes we need to subst 
+# When calling macros, the spaces between arguments are
+# often semantically important! Sometimes we need to subst
 # spaces and commas, therefore we need the following macros.
 X:=
 SPACE:=$(X) $(X)
@@ -56,17 +56,17 @@
 
 # Pass along the verbosity and log level settings.
 ifeq (,$(findstring VERBOSE=,$(MAKE)))
-    MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" LOG_LEVEL="$(LOG_LEVEL)"
+  MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" LOG_LEVEL="$(LOG_LEVEL)"
 endif
 
 # No implicit variables or rules!
 ifeq (,$(findstring -R,$(MAKE)))
-    MAKE:=$(MAKE) -R
+  MAKE:=$(MAKE) -R
 endif
 
 # Specify where the common include directory for makefiles is.
 ifeq (,$(findstring -I @SRC_ROOT@/common/makefiles,$(MAKE)))
-    MAKE:=$(MAKE) -I @SRC_ROOT@/common/makefiles
+  MAKE:=$(MAKE) -I @SRC_ROOT@/common/makefiles
 endif
 
 # The "human readable" name of this configuration
@@ -175,7 +175,7 @@
   RELEASE=$(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
 endif
 
-ifneq ($(USER_RELEASE_SUFFIX),)
+ifneq ($(USER_RELEASE_SUFFIX), )
   FULL_VERSION=$(RELEASE)-$(USER_RELEASE_SUFFIX)-$(JDK_BUILD_NUMBER)
 else
   FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER)
@@ -287,7 +287,7 @@
 # Enable unlimited crypto policy
 UNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@
 
-# Necessary additional compiler flags to compile X11 
+# Necessary additional compiler flags to compile X11
 X_CFLAGS:=@X_CFLAGS@
 X_LIBS:=@X_LIBS@
 OPENWIN_HOME:=@OPENWIN_HOME@
@@ -388,7 +388,7 @@
 # Command to create a shared library
 SHARED_LIBRARY_FLAGS:=@SHARED_LIBRARY_FLAGS@
 
-# Options to linker to specify a mapfile. 
+# Options to linker to specify a mapfile.
 # (Note absence of := assignment, because we do not want to evaluate the macro body here)
 SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@
 
@@ -461,7 +461,7 @@
 # Guarding this against resetting value. Legacy make files include spec multiple
 # times.
 ifndef RC_FLAGS
-RC_FLAGS:=@RC_FLAGS@
+  RC_FLAGS:=@RC_FLAGS@
 endif
 
 # A specific java binary with specific options can be used to run
@@ -541,9 +541,9 @@
 # we have solved how to prevent the log wrapper to wait
 # for the background sjavac server process.
 ifeq (@ENABLE_SJAVAC@X@OPENJDK_BUILD_OS_API@,yesXwinapi)
-    BUILD_LOG_WRAPPER:=
+  BUILD_LOG_WRAPPER:=
 else
-    BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@
+  BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@
 endif
 
 # Build setup
@@ -563,12 +563,12 @@
 # of the next macro to get rid of superfluous files.
 ADD_SRCS=$1
 ifneq (,$(ADD_SRC_ROOT))
-    # Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT 
-    ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1))
+  # Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT
+  ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1))
 endif
 ifneq (,$(OVERRIDE_SRC_ROOT))
-    # Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT 
-    ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1))
+  # Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT
+  ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1))
 endif
 
 # OVR_SRCS creates a filter expression to filter out sources in
@@ -578,9 +578,9 @@
 # We cannot do the scan in configure, since that would force us to rerun configure when
 # we add overridden sources.
 ifneq (,$(OVERRIDE_SRC_ROOT))
-    OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f)))))
+  OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f)))))
 else
-    OVR_SRCS:=
+  OVR_SRCS:=
 endif
 
 ####################################################
@@ -589,7 +589,7 @@
 #
 
 # Common prefix for all installed files. Defaults to /usr/local,
-# but /opt/myjdk is another common version. 
+# but /opt/myjdk is another common version.
 INSTALL_PREFIX=@prefix@
 
 # Directories containing architecture-dependent files should be relative to exec_prefix
@@ -619,7 +619,7 @@
 # Executables that other programs run.
 INSTALL_LIBEXECDIR=@libexecdir@
 
-# Locale-dependent but architecture-independent data, such as message catalogs. 
+# Locale-dependent but architecture-independent data, such as message catalogs.
 INSTALL_LOCALEDIR=@localedir@
 
 # Modifiable single-machine data
--- a/common/autoconf/toolchain.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/toolchain.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -46,7 +46,7 @@
     fi
   elif test  "x$OPENJDK_TARGET_OS" = xwindows; then
     # First line typically looks something like:
-    # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
+    # Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
     COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
     COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*Version \(@<:@1-9@:>@@<:@0-9.@:>@*\) .*/\1/p"`
     COMPILER_VENDOR="Microsoft CL.EXE"
@@ -86,25 +86,25 @@
 
 AC_DEFUN_ONCE([TOOLCHAIN_SETUP_SYSROOT_AND_OUT_OPTIONS],
 [
-###############################################################################
-#
-# Configure the development tool paths and potential sysroot.
-#
-AC_LANG(C++)
+  ###############################################################################
+  #
+  # Configure the development tool paths and potential sysroot.
+  #
+  AC_LANG(C++)
 
-# The option used to specify the target .o,.a or .so file.
-# When compiling, how to specify the to be created object file.
-CC_OUT_OPTION='-o$(SPACE)'
-# When linking, how to specify the to be created executable.
-EXE_OUT_OPTION='-o$(SPACE)'
-# When linking, how to specify the to be created dynamically linkable library.
-LD_OUT_OPTION='-o$(SPACE)'
-# When archiving, how to specify the to be create static archive for object files.
-AR_OUT_OPTION='rcs$(SPACE)'
-AC_SUBST(CC_OUT_OPTION)
-AC_SUBST(EXE_OUT_OPTION)
-AC_SUBST(LD_OUT_OPTION)
-AC_SUBST(AR_OUT_OPTION)
+  # The option used to specify the target .o,.a or .so file.
+  # When compiling, how to specify the to be created object file.
+  CC_OUT_OPTION='-o$(SPACE)'
+  # When linking, how to specify the to be created executable.
+  EXE_OUT_OPTION='-o$(SPACE)'
+  # When linking, how to specify the to be created dynamically linkable library.
+  LD_OUT_OPTION='-o$(SPACE)'
+  # When archiving, how to specify the to be create static archive for object files.
+  AR_OUT_OPTION='rcs$(SPACE)'
+  AC_SUBST(CC_OUT_OPTION)
+  AC_SUBST(EXE_OUT_OPTION)
+  AC_SUBST(LD_OUT_OPTION)
+  AC_SUBST(AR_OUT_OPTION)
 ])
 
 # $1 = compiler to test (CC or CXX)
@@ -133,8 +133,8 @@
   fi
 
   if test "x[$]$1" = x; then
-      HELP_MSG_MISSING_DEPENDENCY([devkit])
-      AC_MSG_ERROR([Could not find a $COMPILER_NAME compiler. $HELP_MSG])
+    HELP_MSG_MISSING_DEPENDENCY([devkit])
+    AC_MSG_ERROR([Could not find a $COMPILER_NAME compiler. $HELP_MSG])
   fi
   BASIC_FIXUP_EXECUTABLE($1)
   AC_MSG_CHECKING([resolved symbolic links for $1])
@@ -174,26 +174,26 @@
 
 AC_DEFUN([TOOLCHAIN_SETUP_PATHS],
 [
-if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
-  BASIC_DEPRECATED_ARG_WITH([dxsdk])
-  BASIC_DEPRECATED_ARG_WITH([dxsdk-lib])
-  BASIC_DEPRECATED_ARG_WITH([dxsdk-include])
-fi
+  if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
+    BASIC_DEPRECATED_ARG_WITH([dxsdk])
+    BASIC_DEPRECATED_ARG_WITH([dxsdk-lib])
+    BASIC_DEPRECATED_ARG_WITH([dxsdk-include])
+  fi
 
-AC_SUBST(MSVCR_DLL)
+  AC_SUBST(MSVCR_DLL)
 
-# If --build AND --host is set, then the configure script will find any
-# cross compilation tools in the PATH. Cross compilation tools
-# follows the cross compilation standard where they are prefixed with ${host}.
-# For example the binary i686-sun-solaris2.10-gcc
-# will cross compile for i686-sun-solaris2.10
-# If neither of build and host is not set, then build=host and the
-# default compiler found in the path will be used.
-# Setting only --host, does not seem to be really supported.
-# Please set both --build and --host if you want to cross compile.
+  # If --build AND --host is set, then the configure script will find any
+  # cross compilation tools in the PATH. Cross compilation tools
+  # follows the cross compilation standard where they are prefixed with ${host}.
+  # For example the binary i686-sun-solaris2.10-gcc
+  # will cross compile for i686-sun-solaris2.10
+  # If neither of build and host is not set, then build=host and the
+  # default compiler found in the path will be used.
+  # Setting only --host, does not seem to be really supported.
+  # Please set both --build and --host if you want to cross compile.
 
-if test "x$COMPILE_TYPE" = "xcross"; then
+  if test "x$COMPILE_TYPE" = "xcross"; then
     # Now we to find a C/C++ compiler that can build executables for the build
     # platform. We can't use the AC_PROG_CC macro, since it can only be used
     # once. Also, we need to do this before adding a tools dir to the path,
@@ -206,123 +206,124 @@
     BASIC_FIXUP_EXECUTABLE(BUILD_CXX)
     AC_PATH_PROG(BUILD_LD, ld)
     BASIC_FIXUP_EXECUTABLE(BUILD_LD)
-fi
-AC_SUBST(BUILD_CC)
-AC_SUBST(BUILD_CXX)
-AC_SUBST(BUILD_LD)
+  fi
+  AC_SUBST(BUILD_CC)
+  AC_SUBST(BUILD_CXX)
+  AC_SUBST(BUILD_LD)
 
-# If a devkit is found on the builddeps server, then prepend its path to the
-# PATH variable. If there are cross compilers available in the devkit, these
-# will be found by AC_PROG_CC et al.
-DEVKIT=
-BDEPS_CHECK_MODULE(DEVKIT, devkit, xxx,
-                    [# Found devkit
-                     PATH="$DEVKIT/bin:$PATH"
-                     SYS_ROOT="$DEVKIT/${rewritten_target}/sys-root"
-                     if test "x$x_includes" = "xNONE"; then
-                         x_includes="$SYS_ROOT/usr/include/X11"
-                     fi
-                     if test "x$x_libraries" = "xNONE"; then
-                         x_libraries="$SYS_ROOT/usr/lib"
-                     fi
-                    ],
-                    [])
+  # If a devkit is found on the builddeps server, then prepend its path to the
+  # PATH variable. If there are cross compilers available in the devkit, these
+  # will be found by AC_PROG_CC et al.
+  DEVKIT=
+  BDEPS_CHECK_MODULE(DEVKIT, devkit, xxx,
+      [
+        # Found devkit
+        PATH="$DEVKIT/bin:$PATH"
+        SYS_ROOT="$DEVKIT/${rewritten_target}/sys-root"
+        if test "x$x_includes" = "xNONE"; then
+          x_includes="$SYS_ROOT/usr/include/X11"
+        fi
+        if test "x$x_libraries" = "xNONE"; then
+          x_libraries="$SYS_ROOT/usr/lib"
+        fi
+      ],
+      [])
 
-# Store the CFLAGS etal passed to the configure script.
-ORG_CFLAGS="$CFLAGS"
-ORG_CXXFLAGS="$CXXFLAGS"
-ORG_OBJCFLAGS="$OBJCFLAGS"
+  # Store the CFLAGS etal passed to the configure script.
+  ORG_CFLAGS="$CFLAGS"
+  ORG_CXXFLAGS="$CXXFLAGS"
+  ORG_OBJCFLAGS="$OBJCFLAGS"
 
-# autoconf magic only relies on PATH, so update it if tools dir is specified
-OLD_PATH="$PATH"
-if test "x$TOOLS_DIR" != x; then
-  PATH=$TOOLS_DIR:$PATH
-fi
+  # autoconf magic only relies on PATH, so update it if tools dir is specified
+  OLD_PATH="$PATH"
+  if test "x$TOOLS_DIR" != x; then
+    PATH=$TOOLS_DIR:$PATH
+  fi
 
 
-### Locate C compiler (CC)
+  ### Locate C compiler (CC)
 
-# On windows, only cl.exe is supported.
-# On Solaris, cc is preferred to gcc.
-# Elsewhere, gcc is preferred to cc.
+  # On windows, only cl.exe is supported.
+  # On Solaris, cc is preferred to gcc.
+  # Elsewhere, gcc is preferred to cc.
 
-if test "x$CC" != x; then
-  COMPILER_CHECK_LIST="$CC"
-elif test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  COMPILER_CHECK_LIST="cl"
-elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
-  COMPILER_CHECK_LIST="cc gcc"
-else
-  COMPILER_CHECK_LIST="gcc cc"
-fi
+  if test "x$CC" != x; then
+    COMPILER_CHECK_LIST="$CC"
+  elif test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    COMPILER_CHECK_LIST="cl"
+  elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
+    COMPILER_CHECK_LIST="cc gcc"
+  else
+    COMPILER_CHECK_LIST="gcc cc"
+  fi
 
-TOOLCHAIN_FIND_COMPILER([CC],[C],[$COMPILER_CHECK_LIST])
-# Now that we have resolved CC ourself, let autoconf have its go at it
-AC_PROG_CC([$CC])
+  TOOLCHAIN_FIND_COMPILER([CC],[C],[$COMPILER_CHECK_LIST])
+  # Now that we have resolved CC ourself, let autoconf have its go at it
+  AC_PROG_CC([$CC])
 
-### Locate C++ compiler (CXX)
+  ### Locate C++ compiler (CXX)
 
-if test "x$CXX" != x; then
-  COMPILER_CHECK_LIST="$CXX"
-elif test "x$OPENJDK_TARGET_OS" = "xwindows"; then
-  COMPILER_CHECK_LIST="cl"
-elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
-  COMPILER_CHECK_LIST="CC g++"
-else
-  COMPILER_CHECK_LIST="g++ CC"
-fi
+  if test "x$CXX" != x; then
+    COMPILER_CHECK_LIST="$CXX"
+  elif test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+    COMPILER_CHECK_LIST="cl"
+  elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
+    COMPILER_CHECK_LIST="CC g++"
+  else
+    COMPILER_CHECK_LIST="g++ CC"
+  fi
 
-TOOLCHAIN_FIND_COMPILER([CXX],[C++],[$COMPILER_CHECK_LIST])
-# Now that we have resolved CXX ourself, let autoconf have its go at it
-AC_PROG_CXX([$CXX])
+  TOOLCHAIN_FIND_COMPILER([CXX],[C++],[$COMPILER_CHECK_LIST])
+  # Now that we have resolved CXX ourself, let autoconf have its go at it
+  AC_PROG_CXX([$CXX])
 
-### Locate other tools
+  ### Locate other tools
 
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     AC_PROG_OBJC
     BASIC_FIXUP_EXECUTABLE(OBJC)
-else
+  else
     OBJC=
-fi
+  fi
 
-# Restore the flags to the user specified values.
-# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
-CFLAGS="$ORG_CFLAGS"
-CXXFLAGS="$ORG_CXXFLAGS"
-OBJCFLAGS="$ORG_OBJCFLAGS"
+  # Restore the flags to the user specified values.
+  # This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
+  CFLAGS="$ORG_CFLAGS"
+  CXXFLAGS="$ORG_CXXFLAGS"
+  OBJCFLAGS="$ORG_OBJCFLAGS"
 
-LD="$CC"
-LDEXE="$CC"
-LDCXX="$CXX"
-LDEXECXX="$CXX"
-AC_SUBST(LD)
-# LDEXE is the linker to use, when creating executables.
-AC_SUBST(LDEXE)
-# Linking C++ libraries.
-AC_SUBST(LDCXX)
-# Linking C++ executables.
-AC_SUBST(LDEXECXX)
+  LD="$CC"
+  LDEXE="$CC"
+  LDCXX="$CXX"
+  LDEXECXX="$CXX"
+  AC_SUBST(LD)
+  # LDEXE is the linker to use, when creating executables.
+  AC_SUBST(LDEXE)
+  # Linking C++ libraries.
+  AC_SUBST(LDCXX)
+  # Linking C++ executables.
+  AC_SUBST(LDEXECXX)
 
-if test "x$OPENJDK_TARGET_OS" != xwindows; then
+  if test "x$OPENJDK_TARGET_OS" != xwindows; then
     AC_CHECK_TOOL(AR, ar)
     BASIC_FIXUP_EXECUTABLE(AR)
-fi
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     ARFLAGS="-r"
-else
+  else
     ARFLAGS=""
-fi
-AC_SUBST(ARFLAGS)
+  fi
+  AC_SUBST(ARFLAGS)
 
-# For hotspot, we need these in Windows mixed path; other platforms keep them the same
-HOTSPOT_CXX="$CXX"
-HOTSPOT_LD="$LD"
-AC_SUBST(HOTSPOT_CXX)
-AC_SUBST(HOTSPOT_LD)
+  # For hotspot, we need these in Windows mixed path; other platforms keep them the same
+  HOTSPOT_CXX="$CXX"
+  HOTSPOT_LD="$LD"
+  AC_SUBST(HOTSPOT_CXX)
+  AC_SUBST(HOTSPOT_LD)
 
-COMPILER_NAME=gcc
-COMPILER_TYPE=CC
-AS_IF([test "x$OPENJDK_TARGET_OS" = xwindows], [
+  COMPILER_NAME=gcc
+  COMPILER_TYPE=CC
+  AS_IF([test "x$OPENJDK_TARGET_OS" = xwindows], [
     # For now, assume that we are always compiling using cl.exe.
     CC_OUT_OPTION=-Fo
     EXE_OUT_OPTION=-out:
@@ -369,45 +370,45 @@
 
     RC_FLAGS="-nologo -l 0x409 -r"
     AS_IF([test "x$VARIANT" = xOPT], [
-        RC_FLAGS="$RC_FLAGS -d NDEBUG"
-    ])
+    RC_FLAGS="$RC_FLAGS -d NDEBUG"
+  ])
 
-    # The version variables used to create RC_FLAGS may be overridden
-    # in a custom configure script, or possibly the command line.  
-    # Let those variables be expanded at make time in spec.gmk.
-    # 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_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_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)\""
+  # The version variables used to create RC_FLAGS may be overridden
+  # in a custom configure script, or possibly the command line.
+  # Let those variables be expanded at make time in spec.gmk.
+  # 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_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_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)\""
 
-    # lib.exe is used to create static libraries.
-    AC_CHECK_PROG([WINAR], [lib],[lib],,,)
-    BASIC_FIXUP_EXECUTABLE(WINAR)
-    AR="$WINAR"
-    ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT"
+  # lib.exe is used to create static libraries.
+  AC_CHECK_PROG([WINAR], [lib],[lib],,,)
+  BASIC_FIXUP_EXECUTABLE(WINAR)
+  AR="$WINAR"
+  ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT"
 
-    AC_CHECK_PROG([DUMPBIN], [dumpbin], [dumpbin],,,)
-    BASIC_FIXUP_EXECUTABLE(DUMPBIN)
+  AC_CHECK_PROG([DUMPBIN], [dumpbin], [dumpbin],,,)
+      BASIC_FIXUP_EXECUTABLE(DUMPBIN)
 
-    COMPILER_TYPE=CL
-    CCXXFLAGS="$CCXXFLAGS -nologo"
-])
-AC_SUBST(RC_FLAGS)
-AC_SUBST(COMPILER_TYPE)
+      COMPILER_TYPE=CL
+      CCXXFLAGS="$CCXXFLAGS -nologo"
+  ])
+  AC_SUBST(RC_FLAGS)
+  AC_SUBST(COMPILER_TYPE)
 
-AC_PROG_CPP
-BASIC_FIXUP_EXECUTABLE(CPP)
+  AC_PROG_CPP
+  BASIC_FIXUP_EXECUTABLE(CPP)
 
-AC_PROG_CXXCPP
-BASIC_FIXUP_EXECUTABLE(CXXCPP)
+  AC_PROG_CXXCPP
+  BASIC_FIXUP_EXECUTABLE(CXXCPP)
 
-if test "x$COMPILE_TYPE" != "xcross"; then
+  if test "x$COMPILE_TYPE" != "xcross"; then
     # If we are not cross compiling, use the same compilers for
     # building the build platform executables. The cross-compilation
     # case needed to be done earlier, but this can only be done after
@@ -415,28 +416,28 @@
     BUILD_CC="$CC"
     BUILD_CXX="$CXX"
     BUILD_LD="$LD"
-fi
+  fi
 
-# for solaris we really need solaris tools, and not gnu equivalent
-#   these seems to normally reside in /usr/ccs/bin so add that to path before
-#   starting to probe
-#
-#   NOTE: I add this /usr/ccs/bin after TOOLS but before OLD_PATH
-#         so that it can be overriden --with-tools-dir
-if test "x$OPENJDK_BUILD_OS" = xsolaris; then
+  # for solaris we really need solaris tools, and not gnu equivalent
+  #   these seems to normally reside in /usr/ccs/bin so add that to path before
+  #   starting to probe
+  #
+  #   NOTE: I add this /usr/ccs/bin after TOOLS but before OLD_PATH
+  #         so that it can be overriden --with-tools-dir
+  if test "x$OPENJDK_BUILD_OS" = xsolaris; then
     PATH="${TOOLS_DIR}:/usr/ccs/bin:${OLD_PATH}"
-fi
+  fi
 
-# Find the right assembler.
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+  # Find the right assembler.
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     AC_PATH_PROG(AS, as)
     BASIC_FIXUP_EXECUTABLE(AS)
-else
+  else
     AS="$CC -c"
-fi
-AC_SUBST(AS)
+  fi
+  AC_SUBST(AS)
 
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     AC_PATH_PROG(NM, nm)
     BASIC_FIXUP_EXECUTABLE(NM)
     AC_PATH_PROG(GNM, gnm)
@@ -445,52 +446,52 @@
     BASIC_FIXUP_EXECUTABLE(STRIP)
     AC_PATH_PROG(MCS, mcs)
     BASIC_FIXUP_EXECUTABLE(MCS)
-elif test "x$OPENJDK_TARGET_OS" != xwindows; then
+  elif test "x$OPENJDK_TARGET_OS" != xwindows; then
     AC_CHECK_TOOL(NM, nm)
     BASIC_FIXUP_EXECUTABLE(NM)
     GNM="$NM"
     AC_SUBST(GNM)
     AC_CHECK_TOOL(STRIP, strip)
     BASIC_FIXUP_EXECUTABLE(STRIP)
-fi
+  fi
 
-# objcopy is used for moving debug symbols to separate files when
-# full debug symbols are enabled.
-if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
+  # objcopy is used for moving debug symbols to separate files when
+  # full debug symbols are enabled.
+  if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
     AC_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy])
     # Only call fixup if objcopy was found.
     if test -n "$OBJCOPY"; then
-        BASIC_FIXUP_EXECUTABLE(OBJCOPY)
+      BASIC_FIXUP_EXECUTABLE(OBJCOPY)
     fi
-fi
+  fi
 
-AC_CHECK_TOOLS(OBJDUMP, [gobjdump objdump])
-if test "x$OBJDUMP" != x; then
-  # Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE bails if argument is missing.
-  BASIC_FIXUP_EXECUTABLE(OBJDUMP)
-fi
+  AC_CHECK_TOOLS(OBJDUMP, [gobjdump objdump])
+  if test "x$OBJDUMP" != x; then
+    # Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE bails if argument is missing.
+    BASIC_FIXUP_EXECUTABLE(OBJDUMP)
+  fi
 
-if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
-   AC_PATH_PROG(LIPO, lipo)
-   BASIC_FIXUP_EXECUTABLE(LIPO)
-fi
+  if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+    AC_PATH_PROG(LIPO, lipo)
+    BASIC_FIXUP_EXECUTABLE(LIPO)
+  fi
 
-TOOLCHAIN_SETUP_JTREG
+  TOOLCHAIN_SETUP_JTREG
 
-# Restore old path without tools dir
-PATH="$OLD_PATH"
+  # Restore old path without tools dir
+  PATH="$OLD_PATH"
 ])
 
 
 AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_LIBS],
 [
 
-###############################################################################
-#
-# How to compile shared libraries.
-#
+  ###############################################################################
+  #
+  # How to compile shared libraries.
+  #
 
-if test "x$GCC" = xyes; then
+  if test "x$GCC" = xyes; then
     COMPILER_NAME=gcc
     PICFLAG="-fPIC"
     LIBRARY_PREFIX=lib
@@ -515,398 +516,399 @@
 
     # Linking is different on MacOSX
     if test "x$OPENJDK_TARGET_OS" = xmacosx; then
-        # Might change in the future to clang.
-        COMPILER_NAME=gcc
-        SHARED_LIBRARY='lib[$]1.dylib'
-        SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
-        SHARED_LIBRARY_SUFFIX='.dylib'
-        EXE_SUFFIX=''
-        SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1'
-        SET_SHARED_LIBRARY_MAPFILE=''
-        SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
-        SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
-        POST_STRIP_CMD="$STRIP -S"
+      # Might change in the future to clang.
+      COMPILER_NAME=gcc
+      SHARED_LIBRARY='lib[$]1.dylib'
+      SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
+      SHARED_LIBRARY_SUFFIX='.dylib'
+      EXE_SUFFIX=''
+      SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1'
+      SET_SHARED_LIBRARY_MAPFILE=''
+      SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
+      SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
+      POST_STRIP_CMD="$STRIP -S"
     fi
-else
+  else
     if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-        # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler
-        COMPILER_NAME=ossc
-        PICFLAG="-KPIC"
-        LIBRARY_PREFIX=lib
-        SHARED_LIBRARY='lib[$]1.so'
-        STATIC_LIBRARY='lib[$]1.a'
-        SHARED_LIBRARY_FLAGS="-G"
-        SHARED_LIBRARY_SUFFIX='.so'
-        STATIC_LIBRARY_SUFFIX='.a'
-        OBJ_SUFFIX='.o'
-        EXE_SUFFIX=''
-        SET_SHARED_LIBRARY_NAME=''
-        SET_SHARED_LIBRARY_MAPFILE='-M[$]1'
-	C_FLAG_REORDER='-xF'
-	CXX_FLAG_REORDER='-xF'
-        SET_SHARED_LIBRARY_ORIGIN='-R\$$$$ORIGIN[$]1'
-        SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
-        CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
-        CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
-        CFLAGS_JDKLIB_EXTRA='-xstrconst'
-        POST_STRIP_CMD="$STRIP -x"
-        POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
+      # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler
+      COMPILER_NAME=ossc
+      PICFLAG="-KPIC"
+      LIBRARY_PREFIX=lib
+      SHARED_LIBRARY='lib[$]1.so'
+      STATIC_LIBRARY='lib[$]1.a'
+      SHARED_LIBRARY_FLAGS="-G"
+      SHARED_LIBRARY_SUFFIX='.so'
+      STATIC_LIBRARY_SUFFIX='.a'
+      OBJ_SUFFIX='.o'
+      EXE_SUFFIX=''
+      SET_SHARED_LIBRARY_NAME=''
+      SET_SHARED_LIBRARY_MAPFILE='-M[$]1'
+      C_FLAG_REORDER='-xF'
+      CXX_FLAG_REORDER='-xF'
+      SET_SHARED_LIBRARY_ORIGIN='-R\$$$$ORIGIN[$]1'
+      SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
+      CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
+      CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
+      CFLAGS_JDKLIB_EXTRA='-xstrconst'
+      POST_STRIP_CMD="$STRIP -x"
+      POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
     fi
     if test "x$OPENJDK_TARGET_OS" = xwindows; then
-        # If it is not gcc, then assume it is the MS Visual Studio compiler
-        COMPILER_NAME=cl
-        PICFLAG=""
-        LIBRARY_PREFIX=
-        SHARED_LIBRARY='[$]1.dll'
-        STATIC_LIBRARY='[$]1.lib'
-        SHARED_LIBRARY_FLAGS="-LD"
-        SHARED_LIBRARY_SUFFIX='.dll'
-        STATIC_LIBRARY_SUFFIX='.lib'
-        OBJ_SUFFIX='.obj'
-        EXE_SUFFIX='.exe'
-        SET_SHARED_LIBRARY_NAME=''
-        SET_SHARED_LIBRARY_MAPFILE=''
-        SET_SHARED_LIBRARY_ORIGIN=''
-        SET_EXECUTABLE_ORIGIN=''
+      # If it is not gcc, then assume it is the MS Visual Studio compiler
+      COMPILER_NAME=cl
+      PICFLAG=""
+      LIBRARY_PREFIX=
+      SHARED_LIBRARY='[$]1.dll'
+      STATIC_LIBRARY='[$]1.lib'
+      SHARED_LIBRARY_FLAGS="-LD"
+      SHARED_LIBRARY_SUFFIX='.dll'
+      STATIC_LIBRARY_SUFFIX='.lib'
+      OBJ_SUFFIX='.obj'
+      EXE_SUFFIX='.exe'
+      SET_SHARED_LIBRARY_NAME=''
+      SET_SHARED_LIBRARY_MAPFILE=''
+      SET_SHARED_LIBRARY_ORIGIN=''
+      SET_EXECUTABLE_ORIGIN=''
     fi
-fi
+  fi
 
-AC_SUBST(COMPILER_NAME)
-AC_SUBST(OBJ_SUFFIX)
-AC_SUBST(SHARED_LIBRARY)
-AC_SUBST(STATIC_LIBRARY)
-AC_SUBST(LIBRARY_PREFIX)
-AC_SUBST(SHARED_LIBRARY_SUFFIX)
-AC_SUBST(STATIC_LIBRARY_SUFFIX)
-AC_SUBST(EXE_SUFFIX)
-AC_SUBST(SHARED_LIBRARY_FLAGS)
-AC_SUBST(SET_SHARED_LIBRARY_NAME)
-AC_SUBST(SET_SHARED_LIBRARY_MAPFILE)
-AC_SUBST(C_FLAG_REORDER)
-AC_SUBST(CXX_FLAG_REORDER)
-AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
-AC_SUBST(SET_EXECUTABLE_ORIGIN)
-AC_SUBST(POST_STRIP_CMD)
-AC_SUBST(POST_MCS_CMD)
+  AC_SUBST(COMPILER_NAME)
+  AC_SUBST(OBJ_SUFFIX)
+  AC_SUBST(SHARED_LIBRARY)
+  AC_SUBST(STATIC_LIBRARY)
+  AC_SUBST(LIBRARY_PREFIX)
+  AC_SUBST(SHARED_LIBRARY_SUFFIX)
+  AC_SUBST(STATIC_LIBRARY_SUFFIX)
+  AC_SUBST(EXE_SUFFIX)
+  AC_SUBST(SHARED_LIBRARY_FLAGS)
+  AC_SUBST(SET_SHARED_LIBRARY_NAME)
+  AC_SUBST(SET_SHARED_LIBRARY_MAPFILE)
+  AC_SUBST(C_FLAG_REORDER)
+  AC_SUBST(CXX_FLAG_REORDER)
+  AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
+  AC_SUBST(SET_EXECUTABLE_ORIGIN)
+  AC_SUBST(POST_STRIP_CMD)
+  AC_SUBST(POST_MCS_CMD)
 
-# The (cross) compiler is now configured, we can now test capabilities
-# of the target platform.
+  # The (cross) compiler is now configured, we can now test capabilities
+  # of the target platform.
 ])
 
 AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
 [
 
-###############################################################################
-#
-# Setup the opt flags for different compilers
-# and different operating systems.
-#
+  ###############################################################################
+  #
+  # Setup the opt flags for different compilers
+  # and different operating systems.
+  #
 
-#
-# NOTE: check for -mstackrealign needs to be below potential addition of -m32
-#
-if test "x$OPENJDK_TARGET_CPU_BITS" = x32 && test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  #
+  # NOTE: check for -mstackrealign needs to be below potential addition of -m32
+  #
+  if test "x$OPENJDK_TARGET_CPU_BITS" = x32 && test "x$OPENJDK_TARGET_OS" = xmacosx; then
     # On 32-bit MacOSX the OS requires C-entry points to be 16 byte aligned.
     # While waiting for a better solution, the current workaround is to use -mstackrealign.
     CFLAGS="$CFLAGS -mstackrealign"
     AC_MSG_CHECKING([if 32-bit compiler supports -mstackrealign])
     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])],
-                   [
-		        AC_MSG_RESULT([yes])
-                   ],
-	           [
-		        AC_MSG_RESULT([no])
-	                AC_MSG_ERROR([The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path.])
-	           ])
-fi
+        [
+          AC_MSG_RESULT([yes])
+        ],
+        [
+          AC_MSG_RESULT([no])
+          AC_MSG_ERROR([The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path.])
+        ]
+    )
+  fi
 
-C_FLAG_DEPS="-MMD -MF"
-CXX_FLAG_DEPS="-MMD -MF"
+  C_FLAG_DEPS="-MMD -MF"
+  CXX_FLAG_DEPS="-MMD -MF"
 
-case $COMPILER_TYPE in
-  CC )
-    case $COMPILER_NAME in
-      gcc )
-      	case $OPENJDK_TARGET_OS in
-	  macosx )
-	    # On MacOSX we optimize for size, something
-	    # we should do for all platforms?
-	    C_O_FLAG_HI="-Os"
-	    C_O_FLAG_NORM="-Os"
-	    C_O_FLAG_NONE=""
-	    ;;
-	  *)
-	    C_O_FLAG_HI="-O3"
-	    C_O_FLAG_NORM="-O2"
-	    C_O_FLAG_NONE="-O0"
-	    ;;
-	esac
-        CXX_O_FLAG_HI="$C_O_FLAG_HI"
-        CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
-        CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
-        CFLAGS_DEBUG_SYMBOLS="-g"
-        CXXFLAGS_DEBUG_SYMBOLS="-g"
-        if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
+  case $COMPILER_TYPE in
+    CC )
+      case $COMPILER_NAME in
+        gcc )
+          case $OPENJDK_TARGET_OS in
+            macosx )
+              # On MacOSX we optimize for size, something
+              # we should do for all platforms?
+              C_O_FLAG_HI="-Os"
+              C_O_FLAG_NORM="-Os"
+              C_O_FLAG_NONE=""
+              ;;
+            *)
+              C_O_FLAG_HI="-O3"
+              C_O_FLAG_NORM="-O2"
+              C_O_FLAG_NONE="-O0"
+              ;;
+          esac
+          CXX_O_FLAG_HI="$C_O_FLAG_HI"
+          CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
+          CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
+          CFLAGS_DEBUG_SYMBOLS="-g"
+          CXXFLAGS_DEBUG_SYMBOLS="-g"
+          if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
             CFLAGS_DEBUG_SYMBOLS="-g1"
             CXXFLAGS_DEBUG_SYMBOLS="-g1"
-        fi
-        ;;
-      ossc )
-        #
-        # Forte has different names for this with their C++ compiler...
-        #
-        C_FLAG_DEPS="-xMMD -xMF"
-        CXX_FLAG_DEPS="-xMMD -xMF"
+          fi
+          ;;
+        ossc )
+          #
+          # Forte has different names for this with their C++ compiler...
+          #
+          C_FLAG_DEPS="-xMMD -xMF"
+          CXX_FLAG_DEPS="-xMMD -xMF"
 
-        # Extra options used with HIGHEST
-        #
-        # WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
-        #          done with care, there are some assumptions below that need to
-        #          be understood about the use of pointers, and IEEE behavior.
-        #
-        # Use non-standard floating point mode (not IEEE 754)
-        CC_HIGHEST="$CC_HIGHEST -fns"
-        # Do some simplification of floating point arithmetic (not IEEE 754)
-        CC_HIGHEST="$CC_HIGHEST -fsimple"
-        # Use single precision floating point with 'float'
-        CC_HIGHEST="$CC_HIGHEST -fsingle"
-        # Assume memory references via basic pointer types do not alias
-        #   (Source with excessing pointer casting and data access with mixed
-        #    pointer types are not recommended)
-        CC_HIGHEST="$CC_HIGHEST -xalias_level=basic"
-        # Use intrinsic or inline versions for math/std functions
-        #   (If you expect perfect errno behavior, do not use this)
-        CC_HIGHEST="$CC_HIGHEST -xbuiltin=%all"
-        # Loop data dependency optimizations (need -xO3 or higher)
-        CC_HIGHEST="$CC_HIGHEST -xdepend"
-        # Pointer parameters to functions do not overlap
-        #   (Similar to -xalias_level=basic usage, but less obvious sometimes.
-        #    If you pass in multiple pointers to the same data, do not use this)
-        CC_HIGHEST="$CC_HIGHEST -xrestrict"
-        # Inline some library routines
-        #   (If you expect perfect errno behavior, do not use this)
-        CC_HIGHEST="$CC_HIGHEST -xlibmil"
-        # Use optimized math routines
-        #   (If you expect perfect errno behavior, do not use this)
-        #  Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
-        #CC_HIGHEST="$CC_HIGHEST -xlibmopt"
+          # Extra options used with HIGHEST
+          #
+          # WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
+          #          done with care, there are some assumptions below that need to
+          #          be understood about the use of pointers, and IEEE behavior.
+          #
+          # Use non-standard floating point mode (not IEEE 754)
+          CC_HIGHEST="$CC_HIGHEST -fns"
+          # Do some simplification of floating point arithmetic (not IEEE 754)
+          CC_HIGHEST="$CC_HIGHEST -fsimple"
+          # Use single precision floating point with 'float'
+          CC_HIGHEST="$CC_HIGHEST -fsingle"
+          # Assume memory references via basic pointer types do not alias
+          #   (Source with excessing pointer casting and data access with mixed
+          #    pointer types are not recommended)
+          CC_HIGHEST="$CC_HIGHEST -xalias_level=basic"
+          # Use intrinsic or inline versions for math/std functions
+          #   (If you expect perfect errno behavior, do not use this)
+          CC_HIGHEST="$CC_HIGHEST -xbuiltin=%all"
+          # Loop data dependency optimizations (need -xO3 or higher)
+          CC_HIGHEST="$CC_HIGHEST -xdepend"
+          # Pointer parameters to functions do not overlap
+          #   (Similar to -xalias_level=basic usage, but less obvious sometimes.
+          #    If you pass in multiple pointers to the same data, do not use this)
+          CC_HIGHEST="$CC_HIGHEST -xrestrict"
+          # Inline some library routines
+          #   (If you expect perfect errno behavior, do not use this)
+          CC_HIGHEST="$CC_HIGHEST -xlibmil"
+          # Use optimized math routines
+          #   (If you expect perfect errno behavior, do not use this)
+          #  Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
+          #CC_HIGHEST="$CC_HIGHEST -xlibmopt"
 
-        if test "x$OPENJDK_TARGET_CPU" = xsparc; then
-          CFLAGS_JDK="${CFLAGS_JDK} -xmemalign=4s"
-          CXXFLAGS_JDK="${CXXFLAGS_JDK} -xmemalign=4s"
-        fi
+          if test "x$OPENJDK_TARGET_CPU" = xsparc; then
+            CFLAGS_JDK="${CFLAGS_JDK} -xmemalign=4s"
+            CXXFLAGS_JDK="${CXXFLAGS_JDK} -xmemalign=4s"
+          fi
 
-        case $OPENJDK_TARGET_CPU_ARCH in
-          x86)
-            C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xregs=no%frameptr"
-            C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
-            C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
-            C_O_FLAG_NONE="-xregs=no%frameptr"
-            CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
-            CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
-            CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"
-            CXX_O_FLAG_NONE="-xregs=no%frameptr"
-            if test "x$OPENJDK_TARGET_CPU" = xx86; then
-               C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xchip=pentium"
-               CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HIGHEST -xchip=pentium"
-            fi
-            ;;
-          sparc)
-            CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
-            CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
-            C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
-            C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
-            C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
-            C_O_FLAG_NONE=""
-            CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
-            CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
-            CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
-            CXX_O_FLAG_NONE=""
-            ;;
-        esac
+          case $OPENJDK_TARGET_CPU_ARCH in
+            x86)
+              C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xregs=no%frameptr"
+              C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
+              C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
+              C_O_FLAG_NONE="-xregs=no%frameptr"
+              CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
+              CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
+              CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"
+              CXX_O_FLAG_NONE="-xregs=no%frameptr"
+              if test "x$OPENJDK_TARGET_CPU" = xx86; then
+                C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xchip=pentium"
+                CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HIGHEST -xchip=pentium"
+              fi
+              ;;
+            sparc)
+              CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
+              CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
+              C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
+              C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
+              C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
+              C_O_FLAG_NONE=""
+              CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
+              CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
+              CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
+              CXX_O_FLAG_NONE=""
+              ;;
+          esac
 
-    CFLAGS_DEBUG_SYMBOLS="-g -xs"
-    CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
-    esac
-    ;;
-  CL )
-    C_O_FLAG_HIGHEST="-O2"
-    C_O_FLAG_HI="-O1"
-    C_O_FLAG_NORM="-O1"
-    C_O_FLAG_NONE="-Od"
-    CXX_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST"
-    CXX_O_FLAG_HI="$C_O_FLAG_HI"
-    CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
-    CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
-    ;;
-esac
+          CFLAGS_DEBUG_SYMBOLS="-g -xs"
+          CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
+      esac
+      ;;
+    CL )
+      C_O_FLAG_HIGHEST="-O2"
+      C_O_FLAG_HI="-O1"
+      C_O_FLAG_NORM="-O1"
+      C_O_FLAG_NONE="-Od"
+      CXX_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST"
+      CXX_O_FLAG_HI="$C_O_FLAG_HI"
+      CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
+      CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
+      ;;
+  esac
 
-if test -z "$C_O_FLAG_HIGHEST"; then
-   C_O_FLAG_HIGHEST="$C_O_FLAG_HI"
-fi
+  if test -z "$C_O_FLAG_HIGHEST"; then
+    C_O_FLAG_HIGHEST="$C_O_FLAG_HI"
+  fi
 
-if test -z "$CXX_O_FLAG_HIGHEST"; then
-   CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HI"
-fi
+  if test -z "$CXX_O_FLAG_HIGHEST"; then
+    CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HI"
+  fi
 
-AC_SUBST(C_O_FLAG_HIGHEST)
-AC_SUBST(C_O_FLAG_HI)
-AC_SUBST(C_O_FLAG_NORM)
-AC_SUBST(C_O_FLAG_NONE)
-AC_SUBST(CXX_O_FLAG_HIGHEST)
-AC_SUBST(CXX_O_FLAG_HI)
-AC_SUBST(CXX_O_FLAG_NORM)
-AC_SUBST(CXX_O_FLAG_NONE)
-AC_SUBST(C_FLAG_DEPS)
-AC_SUBST(CXX_FLAG_DEPS)
+  AC_SUBST(C_O_FLAG_HIGHEST)
+  AC_SUBST(C_O_FLAG_HI)
+  AC_SUBST(C_O_FLAG_NORM)
+  AC_SUBST(C_O_FLAG_NONE)
+  AC_SUBST(CXX_O_FLAG_HIGHEST)
+  AC_SUBST(CXX_O_FLAG_HI)
+  AC_SUBST(CXX_O_FLAG_NORM)
+  AC_SUBST(CXX_O_FLAG_NONE)
+  AC_SUBST(C_FLAG_DEPS)
+  AC_SUBST(CXX_FLAG_DEPS)
 ])
 
 AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_JDK],
 [
 
-if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
-   AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
-fi
+  if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
+    AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
+  fi
 
-if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
-   AC_MSG_WARN([Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags])
-fi
+  if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
+    AC_MSG_WARN([Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags])
+  fi
 
-if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
-   AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags])
-fi
+  if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
+    AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags])
+  fi
 
-AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags],
-    [extra flags to be used when compiling jdk c-files])])
+  AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags],
+      [extra flags to be used when compiling jdk c-files])])
 
-AC_ARG_WITH(extra-cxxflags, [AS_HELP_STRING([--with-extra-cxxflags],
-    [extra flags to be used when compiling jdk c++-files])])
+  AC_ARG_WITH(extra-cxxflags, [AS_HELP_STRING([--with-extra-cxxflags],
+      [extra flags to be used when compiling jdk c++-files])])
 
-AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags],
-    [extra flags to be used when linking jdk])])
+  AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags],
+      [extra flags to be used when linking jdk])])
 
-CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
-CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
-LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
+  CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
+  CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
+  LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
 
-# Hotspot needs these set in their legacy form
-LEGACY_EXTRA_CFLAGS=$with_extra_cflags
-LEGACY_EXTRA_CXXFLAGS=$with_extra_cxxflags
-LEGACY_EXTRA_LDFLAGS=$with_extra_ldflags
+  # Hotspot needs these set in their legacy form
+  LEGACY_EXTRA_CFLAGS=$with_extra_cflags
+  LEGACY_EXTRA_CXXFLAGS=$with_extra_cxxflags
+  LEGACY_EXTRA_LDFLAGS=$with_extra_ldflags
 
-AC_SUBST(LEGACY_EXTRA_CFLAGS)
-AC_SUBST(LEGACY_EXTRA_CXXFLAGS)
-AC_SUBST(LEGACY_EXTRA_LDFLAGS)
+  AC_SUBST(LEGACY_EXTRA_CFLAGS)
+  AC_SUBST(LEGACY_EXTRA_CXXFLAGS)
+  AC_SUBST(LEGACY_EXTRA_LDFLAGS)
 
-###############################################################################
-#
-# Now setup the CFLAGS and LDFLAGS for the JDK build.
-# Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build.
-#
-case $COMPILER_NAME in
-      gcc )
-      	  CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
-                          -pipe \
-                          -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
-	  case $OPENJDK_TARGET_CPU_ARCH in
-	  arm )
-            # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
-	    CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
-	  ;;
-	  ppc )
-            # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
-	  ;;
-	  * )
-	    CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
-	    CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
+  ###############################################################################
+  #
+  # Now setup the CFLAGS and LDFLAGS for the JDK build.
+  # Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build.
+  #
+  case $COMPILER_NAME in
+    gcc )
+      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
+      -pipe \
+      -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
+      case $OPENJDK_TARGET_CPU_ARCH in
+        arm )
+          # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
+          CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
           ;;
-	  esac
+        ppc )
+          # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
+          ;;
+        * )
+          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
+          CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
           ;;
-      ossc )
-          CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
-          case $OPENJDK_TARGET_CPU_ARCH in
-          x86 )
-            CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB"
-       	    CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE"
-          ;;
-          esac
-
-      	  CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal"
-      	  CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt -features=no%except -DCC_NOEX -norunpath -xnolib"
-
-          LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
-          LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
+      esac
+      ;;
+    ossc )
+      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
+      case $OPENJDK_TARGET_CPU_ARCH in
+        x86 )
+          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB"
+          CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE"
           ;;
-      cl )
-          CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
-               -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
-	       -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
-	       -DWIN32 -DIAL"
-          case $OPENJDK_TARGET_CPU in
-              x86 )
-                  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86"
-                  ;;
-              x86_64 )
-                  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64"
-                  ;;
-          esac
-          ;;
-esac
+      esac
+
+      CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal"
+      CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt -features=no%except -DCC_NOEX -norunpath -xnolib"
 
-###############################################################################
+      LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
+      LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
+      ;;
+    cl )
+      CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
+      -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
+      -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
+      -DWIN32 -DIAL"
+      case $OPENJDK_TARGET_CPU in
+        x86 )
+          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86"
+          ;;
+        x86_64 )
+          CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64"
+          ;;
+      esac
+      ;;
+  esac
+
+  ###############################################################################
 
-# Adjust flags according to debug level.
-case $DEBUG_LEVEL in
-      fastdebug )
-              CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
-              CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
-	      C_O_FLAG_HI="$C_O_FLAG_NORM"
-	      C_O_FLAG_NORM="$C_O_FLAG_NORM"
-	      CXX_O_FLAG_HI="$CXX_O_FLAG_NORM"
-	      CXX_O_FLAG_NORM="$CXX_O_FLAG_NORM"
-              JAVAC_FLAGS="$JAVAC_FLAGS -g"
-              ;;
-      slowdebug )
-              CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
-              CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
-	      C_O_FLAG_HI="$C_O_FLAG_NONE"
-	      C_O_FLAG_NORM="$C_O_FLAG_NONE"
-	      CXX_O_FLAG_HI="$CXX_O_FLAG_NONE"
-	      CXX_O_FLAG_NORM="$CXX_O_FLAG_NONE"
-              JAVAC_FLAGS="$JAVAC_FLAGS -g"
-              ;;
-esac
+  # Adjust flags according to debug level.
+  case $DEBUG_LEVEL in
+    fastdebug )
+      CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
+      CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
+      C_O_FLAG_HI="$C_O_FLAG_NORM"
+      C_O_FLAG_NORM="$C_O_FLAG_NORM"
+      CXX_O_FLAG_HI="$CXX_O_FLAG_NORM"
+      CXX_O_FLAG_NORM="$CXX_O_FLAG_NORM"
+      JAVAC_FLAGS="$JAVAC_FLAGS -g"
+      ;;
+    slowdebug )
+      CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
+      CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
+      C_O_FLAG_HI="$C_O_FLAG_NONE"
+      C_O_FLAG_NORM="$C_O_FLAG_NONE"
+      CXX_O_FLAG_HI="$CXX_O_FLAG_NONE"
+      CXX_O_FLAG_NORM="$CXX_O_FLAG_NONE"
+      JAVAC_FLAGS="$JAVAC_FLAGS -g"
+      ;;
+  esac
 
-CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
 
-# The package path is used only on macosx?
-PACKAGE_PATH=/opt/local
-AC_SUBST(PACKAGE_PATH)
+  # The package path is used only on macosx?
+  PACKAGE_PATH=/opt/local
+  AC_SUBST(PACKAGE_PATH)
 
-if test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
+  if test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
     # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
     #   Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
     #   (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
     #   Note: -Dmacro         is the same as    #define macro 1
-    #         -Dmacro=	    is the same as    #define macro
+    #         -Dmacro=        is the same as    #define macro
     if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-        CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN="
+      CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN="
     else
-        CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN"
+      CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN"
     fi
-else
+  else
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN"
-fi
-if test "x$OPENJDK_TARGET_OS" = xlinux; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xlinux; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX"
-fi
-if test "x$OPENJDK_TARGET_OS" = xwindows; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xwindows; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DWINDOWS"
-fi
-if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS"
-fi
-if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
     # Setting these parameters makes it an error to link to macosx APIs that are
     # newer than the given OS version and makes the linked binaries compatible even
@@ -919,118 +921,118 @@
     # command line.
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
     LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
-fi
-if test "x$OPENJDK_TARGET_OS" = xbsd; then
+  fi
+  if test "x$OPENJDK_TARGET_OS" = xbsd; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE"
-fi
-if test "x$DEBUG_LEVEL" = xrelease; then
+  fi
+  if test "x$DEBUG_LEVEL" = xrelease; then
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG"
-    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-        CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED"
-    fi
-else
+  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+    CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED"
+  fi
+  else
     CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG"
-fi
+  fi
 
-CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
-CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"$RELEASE\"'"
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"$RELEASE\"'"
 
-CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
-        -I${JDK_OUTPUTDIR}/include \
-        -I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \
-        -I${JDK_TOPDIR}/src/share/javavm/export \
-        -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/javavm/export \
-        -I${JDK_TOPDIR}/src/share/native/common \
-        -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/native/common"
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
+      -I${JDK_OUTPUTDIR}/include \
+      -I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \
+      -I${JDK_TOPDIR}/src/share/javavm/export \
+      -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/javavm/export \
+      -I${JDK_TOPDIR}/src/share/native/common \
+      -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/native/common"
 
-# The shared libraries are compiled using the picflag.
-CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
-CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
+  # The shared libraries are compiled using the picflag.
+  CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
+  CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
 
-# Executable flags
-CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK"
-CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK"
+  # Executable flags
+  CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK"
+  CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK"
 
-# Now this is odd. The JDK native libraries have to link against libjvm.so
-# On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
-# Which should we link to? Are we lucky enough that the binary api to the libjvm.so library
-# is identical for client and server? Yes. Which is picked at runtime (client or server)?
-# Neither, since the chosen libjvm.so has already been loaded by the launcher, all the following
-# libraries will link to whatever is in memory. Yuck.
-#
-# Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh.
-if test "x$COMPILER_NAME" = xcl; then
+  # Now this is odd. The JDK native libraries have to link against libjvm.so
+  # On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
+  # Which should we link to? Are we lucky enough that the binary api to the libjvm.so library
+  # is identical for client and server? Yes. Which is picked at runtime (client or server)?
+  # Neither, since the chosen libjvm.so has already been loaded by the launcher, all the following
+  # libraries will link to whatever is in memory. Yuck.
+  #
+  # Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh.
+  if test "x$COMPILER_NAME" = xcl; then
     LDFLAGS_JDK="$LDFLAGS_JDK -nologo -opt:ref -incremental:no"
     if test "x$OPENJDK_TARGET_CPU" = xx86; then
-        LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
+      LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
     fi
     # TODO: make -debug optional "--disable-full-debug-symbols"
     LDFLAGS_JDK="$LDFLAGS_JDK -debug"
     LDFLAGS_JDKLIB="${LDFLAGS_JDK} -dll -libpath:${JDK_OUTPUTDIR}/lib"
     LDFLAGS_JDKLIB_SUFFIX=""
     if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
-        LDFLAGS_STACK_SIZE=1048576
+      LDFLAGS_STACK_SIZE=1048576
     else
-        LDFLAGS_STACK_SIZE=327680
+      LDFLAGS_STACK_SIZE=327680
     fi
     LDFLAGS_JDKEXE="${LDFLAGS_JDK} /STACK:$LDFLAGS_STACK_SIZE"
-else
+  else
     if test "x$COMPILER_NAME" = xgcc; then
-        # If this is a --hash-style=gnu system, use --hash-style=both, why?
-        HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'`
-        if test -n "$HAS_GNU_HASH"; then
-            LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker --hash-style=both "
+      # If this is a --hash-style=gnu system, use --hash-style=both, why?
+      HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'`
+      if test -n "$HAS_GNU_HASH"; then
+        LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker --hash-style=both "
+      fi
+      if test "x$OPENJDK_TARGET_OS" = xlinux; then
+        # And since we now know that the linker is gnu, then add -z defs, to forbid
+        # undefined symbols in object files.
+        LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -z -Xlinker defs"
+        if test "x$DEBUG_LEVEL" = "xrelease"; then
+          # When building release libraries, tell the linker optimize them.
+          # Should this be supplied to the OSS linker as well?
+          LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -O1"
         fi
-        if test "x$OPENJDK_TARGET_OS" = xlinux; then
-          # And since we now know that the linker is gnu, then add -z defs, to forbid
-          # undefined symbols in object files.
-          LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -z -Xlinker defs"
-          if test "x$DEBUG_LEVEL" = "xrelease"; then
-              # When building release libraries, tell the linker optimize them.
-              # Should this be supplied to the OSS linker as well?
-              LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -O1"
-          fi
-        fi
+      fi
     fi
     LDFLAGS_JDKLIB="${LDFLAGS_JDK} $SHARED_LIBRARY_FLAGS \
-                    -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}"
+        -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}"
 
     # On some platforms (mac) the linker warns about non existing -L dirs.
     # Add server first if available. Linking aginst client does not always produce the same results.
     # Only add client dir if client is being built. Add minimal (note not minimal1) if only building minimal1.
     # Default to server for other variants.
     if test "x$JVM_VARIANT_SERVER" = xtrue; then
-        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
+      LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
     elif test "x$JVM_VARIANT_CLIENT" = xtrue; then
-        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/client"
+      LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/client"
     elif test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
-        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/minimal"
+      LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/minimal"
     else
-        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
+      LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
     fi
 
     LDFLAGS_JDKLIB_SUFFIX="-ljava -ljvm"
     if test "x$COMPILER_NAME" = xossc; then
-        LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc"
+      LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc"
     fi
 
     LDFLAGS_JDKEXE="${LDFLAGS_JDK}"
     if test "x$OPENJDK_TARGET_OS" = xlinux; then
-        LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
+      LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
     fi
-fi
+  fi
 
-AC_SUBST(CFLAGS_JDKLIB)
-AC_SUBST(CFLAGS_JDKEXE)
+  AC_SUBST(CFLAGS_JDKLIB)
+  AC_SUBST(CFLAGS_JDKEXE)
 
-AC_SUBST(CXXFLAGS_JDKLIB)
-AC_SUBST(CXXFLAGS_JDKEXE)
+  AC_SUBST(CXXFLAGS_JDKLIB)
+  AC_SUBST(CXXFLAGS_JDKEXE)
 
-AC_SUBST(LDFLAGS_JDKLIB)
-AC_SUBST(LDFLAGS_JDKEXE)
-AC_SUBST(LDFLAGS_JDKLIB_SUFFIX)
-AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)
-AC_SUBST(LDFLAGS_CXX_JDK)
+  AC_SUBST(LDFLAGS_JDKLIB)
+  AC_SUBST(LDFLAGS_JDKEXE)
+  AC_SUBST(LDFLAGS_JDKLIB_SUFFIX)
+  AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)
+  AC_SUBST(LDFLAGS_CXX_JDK)
 ])
 
 
@@ -1046,18 +1048,16 @@
   saved_cflags="$CFLAGS"
   CFLAGS="$CFLAGS $1"
   AC_LANG_PUSH([C])
-  AC_COMPILE_IFELSE([
-    AC_LANG_SOURCE([[int i;]])
-  ], [], [supports=no])
+  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [], 
+      [supports=no])
   AC_LANG_POP([C])
   CFLAGS="$saved_cflags"
 
   saved_cxxflags="$CXXFLAGS"
   CXXFLAGS="$CXXFLAG $1"
   AC_LANG_PUSH([C++])
-  AC_COMPILE_IFELSE([
-    AC_LANG_SOURCE([[int i;]])
-  ], [], [supports=no])
+  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [], 
+      [supports=no])
   AC_LANG_POP([C++])
   CXXFLAGS="$saved_cxxflags"
 
@@ -1086,8 +1086,8 @@
   # Check that the compiler supports -mX flags
   # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
   TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([-m${OPENJDK_TARGET_CPU_BITS}],
-    [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
-    [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
+      [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
+      [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
   AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
 ])
 
@@ -1095,9 +1095,9 @@
 AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
 [
   AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
-  [Regression Test Harness @<:@probed@:>@])],
-  [],
-  [with_jtreg=no])
+      [Regression Test Harness @<:@probed@:>@])],
+      [],
+      [with_jtreg=no])
 
   if test "x$with_jtreg" = xno; then
     # jtreg disabled
--- a/common/autoconf/toolchain_windows.m4	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/autoconf/toolchain_windows.m4	Wed Jul 05 19:15:55 2017 +0200
@@ -75,7 +75,7 @@
     VCVARSFILE="vc/bin/vcvars32.bat"
   else
     VCVARSFILE="vc/bin/amd64/vcvars64.bat"
-  fi 
+  fi
 
   VS_ENV_CMD=""
   VS_ENV_ARGS=""
@@ -89,7 +89,7 @@
     AC_MSG_NOTICE([The path given by --with-tools-dir does not contain a valid Visual Studio installation])
     AC_MSG_NOTICE([Please point to the VC/bin directory within the Visual Studio installation])
     AC_MSG_ERROR([Cannot locate a valid Visual Studio installation])
-  fi  
+  fi
 
   if test "x$VS100COMNTOOLS" != x; then
     TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$VS100COMNTOOLS/../..], [VS100COMNTOOLS variable])
@@ -118,7 +118,7 @@
 # the set env variables into the spec file.
 AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
 [
-  # Store path to cygwin link.exe to help excluding it when searching for 
+  # Store path to cygwin link.exe to help excluding it when searching for
   # VS linker. This must be done before changing the PATH when looking for VS.
   AC_PATH_PROG(CYGWIN_LINK, link)
   if test "x$CYGWIN_LINK" != x; then
@@ -187,7 +187,7 @@
       AC_MSG_ERROR([Cannot continue])
     fi
 
-    # Now set all paths and other env variables. This will allow the rest of 
+    # Now set all paths and other env variables. This will allow the rest of
     # the configure script to find and run the compiler in the proper way.
     AC_MSG_NOTICE([Setting extracted environment variables])
     . $OUTPUT_ROOT/localdevenv.sh
@@ -198,7 +198,7 @@
 
   # At this point, we should have corrent variables in the environment, or we can't continue.
   AC_MSG_CHECKING([for Visual Studio variables])
-  
+
   if test "x$VCINSTALLDIR" != x || test "x$WindowsSDKDir" != x || test "x$WINDOWSSDKDIR" != x; then
     if test "x$INCLUDE" = x || test "x$LIB" = x; then
       AC_MSG_RESULT([present but broken])
@@ -228,7 +228,7 @@
     AC_MSG_NOTICE([or run "bash.exe -l" from a VS command prompt and then run configure from there.])
     AC_MSG_ERROR([Cannot continue])
   fi
-  
+
   AC_MSG_CHECKING([for msvcr100.dll])
   AC_ARG_WITH(msvcr-dll, [AS_HELP_STRING([--with-msvcr-dll],
       [copy this msvcr100.dll into the built JDK (Windows only) @<:@probed@:>@])])
--- a/common/makefiles/HotspotWrapper.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/HotspotWrapper.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -36,7 +36,7 @@
 default: all
 
 # Get all files except .hg in the hotspot directory.
-HOTSPOT_FILES :=  $(shell $(FIND) -L $(HOTSPOT_TOPDIR) -name ".hg" -prune -o -print)
+HOTSPOT_FILES := $(shell $(FIND) -L $(HOTSPOT_TOPDIR) -name ".hg" -prune -o -print)
 
 # The old build creates hotspot output dir before calling hotspot and
 # not doing it breaks builds on msys.
--- a/common/makefiles/IdlCompilation.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/IdlCompilation.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -23,52 +23,52 @@
 # questions.
 #
 
-PREFIXES=-pkgPrefix CORBA                org.omg \
-	-pkgPrefix CosNaming             org.omg \
-	-pkgPrefix CosTransactions       org.omg \
-	-pkgPrefix CosTSInteroperation   org.omg \
-	-pkgPrefix DynamicAny            org.omg \
-	-pkgPrefix Dynamic               org.omg \
-	-pkgPrefix IOP                   org.omg \
-	-pkgPrefix Messaging             org.omg \
-	-pkgPrefix PortableInterceptor   org.omg \
-	-pkgPrefix PortableServer        org.omg \
-	-pkgPrefix activation            com.sun.corba.se.spi \
-	-pkgPrefix GIOP                  com.sun.corba.se \
-	-pkgPrefix PortableActivationIDL com.sun.corba.se \
-	-pkgPrefix messages              com.sun.corba.se 
+PREFIXES=-pkgPrefix CORBA org.omg \
+    -pkgPrefix CosNaming org.omg \
+    -pkgPrefix CosTransactions org.omg \
+    -pkgPrefix CosTSInteroperation org.omg \
+    -pkgPrefix DynamicAny org.omg \
+    -pkgPrefix Dynamic org.omg \
+    -pkgPrefix IOP org.omg \
+    -pkgPrefix Messaging org.omg \
+    -pkgPrefix PortableInterceptor org.omg \
+    -pkgPrefix PortableServer org.omg \
+    -pkgPrefix activation com.sun.corba.se.spi \
+    -pkgPrefix GIOP com.sun.corba.se \
+    -pkgPrefix PortableActivationIDL com.sun.corba.se \
+    -pkgPrefix messages com.sun.corba.se
 
 define add_idl_package
-    # param 1 = MYPACKAGE
-    # param 2 = src root
-    # param 3 = gensrc root
-    # param 4 = source idl to compile
-    # param 5 = target idl package
-    # param 6 = delete these files that were output from the idlj
-    # param 7 = idls that match these patterns should be compiled with -oldImplBase
-    # param 8 = the idlj command
-    # Save the generated java files to a temporary directory so
-    # that we can find them and create proper dependencies.
-    # After that, we move them to the real gensrc target dir.
-    $4_TMPDIR:=tmp___$(subst /,_,$(patsubst $2/%,%,$4))___
-    ifneq ($$(filter $7,$4),)
-        $4_OLDIMPLBASE:=-oldImplBase
-        $4_OLDIMPLBASE_MSG:=with -oldImplBase
-    endif
-    $5 : $4
+  # param 1 = MYPACKAGE
+  # param 2 = src root
+  # param 3 = gensrc root
+  # param 4 = source idl to compile
+  # param 5 = target idl package
+  # param 6 = delete these files that were output from the idlj
+  # param 7 = idls that match these patterns should be compiled with -oldImplBase
+  # param 8 = the idlj command
+  # Save the generated java files to a temporary directory so
+  # that we can find them and create proper dependencies.
+  # After that, we move them to the real gensrc target dir.
+  $4_TMPDIR:=tmp___$(subst /,_,$(patsubst $2/%,%,$4))___
+  ifneq ($$(filter $7,$4),)
+    $4_OLDIMPLBASE:=-oldImplBase
+    $4_OLDIMPLBASE_MSG:=with -oldImplBase
+  endif
+  $5 : $4
 	$(MKDIR) -p $3/$$($4_TMPDIR)
 	$(RM) -rf $3/$$($4_TMPDIR)
 	$(MKDIR) -p $(dir $5)
-	$(ECHO) $(LOG_INFO) Compiling IDL $(patsubst $2/%,%,$4) 
+	$(ECHO) $(LOG_INFO) Compiling IDL $(patsubst $2/%,%,$4)
 	$8 -td $3/$$($4_TMPDIR) \
-		-i $2/org/omg/CORBA \
-		-i $2/org/omg/PortableInterceptor \
-		-i $2/org/omg/PortableServer \
-		-D CORBA3 -corba 3.0 \
-		-fall \
-		$$($4_OLDIMPLBASE) \
-		$(PREFIXES) \
-		$4
+	    -i $2/org/omg/CORBA \
+	    -i $2/org/omg/PortableInterceptor \
+	    -i $2/org/omg/PortableServer \
+	    -D CORBA3 -corba 3.0 \
+	    -fall \
+	    $$($4_OLDIMPLBASE) \
+	    $(PREFIXES) \
+	    $4
 	$(RM) -f $$(addprefix $3/$$($4_TMPDIR)/,$6)
 	$(CP) -r $3/$$($4_TMPDIR)/* $3
 	($(CD) $3/$$($4_TMPDIR) && $(FIND) . -type f | $(SED) 's!\./!$3/!g' | $(NAWK) '{ print $$$$1 ": $4" }' > $5)
@@ -76,31 +76,31 @@
 endef
 
 define SetupIdlCompilation
-# param 1 is for example BUILD_IDLS
-# param 2,3,4,5,6,7,8 are named args.
-#    IDLJ,SRC,BIN,INCLUDES,EXCLUDES,OLDIMPLBASES,DELETES
-$(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
-$(call LogSetupMacroEntry,SetupIdlCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
-$(if $(16),$(error Internal makefile error: Too many arguments to SetupIdlCompilation, please update IdlCompilation.gmk))
+  # param 1 is for example BUILD_IDLS
+  # param 2,3,4,5,6,7,8 are named args.
+  #   IDLJ,SRC,BIN,INCLUDES,EXCLUDES,OLDIMPLBASES,DELETES
+  $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
+  $(call LogSetupMacroEntry,SetupIdlCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
+  $(if $(16),$(error Internal makefile error: Too many arguments to SetupIdlCompilation, please update IdlCompilation.gmk))
 
-# Find all existing java files and existing class files.
-$$(eval $$(call MakeDir,$$($1_BIN)))
-$1_SRCS     := $$(shell find $$($1_SRC) -name "*.idl")
-$1_BINS     := $$(shell find $$($1_BIN) -name "*.java")
-# Prepend the source/bin path to the filter expressions.
-$1_SRC_INCLUDES := $$(addprefix $$($1_SRC)/,$$($1_INCLUDES))
-$1_SRC_EXCLUDES := $$(addprefix $$($1_SRC)/,$$($1_EXCLUDES))
-$1_BIN_INCLUDES := $$(addprefix $$($1_BIN)/,$$($1_INCLUDES))
-$1_BIN_EXCLUDES := $$(addprefix $$($1_BIN)/,$$($1_EXCLUDES))
-$1_OLDIMPLBASES := $$(addprefix $$($1_SRC)/,$$($1_OLDIMPLBASES))
-# Now remove unwanted java/class files.
-$1_SRCS     := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
-$1_SRCS     := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
-$1_BINS     := $$(filter $$($1_BIN_INCLUDES),$$($1_BINS))
-$1_BINS     := $$(filter-out $$($1_BIN_EXCLUDES),$$($1_BINS))
-$1 := $$(sort $$(patsubst $$($1_SRC)/%.idl,$$($1_BIN)/%.idl.d,$$($1_SRCS)))
-# Now create the dependencies for each idl target.
-$$(foreach p,$$($1),$$(eval $$(call add_idl_package,$1,$$($1_SRC),$$($1_BIN),$$(patsubst $$($1_BIN)/%.idl.d,$$($1_SRC)/%.idl,$$p),$$p,$$($1_DELETES),$$($1_OLDIMPLBASES),$$($1_IDLJ))))
+  # Find all existing java files and existing class files.
+  $$(eval $$(call MakeDir,$$($1_BIN)))
+  $1_SRCS := $$(shell find $$($1_SRC) -name "*.idl")
+  $1_BINS := $$(shell find $$($1_BIN) -name "*.java")
+  # Prepend the source/bin path to the filter expressions.
+  $1_SRC_INCLUDES := $$(addprefix $$($1_SRC)/,$$($1_INCLUDES))
+  $1_SRC_EXCLUDES := $$(addprefix $$($1_SRC)/,$$($1_EXCLUDES))
+  $1_BIN_INCLUDES := $$(addprefix $$($1_BIN)/,$$($1_INCLUDES))
+  $1_BIN_EXCLUDES := $$(addprefix $$($1_BIN)/,$$($1_EXCLUDES))
+  $1_OLDIMPLBASES := $$(addprefix $$($1_SRC)/,$$($1_OLDIMPLBASES))
+  # Now remove unwanted java/class files.
+  $1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
+  $1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
+  $1_BINS := $$(filter $$($1_BIN_INCLUDES),$$($1_BINS))
+  $1_BINS := $$(filter-out $$($1_BIN_EXCLUDES),$$($1_BINS))
+  $1 := $$(sort $$(patsubst $$($1_SRC)/%.idl,$$($1_BIN)/%.idl.d,$$($1_SRCS)))
+  # Now create the dependencies for each idl target.
+  $$(foreach p,$$($1),$$(eval $$(call add_idl_package,$1,$$($1_SRC),$$($1_BIN),$$(patsubst $$($1_BIN)/%.idl.d,$$($1_SRC)/%.idl,$$p),$$p,$$($1_DELETES),$$($1_OLDIMPLBASES),$$($1_IDLJ))))
 endef
 
 .SUFFIXES: .java .class .package
--- a/common/makefiles/JavaCompilation.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/JavaCompilation.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -35,288 +35,288 @@
 # of removing duplicates. It is actually this side effect that is
 # desired whenever sort is used below!
 
-ifeq  (,$(_MAKEBASE_GMK))
-    $(error You must include MakeBase.gmk prior to including JavaCompilation.gmk)
+ifeq (,$(_MAKEBASE_GMK))
+  $(error You must include MakeBase.gmk prior to including JavaCompilation.gmk)
 endif
 
 FALSE_FIND_PATTERN:=-name FILE_NAME_THAT_DOESNT_EXIST
 
 define SetupJavaCompiler
-    # param 1 is for example GENERATE_OLD_BYTECODE or GENERATE_NEW_JDKBYTECODE
-    # This is the name of the compiler setup.
-    # param 2-9 are named args.
-    #   JVM:=The jvm used to run the javac/javah command
-    #   JAVAC:=The javac jar and bootstrap classpath changes, or just bin/javac if JVM is left out
-    #   FLAGS:=Flags to be supplied to javac
-    #   SERVER_DIR:=Use a javac server (-XDserver) and store the server related files here
-    #   SERVER_JVM:=Use this JVM for the server. Defaults to the JVM above.
-    $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
-    $(call LogSetupMacroEntry,SetupJavaCompiler($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
-    $(if $(16),$(error Internal makefile error: Too many arguments to SetupJavaCompiler, please update JavaCompilation.gmk))
+  # param 1 is for example GENERATE_OLD_BYTECODE or GENERATE_NEW_JDKBYTECODE
+  # This is the name of the compiler setup.
+  # param 2-9 are named args.
+  #   JVM:=The jvm used to run the javac/javah command
+  #   JAVAC:=The javac jar and bootstrap classpath changes, or just bin/javac if JVM is left out
+  #   FLAGS:=Flags to be supplied to javac
+  #   SERVER_DIR:=Use a javac server (-XDserver) and store the server related files here
+  #   SERVER_JVM:=Use this JVM for the server. Defaults to the JVM above.
+  $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
+  $(call LogSetupMacroEntry,SetupJavaCompiler($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
+  $(if $(16),$(error Internal makefile error: Too many arguments to SetupJavaCompiler, please update JavaCompilation.gmk))
 
-    # The port file contains the tcp/ip on which the server listens
-    # and the cookie necessary to talk to the server.
-    $1_SJAVAC_PORTFILE:=$$($1_SERVER_DIR)/server.port
-    # You can use a different JVM to run the background javac server.
-    ifeq ($$($1_SERVER_JVM),)
-        # It defaults to the same JVM that is used to start the javac command.
-        $1_SERVER_JVM:=$$($1_JVM)
-    endif
+  # The port file contains the tcp/ip on which the server listens
+  # and the cookie necessary to talk to the server.
+  $1_SJAVAC_PORTFILE:=$$($1_SERVER_DIR)/server.port
+  # You can use a different JVM to run the background javac server.
+  ifeq ($$($1_SERVER_JVM),)
+    # It defaults to the same JVM that is used to start the javac command.
+    $1_SERVER_JVM:=$$($1_JVM)
+  endif
 endef
 
 define SetupArchive
-    # param 1 is for example ARCHIVE_MYPACKAGE
-    # param 2 are the dependecies
-    # param 3,4,5,6,7,8,9 are named args.
-    #    SRCS:=List of directories in where to find files to add to archive
-    #    SUFFIXES:=File suffixes to include in jar
-    #    INCLUDES:=List of directories/packages in SRCS that should be included
-    #    EXCLUDES:=List of directories/packages in SRCS that should be excluded
-    #    EXCLUDE_FILES:=List of files in SRCS that should be excluded
-    #    EXTRA_FILES:=List of files in SRCS that should be included regardless of suffix match.
-    #    JAR:=Jar file to create
-    #    MANIFEST:=Optional manifest file template.
-    #    JARMAIN:=Optional main class to add to manifest
-    #    JARINDEX:=true means generate the index in the jar file.
-    #    SKIP_METAINF:=Set to prevent contents of an META-INF directory to be automatically 
-    #                  added to the archive.
-    #    EXTRA_MANIFEST_ATTR:=Extra attribute to add to manifest.
-    #    CHECK_COMPRESS_JAR Check the COMPRESS_JAR variable
+  # param 1 is for example ARCHIVE_MYPACKAGE
+  # param 2 are the dependecies
+  # param 3,4,5,6,7,8,9 are named args.
+  #   SRCS:=List of directories in where to find files to add to archive
+  #   SUFFIXES:=File suffixes to include in jar
+  #   INCLUDES:=List of directories/packages in SRCS that should be included
+  #   EXCLUDES:=List of directories/packages in SRCS that should be excluded
+  #   EXCLUDE_FILES:=List of files in SRCS that should be excluded
+  #   EXTRA_FILES:=List of files in SRCS that should be included regardless of suffix match.
+  #   JAR:=Jar file to create
+  #   MANIFEST:=Optional manifest file template.
+  #   JARMAIN:=Optional main class to add to manifest
+  #   JARINDEX:=true means generate the index in the jar file.
+  #   SKIP_METAINF:=Set to prevent contents of an META-INF directory to be automatically
+  #       added to the archive.
+  #   EXTRA_MANIFEST_ATTR:=Extra attribute to add to manifest.
+  #   CHECK_COMPRESS_JAR Check the COMPRESS_JAR variable
+
+  # NOTE: $2 is dependencies, not a named argument!
+  $(foreach i,3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
+  $(call LogSetupMacroEntry,SetupArchive($1),<dependencies>,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
+  $(if $(findstring $(LOG_LEVEL),trace), $(info *[2] <dependencies> = $(strip $2)))
+  $(if $(16),$(error Internal makefile error: Too many arguments to SetupArchive, please update JavaCompilation.gmk))
 
-    # NOTE: $2 is dependencies, not a named argument!
-    $(foreach i,3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
-    $(call LogSetupMacroEntry,SetupArchive($1),<dependencies>,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
-    $(if $(findstring $(LOG_LEVEL),debug trace), $(info *[2] <dependencies> = $(strip $2)))
-    $(if $(16),$(error Internal makefile error: Too many arguments to SetupArchive, please update JavaCompilation.gmk))
+  $1_JARMAIN:=$(strip $$($1_JARMAIN))
+  $1_JARNAME:=$$(notdir $$($1_JAR))
+  $1_MANIFEST_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_manifest
+  $1_DELETESS_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_deletess
+  $1_DELETES_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_deletes
+  $1_BIN:=$$(dir $$($1_JAR))
 
-    $1_JARMAIN:=$(strip $$($1_JARMAIN))
-    $1_JARNAME:=$$(notdir $$($1_JAR))
-    $1_MANIFEST_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_manifest
-    $1_DELETESS_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_deletess
-    $1_DELETES_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_deletes
-    $1_BIN:=$$(dir $$($1_JAR))
-
-    ifeq (,$$($1_SUFFIXES))
-        # No suffix was set, default to classes.
-        $1_SUFFIXES:=.class
+  ifeq (,$$($1_SUFFIXES))
+    # No suffix was set, default to classes.
+    $1_SUFFIXES:=.class
+  endif
+  # Convert suffixes to a find expression
+  $1_FIND_PATTERNS:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_SUFFIXES))
+  # On windows, a lot of includes/excludes risk making the command line too long, so
+  # writing the grep patterns to files.
+  ifneq (,$$($1_INCLUDES))
+    $1_GREP_INCLUDE_PATTERNS:=$$(foreach src,$$($1_SRCS), \
+        $$(addprefix $$(src)/,$$($1_INCLUDES)))
+    # If there are a lot of include patterns, output to file to shorten command lines
+    ifeq ($$(word 20,$$($1_GREP_INCLUDE_PATTERNS)),)
+      $1_GREP_INCLUDES:=| $(GREP) $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_INCLUDE_PATTERNS))
+    else
+      $1_GREP_INCLUDE_OUTPUT:=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_include $$(NEWLINE) \
+          $$(call ListPathsSafely,$1_GREP_INCLUDE_PATTERNS,\n, \
+          >> $$($1_BIN)/_the.$$($1_JARNAME)_include)
+      $1_GREP_INCLUDES:=| $(GREP) -f $$($1_BIN)/_the.$$($1_JARNAME)_include
     endif
-    # Convert suffixes to a find expression
-    $1_FIND_PATTERNS:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_SUFFIXES))
-    # On windows, a lot of includes/excludes risk making the command line too long, so 
-    # writing the grep patterns to files.
-    ifneq (,$$($1_INCLUDES))
-        $1_GREP_INCLUDE_PATTERNS:=$$(foreach src,$$($1_SRCS),\
-					$$(addprefix $$(src)/,$$($1_INCLUDES)))
-        # If there are a lot of include patterns, output to file to shorten command lines
-        ifeq ($$(word 20,$$($1_GREP_INCLUDE_PATTERNS)),)
-            $1_GREP_INCLUDES:=| $(GREP) $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_INCLUDE_PATTERNS))
-        else
-            $1_GREP_INCLUDE_OUTPUT:=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_include && \
-                                    $$(strip $$(call ListPathsSafely,$1_GREP_INCLUDE_PATTERNS,\n, \
-                                        >> $$($1_BIN)/_the.$$($1_JARNAME)_include))
-            $1_GREP_INCLUDES:=| $(GREP) -f $$($1_BIN)/_the.$$($1_JARNAME)_include
-        endif
-    endif
-    ifneq (,$$($1_EXCLUDES)$$($1_EXCLUDE_FILES))
-        $1_GREP_EXCLUDE_PATTERNS:=$$(foreach src,$$($1_SRCS),$$(addprefix $$(src)/,\
-		$$($1_EXCLUDES) $$($1_EXCLUDE_FILES)))
-        # If there are a lot of include patterns, output to file to shorten command lines
-        ifeq ($$(word 20,$$($1_GREP_EXCLUDE_PATTERNS)),)
-            $1_GREP_EXCLUDES:=| $(GREP) -v $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_EXCLUDE_PATTERNS))
-        else
-            $1_GREP_EXCLUDE_OUTPUT=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_exclude && \
-                                    $$(strip $$(call ListPathsSafely,$1_GREP_EXCLUDE_PATTERNS,\n, \
-                                        >> $$($1_BIN)/_the.$$($1_JARNAME)_exclude))
-            $1_GREP_EXCLUDES:=| $(GREP) -v -f $$($1_BIN)/_the.$$($1_JARNAME)_exclude
-        endif
-    endif
-
-    # Check if this jar needs to have its index generated.
-    ifneq (,$$($1_JARINDEX))
-      $1_JARINDEX = (cd $$(dir $$@) && $(JAR) -i $$(notdir $$@))
+  endif
+  ifneq (,$$($1_EXCLUDES)$$($1_EXCLUDE_FILES))
+    $1_GREP_EXCLUDE_PATTERNS:=$$(foreach src,$$($1_SRCS),$$(addprefix $$(src)/, \
+        $$($1_EXCLUDES) $$($1_EXCLUDE_FILES)))
+    # If there are a lot of include patterns, output to file to shorten command lines
+    ifeq ($$(word 20,$$($1_GREP_EXCLUDE_PATTERNS)),)
+      $1_GREP_EXCLUDES:=| $(GREP) -v $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_EXCLUDE_PATTERNS))
     else
-      $1_JARINDEX = true
+      $1_GREP_EXCLUDE_OUTPUT=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_exclude $$(NEWLINE) \
+          $$(call ListPathsSafely,$1_GREP_EXCLUDE_PATTERNS,\n, \
+          >> $$($1_BIN)/_the.$$($1_JARNAME)_exclude)
+      $1_GREP_EXCLUDES:=| $(GREP) -v -f $$($1_BIN)/_the.$$($1_JARNAME)_exclude
     endif
-    # When this macro is run in the same makefile as the java compilation, dependencies are 
-    # transfered in make variables. When the macro is run in a different makefile than the 
-    # java compilation, the dependencies need to be found in the filesystem.
-    ifneq (,$2)
-        $1_DEPS:=$2
-    else
-        $1_DEPS:=$$(filter $$(addprefix %,$$($1_SUFFIXES)),\
-                    $$(call CacheFind,$$($1_SRCS)))
-        ifneq (,$$($1_GREP_INCLUDE_PATTERNS))
-            $1_DEPS:=$$(filter $$(addsuffix %,$$($1_GREP_INCLUDE_PATTERNS)),$$($1_DEPS))
-        endif
-        ifneq (,$$($1_GREP_EXCLUDE_PATTERNS))
-            $1_DEPS:=$$(filter-out $$(addsuffix %,$$($1_GREP_EXCLUDE_PATTERNS)),$$($1_DEPS))
-        endif
-        # The subst of \ is needed because $ has to be escaped with \ in EXTRA_FILES for the command 
-        # lines, but not here for use in make dependencies.
-        $1_DEPS+=$$(subst \,,$$(foreach src,$$($1_SRCS),$$(addprefix $$(src)/,$$($1_EXTRA_FILES))))
-        ifeq (,$$($1_SKIP_METAINF))
-            $1_DEPS+=$$(call CacheFind,$$(wildcard $$(addsuffix /META-INF,$$($1_SRCS))))
-        endif
+  endif
+
+  # Check if this jar needs to have its index generated.
+  ifneq (,$$($1_JARINDEX))
+    $1_JARINDEX = (cd $$(dir $$@) && $(JAR) -i $$(notdir $$@))
+  else
+    $1_JARINDEX = true
+  endif
+  # When this macro is run in the same makefile as the java compilation, dependencies are
+  # transfered in make variables. When the macro is run in a different makefile than the
+  # java compilation, the dependencies need to be found in the filesystem.
+  ifneq (,$2)
+    $1_DEPS:=$2
+  else
+    $1_DEPS:=$$(filter $$(addprefix %,$$($1_SUFFIXES)), \
+        $$(call CacheFind,$$($1_SRCS)))
+    ifneq (,$$($1_GREP_INCLUDE_PATTERNS))
+      $1_DEPS:=$$(filter $$(addsuffix %,$$($1_GREP_INCLUDE_PATTERNS)),$$($1_DEPS))
     endif
-
-    # Utility macros, to make the shell script receipt somewhat easier to decipher.
-
-    # The capture contents macro finds all files (matching the patterns, typically
-    # .class and .prp) that are newer than the jar-file, ie the new content to be put into the jar.
-    $1_CAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS),\
-                   (($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) -a -newer $$@ $$($1_GREP_INCLUDES) \
-                       $$($1_GREP_EXCLUDES) | $(SED) 's|$$(src)/||g' &&\
-                       $(ECHO) $$(subst $$(src)/,,$$($1_EXTRA_FILES))) > \
-                       $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
-    # The capture metainf macro finds all files below the META-INF directory that are newer than the jar-file.
+    ifneq (,$$($1_GREP_EXCLUDE_PATTERNS))
+      $1_DEPS:=$$(filter-out $$(addsuffix %,$$($1_GREP_EXCLUDE_PATTERNS)),$$($1_DEPS))
+    endif
+    # The subst of \ is needed because $ has to be escaped with \ in EXTRA_FILES for the command
+    # lines, but not here for use in make dependencies.
+    $1_DEPS+=$$(subst \,,$$(foreach src,$$($1_SRCS),$$(addprefix $$(src)/,$$($1_EXTRA_FILES))))
     ifeq (,$$($1_SKIP_METAINF))
-        $1_CAPTURE_METAINF =$$(foreach src,$$($1_SRCS),($(FIND) $$(src)/META-INF -type f -a -newer $$@ 2> /dev/null | $(SED) 's|$$(src)/||g' >> $$(src)/_the.$$($1_JARNAME)_contents ) $$(NEWLINE))
+      $1_DEPS+=$$(call CacheFind,$$(wildcard $$(addsuffix /META-INF,$$($1_SRCS))))
     endif
-    # The capture deletes macro finds all deleted files and concatenates them. The resulting file
-    # tells us what to remove from the jar-file.
-    $1_CAPTURE_DELETES=$$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.deleted -newer $$@ -exec $(SED) 's|$$(src)||g' \{\} >> $$($1_DELETES_FILE) \;) $$(NEWLINE))
-    # The update contents macro updates the jar file with the previously capture contents.
-    # xargs is used to trim the whitespace from the contents file, to see if it is empty.
-    $1_UPDATE_CONTENTS=$$(foreach src,$$($1_SRCS),\
-                    (cd $$(src) && \
-                     if [ -n "`$(CAT) _the.$$($1_JARNAME)_contents | $(XARGS)`" ]; then \
-                         $(ECHO) "  updating" `$(WC) -l _the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'` files && \
-                         $(JAR) $$($1_JAR_UPDATE_OPTIONS) $$@ @_the.$$($1_JARNAME)_contents; \
-                     fi) $$(NEWLINE))
-    # The s-variants of the above macros are used when the jar is created from scratch.
-    $1_SCAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS),\
-                    (($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) $$($1_GREP_INCLUDES) \
-			$$($1_GREP_EXCLUDES) | $(SED) 's|$$(src)/||g' &&\
-			$$(subst $$(src)/,,$(ECHO) $$($1_EXTRA_FILES))) > \
-			$$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
+  endif
+
+  # Utility macros, to make the shell script receipt somewhat easier to decipher.
 
-    ifeq (,$$($1_SKIP_METAINF))
-        $1_SCAPTURE_METAINF=$$(foreach src,$$($1_SRCS),\
-                    ($(FIND) $$(src)/META-INF -type f 2> /dev/null | $(SED) 's|$$(src)/||g' >> \
-			$$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
-    endif
-    $1_SUPDATE_CONTENTS=$$(foreach src,$$($1_SRCS),\
-                    (cd $$(src) && $(JAR) $$($1_JAR_UPDATE_OPTIONS) $$@ @$$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
-
-    # Use a slightly shorter name for logging, but with enough path to identify this jar.
-    $1_NAME:=$$(subst $$(OUTPUT_ROOT)/,,$$($1_JAR))
+  # The capture contents macro finds all files (matching the patterns, typically
+  # .class and .prp) that are newer than the jar-file, ie the new content to be put into the jar.
+  $1_CAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS), \
+      (($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) -a -newer $$@ $$($1_GREP_INCLUDES) \
+          $$($1_GREP_EXCLUDES) | $(SED) 's|$$(src)/||g' && \
+      $(ECHO) $$(subst $$(src)/,,$$($1_EXTRA_FILES))) > \
+      $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
+  # The capture metainf macro finds all files below the META-INF directory that are newer than the jar-file.
+  ifeq (,$$($1_SKIP_METAINF))
+    $1_CAPTURE_METAINF =$$(foreach src,$$($1_SRCS),($(FIND) $$(src)/META-INF -type f -a -newer $$@ 2> /dev/null | $(SED) 's|$$(src)/||g' >> $$(src)/_the.$$($1_JARNAME)_contents ) $$(NEWLINE))
+  endif
+  # The capture deletes macro finds all deleted files and concatenates them. The resulting file
+  # tells us what to remove from the jar-file.
+  $1_CAPTURE_DELETES=$$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.deleted -newer $$@ -exec $(SED) 's|$$(src)||g' \{\} >> $$($1_DELETES_FILE) \;) $$(NEWLINE))
+  # The update contents macro updates the jar file with the previously capture contents.
+  # xargs is used to trim the whitespace from the contents file, to see if it is empty.
+  $1_UPDATE_CONTENTS=$$(foreach src,$$($1_SRCS), \
+      (cd $$(src) && \
+       if [ -n "`$(CAT) _the.$$($1_JARNAME)_contents | $(XARGS)`" ]; then \
+         $(ECHO) "  updating" `$(WC) -l _the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'` files && \
+         $(JAR) $$($1_JAR_UPDATE_OPTIONS) $$@ @_the.$$($1_JARNAME)_contents; \
+       fi) $$(NEWLINE))
+  # The s-variants of the above macros are used when the jar is created from scratch.
+  $1_SCAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS), \
+      (($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) $$($1_GREP_INCLUDES) \
+          $$($1_GREP_EXCLUDES) | $(SED) 's|$$(src)/||g' && \
+      $$(subst $$(src)/,,$(ECHO) $$($1_EXTRA_FILES))) > \
+      $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
 
-    ifneq (,$$($1_CHECK_COMPRESS_JAR))
-        $1_JAR_CREATE_OPTIONS := c0fm
-        $1_JAR_UPDATE_OPTIONS := u0f
-        ifeq ($(COMPRESS_JARS), true)
-            $1_JAR_CREATE_OPTIONS := cfm
-            $1_JAR_UPDATE_OPTIONS := uf
-        endif
-    else
-        $1_JAR_CREATE_OPTIONS := cfm
-        $1_JAR_UPDATE_OPTIONS := uf
+  ifeq (,$$($1_SKIP_METAINF))
+    $1_SCAPTURE_METAINF=$$(foreach src,$$($1_SRCS), \
+        ($(FIND) $$(src)/META-INF -type f 2> /dev/null | $(SED) 's|$$(src)/||g' >> \
+        $$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
+  endif
+  $1_SUPDATE_CONTENTS=$$(foreach src,$$($1_SRCS), \
+      (cd $$(src) && $(JAR) $$($1_JAR_UPDATE_OPTIONS) $$@ @$$(src)/_the.$$($1_JARNAME)_contents) $$(NEWLINE))
+
+  # Use a slightly shorter name for logging, but with enough path to identify this jar.
+  $1_NAME:=$$(subst $$(OUTPUT_ROOT)/,,$$($1_JAR))
+
+  ifneq (,$$($1_CHECK_COMPRESS_JAR))
+    $1_JAR_CREATE_OPTIONS := c0fm
+    $1_JAR_UPDATE_OPTIONS := u0f
+    ifeq ($(COMPRESS_JARS), true)
+      $1_JAR_CREATE_OPTIONS := cfm
+      $1_JAR_UPDATE_OPTIONS := uf
     endif
+  else
+    $1_JAR_CREATE_OPTIONS := cfm
+    $1_JAR_UPDATE_OPTIONS := uf
+  endif
 
-    # Here is the rule that creates/updates the jar file.
-    $$($1_JAR) : $$($1_DEPS)
+  # Here is the rule that creates/updates the jar file.
+  $$($1_JAR) : $$($1_DEPS)
 	$(MKDIR) -p $$($1_BIN)
 	$$($1_GREP_INCLUDE_OUTPUT)
 	$$($1_GREP_EXCLUDE_OUTPUT)
-	$$(if $$($1_MANIFEST),\
-		$(SED) -e "s#@@RELEASE@@#$(RELEASE)#"           \
-		       -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" $$($1_MANIFEST) > $$($1_MANIFEST_FILE) \
-	,\
-		$(RM) $$($1_MANIFEST_FILE) && $(TOUCH) $$($1_MANIFEST_FILE))
+	$$(if $$($1_MANIFEST), \
+	  $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \
+	      -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" $$($1_MANIFEST) > $$($1_MANIFEST_FILE) \
+	, \
+	  $(RM) $$($1_MANIFEST_FILE) && $(TOUCH) $$($1_MANIFEST_FILE))
 	$$(if $$($1_JARMAIN),$(ECHO) "Main-Class: $$(strip $$($1_JARMAIN))" >> $$($1_MANIFEST_FILE))
 	$$(if $$($1_EXTRA_MANIFEST_ATTR),$(PRINTF) "$$($1_EXTRA_MANIFEST_ATTR)\n" >> $$($1_MANIFEST_FILE))
-	$$(if $$(wildcard $$@),\
-		$(ECHO) Modifying $$($1_NAME) $$(NEWLINE)\
-		$$($1_CAPTURE_CONTENTS) \
-		$$($1_CAPTURE_METAINF) \
-		$(RM) $$($1_DELETES_FILE) $$(NEWLINE)\
-		$$($1_CAPTURE_DELETES) \
-		$(CAT) $$($1_DELETES_FILE) > $$($1_DELETESS_FILE) $$(NEWLINE)\
-		if [ -s $$($1_DELETESS_FILE) ]; then \
-			$(ECHO) "  deleting" `$(WC) -l $$($1_DELETESS_FILE) | $(AWK) '{ print $$$$1 }'` files && \
-	                       $(ZIP) -q -d $$@ `$(CAT) $$($1_DELETESS_FILE)` ; \
-		fi $$(NEWLINE) \
-		$$($1_UPDATE_CONTENTS) true $$(NEWLINE) \
-		$$($1_JARINDEX) && true \
-	,\
-		$(ECHO) Creating $$($1_NAME) && $(JAR) $$($1_JAR_CREATE_OPTIONS) $$@ $$($1_MANIFEST_FILE) $$(NEWLINE) \
-	        $$($1_SCAPTURE_CONTENTS) \
-		$$($1_SCAPTURE_METAINF) \
-		$$($1_SUPDATE_CONTENTS) \
-		$$($1_JARINDEX) && true ) 
+	$$(if $$(wildcard $$@), \
+	  $(ECHO) Modifying $$($1_NAME) $$(NEWLINE) \
+	  $$($1_CAPTURE_CONTENTS) \
+	  $$($1_CAPTURE_METAINF) \
+	  $(RM) $$($1_DELETES_FILE) $$(NEWLINE) \
+	  $$($1_CAPTURE_DELETES) \
+	  $(CAT) $$($1_DELETES_FILE) > $$($1_DELETESS_FILE) $$(NEWLINE) \
+	  if [ -s $$($1_DELETESS_FILE) ]; then \
+	    $(ECHO) "  deleting" `$(WC) -l $$($1_DELETESS_FILE) | $(AWK) '{ print $$$$1 }'` files && \
+	    $(ZIP) -q -d $$@ `$(CAT) $$($1_DELETESS_FILE)` ; \
+	  fi $$(NEWLINE) \
+	  $$($1_UPDATE_CONTENTS) true $$(NEWLINE) \
+	  $$($1_JARINDEX) && true \
+	, \
+	  $(ECHO) Creating $$($1_NAME) && $(JAR) $$($1_JAR_CREATE_OPTIONS) $$@ $$($1_MANIFEST_FILE) $$(NEWLINE) \
+	  $$($1_SCAPTURE_CONTENTS) \
+	  $$($1_SCAPTURE_METAINF) \
+	  $$($1_SUPDATE_CONTENTS) \
+	  $$($1_JARINDEX) && true )
 
 endef
 
 define SetupZipArchive
-    # param 1 is for example ZIP_MYSOURCE
-    # param 2,3,4,5,6,7,8,9 are named args.
-    #    SRC,ZIP,INCLUDES,INCLUDE_FILES,EXCLUDES,EXCLUDE_FILES,SUFFIXES,EXTRA_DEPS
-    $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
-    $(call LogSetupMacroEntry,SetupZipArchive($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
-    $(if $(16),$(error Internal makefile error: Too many arguments to SetupZipArchive, please update JavaCompilation.gmk))
+  # param 1 is for example ZIP_MYSOURCE
+  # param 2,3,4,5,6,7,8,9 are named args.
+  #   SRC,ZIP,INCLUDES,INCLUDE_FILES,EXCLUDES,EXCLUDE_FILES,SUFFIXES,EXTRA_DEPS
+  $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
+  $(call LogSetupMacroEntry,SetupZipArchive($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
+  $(if $(16),$(error Internal makefile error: Too many arguments to SetupZipArchive, please update JavaCompilation.gmk))
 
-    # To avoid running find over too large sets of files, which causes make to crash
-    # on some configurations (cygwin), use INCLUDES and INCLUDE_FILES to build a set
-    # of directories to run find in, if available.
-    ifneq ($$($1_INCLUDES)$$($1_INCLUDE_FILES),)
-	$1_FIND_LIST := $$(wildcard $$(foreach i,$$($1_SRC),\
-		$$(addprefix $$i/,$$($1_INCLUDES) $$($1_INCLUDE_FILES))))
-    else
-        $1_FIND_LIST := $$($1_SRC)
-    endif
+  # To avoid running find over too large sets of files, which causes make to crash
+  # on some configurations (cygwin), use INCLUDES and INCLUDE_FILES to build a set
+  # of directories to run find in, if available.
+  ifneq ($$($1_INCLUDES)$$($1_INCLUDE_FILES),)
+    $1_FIND_LIST := $$(wildcard $$(foreach i,$$($1_SRC), \
+        $$(addprefix $$i/,$$($1_INCLUDES) $$($1_INCLUDE_FILES))))
+  else
+    $1_FIND_LIST := $$($1_SRC)
+  endif
 
-    # Find all files in the source tree.
-    $1_ALL_SRCS := $$(call not-containing,_the.,\
-            $$(filter $$(addprefix %,$$($1_SUFFIXES)),$$(call CacheFind,$$($1_FIND_LIST))))
+  # Find all files in the source tree.
+  $1_ALL_SRCS := $$(call not-containing,_the., \
+      $$(filter $$(addprefix %,$$($1_SUFFIXES)),$$(call CacheFind,$$($1_FIND_LIST))))
 
-    ifneq ($$($1_INCLUDES),)
-        ifneq ($$($1_SUFFIXES),)
-            $1_ZIP_INCLUDES := $$(foreach s,$$($1_SUFFIXES),\
-		$$(addprefix -i$(SPACE)$(DQUOTE),$$(addsuffix /*$$s$(DQUOTE),$$($1_INCLUDES))))
-        else
-            $1_ZIP_INCLUDES := $$(addprefix -i$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_INCLUDES)))
-        endif
-    endif
-    ifneq ($$($1_INCLUDE_FILES),)
-        $1_ZIP_INCLUDES += $$(addprefix -i$(SPACE),$$($1_INCLUDE_FILES))
-    endif
-    ifneq ($$($1_EXCLUDES),)
-        $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
-        $1_ZIP_EXCLUDES := $$(addprefix -x$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_EXCLUDES)))
-        $1_ALL_SRCS     := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_SRCS))
+  ifneq ($$($1_INCLUDES),)
+    ifneq ($$($1_SUFFIXES),)
+      $1_ZIP_INCLUDES := $$(foreach s,$$($1_SUFFIXES), \
+          $$(addprefix -i$(SPACE)$(DQUOTE),$$(addsuffix /*$$s$(DQUOTE),$$($1_INCLUDES))))
+    else
+      $1_ZIP_INCLUDES := $$(addprefix -i$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_INCLUDES)))
     endif
+  endif
+  ifneq ($$($1_INCLUDE_FILES),)
+    $1_ZIP_INCLUDES += $$(addprefix -i$(SPACE),$$($1_INCLUDE_FILES))
+  endif
+  ifneq ($$($1_EXCLUDES),)
+    $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
+    $1_ZIP_EXCLUDES := $$(addprefix -x$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_EXCLUDES)))
+    $1_ALL_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_SRCS))
+  endif
 
-    # Use a slightly shorter name for logging, but with enough path to identify this zip.
-    $1_NAME:=$$(subst $$(OUTPUT_ROOT)/,,$$($1_ZIP))
+  # Use a slightly shorter name for logging, but with enough path to identify this zip.
+  $1_NAME:=$$(subst $$(OUTPUT_ROOT)/,,$$($1_ZIP))
 
-    # Now $1_ALL_SRCS should contain all sources that are going to be put into the zip.
-    # I.e. the zip -i and -x options should match the filtering done in the makefile.
-    # Explicitly excluded files can be given with absolute path. The patsubst solution
-    # isn't perfect but the likelyhood of an absolute path to match something in a src
-    # dir is very small.
-    # If zip has nothing to do, it returns 12 and would fail the build. Check for 12
-    # and only fail if it's not.
-    $$($1_ZIP) : $$($1_ALL_SRCS) $$($1_EXTRA_DEPS)
-		$(MKDIR) -p $$(@D)
-		$(ECHO) Updating $$($1_NAME)
-		$$(foreach i,$$($1_SRC),(cd $$i && $(ZIP) -qru $$@ . $$($1_ZIP_INCLUDES) $$($1_ZIP_EXCLUDES) -x \*_the.\* $$(addprefix -x$(SPACE),$$(patsubst $$i/%,%,$$($1_EXCLUDE_FILES))) || test "$$$$?" = "12" )$$(NEWLINE)) true
-		$(TOUCH) $$@
+  # Now $1_ALL_SRCS should contain all sources that are going to be put into the zip.
+  # I.e. the zip -i and -x options should match the filtering done in the makefile.
+  # Explicitly excluded files can be given with absolute path. The patsubst solution
+  # isn't perfect but the likelyhood of an absolute path to match something in a src
+  # dir is very small.
+  # If zip has nothing to do, it returns 12 and would fail the build. Check for 12
+  # and only fail if it's not.
+  $$($1_ZIP) : $$($1_ALL_SRCS) $$($1_EXTRA_DEPS)
+	$(MKDIR) -p $$(@D)
+	$(ECHO) Updating $$($1_NAME)
+	$$(foreach i,$$($1_SRC),(cd $$i && $(ZIP) -qru $$@ . $$($1_ZIP_INCLUDES) $$($1_ZIP_EXCLUDES) -x \*_the.\* $$(addprefix -x$(SPACE),$$(patsubst $$i/%,%,$$($1_EXCLUDE_FILES))) || test "$$$$?" = "12" )$$(NEWLINE)) true
+	$(TOUCH) $$@
 endef
 
 define add_file_to_copy
-    # param 1 = BUILD_MYPACKAGE
-    # parma 2 = The source file to copy.
-    $2_TARGET:=$2
-    # Remove the source prefix. 
-    $$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET)))
-    # Now we can setup the depency that will trigger the copying.
-    $$($1_BIN)$$($2_TARGET) : $2
+  # param 1 = BUILD_MYPACKAGE
+  # parma 2 = The source file to copy.
+  $2_TARGET:=$2
+  # Remove the source prefix.
+  $$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET)))
+  # Now we can setup the depency that will trigger the copying.
+  $$($1_BIN)$$($2_TARGET) : $2
 	$(MKDIR) -p $$(@D)
 	$(CP) $$< $$@
 	$(CHMOD) -f ug+w $$@
 
-    # And do not forget this target
-    $1_ALL_COPY_TARGETS += $$($1_BIN)$$($2_TARGET)
+  # And do not forget this target
+  $1_ALL_COPY_TARGETS += $$($1_BIN)$$($2_TARGET)
 endef
 
 
@@ -326,206 +326,206 @@
 # This is the new clean standard. Though it is to be superseded by
 # a standard annotation processor from with sjavac.
 define add_file_to_copy_and_clean
-    # param 1 = BUILD_MYPACKAGE
-    # parma 2 = The source file to copy and clean.
-    $2_TARGET:=$2
-    # Remove the source prefix. 
-    $$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET)))
-    # Now we can setup the depency that will trigger the copying.
-    $$($1_BIN)$$($2_TARGET) : $2
+  # param 1 = BUILD_MYPACKAGE
+  # parma 2 = The source file to copy and clean.
+  $2_TARGET:=$2
+  # Remove the source prefix.
+  $$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET)))
+  # Now we can setup the depency that will trigger the copying.
+  $$($1_BIN)$$($2_TARGET) : $2
 	$(MKDIR) -p $$(@D)
-	$(CAT) $$< | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e  's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
-                   | $(SED) -f "$(SRC_ROOT)/common/makefiles/support/unicode2x.sed" \
-		   | $(SED) -e '/^#/d' -e '/^$$$$/d' \
-		            -e :a -e '/\\$$$$/N; s/\\\n//; ta' \
-			    -e 's/^[ \t]*//;s/[ \t]*$$$$//' \
-			    -e 's/\\=/=/' | LANG=C $(SORT) > $$@
+	$(CAT) $$< | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
+	    | $(SED) -f "$(SRC_ROOT)/common/makefiles/support/unicode2x.sed" \
+	    | $(SED) -e '/^#/d' -e '/^$$$$/d' \
+	        -e :a -e '/\\$$$$/N; s/\\\n//; ta' \
+	        -e 's/^[ \t]*//;s/[ \t]*$$$$//' \
+	        -e 's/\\=/=/' | LANG=C $(SORT) > $$@
 	$(CHMOD) -f ug+w $$@
 
-    # And do not forget this target
-    $1_ALL_COPY_CLEAN_TARGETS += $$($1_BIN)$$($2_TARGET)
+  # And do not forget this target
+  $1_ALL_COPY_CLEAN_TARGETS += $$($1_BIN)$$($2_TARGET)
 endef
 
 define remove_string
-    $2 := $$(subst $1,,$$($2))
+  $2 := $$(subst $1,,$$($2))
 endef
 
 define replace_space_with_pathsep
-    $1:=$(subst $(SPACE),$(PATH_SEP),$(strip $(patsubst %,%,$2)))
+  $1:=$(subst $(SPACE),$(PATH_SEP),$(strip $(patsubst %,%,$2)))
 endef
 
 define SetupJavaCompilation
-    # param 1 is for example BUILD_MYPACKAGE
-    # param 2,3,4,5,6,7,8 are named args.
-    #    SETUP:=must point to a previously setup java compiler, for example: SETUP:=BOOTJAVAC
-    #    JVM:=path to ..bin/java
-    #    ADD_JAVAC_FLAGS:=javac flags to append to the default ones.
-    #    SRC:=one or more directories to search for sources
-    #    BIN:=store classes here
-    #    INCLUDES:=myapp.foo means will only compile java files in myapp.foo or any of its sub-packages.
-    #    EXCLUDES:=myapp.foo means will do not compile java files in myapp.foo or any of its sub-packages.
-    #    COPY:=.prp means copy all prp files to the corresponding package in BIN.
-    #    CLEAN:=.properties means copy and clean all properties file to the corresponding package in BIN.
-    #    COPY_FILES:=myapp/foo/setting.txt means copy this file over to the package myapp/foo
-    #    SRCZIP:=Create a src.zip based on the found sources and copied files.
-    #    INCLUDE_FILES:="com/sun/SolarisFoobar.java" means only compile this file!
-    #    EXCLUDE_FILES:="com/sun/SolarisFoobar.java" means do not compile this particular file!
-    #                   "SolarisFoobar.java" means do not compile SolarisFoobar, wherever it is found.
-    #    JAVAC_SOURCE_PATH_UGLY_OVERRIDE:=Don't use this. This forces an explicit -sourcepath to javac.
-    #                                     Its only here until we cleanup some nasty source code pasta in the jdk.
-    #    HEADERS:=path to directory where all generated c-headers are written.
-    #    DEPENDS:=Extra dependecy
-    $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
-    $(call LogSetupMacroEntry,SetupJavaCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
-    $(if $(16),$(error Internal makefile error: Too many arguments to SetupJavaCompilation, please update JavaCompilation.gmk))
+  # param 1 is for example BUILD_MYPACKAGE
+  # param 2,3,4,5,6,7,8 are named args.
+  #   SETUP:=must point to a previously setup java compiler, for example: SETUP:=BOOTJAVAC
+  #   JVM:=path to ..bin/java
+  #   ADD_JAVAC_FLAGS:=javac flags to append to the default ones.
+  #   SRC:=one or more directories to search for sources
+  #   BIN:=store classes here
+  #   INCLUDES:=myapp.foo means will only compile java files in myapp.foo or any of its sub-packages.
+  #   EXCLUDES:=myapp.foo means will do not compile java files in myapp.foo or any of its sub-packages.
+  #   COPY:=.prp means copy all prp files to the corresponding package in BIN.
+  #   CLEAN:=.properties means copy and clean all properties file to the corresponding package in BIN.
+  #   COPY_FILES:=myapp/foo/setting.txt means copy this file over to the package myapp/foo
+  #   SRCZIP:=Create a src.zip based on the found sources and copied files.
+  #   INCLUDE_FILES:="com/sun/SolarisFoobar.java" means only compile this file!
+  #   EXCLUDE_FILES:="com/sun/SolarisFoobar.java" means do not compile this particular file!
+  #       "SolarisFoobar.java" means do not compile SolarisFoobar, wherever it is found.
+  #   JAVAC_SOURCE_PATH_UGLY_OVERRIDE:=Don't use this. This forces an explicit -sourcepath to javac.
+  #       Its only here until we cleanup some nasty source code pasta in the jdk.
+  #   HEADERS:=path to directory where all generated c-headers are written.
+  #   DEPENDS:=Extra dependecy
+  $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
+  $(call LogSetupMacroEntry,SetupJavaCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
+  $(if $(16),$(error Internal makefile error: Too many arguments to SetupJavaCompilation, please update JavaCompilation.gmk))
 
-    # Extract the info from the java compiler setup.
-    $1_JVM   := $$($$($1_SETUP)_JVM)
-    $1_JAVAC := $$($$($1_SETUP)_JAVAC)
-    $1_FLAGS := $$($$($1_SETUP)_FLAGS) $(JAVAC_FLAGS) $$($1_ADD_JAVAC_FLAGS)
-    ifeq ($$($1_JAVAC),)
-        $$(error The Java compilation $1 refers to a non-existant java compiler setup $$($1_SETUP))
-    endif
-    $1_SJAVAC_PORTFILE := $$($$($1_SETUP)_SJAVAC_PORTFILE)
-    $1_SERVER_JVM := $$($$($1_SETUP)_SERVER_JVM)
+  # Extract the info from the java compiler setup.
+  $1_JVM := $$($$($1_SETUP)_JVM)
+  $1_JAVAC := $$($$($1_SETUP)_JAVAC)
+  $1_FLAGS := $$($$($1_SETUP)_FLAGS) $(JAVAC_FLAGS) $$($1_ADD_JAVAC_FLAGS)
+  ifeq ($$($1_JAVAC),)
+    $$(error The Java compilation $1 refers to a non-existant java compiler setup $$($1_SETUP))
+  endif
+  $1_SJAVAC_PORTFILE := $$($$($1_SETUP)_SJAVAC_PORTFILE)
+  $1_SERVER_JVM := $$($$($1_SETUP)_SERVER_JVM)
+
+  # Handle addons and overrides.
+  $1_SRC:=$$(call ADD_SRCS,$$($1_SRC))
+  # Make sure the dirs exist.
+  $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupJavaCompilation $1 contains missing directory $$d)))
+  $$(eval $$(call MakeDir,$$($1_BIN)))
+  # Find all files in the source trees.
+  $1_ALL_SRCS += $$(filter-out $(OVR_SRCS),$$(call CacheFind,$$($1_SRC)))
+  # Extract the java files.
+  ifneq ($$($1_EXCLUDE_FILES),)
+    $1_EXCLUDE_FILES_PATTERN:=$$(addprefix %,$$($1_EXCLUDE_FILES))
+  endif
+  $1_SRCS := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$(filter %.java,$$($1_ALL_SRCS)))
+  ifneq ($$($1_INCLUDE_FILES),)
+    $1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
+    $1_SRCS := $$(filter $$($1_INCLUDE_FILES), $$($1_SRCS))
+  endif
+
+  # Now we have a list of all java files to compile: $$($1_SRCS)
+
+  # Create the corresponding smart javac wrapper command line.
+  $1_SJAVAC_ARGS:=$$(addprefix -x ,$$(addsuffix .*,$$(subst /,.,$$($1_EXCLUDES)))) \
+      $$(addprefix -i ,$$(addsuffix .*,$$(subst /,.,$$($1_INCLUDES)))) \
+      $$(addprefix -xf *,$$(strip $$($1_EXCLUDE_FILES))) \
+      $$(addprefix -if *,$$(strip $$($1_INCLUDE_FILES))) \
+      -src "$$(subst $$(SPACE),$$(PATH_SEP),$$(strip $$($1_SRC)))"
 
-    # Handle addons and overrides.
-    $1_SRC:=$$(call ADD_SRCS,$$($1_SRC))
-    # Make sure the dirs exist.
-    $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupJavaCompilation $1 contains missing directory $$d)))
-    $$(eval $$(call MakeDir,$$($1_BIN)))
-    # Find all files in the source trees.
-    $1_ALL_SRCS += $$(filter-out $(OVR_SRCS),$$(call CacheFind,$$($1_SRC)))
-    # Extract the java files.
-    ifneq ($$($1_EXCLUDE_FILES),)
-        $1_EXCLUDE_FILES_PATTERN:=$$(addprefix %,$$($1_EXCLUDE_FILES))
+  # Prepend the source/bin path to the filter expressions.
+  ifneq ($$($1_INCLUDES),)
+    $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
+    $1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
+  endif
+  ifneq ($$($1_EXCLUDES),)
+    $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
+    $1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
+  endif
+
+  # Find all files to be copied from source to bin.
+  ifneq (,$$($1_COPY))
+    # Search for all files to be copied.
+    $1_ALL_COPIES := $$(filter $$(addprefix %,$$($1_COPY)),$$($1_ALL_SRCS))
+    # Copy these explicitly
+    $1_ALL_COPIES += $$($1_COPY_FILES)
+    # Copy must also respect filters.
+    ifneq (,$$($1_INCLUDES))
+      $1_ALL_COPIES := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_COPIES))
     endif
-    $1_SRCS     := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$(filter %.java,$$($1_ALL_SRCS)))
-    ifneq ($$($1_INCLUDE_FILES),)
-        $1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
-        $1_SRCS := $$(filter $$($1_INCLUDE_FILES), $$($1_SRCS))
+    ifneq (,$$($1_EXCLUDES))
+      $1_ALL_COPIES := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_COPIES))
+    endif
+    ifneq (,$$($1_EXCLUDE_FILES))
+      $1_ALL_COPIES := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_COPIES))
     endif
+    # All files below META-INF are always copied.
+    $1_ALL_COPIES += $$(filter $$(addsuffix /META-INF%,$$($1_SRC)),$$($1_ALL_SRCS))
+    ifneq (,$$($1_ALL_COPIES))
+      # Yep, there are files to be copied!
+      $1_ALL_COPY_TARGETS:=
+          $$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i)))
+      # Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files!
+    endif
+  endif
 
-    # Now we have a list of all java files to compile: $$($1_SRCS)
-
-    # Create the corresponding smart javac wrapper command line.
-    $1_SJAVAC_ARGS:=$$(addprefix -x ,$$(addsuffix .*,$$(subst /,.,$$($1_EXCLUDES)))) \
-		$$(addprefix -i ,$$(addsuffix .*,$$(subst /,.,$$($1_INCLUDES)))) \
-		$$(addprefix -xf *,$$(strip $$($1_EXCLUDE_FILES))) \
-		$$(addprefix -if *,$$(strip $$($1_INCLUDE_FILES))) \
-		-src "$$(subst $$(SPACE),$$(PATH_SEP),$$(strip $$($1_SRC)))"
+  # Find all property files to be copied and cleaned from source to bin.
+  ifneq (,$$($1_CLEAN))
+    # Search for all files to be copied.
+    $1_ALL_CLEANS := $$(filter $$(addprefix %,$$($1_CLEAN)),$$($1_ALL_SRCS))
+    # Copy and clean must also respect filters.
+    ifneq (,$$($1_INCLUDES))
+      $1_ALL_CLEANS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_CLEANS))
+    endif
+    ifneq (,$$($1_EXCLUDES))
+      $1_ALL_CLEANS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_CLEANS))
+    endif
+    ifneq (,$$($1_EXCLUDE_FILES))
+      $1_ALL_CLEANS := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_CLEANS))
+    endif
+    ifneq (,$$($1_ALL_CLEANS))
+      # Yep, there are files to be copied and cleaned!
+      $1_ALL_COPY_CLEAN_TARGETS:=
+          $$(foreach i,$$($1_ALL_CLEANS),$$(eval $$(call add_file_to_copy_and_clean,$1,$$i)))
+      # Now we can depend on $$($1_ALL_COPY_CLEAN_TARGETS) to copy all files!
+    endif
+  endif
 
-    # Prepend the source/bin path to the filter expressions.
-    ifneq ($$($1_INCLUDES),)
-        $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
-        $1_SRCS     := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
-    endif
-    ifneq ($$($1_EXCLUDES),)
-        $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
-        $1_SRCS     := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
+  # Prep the source paths.
+  ifneq ($$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE),)
+    $$(eval $$(call replace_space_with_pathsep,$1_SRCROOTSC,$$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE)))
+  else
+    $$(eval $$(call replace_space_with_pathsep,$1_SRCROOTSC,$$($1_SRC)))
+  endif
+
+  # Create a sed expression to remove the source roots and to replace / with .
+  # and remove .java at the end.
+  $1_REWRITE_INTO_CLASSES:=$$(foreach i,$$($1_SRC),-e 's|$$i/||g') -e 's|/|.|g' -e 's|.java$$$$||g'
+
+  ifeq ($$($1_DISABLE_SJAVAC)x$$(ENABLE_SJAVAC),xyes)
+    ifneq (,$$($1_HEADERS))
+      $1_HEADERS_ARG := -h $$($1_HEADERS)
     endif
 
-    # Find all files to be copied from source to bin.
-    ifneq (,$$($1_COPY))
-        # Search for all files to be copied.
-        $1_ALL_COPIES := $$(filter $$(addprefix %,$$($1_COPY)),$$($1_ALL_SRCS))
-        # Copy these explicitly
-        $1_ALL_COPIES += $$($1_COPY_FILES)
-        # Copy must also respect filters.
-        ifneq (,$$($1_INCLUDES))
-            $1_ALL_COPIES := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_COPIES))
-        endif
-        ifneq (,$$($1_EXCLUDES))
-            $1_ALL_COPIES := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_COPIES))
-        endif
-        ifneq (,$$($1_EXCLUDE_FILES))
-            $1_ALL_COPIES := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_COPIES))
-        endif
-        # All files below META-INF are always copied.
-        $1_ALL_COPIES += $$(filter $$(addsuffix /META-INF%,$$($1_SRC)),$$($1_ALL_SRCS))
-        ifneq (,$$($1_ALL_COPIES))
-            # Yep, there are files to be copied!
-            $1_ALL_COPY_TARGETS:=
-            $$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i)))
-            # Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files!
-        endif
-    endif
+    # Using sjavac to compile.
+    $1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_BIN)/javac_state
 
-    # Find all property files to be copied and cleaned from source to bin.
-    ifneq (,$$($1_CLEAN))
-        # Search for all files to be copied.
-        $1_ALL_CLEANS := $$(filter $$(addprefix %,$$($1_CLEAN)),$$($1_ALL_SRCS))
-        # Copy and clean must also respect filters.
-        ifneq (,$$($1_INCLUDES))
-            $1_ALL_CLEANS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_CLEANS))
-        endif
-        ifneq (,$$($1_EXCLUDES))
-            $1_ALL_CLEANS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_CLEANS))
-        endif
-        ifneq (,$$($1_EXCLUDE_FILES))
-            $1_ALL_CLEANS := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_CLEANS))
-        endif
-        ifneq (,$$($1_ALL_CLEANS))
-            # Yep, there are files to be copied and cleaned!
-            $1_ALL_COPY_CLEAN_TARGETS:=
-            $$(foreach i,$$($1_ALL_CLEANS),$$(eval $$(call add_file_to_copy_and_clean,$1,$$i)))
-            # Now we can depend on $$($1_ALL_COPY_CLEAN_TARGETS) to copy all files!
-        endif
-    endif
+    # Create SJAVAC variable form JAVAC variable. Expects $1_JAVAC to be
+    # "bootclasspathprepend -cp .../javac.jar com.sun.tools.javac.Main"
+    # and javac is simply replaced with sjavac.
+    $1_SJAVAC:=$$(subst com.sun.tools.javac.Main,com.sun.tools.sjavac.Main,$$($1_JAVAC))
+
+    # Set the $1_REMOTE to spawn a background javac server.
+    $1_REMOTE:=--server:portfile=$$($1_SJAVAC_PORTFILE),id=$1,sjavac=$$(subst $$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$($1_SERVER_JVM) $$($1_SJAVAC))))
 
-    # Prep the source paths.
-    ifneq ($$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE),)
-      $$(eval $$(call replace_space_with_pathsep,$1_SRCROOTSC,$$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE)))
-    else
-      $$(eval $$(call replace_space_with_pathsep,$1_SRCROOTSC,$$($1_SRC)))
-    endif
-
-    # Create a sed expression to remove the source roots and to replace / with .
-    # and remove .java at the end. 
-    $1_REWRITE_INTO_CLASSES:=$$(foreach i,$$($1_SRC),-e 's|$$i/||g') -e 's|/|.|g' -e 's|.java$$$$||g'
-
-    ifeq ($$($1_DISABLE_SJAVAC)x$$(ENABLE_SJAVAC),xyes)
-        ifneq (,$$($1_HEADERS))
-            $1_HEADERS_ARG := -h $$($1_HEADERS)
-        endif
-
-        # Using sjavac to compile. 
-        $1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_BIN)/javac_state
-
-        # Create SJAVAC variable form JAVAC variable. Expects $1_JAVAC to be 
-        # "bootclasspathprepend -cp .../javac.jar com.sun.tools.javac.Main"
-        # and javac is simply replaced with sjavac.
-        $1_SJAVAC:=$$(subst com.sun.tools.javac.Main,com.sun.tools.sjavac.Main,$$($1_JAVAC))
-
-        # Set the $1_REMOTE to spawn a background javac server.
-        $1_REMOTE:=--server:portfile=$$($1_SJAVAC_PORTFILE),id=$1,sjavac=$$(subst $$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$($1_SERVER_JVM) $$($1_SJAVAC))))
+    $$($1_BIN)/javac_state: $$($1_SRCS) $$($1_DEPENDS)
+	$(MKDIR) -p $$(@D)
+	$$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.batch.tmp)
+	$(ECHO) Compiling $1
+	($$($1_JVM) $$($1_SJAVAC) \
+	    $$($1_REMOTE) \
+	    -j $(JOBS) \
+	    --permit-unidentified-artifacts \
+	    --permit-sources-without-package \
+	    --compare-found-sources $$($1_BIN)/_the.batch.tmp \
+	    --log=$(LOG_LEVEL) \
+	    $$($1_SJAVAC_ARGS) \
+	    $$($1_FLAGS) \
+	    $$($1_HEADERS_ARG) \
+	    -d $$($1_BIN) && \
+	$(MV) $$($1_BIN)/_the.batch.tmp $$($1_BIN)/_the.batch)
+  else
+    # Using plain javac to batch compile everything.
+    $1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_BIN)/_the.batch
 
-        $$($1_BIN)/javac_state: $$($1_SRCS) $$($1_DEPENDS)
-		$(MKDIR) -p $$(@D)
-		$$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.batch.tmp)
-		$(ECHO) Compiling $1
-		($$($1_JVM) $$($1_SJAVAC) \
-			$$($1_REMOTE) \
-			-j $(JOBS) \
-			--permit-unidentified-artifacts \
-			--permit-sources-without-package \
-			--compare-found-sources $$($1_BIN)/_the.batch.tmp \
-			--log=$(LOG_LEVEL) \
-			$$($1_SJAVAC_ARGS) \
-			$$($1_FLAGS) \
-			$$($1_HEADERS_ARG) \
-			-d $$($1_BIN) && \
-			$(MV) $$($1_BIN)/_the.batch.tmp $$($1_BIN)/_the.batch)
-    else
-        # Using plain javac to batch compile everything.
-        $1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_BIN)/_the.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).tmp
 
-        # 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).tmp
-
-            $$($1_HEADERS)/_the.headers: $$($1_BIN)/_the.batch
+      $$($1_HEADERS)/_the.headers: $$($1_BIN)/_the.batch
 		$(MKDIR) -p $$(@D)
 		for f in `ls $$($1_HEADERS).tmp`; do \
 		  if [ ! -f "$$($1_HEADERS)/$$$$f" ] || [ "`$(DIFF) $$($1_HEADERS)/$$$$f $$($1_HEADERS).tmp/$$$$f`" != "" ]; then \
@@ -535,54 +535,54 @@
 		$(RM) -r $$($1_HEADERS).tmp
 		$(TOUCH) $$@
 
-            $1 += $$($1_HEADERS)/_the.headers
-        endif
+      $1 += $$($1_HEADERS)/_the.headers
+    endif
 
-        # When not using sjavac, pass along all sources to javac using an @file.
-        $$($1_BIN)/_the.batch: $$($1_SRCS) $$($1_DEPENDS)
-		$(MKDIR) -p $$(@D)
-		$(RM) $$($1_BIN)/_the.batch $$($1_BIN)/_the.batch.tmp
-		$$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.batch.tmp)
-		$(ECHO) Compiling `$(WC) $$($1_BIN)/_the.batch.tmp | $(TR) -s ' ' | $(CUT) -f 2 -d ' '` files for $1
-		($$($1_JVM) $$($1_JAVAC) $$($1_FLAGS) \
-			-implicit:none -sourcepath "$$($1_SRCROOTSC)" \
-			-d $$($1_BIN) $$($1_HEADERS_ARG) @$$($1_BIN)/_the.batch.tmp && \
-			$(MV) $$($1_BIN)/_the.batch.tmp $$($1_BIN)/_the.batch)
+    # When not using sjavac, pass along all sources to javac using an @file.
+    $$($1_BIN)/_the.batch: $$($1_SRCS) $$($1_DEPENDS)
+	$(MKDIR) -p $$(@D)
+	$(RM) $$($1_BIN)/_the.batch $$($1_BIN)/_the.batch.tmp
+	$$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.batch.tmp)
+	$(ECHO) Compiling `$(WC) $$($1_BIN)/_the.batch.tmp | $(TR) -s ' ' | $(CUT) -f 2 -d ' '` files for $1
+	($$($1_JVM) $$($1_JAVAC) $$($1_FLAGS) \
+	    -implicit:none -sourcepath "$$($1_SRCROOTSC)" \
+	    -d $$($1_BIN) $$($1_HEADERS_ARG) @$$($1_BIN)/_the.batch.tmp && \
+	$(MV) $$($1_BIN)/_the.batch.tmp $$($1_BIN)/_the.batch)
 
+  endif
+
+  # Check if a jar file was specified, then setup the rules for the jar.
+  ifneq (,$$($1_JAR))
+    # If no suffixes was explicitly set for this jar file.
+    # Use class and the cleaned/copied properties file suffixes as the default
+    # for the types of files to be put into the jar.
+    ifeq (,$$($1_SUFFIXES))
+      $1_SUFFIXES:=.class $$($1_CLEAN) $$($1_COPY)
     endif
 
-    # Check if a jar file was specified, then setup the rules for the jar.
-    ifneq (,$$($1_JAR))
-        # If no suffixes was explicitly set for this jar file.
-        # Use class and the cleaned/copied properties file suffixes as the default
-        # for the types of files to be put into the jar.
-        ifeq (,$$($1_SUFFIXES))
-            $1_SUFFIXES:=.class $$($1_CLEAN) $$($1_COPY)
-        endif
+    $$(eval $$(call SetupArchive,ARCHIVE_$1,$$($1), \
+        SRCS:=$$($1_BIN), \
+        SUFFIXES:=$$($1_SUFFIXES), \
+        EXCLUDE:=$$($1_EXCLUDES), \
+        INCLUDES:=$$($1_INCLUDES), \
+        EXTRA_FILES:=$$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS), \
+        JAR:=$$($1_JAR), \
+        JARMAIN:=$$($1_JARMAIN), \
+        MANIFEST:=$$($1_MANIFEST), \
+        EXTRA_MANIFEST_ATTR:=$$($1_EXTRA_MANIFEST_ATTR), \
+        JARINDEX:=$$($1_JARINDEX), \
+        HEADERS:=$$($1_HEADERS), \
+        SETUP:=$$($1_SETUP)))
+  endif
 
-        $$(eval $$(call SetupArchive,ARCHIVE_$1,$$($1),\
-		SRCS:=$$($1_BIN),\
-		SUFFIXES:=$$($1_SUFFIXES),\
-		EXCLUDE:=$$($1_EXCLUDES),\
-		INCLUDES:=$$($1_INCLUDES),\
-		EXTRA_FILES:=$$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS),\
-		JAR:=$$($1_JAR),\
-		JARMAIN:=$$($1_JARMAIN),\
-		MANIFEST:=$$($1_MANIFEST),\
-		EXTRA_MANIFEST_ATTR:=$$($1_EXTRA_MANIFEST_ATTR),\
-		JARINDEX:=$$($1_JARINDEX),\
-		HEADERS:=$$($1_HEADERS),\
-		SETUP:=$$($1_SETUP)))
-    endif
-
-    # Check if a srczip was specified, then setup the rules for the srczip.
-    ifneq (,$$($1_SRCZIP))
-        $$(eval $$(call SetupZipArchive,ARCHIVE_$1,\
-		SRC:=$$($1_SRC),\
-		ZIP:=$$($1_SRCZIP),\
-		INCLUDES:=$$($1_INCLUDES),\
-		EXCLUDES:=$$($1_EXCLUDES),\
-		EXCLUDE_FILES:=$$($1_EXCLUDE_FILES)))
-    endif
+  # Check if a srczip was specified, then setup the rules for the srczip.
+  ifneq (,$$($1_SRCZIP))
+    $$(eval $$(call SetupZipArchive,ARCHIVE_$1, \
+        SRC:=$$($1_SRC), \
+        ZIP:=$$($1_SRCZIP), \
+        INCLUDES:=$$($1_INCLUDES), \
+        EXCLUDES:=$$($1_EXCLUDES), \
+        EXCLUDE_FILES:=$$($1_EXCLUDE_FILES)))
+  endif
 
 endef
--- a/common/makefiles/Jprt.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/Jprt.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -23,7 +23,7 @@
 # questions.
 #
 
-# This file is included by the root NewerMakefile and contains targets 
+# This file is included by the root NewerMakefile and contains targets
 # and utilities needed by JPRT.
 
 # Utilities used in this Makefile. Most of this makefile executes without
@@ -36,7 +36,7 @@
 PRINTF=printf
 PWD=pwd
 # Insure we have a path that looks like it came from pwd
-#   (This is mostly for Windows sake and drive letters)
+# (This is mostly for Windows sake and drive letters)
 define UnixPath # path
 $(shell (cd "$1" && $(PWD)))
 endef
@@ -47,19 +47,19 @@
   OPEN_BUILD=true
 else
   OPEN_BUILD := $(if $(or $(wildcard $(root_dir)/jdk/src/closed), \
-                          $(wildcard $(root_dir)/jdk/make/closed), \
-                          $(wildcard $(root_dir)/jdk/test/closed), \
-                          $(wildcard $(root_dir)/hotspot/src/closed), \
-                          $(wildcard $(root_dir)/hotspot/make/closed), \
-                          $(wildcard $(root_dir)/hotspot/test/closed)), \
-                     false,true)
+      $(wildcard $(root_dir)/jdk/make/closed), \
+      $(wildcard $(root_dir)/jdk/test/closed), \
+      $(wildcard $(root_dir)/hotspot/src/closed), \
+      $(wildcard $(root_dir)/hotspot/make/closed), \
+      $(wildcard $(root_dir)/hotspot/test/closed)), \
+      false,true)
 endif
 
 HOTSPOT_AVAILABLE := $(if $(wildcard $(root_dir)/hotspot),true,false)
 
 ###########################################################################
 # To help in adoption of the new configure&&make build process, a bridge
-#   build will use the old settings to run configure and do the build.
+# build will use the old settings to run configure and do the build.
 
 # Build with the configure bridge. After running configure, restart make
 # to parse the new spec file.
@@ -85,80 +85,80 @@
 	$(RM) $@.tmp
 	$(MKDIR) -p $(BUILD_DIR_ROOT)
 	@$(ECHO) " --with-debug-level=$(if $(DEBUG_LEVEL),$(DEBUG_LEVEL),release) " >> $@.tmp
-ifdef ARCH_DATA_MODEL
-	@$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
-endif
-ifeq ($(ARCH_DATA_MODEL),32)
-	@$(ECHO) " --with-jvm-variants=client,server " >> $@.tmp
-endif
-ifdef ALT_PARALLEL_COMPILE_JOBS
-	@$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
-endif
-ifdef ALT_BOOTDIR
-	@$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
-endif
-ifdef ALT_CUPS_HEADERS_PATH
-	@$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp
-endif
-ifdef ALT_FREETYPE_HEADERS_PATH
-	@$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp
-endif
-ifdef ENABLE_SJAVAC
-	@$(ECHO) " --enable-sjavac" >> $@.tmp
-endif
-ifeq ($(HOTSPOT_AVAILABLE),false)
-  ifdef ALT_JDK_IMPORT_PATH
-	@$(ECHO) " --with-import-hotspot=$(call UnixPath,$(ALT_JDK_IMPORT_PATH)) " >> $@.tmp
-  endif
-endif
-ifeq ($(OPEN_BUILD),true)
-	@$(ECHO) " --enable-openjdk-only " >> $@.tmp
-else
-  # Todo: move to closed?
-  ifdef ALT_MOZILLA_HEADERS_PATH
-	@$(ECHO) " --with-mozilla-headers=$(call UnixPath,$(ALT_MOZILLA_HEADERS_PATH)) " >> $@.tmp
-  endif
-  ifdef ALT_JUNIT_DIR
-	@$(ECHO) " --with-junit-dir=$(call UnixPath,$(ALT_JUNIT_DIR)) " >> $@.tmp
-  endif
-  ifdef ANT_HOME
-	@$(ECHO) " --with-ant-home=$(call UnixPath,$(ANT_HOME)) " >> $@.tmp
-  endif
-  ifdef ALT_JAVAFX_ZIP_DIR
-	@$(ECHO) " --with-javafx-zip-dir=$(call UnixPath,$(ALT_JAVAFX_ZIP_DIR)) " >> $@.tmp
-  endif
-  ifdef ALT_JMC_ZIP_DIR
-	@$(ECHO) " --with-jmc-zip-dir=$(call UnixPath,$(ALT_JMC_ZIP_DIR)) " >> $@.tmp
-  endif
-  ifdef ALT_WIXDIR
-	@$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp
-  endif
-  ifdef ALT_INSTALL_LZMA_PATH
-	@$(ECHO) " --with-lzma-path=$(call UnixPath,$(ALT_INSTALL_LZMA_PATH)) " >> $@.tmp
-  endif
-  ifdef ALT_INSTALL_UPX_PATH
-	@$(ECHO) " --with-upx-path=$(call UnixPath,$(ALT_INSTALL_UPX_PATH)) " >> $@.tmp
-  endif
-  ifdef ALT_INSTALL_UPX_FILENAME
-	@$(ECHO) " --with-upx-filename=$(call UnixPath,$(ALT_INSTALL_UPX_FILENAME)) " >> $@.tmp
-  endif
-  ifdef ALT_CCSS_SIGNING_DIR
-	@$(ECHO) " --with-ccss-signing=$(call UnixPath,$(ALT_CCSS_SIGNING_DIR)) " >> $@.tmp
-  endif
-  ifdef ALT_SLASH_JAVA
-	@$(ECHO) " --with-java-devtools=$(call UnixPath,$(ALT_SLASH_JAVA)/devtools) " >> $@.tmp
-  endif
-  ifdef ALT_SPARKLE_FRAMEWORK_DIR
-	@$(ECHO) " --with-sparkle-framework=$(call UnixPath,$(ALT_SPARKLE_FRAMEWORK_DIR)) " >> $@.tmp
-  endif 
-endif
+        ifdef ARCH_DATA_MODEL
+	  @$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
+        endif
+        ifeq ($(ARCH_DATA_MODEL),32)
+	  @$(ECHO) " --with-jvm-variants=client,server " >> $@.tmp
+        endif
+        ifdef ALT_PARALLEL_COMPILE_JOBS
+	  @$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
+        endif
+        ifdef ALT_BOOTDIR
+	  @$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
+        endif
+        ifdef ALT_CUPS_HEADERS_PATH
+	  @$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp
+        endif
+        ifdef ALT_FREETYPE_HEADERS_PATH
+	  @$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp
+        endif
+        ifdef ENABLE_SJAVAC
+	  @$(ECHO) " --enable-sjavac" >> $@.tmp
+        endif
+        ifeq ($(HOTSPOT_AVAILABLE),false)
+          ifdef ALT_JDK_IMPORT_PATH
+	    @$(ECHO) " --with-import-hotspot=$(call UnixPath,$(ALT_JDK_IMPORT_PATH)) " >> $@.tmp
+          endif
+        endif
+        ifeq ($(OPEN_BUILD),true)
+	  @$(ECHO) " --enable-openjdk-only " >> $@.tmp
+        else
+#         Todo: move to closed?
+          ifdef ALT_MOZILLA_HEADERS_PATH
+	    @$(ECHO) " --with-mozilla-headers=$(call UnixPath,$(ALT_MOZILLA_HEADERS_PATH)) " >> $@.tmp
+          endif
+          ifdef ALT_JUNIT_DIR
+	    @$(ECHO) " --with-junit-dir=$(call UnixPath,$(ALT_JUNIT_DIR)) " >> $@.tmp
+          endif
+          ifdef ANT_HOME
+	    @$(ECHO) " --with-ant-home=$(call UnixPath,$(ANT_HOME)) " >> $@.tmp
+          endif
+          ifdef ALT_JAVAFX_ZIP_DIR
+	    @$(ECHO) " --with-javafx-zip-dir=$(call UnixPath,$(ALT_JAVAFX_ZIP_DIR)) " >> $@.tmp
+          endif
+          ifdef ALT_JMC_ZIP_DIR
+	    @$(ECHO) " --with-jmc-zip-dir=$(call UnixPath,$(ALT_JMC_ZIP_DIR)) " >> $@.tmp
+          endif
+          ifdef ALT_WIXDIR
+	    @$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp
+          endif
+          ifdef ALT_INSTALL_LZMA_PATH
+	    @$(ECHO) " --with-lzma-path=$(call UnixPath,$(ALT_INSTALL_LZMA_PATH)) " >> $@.tmp
+          endif
+          ifdef ALT_INSTALL_UPX_PATH
+	    @$(ECHO) " --with-upx-path=$(call UnixPath,$(ALT_INSTALL_UPX_PATH)) " >> $@.tmp
+          endif
+          ifdef ALT_INSTALL_UPX_FILENAME
+	    @$(ECHO) " --with-upx-filename=$(call UnixPath,$(ALT_INSTALL_UPX_FILENAME)) " >> $@.tmp
+          endif
+          ifdef ALT_CCSS_SIGNING_DIR
+	    @$(ECHO) " --with-ccss-signing=$(call UnixPath,$(ALT_CCSS_SIGNING_DIR)) " >> $@.tmp
+          endif
+          ifdef ALT_SLASH_JAVA
+	    @$(ECHO) " --with-java-devtools=$(call UnixPath,$(ALT_SLASH_JAVA)/devtools) " >> $@.tmp
+          endif
+          ifdef ALT_SPARKLE_FRAMEWORK_DIR
+	    @$(ECHO) " --with-sparkle-framework=$(call UnixPath,$(ALT_SPARKLE_FRAMEWORK_DIR)) " >> $@.tmp
+          endif
+        endif
 	@if [ -f $@ ] ; then \
-          if ! $(CMP) $@ $@.tmp > /dev/null ; then \
-            $(CP) $@.tmp $@ ; \
-          fi ; \
-        else \
-          $(CP) $@.tmp $@ ; \
-        fi
+	  if ! $(CMP) $@ $@.tmp > /dev/null ; then \
+	    $(CP) $@.tmp $@ ; \
+	  fi ; \
+	else \
+	  $(CP) $@.tmp $@ ; \
+	fi
 	$(RM) $@.tmp
 
 PHONY_LIST += bridge2configure bridgeBuild
@@ -170,7 +170,7 @@
   JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
 endif
 ifndef JPRT_ARCHIVE_INSTALL_BUNDLE
-    JPRT_ARCHIVE_INSTALL_BUNDLE=/tmp/jprt_bundles/product-install.zip
+  JPRT_ARCHIVE_INSTALL_BUNDLE=/tmp/jprt_bundles/product-install.zip
 endif
 
 # These targets execute in a SPEC free context, before calling bridgeBuild
@@ -212,9 +212,9 @@
 	$(MKDIR) -p $(BUILD_OUTPUT)/bundles
 	$(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIP) -y -q -r $(BUILD_OUTPUT)/bundles/$(JDK_IMAGE_SUBDIR).zip .
 	$(CD) $(SRC_JRE_IMAGE_DIR) && $(ZIP) -y -q -r $(BUILD_OUTPUT)/bundles/$(JRE_IMAGE_SUBDIR).zip .
-	if [ -d  $(BUILD_OUTPUT)/install/bundles ] ; then \
-           $(CD) $(BUILD_OUTPUT)/install/bundles && $(ZIP) -y -q -r $(JPRT_ARCHIVE_INSTALL_BUNDLE) . ; \
-        fi
+	if [ -d $(BUILD_OUTPUT)/install/bundles ] ; then \
+	  $(CD) $(BUILD_OUTPUT)/install/bundles && $(ZIP) -y -q -r $(JPRT_ARCHIVE_INSTALL_BUNDLE) . ; \
+	fi
 	@$(call TargetExit)
 
 # Copy images to one unified location regardless of platform etc.
@@ -226,19 +226,19 @@
 	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)
 	$(CP) -R -P $(SRC_JDK_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_IMAGE_SUBDIR)/
 	$(CP) -R -P $(SRC_JRE_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)/
-ifeq ($(OPENJDK_TARGET_OS),macosx)
-	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)
-	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)
-	$(CP) -R -P $(SRC_JDK_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)/
-	$(CP) -R -P $(SRC_JRE_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)/
-endif
+        ifeq ($(OPENJDK_TARGET_OS),macosx)
+	  $(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)
+	  $(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)
+	  $(CP) -R -P $(SRC_JDK_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)/
+	  $(CP) -R -P $(SRC_JRE_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)/
+        endif
 	@$(call TargetExit)
 
 
 # Keep track of phony targets
 PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \
-              jprt_build_generic bundles jprt_bundle \
-              final-images final-images-only
+    jprt_build_generic bundles jprt_bundle \
+    final-images final-images-only
 
 ###########################################################################
 # Phony targets
--- a/common/makefiles/Main.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/Main.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -28,7 +28,7 @@
 # Now load the spec
 include $(SPEC)
 
-# Load the vital tools for all the makefiles. 
+# Load the vital tools for all the makefiles.
 include $(SRC_ROOT)/common/makefiles/MakeBase.gmk
 
 # Include the corresponding custom file, if present.
@@ -38,19 +38,19 @@
 
 # Remove any build.log from a previous run, if they exist
 ifneq (,$(BUILD_LOG))
-    ifneq (,$(BUILD_LOG_PREVIOUS))
-        # Rotate old log
-        $(shell $(RM) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
-        $(shell $(MV) $(BUILD_LOG) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
-    else
-        $(shell $(RM) $(BUILD_LOG) 2> /dev/null)
-    endif
-    $(shell $(RM) $(OUTPUT_ROOT)/build-trace-time.log 2> /dev/null)
+  ifneq (,$(BUILD_LOG_PREVIOUS))
+    # Rotate old log
+    $(shell $(RM) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
+    $(shell $(MV) $(BUILD_LOG) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
+  else
+    $(shell $(RM) $(BUILD_LOG) 2> /dev/null)
+  endif
+  $(shell $(RM) $(OUTPUT_ROOT)/build-trace-time.log 2> /dev/null)
 endif
 # Remove any javac server logs and port files. This
 # prevents a new make run to reuse the previous servers.
 ifneq (,$(SJAVAC_SERVER_DIR))
-    $(shell $(MKDIR) -p $(SJAVAC_SERVER_DIR) && $(RM) -rf $(SJAVAC_SERVER_DIR)/*)
+  $(shell $(MKDIR) -p $(SJAVAC_SERVER_DIR) && $(RM) -rf $(SJAVAC_SERVER_DIR)/*)
 endif
 
 # Reset the build timers.
@@ -103,8 +103,8 @@
 	@$(call TargetExit)
 
 ifeq ($(BUILD_HOTSPOT),true)
-hotspot: hotspot-only
-hotspot-only: start-make
+  hotspot: hotspot-only
+  hotspot-only: start-make
 	@$(call TargetEnter)
 	@($(CD) $(SRC_ROOT)/common/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f HotspotWrapper.gmk)
 	@$(call TargetExit)
@@ -149,9 +149,9 @@
 	@$(call TargetExit)
 
 profiles-oscheck:
-ifneq ($(OPENJDK_TARGET_OS), linux)
-	@echo "Error: The Java SE 8 Compact Profiles are only implemented for Linux at this time" && exit 1
-endif
+        ifneq ($(OPENJDK_TARGET_OS), linux)
+	  @echo "Error: The Java SE 8 Compact Profiles are only implemented for Linux at this time" && exit 1
+        endif
 
 install: images install-only
 install-only: start-make
@@ -202,12 +202,12 @@
 dist-clean: clean
 	@($(CD) $(OUTPUT_ROOT) && $(RM) -r *spec.gmk config.* configure-arguments Makefile compare.sh spec.sh tmp javacservers)
 	@$(if $(filter $(CONF_NAME),$(notdir $(OUTPUT_ROOT))), \
-    if test "x`$(LS) $(OUTPUT_ROOT)`" != x; then \
-        $(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ;\
-    else \
-        ($(CD) $(SRC_ROOT) && $(ECHO) "Removing configuration directory for '$(CONF_NAME)'" && $(RM) -r $(OUTPUT_ROOT)) \
-    fi \
-  )
+	  if test "x`$(LS) $(OUTPUT_ROOT)`" != x; then \
+	    $(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ; \
+	  else \
+	    ($(CD) $(SRC_ROOT) && $(ECHO) "Removing configuration directory for '$(CONF_NAME)'" && $(RM) -r $(OUTPUT_ROOT)) \
+	  fi \
+	)
 	@$(ECHO) Cleaned everything, you will have to re-run configure.
 
 clean-langtools:
--- a/common/makefiles/MakeBase.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/MakeBase.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -48,314 +48,316 @@
 $(compress_post)
 
 decompress_paths=$(SED) -f $(SRC_ROOT)/common/makefiles/support/ListPathsSafely-uncompress.sed -e 's|X99|\\n|g' \
-		     -e 's|X98|$(OUTPUT_ROOT)|g' -e 's|X97|$(SRC_ROOT)|g' \
-		     -e 's|X00|X|g' | tr '\n' '$2'
+    -e 's|X98|$(OUTPUT_ROOT)|g' -e 's|X97|$(SRC_ROOT)|g' \
+    -e 's|X00|X|g' | tr '\n' '$2'
 
 define ListPathsSafely_If
-    $(if $(word $3,$($1)),$(eval $1_LPS$3:=$(call compress_paths,$(wordlist $3,$4,$($1)))))
+	$(if $(word $3,$($1)),$(eval $1_LPS$3:=$(call compress_paths,$(wordlist $3,$4,$($1)))))
 endef
 
 define ListPathsSafely_Printf
-    $(if $(strip $($1_LPS$4)),printf -- "$(strip $($1_LPS$4))\n" | $(decompress_paths) $3)
+	$(if $(strip $($1_LPS$4)),$(if $(findstring $(LOG_LEVEL),trace),,@)printf \
+	    -- "$(strip $($1_LPS$4))\n" | $(decompress_paths) $3)
 endef
 
 # Receipt example:
-#    rm -f thepaths
-#    $(call ListPathsSafely,THEPATHS,\n, >> thepaths)
-#    The \n argument means translate spaces into \n
-#    if instead , , (a space) is supplied, then spaces remain spaces.
+#   rm -f thepaths
+#   $(call ListPathsSafely,THEPATHS,\n, >> thepaths)
+# The \n argument means translate spaces into \n
+# if instead , , (a space) is supplied, then spaces remain spaces.
 define ListPathsSafely
-    $(if $(word 16001,$($1)),$(error Cannot list safely more than 16000 paths. $1 has $(words $($1)) paths!))
-    $(call ListPathsSafely_If,$1,$2,1,250)
-    $(call ListPathsSafely_If,$1,$2,251,500)
-    $(call ListPathsSafely_If,$1,$2,501,750)
-    $(call ListPathsSafely_If,$1,$2,751,1000)
+	$(if $(word 16001,$($1)),$(error Cannot list safely more than 16000 paths. $1 has $(words $($1)) paths!))
+	$(ECHO) $(LOG_DEBUG) Writing $(words $($1)) paths to '$3'
+	$(call ListPathsSafely_If,$1,$2,1,250)
+	$(call ListPathsSafely_If,$1,$2,251,500)
+	$(call ListPathsSafely_If,$1,$2,501,750)
+	$(call ListPathsSafely_If,$1,$2,751,1000)
 
-    $(call ListPathsSafely_If,$1,$2,1001,1250)
-    $(call ListPathsSafely_If,$1,$2,1251,1500)
-    $(call ListPathsSafely_If,$1,$2,1501,1750)
-    $(call ListPathsSafely_If,$1,$2,1751,2000)
+	$(call ListPathsSafely_If,$1,$2,1001,1250)
+	$(call ListPathsSafely_If,$1,$2,1251,1500)
+	$(call ListPathsSafely_If,$1,$2,1501,1750)
+	$(call ListPathsSafely_If,$1,$2,1751,2000)
 
-    $(call ListPathsSafely_If,$1,$2,2001,2250)
-    $(call ListPathsSafely_If,$1,$2,2251,2500)
-    $(call ListPathsSafely_If,$1,$2,2501,2750)
-    $(call ListPathsSafely_If,$1,$2,2751,3000)
+	$(call ListPathsSafely_If,$1,$2,2001,2250)
+	$(call ListPathsSafely_If,$1,$2,2251,2500)
+	$(call ListPathsSafely_If,$1,$2,2501,2750)
+	$(call ListPathsSafely_If,$1,$2,2751,3000)
 
-    $(call ListPathsSafely_If,$1,$2,3001,3250)
-    $(call ListPathsSafely_If,$1,$2,3251,3500)
-    $(call ListPathsSafely_If,$1,$2,3501,3750)
-    $(call ListPathsSafely_If,$1,$2,3751,4000)
+	$(call ListPathsSafely_If,$1,$2,3001,3250)
+	$(call ListPathsSafely_If,$1,$2,3251,3500)
+	$(call ListPathsSafely_If,$1,$2,3501,3750)
+	$(call ListPathsSafely_If,$1,$2,3751,4000)
 
-    $(call ListPathsSafely_If,$1,$2,4001,4250)
-    $(call ListPathsSafely_If,$1,$2,4251,4500)
-    $(call ListPathsSafely_If,$1,$2,4501,4750)
-    $(call ListPathsSafely_If,$1,$2,4751,5000)
+	$(call ListPathsSafely_If,$1,$2,4001,4250)
+	$(call ListPathsSafely_If,$1,$2,4251,4500)
+	$(call ListPathsSafely_If,$1,$2,4501,4750)
+	$(call ListPathsSafely_If,$1,$2,4751,5000)
 
-    $(call ListPathsSafely_If,$1,$2,5001,5250)
-    $(call ListPathsSafely_If,$1,$2,5251,5500)
-    $(call ListPathsSafely_If,$1,$2,5501,5750)
-    $(call ListPathsSafely_If,$1,$2,5751,6000)
+	$(call ListPathsSafely_If,$1,$2,5001,5250)
+	$(call ListPathsSafely_If,$1,$2,5251,5500)
+	$(call ListPathsSafely_If,$1,$2,5501,5750)
+	$(call ListPathsSafely_If,$1,$2,5751,6000)
 
-    $(call ListPathsSafely_If,$1,$2,6001,6250)
-    $(call ListPathsSafely_If,$1,$2,6251,6500)
-    $(call ListPathsSafely_If,$1,$2,6501,6750)
-    $(call ListPathsSafely_If,$1,$2,6751,7000)
+	$(call ListPathsSafely_If,$1,$2,6001,6250)
+	$(call ListPathsSafely_If,$1,$2,6251,6500)
+	$(call ListPathsSafely_If,$1,$2,6501,6750)
+	$(call ListPathsSafely_If,$1,$2,6751,7000)
 
-    $(call ListPathsSafely_If,$1,$2,7001,7250)
-    $(call ListPathsSafely_If,$1,$2,7251,7500)
-    $(call ListPathsSafely_If,$1,$2,7501,7750)
-    $(call ListPathsSafely_If,$1,$2,7751,8000)
+	$(call ListPathsSafely_If,$1,$2,7001,7250)
+	$(call ListPathsSafely_If,$1,$2,7251,7500)
+	$(call ListPathsSafely_If,$1,$2,7501,7750)
+	$(call ListPathsSafely_If,$1,$2,7751,8000)
 
-    $(call ListPathsSafely_If,$1,$2,8001,8250)
-    $(call ListPathsSafely_If,$1,$2,8251,8500)
-    $(call ListPathsSafely_If,$1,$2,8501,8750)
-    $(call ListPathsSafely_If,$1,$2,8751,9000)
+	$(call ListPathsSafely_If,$1,$2,8001,8250)
+	$(call ListPathsSafely_If,$1,$2,8251,8500)
+	$(call ListPathsSafely_If,$1,$2,8501,8750)
+	$(call ListPathsSafely_If,$1,$2,8751,9000)
 
-    $(call ListPathsSafely_If,$1,$2,9001,9250)
-    $(call ListPathsSafely_If,$1,$2,9251,9500)
-    $(call ListPathsSafely_If,$1,$2,9501,9750)
-    $(call ListPathsSafely_If,$1,$2,9751,10000)
+	$(call ListPathsSafely_If,$1,$2,9001,9250)
+	$(call ListPathsSafely_If,$1,$2,9251,9500)
+	$(call ListPathsSafely_If,$1,$2,9501,9750)
+	$(call ListPathsSafely_If,$1,$2,9751,10000)
 
-    $(call ListPathsSafely_If,$1,$2,10001,10250)
-    $(call ListPathsSafely_If,$1,$2,10251,10500)
-    $(call ListPathsSafely_If,$1,$2,10501,10750)
-    $(call ListPathsSafely_If,$1,$2,10751,11000)
+	$(call ListPathsSafely_If,$1,$2,10001,10250)
+	$(call ListPathsSafely_If,$1,$2,10251,10500)
+	$(call ListPathsSafely_If,$1,$2,10501,10750)
+	$(call ListPathsSafely_If,$1,$2,10751,11000)
 
-    $(call ListPathsSafely_If,$1,$2,11001,11250)
-    $(call ListPathsSafely_If,$1,$2,11251,11500)
-    $(call ListPathsSafely_If,$1,$2,11501,11750)
-    $(call ListPathsSafely_If,$1,$2,11751,12000)
+	$(call ListPathsSafely_If,$1,$2,11001,11250)
+	$(call ListPathsSafely_If,$1,$2,11251,11500)
+	$(call ListPathsSafely_If,$1,$2,11501,11750)
+	$(call ListPathsSafely_If,$1,$2,11751,12000)
 
-    $(call ListPathsSafely_If,$1,$2,12001,12250)
-    $(call ListPathsSafely_If,$1,$2,12251,12500)
-    $(call ListPathsSafely_If,$1,$2,12501,12750)
-    $(call ListPathsSafely_If,$1,$2,12751,13000)
+	$(call ListPathsSafely_If,$1,$2,12001,12250)
+	$(call ListPathsSafely_If,$1,$2,12251,12500)
+	$(call ListPathsSafely_If,$1,$2,12501,12750)
+	$(call ListPathsSafely_If,$1,$2,12751,13000)
 
-    $(call ListPathsSafely_If,$1,$2,13001,13250)
-    $(call ListPathsSafely_If,$1,$2,13251,13500)
-    $(call ListPathsSafely_If,$1,$2,13501,13750)
-    $(call ListPathsSafely_If,$1,$2,13751,14000)
+	$(call ListPathsSafely_If,$1,$2,13001,13250)
+	$(call ListPathsSafely_If,$1,$2,13251,13500)
+	$(call ListPathsSafely_If,$1,$2,13501,13750)
+	$(call ListPathsSafely_If,$1,$2,13751,14000)
 
-    $(call ListPathsSafely_If,$1,$2,14001,14250)
-    $(call ListPathsSafely_If,$1,$2,14251,14500)
-    $(call ListPathsSafely_If,$1,$2,14501,14750)
-    $(call ListPathsSafely_If,$1,$2,14751,15000)
+	$(call ListPathsSafely_If,$1,$2,14001,14250)
+	$(call ListPathsSafely_If,$1,$2,14251,14500)
+	$(call ListPathsSafely_If,$1,$2,14501,14750)
+	$(call ListPathsSafely_If,$1,$2,14751,15000)
 
-    $(call ListPathsSafely_If,$1,$2,15001,15250)
-    $(call ListPathsSafely_If,$1,$2,15251,15500)
-    $(call ListPathsSafely_If,$1,$2,15501,15750)
-    $(call ListPathsSafely_If,$1,$2,15751,16000)
+	$(call ListPathsSafely_If,$1,$2,15001,15250)
+	$(call ListPathsSafely_If,$1,$2,15251,15500)
+	$(call ListPathsSafely_If,$1,$2,15501,15750)
+	$(call ListPathsSafely_If,$1,$2,15751,16000)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,1)
-    $(call ListPathsSafely_Printf,$1,$2,$3,251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,1)
+	$(call ListPathsSafely_Printf,$1,$2,$3,251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,1001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,1251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,1501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,1751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,1001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,1251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,1501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,1751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,2001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,2251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,2501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,2751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,2001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,2251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,2501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,2751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,3001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,3251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,3501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,3751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,3001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,3251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,3501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,3751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,4001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,4251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,4501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,4751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,4001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,4251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,4501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,4751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,5001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,5251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,5501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,5751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,5001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,5251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,5501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,5751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,6001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,6251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,6501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,6751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,6001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,6251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,6501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,6751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,7001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,7251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,7501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,7751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,7001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,7251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,7501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,7751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,8001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,8251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,8501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,8751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,8001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,8251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,8501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,8751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,9001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,9251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,9501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,9751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,9001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,9251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,9501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,9751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,10001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,10251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,10501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,10751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,10001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,10251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,10501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,10751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,11001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,11251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,11501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,11751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,11001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,11251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,11501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,11751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,12001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,12251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,12501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,12751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,12001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,12251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,12501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,12751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,13001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,13251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,13501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,13751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,13001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,13251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,13501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,13751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,14001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,14251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,14501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,14751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,14001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,14251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,14501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,14751)
 
-    $(call ListPathsSafely_Printf,$1,$2,$3,15001)
-    $(call ListPathsSafely_Printf,$1,$2,$3,15251)
-    $(call ListPathsSafely_Printf,$1,$2,$3,15501)
-    $(call ListPathsSafely_Printf,$1,$2,$3,15751)
+	$(call ListPathsSafely_Printf,$1,$2,$3,15001)
+	$(call ListPathsSafely_Printf,$1,$2,$3,15251)
+	$(call ListPathsSafely_Printf,$1,$2,$3,15501)
+	$(call ListPathsSafely_Printf,$1,$2,$3,15751)
 endef
 
 define ListPathsSafelyNow_IfPrintf
-    ifneq (,$$(word $4,$$($1)))
-        $$(eval $1_LPS$4:=$$(call compress_paths,$$(wordlist $4,$5,$$($1))))
-        $$(shell printf -- "$$(strip $$($1_LPS$4))\n" | $(decompress_paths) $3)
-    endif
+  ifneq (,$$(word $4,$$($1)))
+    $$(eval $1_LPS$4:=$$(call compress_paths,$$(wordlist $4,$5,$$($1))))
+    $$(shell printf -- "$$(strip $$($1_LPS$4))\n" | $(decompress_paths) $3)
+  endif
 endef
 
 # And an non-receipt version:
 define ListPathsSafelyNow
-    ifneq (,$$(word 10001,$$($1)))
-        $$(error Cannot list safely more than 10000 paths. $1 has $$(words $$($1)) paths!)
-    endif
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1,250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,251,500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,501,750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,751,1000)
+  ifneq (,$$(word 10001,$$($1)))
+    $$(error Cannot list safely more than 10000 paths. $1 has $$(words $$($1)) paths!)
+  endif
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1,250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,251,500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,501,750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,751,1000)
 
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1001,1250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1251,1500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1501,1750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1751,2000)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1001,1250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1251,1500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1501,1750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1751,2000)
 
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2001,2250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2251,2500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2501,2750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2751,3000)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2001,2250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2251,2500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2501,2750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2751,3000)
 
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3001,3250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3251,3500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3501,3750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3751,4000)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3001,3250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3251,3500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3501,3750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3751,4000)
 
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4001,4250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4251,4500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4501,4750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4751,5000)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4001,4250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4251,4500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4501,4750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4751,5000)
 
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5001,5250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5251,5500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5501,5750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5751,6000)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5001,5250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5251,5500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5501,5750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5751,6000)
 
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6001,6250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6251,6500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6501,6750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6751,7000)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6001,6250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6251,6500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6501,6750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6751,7000)
 
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7001,7250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7251,7500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7501,7750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7751,8000)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7001,7250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7251,7500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7501,7750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7751,8000)
 
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8001,8250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8251,8500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8501,8750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8751,9000)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8001,8250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8251,8500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8501,8750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8751,9000)
 
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9001,9250)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9251,9500)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9501,9750)
-    $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9751,10000)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9001,9250)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9251,9500)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9501,9750)
+  $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9751,10000)
 
 endef
 
 # The source tips can come from the Mercurial repository, or in the files
-#   $(HGTIP_FILENAME) which contains the tip but is also positioned in the same
-#   directory as the original $(HGDIR) directory.
-#   These should not be := assignments, only used from the root Makefile.
+# $(HGTIP_FILENAME) which contains the tip but is also positioned in the same
+# directory as the original $(HGDIR) directory.
+# These should not be := assignments, only used from the root Makefile.
 HG_VERSION = $(shell $(HG) version 2> /dev/null)
 HG_DIRECTORY=.hg
 HGTIP_FILENAME=.hgtip
 HG_SEARCH = ./REPO ./*/REPO ./*/*/REPO ./*/*/*/REPO
 REPO_LIST = $(patsubst ./%,%,$(patsubst %/,%,$(sort $(dir \
     $(shell $(CD) $(SRC_ROOT) ; ( $(LS) -d $(HG_SEARCH:%/REPO=%/$(HG_DIRECTORY)) ; \
-                                   $(LS)    $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) ) \
-	        2> /dev/null)))))
+        $(LS) $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) ) \
+        2> /dev/null)))))
 
 # Emit the repo:tip pairs to $@
 define GetSourceTips
-$(CD) $(SRC_ROOT) ; \
-for i in $(REPO_LIST) IGNORE ; do \
-  if [ "$${i}" = "IGNORE" ] ; then \
-    continue; \
-  elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \
-    $(PRINTF) " %s:%s" \
-      "$${i}" `$(HG) tip --repository $${i} --template '{node|short}\n'` ; \
-  elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \
-    $(PRINTF) " %s:%s" \
-      "$${i}" `$(CAT) $${i}/$(HGTIP_FILENAME)` ; \
-  fi; \
-done >> $@
-$(PRINTF) "\n" >> $@
+	$(CD) $(SRC_ROOT) ; \
+	for i in $(REPO_LIST) IGNORE ; do \
+	  if [ "$${i}" = "IGNORE" ] ; then \
+	    continue; \
+	  elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \
+	    $(PRINTF) " %s:%s" \
+	        "$${i}" `$(HG) tip --repository $${i} --template '{node|short}\n'` ; \
+	  elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \
+	    $(PRINTF) " %s:%s" \
+	        "$${i}" `$(CAT) $${i}/$(HGTIP_FILENAME)` ; \
+	  fi; \
+	done >> $@
+	$(PRINTF) "\n" >> $@
 endef
 
 # Create the HGTIP_FILENAME file. Called from jdk/make/closed/bundles.gmk
 define CreateHgTip
-$(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME);\
-$(ECHO) $1/$(HGTIP_FILENAME)
+	$(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME); \
+	$(ECHO) $1/$(HGTIP_FILENAME)
 endef
 
 define SetupLogging
-    ifeq ($$(LOG_LEVEL),trace)
-        # Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
-        # For each target executed, will print
-        # Building <TARGET> (from <FIRST PREREQUISITE>) (<ALL NEWER PREREQUISITES> newer)
-        # but with a limit of 20 on <ALL NEWER PREREQUISITES>, to avoid cluttering logs too much 
-        # (and causing a crash on Cygwin).
-        # Default shell seems to always be /bin/sh. Must override with bash to get this to work on Solaris.
-        # Only use time if it's GNU time which supports format and output file.
-        WRAPPER_SHELL:=/bin/bash $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log /bin/bash
-        SHELL=$$(warning $$(if $$@,Building $$@,Running shell command) $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files]) newer)))$$(WRAPPER_SHELL)
-    endif
-    # Never remove warning messages; this is just for completeness
-    LOG_WARN= 
-    ifneq ($$(findstring $$(LOG_LEVEL),info debug trace),)
-        LOG_INFO=
-    else
-        LOG_INFO=> /dev/null
-    endif
-    ifneq ($$(findstring $$(LOG_LEVEL),debug trace),)
-        LOG_DEBUG=
-    else
-        LOG_DEBUG=> /dev/null
-    endif
-    ifneq ($$(findstring $$(LOG_LEVEL),trace),)
-        LOG_TRACE=
-    else
-        LOG_TRACE=> /dev/null
-    endif
+  ifeq ($$(LOG_LEVEL),trace)
+    # Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
+    # For each target executed, will print
+    # Building <TARGET> (from <FIRST PREREQUISITE>) (<ALL NEWER PREREQUISITES> newer)
+    # but with a limit of 20 on <ALL NEWER PREREQUISITES>, to avoid cluttering logs too much
+    # (and causing a crash on Cygwin).
+    # Default shell seems to always be /bin/sh. Must override with bash to get this to work on Solaris.
+    # Only use time if it's GNU time which supports format and output file.
+    WRAPPER_SHELL:=/bin/bash $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log /bin/bash
+    SHELL=$$(warning $$(if $$@,Building $$@,Running shell command) $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files]) newer)))$$(WRAPPER_SHELL)
+  endif
+  # Never remove warning messages; this is just for completeness
+  LOG_WARN=
+  ifneq ($$(findstring $$(LOG_LEVEL),info debug trace),)
+    LOG_INFO=
+  else
+    LOG_INFO=> /dev/null
+  endif
+  ifneq ($$(findstring $$(LOG_LEVEL),debug trace),)
+    LOG_DEBUG=
+  else
+    LOG_DEBUG=> /dev/null
+  endif
+  ifneq ($$(findstring $$(LOG_LEVEL),trace),)
+    LOG_TRACE=
+  else
+    LOG_TRACE=> /dev/null
+  endif
 endef
 
 # Make sure logging is setup for everyone that includes MakeBase.gmk.
@@ -363,43 +365,43 @@
 
 # This is to be called by all SetupFoo macros
 define LogSetupMacroEntry
-    $(if $(27),$(error Internal makefile error: Too many arguments to LogSetupMacroEntry, please update MakeBase.gmk))
-    $(if $(findstring $(LOG_LEVEL),debug trace), $(info $1 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,$(if $($i),$(NEWLINE) $(strip [$i] $($i))))))
+  $(if $(27),$(error Internal makefile error: Too many arguments to LogSetupMacroEntry, please update MakeBase.gmk))
+  $(if $(findstring $(LOG_LEVEL),debug trace), $(info $1 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,$(if $($i),$(NEWLINE) $(strip [$i] $($i))))))
 endef
 
 # Make directory without forking mkdir if not needed
 define MakeDir
-    ifneq ($$(wildcard $1 $2 $3 $4 $5 $6 $7 $8 $9),$$(strip $1 $2 $3 $4 $5 $6 $7 $8 $9))
-        $$(shell $(MKDIR) -p $1 $2 $3 $4 $5 $6 $7 $8 $9)
-    endif
+  ifneq ($$(wildcard $1 $2 $3 $4 $5 $6 $7 $8 $9),$$(strip $1 $2 $3 $4 $5 $6 $7 $8 $9))
+    $$(shell $(MKDIR) -p $1 $2 $3 $4 $5 $6 $7 $8 $9)
+  endif
 endef
 
 ifeq ($(OPENJDK_TARGET_OS),solaris)
-# On Solaris, if the target is a symlink and exists, cp won't overwrite.
-# Cp has to operate in recursive mode to allow for -P flag, to preserve soft links. If the
-# name of the target file differs from the source file, rename after copy.
-define install-file
+  # On Solaris, if the target is a symlink and exists, cp won't overwrite.
+  # Cp has to operate in recursive mode to allow for -P flag, to preserve soft links. If the
+  # name of the target file differs from the source file, rename after copy.
+  define install-file
 	$(MKDIR) -p $(@D)
 	$(RM) '$@'
 	$(CP) -f -r -P '$<' '$(@D)'
 	if [ "$(@F)" != "$(<F)" ]; then $(MV) '$(@D)/$(<F)' '$@'; fi
-endef
+  endef
 else ifeq ($(OPENJDK_TARGET_OS),macosx)
-# On mac, extended attributes sometimes creep into the source files, which may later 
-# cause the creation of ._* files which confuses testing. Clear these with xattr if
-# set. Some files get their write permissions removed after being copied to the 
-# output dir. When these are copied again to images, xattr would fail. By only clearing
-# attributes when they are present, failing on this is avoided.
-define install-file
+  # On mac, extended attributes sometimes creep into the source files, which may later
+  # cause the creation of ._* files which confuses testing. Clear these with xattr if
+  # set. Some files get their write permissions removed after being copied to the
+  # output dir. When these are copied again to images, xattr would fail. By only clearing
+  # attributes when they are present, failing on this is avoided.
+  define install-file
 	$(MKDIR) -p $(@D)
 	$(CP) -fRP '$<' '$@'
 	if [ -n "`$(XATTR) -l '$@'`" ]; then $(XATTR) -c '$@'; fi
-endef
+  endef
 else
-define install-file
+  define install-file
 	$(MKDIR) -p $(@D)
 	$(CP) -fP '$<' '$@'
-endef
+  endef
 endif
 
 # Convenience functions for working around make's limitations with $(filter ).
@@ -409,25 +411,25 @@
 ################################################################################
 # In Cygwin, finds are very costly, both because of expensive forks and because
 # of bad file system caching. Find is used extensively in $(shell) commands to
-# find source files. This makes rerunning make with no or few changes rather 
+# find source files. This makes rerunning make with no or few changes rather
 # expensive. To speed this up, these two macros are used to cache the results
 # of simple find commands for reuse.
-# 
+#
 # Runs a find and stores both the directories where it was run and the results.
 # This macro can be called multiple times to add to the cache. Only finds files
 # with no filters.
 #
 # Needs to be called with $(eval )
-# 
+#
 # Param 1 - Dir to find in
 ifeq ($(OPENJDK_BUILD_OS),windows)
-define FillCacheFind
+  define FillCacheFind
     FIND_CACHE_DIR += $1
     FIND_CACHE := $$(sort $$(FIND_CACHE) $$(shell $(FIND) $1 -type f -o -type l))
-endef
+  endef
 else
-define FillCacheFind
-endef
+  define FillCacheFind
+  endef
 endif
 
 # Mimics find by looking in the cache if all of the directories have been cached.
@@ -437,9 +439,9 @@
 # The extra - is needed when FIND_CACHE_DIR is empty but should be harmless.
 # Param 1 - Dirs to find in
 define CacheFind
-    $(if $(filter-out $(addsuffix %,- $(FIND_CACHE_DIR)),$1),\
-        $(shell $(FIND) $1 -type f -o -type l),\
-        $(filter $(addsuffix %,$1),$(FIND_CACHE)))
+  $(if $(filter-out $(addsuffix %,- $(FIND_CACHE_DIR)),$1), \
+    $(shell $(FIND) $1 -type f -o -type l), \
+    $(filter $(addsuffix %,$1),$(FIND_CACHE)))
 endef
 
 ################################################################################
--- a/common/makefiles/MakeHelpers.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/MakeHelpers.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -26,7 +26,7 @@
 ################################################################
 #
 # This file contains helper functions for the top-level Makefile that does
-# not depend on the spec.gmk file having been read. (The purpose of this 
+# not depend on the spec.gmk file having been read. (The purpose of this
 # file is ju to avoid cluttering the top-level Makefile.)
 #
 ################################################################
@@ -49,7 +49,7 @@
 BUILDTIMESDIR=$(OUTPUT_ROOT)/tmp/buildtimes
 
 # Global targets are possible to run either with or without a SPEC. The prototypical
-# global target is "help". 
+# global target is "help".
 global_targets=help jprt% bridgeBuild
 
 ##############################
@@ -57,55 +57,55 @@
 ##############################
 
 define CheckEnvironment
-    # Find all environment or command line variables that begin with ALT.
-    $(if $(list_alt_overrides),
-        @$(PRINTF) "\nWARNING: You have the following ALT_ variables set:\n"
-    @$(PRINTF) "$(foreach var,$(list_alt_overrides),$(var)=$$$(var))\n"
-    @$(PRINTF) "ALT_ variables are deprecated and will be ignored. Please clean your environment.\n\n"
-    )
+        # Find all environment or command line variables that begin with ALT.
+	$(if $(list_alt_overrides),
+	  @$(PRINTF) "\nWARNING: You have the following ALT_ variables set:\n"
+	  @$(PRINTF) "$(foreach var,$(list_alt_overrides),$(var)=$$$(var))\n"
+	  @$(PRINTF) "ALT_ variables are deprecated and will be ignored. Please clean your environment.\n\n"
+	)
 endef
 
 ### Functions for timers
 
 # Record starting time for build of a sub repository.
 define RecordStartTime
-    $(MKDIR) -p $(BUILDTIMESDIR)
-    $(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$1
-    $(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$1_human_readable
+	$(MKDIR) -p $(BUILDTIMESDIR)
+	$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$1
+	$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$1_human_readable
 endef
 
 # Record ending time and calculate the difference and store it in a
 # easy to read format. Handles builds that cross midnight. Expects
-# that a build will never take 24 hours or more. 
+# that a build will never take 24 hours or more.
 define RecordEndTime
-    $(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$1
-    $(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$1_human_readable
-    $(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$1` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$1` $1 | \
-        $(NAWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
-        M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
-        > $(BUILDTIMESDIR)/build_time_diff_$1
+	$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$1
+	$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$1_human_readable
+	$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$1` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$1` $1 | \
+	    $(NAWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
+	    M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
+	    > $(BUILDTIMESDIR)/build_time_diff_$1
 endef
 
 # Find all build_time_* files and print their contents in a list sorted
 # on the name of the sub repository.
 define ReportBuildTimes
-    $(BUILD_LOG_WRAPPER) $(PRINTF) -- "----- Build times -------\nStart %s\nEnd   %s\n%s\n%s\n-------------------------\n" \
-        "`$(CAT) $(BUILDTIMESDIR)/build_time_start_TOTAL_human_readable`" \
-        "`$(CAT) $(BUILDTIMESDIR)/build_time_end_TOTAL_human_readable`" \
-        "`$(LS) $(BUILDTIMESDIR)/build_time_diff_* | $(GREP) -v _TOTAL | $(XARGS) $(CAT) | $(SORT) -k 2`" \
-        "`$(CAT) $(BUILDTIMESDIR)/build_time_diff_TOTAL`"
+	$(BUILD_LOG_WRAPPER) $(PRINTF) -- "----- Build times -------\nStart %s\nEnd   %s\n%s\n%s\n-------------------------\n" \
+	    "`$(CAT) $(BUILDTIMESDIR)/build_time_start_TOTAL_human_readable`" \
+	    "`$(CAT) $(BUILDTIMESDIR)/build_time_end_TOTAL_human_readable`" \
+	    "`$(LS) $(BUILDTIMESDIR)/build_time_diff_* | $(GREP) -v _TOTAL | $(XARGS) $(CAT) | $(SORT) -k 2`" \
+	    "`$(CAT) $(BUILDTIMESDIR)/build_time_diff_TOTAL`"
 endef
 
 define ResetAllTimers
-    $$(shell $(MKDIR) -p $(BUILDTIMESDIR) &&  $(RM) $(BUILDTIMESDIR)/build_time_*)
+  $$(shell $(MKDIR) -p $(BUILDTIMESDIR) && $(RM) $(BUILDTIMESDIR)/build_time_*)
 endef
 
 define StartGlobalTimer
-    $(call RecordStartTime,TOTAL)
+	$(call RecordStartTime,TOTAL)
 endef
 
 define StopGlobalTimer
-    $(call RecordEndTime,TOTAL)
+	$(call RecordEndTime,TOTAL)
 endef
 
 ### Functions for managing makefile structure (start/end of makefile and individual targets)
@@ -123,184 +123,184 @@
 # Check if the current target is the final target, as specified by
 # the user on the command line. If so, call AtRootMakeEnd.
 define CheckIfMakeAtEnd
-    # Check if the current target is the last goal
-    $(if $(filter $@,$(call LastGoal)),$(call AtMakeEnd))
-    # If the target is 'foo-only', check if our goal was stated as 'foo'
-    $(if $(filter $@,$(call LastGoal)-only),$(call AtMakeEnd))
+        # Check if the current target is the last goal
+	$(if $(filter $@,$(call LastGoal)),$(call AtMakeEnd))
+        # If the target is 'foo-only', check if our goal was stated as 'foo'
+	$(if $(filter $@,$(call LastGoal)-only),$(call AtMakeEnd))
 endef
 
 # Hook to be called when starting to execute a top-level target
 define TargetEnter
-    $(BUILD_LOG_WRAPPER) $(PRINTF) "## Starting $(patsubst %-only,%,$@)\n"
-    $(call RecordStartTime,$(patsubst %-only,%,$@))
+	$(BUILD_LOG_WRAPPER) $(PRINTF) "## Starting $(patsubst %-only,%,$@)\n"
+	$(call RecordStartTime,$(patsubst %-only,%,$@))
 endef
 
 # Hook to be called when finish executing a top-level target
 define TargetExit
-    $(call RecordEndTime,$(patsubst %-only,%,$@))
-    $(BUILD_LOG_WRAPPER) $(PRINTF) "## Finished $(patsubst %-only,%,$@) (build time %s)\n\n" \
-        "`$(CAT) $(BUILDTIMESDIR)/build_time_diff_$(patsubst %-only,%,$@) | $(CUT) -f 1 -d ' '`"
-    $(call CheckIfMakeAtEnd)
+	$(call RecordEndTime,$(patsubst %-only,%,$@))
+	$(BUILD_LOG_WRAPPER) $(PRINTF) "## Finished $(patsubst %-only,%,$@) (build time %s)\n\n" \
+	    "`$(CAT) $(BUILDTIMESDIR)/build_time_diff_$(patsubst %-only,%,$@) | $(CUT) -f 1 -d ' '`"
+	$(call CheckIfMakeAtEnd)
 endef
 
 # Hook to be called as the very first thing when running a normal build
 define AtMakeStart
-    $(if $(findstring --jobserver,$(MAKEFLAGS)),$(error make -j is not supported, use make JOBS=n))
-    $(call CheckEnvironment)
-    @$(PRINTF) $(LOG_INFO) "Running make as '$(MAKE) $(MFLAGS) $(MAKE_ARGS)'\n"
-    @$(PRINTF) "Building $(PRODUCT_NAME) for target '$(call GetRealTarget)' in configuration '$(CONF_NAME)'\n\n"
-    $(call StartGlobalTimer)
+	$(if $(findstring --jobserver,$(MAKEFLAGS)),$(error make -j is not supported, use make JOBS=n))
+	$(call CheckEnvironment)
+	@$(PRINTF) $(LOG_INFO) "Running make as '$(MAKE) $(MFLAGS) $(MAKE_ARGS)'\n"
+	@$(PRINTF) "Building $(PRODUCT_NAME) for target '$(call GetRealTarget)' in configuration '$(CONF_NAME)'\n\n"
+	$(call StartGlobalTimer)
 endef
 
 # Hook to be called as the very last thing for targets that are "top level" targets
 define AtMakeEnd
-    [ -f $(SJAVAC_SERVER_DIR)/server.port ] && echo Stopping sjavac server && $(TOUCH) $(SJAVAC_SERVER_DIR)/server.port.stop; true
-    $(call StopGlobalTimer)
-    $(call ReportBuildTimes)
-    @$(PRINTF) "Finished building $(PRODUCT_NAME) for target '$(call GetRealTarget)'\n"
-    $(call CheckEnvironment)
+	[ -f $(SJAVAC_SERVER_DIR)/server.port ] && echo Stopping sjavac server && $(TOUCH) $(SJAVAC_SERVER_DIR)/server.port.stop; true
+	$(call StopGlobalTimer)
+	$(call ReportBuildTimes)
+	@$(PRINTF) "Finished building $(PRODUCT_NAME) for target '$(call GetRealTarget)'\n"
+	$(call CheckEnvironment)
 endef
 
 ### Functions for parsing and setting up make options from command-line
 
 define FatalError
-    # If the user specificed a "global" target (e.g. 'help'), do not exit but continue running
-    $$(if $$(filter-out $(global_targets),$$(call GetRealTarget)),$$(error Cannot continue))
+  # If the user specificed a "global" target (e.g. 'help'), do not exit but continue running
+  $$(if $$(filter-out $(global_targets),$$(call GetRealTarget)),$$(error Cannot continue))
 endef
 
 define ParseLogLevel
-    ifeq ($$(origin VERBOSE),undefined)
-        # Setup logging according to LOG (but only if VERBOSE is not given)
+  ifeq ($$(origin VERBOSE),undefined)
+    # Setup logging according to LOG (but only if VERBOSE is not given)
 
-        # If the "nofile" argument is given, act on it and strip it away
-        ifneq ($$(findstring nofile,$$(LOG)),)
-          # Reset the build log wrapper, regardless of other values
-          override BUILD_LOG_WRAPPER=
-          # COMMA is defined in spec.gmk, but that is not included yet
-          COMMA=,
-          # First try to remove ",nofile" if it exists
-          LOG_STRIPPED1=$$(subst $$(COMMA)nofile,,$$(LOG))
-          # Otherwise just remove "nofile"
-          LOG_STRIPPED2=$$(subst nofile,,$$(LOG_STRIPPED1))
-          # We might have ended up with a leading comma. Remove it
-          LOG_STRIPPED3=$$(strip $$(patsubst $$(COMMA)%,%,$$(LOG_STRIPPED2)))
-          LOG_LEVEL:=$$(LOG_STRIPPED3)
-        else
-          LOG_LEVEL:=$$(LOG)
-        endif
+    # If the "nofile" argument is given, act on it and strip it away
+    ifneq ($$(findstring nofile,$$(LOG)),)
+      # Reset the build log wrapper, regardless of other values
+      override BUILD_LOG_WRAPPER=
+      # COMMA is defined in spec.gmk, but that is not included yet
+      COMMA=,
+      # First try to remove ",nofile" if it exists
+      LOG_STRIPPED1=$$(subst $$(COMMA)nofile,,$$(LOG))
+      # Otherwise just remove "nofile"
+      LOG_STRIPPED2=$$(subst nofile,,$$(LOG_STRIPPED1))
+      # We might have ended up with a leading comma. Remove it
+      LOG_STRIPPED3=$$(strip $$(patsubst $$(COMMA)%,%,$$(LOG_STRIPPED2)))
+      LOG_LEVEL:=$$(LOG_STRIPPED3)
+    else
+      LOG_LEVEL:=$$(LOG)
+    endif
 
-        ifeq ($$(LOG_LEVEL),)
-            # Set LOG to "warn" as default if not set (and no VERBOSE given)
-            override LOG_LEVEL=warn
-        endif
-        ifeq ($$(LOG_LEVEL),warn)
-            VERBOSE=-s
-        else ifeq ($$(LOG_LEVEL),info)
-            VERBOSE=-s
-        else ifeq ($$(LOG_LEVEL),debug)
-            VERBOSE=
-        else ifeq ($$(LOG_LEVEL),trace)
-            VERBOSE=
-        else
-            $$(info Error: LOG must be one of: warn, info, debug or trace.)
-            $$(eval $$(call FatalError))
-        endif
+    ifeq ($$(LOG_LEVEL),)
+      # Set LOG to "warn" as default if not set (and no VERBOSE given)
+      override LOG_LEVEL=warn
+    endif
+    ifeq ($$(LOG_LEVEL),warn)
+      VERBOSE=-s
+    else ifeq ($$(LOG_LEVEL),info)
+      VERBOSE=-s
+    else ifeq ($$(LOG_LEVEL),debug)
+      VERBOSE=
+    else ifeq ($$(LOG_LEVEL),trace)
+      VERBOSE=
     else
-        # Provide resonable interpretations of LOG_LEVEL if VERBOSE is given.
-        ifeq ($(VERBOSE),)
-            LOG_LEVEL:=debug
-        else
-            LOG_LEVEL:=warn
-        endif
-        ifneq ($$(LOG),)
-            # We have both a VERBOSE and a LOG argument. This is OK only if this is a repeated call by ourselves,
-            # but complain if this is the top-level make call.
-            ifeq ($$(MAKELEVEL),0)
-                $$(info Cannot use LOG=$$(LOG) and VERBOSE=$$(VERBOSE) at the same time. Choose one.)
-                $$(eval $$(call FatalError))
-            endif
-        endif
+      $$(info Error: LOG must be one of: warn, info, debug or trace.)
+      $$(eval $$(call FatalError))
+    endif
+  else
+    # Provide resonable interpretations of LOG_LEVEL if VERBOSE is given.
+    ifeq ($(VERBOSE),)
+      LOG_LEVEL:=debug
+    else
+      LOG_LEVEL:=warn
     endif
+    ifneq ($$(LOG),)
+      # We have both a VERBOSE and a LOG argument. This is OK only if this is a repeated call by ourselves,
+      # but complain if this is the top-level make call.
+      ifeq ($$(MAKELEVEL),0)
+        $$(info Cannot use LOG=$$(LOG) and VERBOSE=$$(VERBOSE) at the same time. Choose one.)
+        $$(eval $$(call FatalError))
+      endif
+    endif
+  endif
 endef
 
 define ParseConfAndSpec
-    ifneq ($$(filter-out $(global_targets),$$(call GetRealTarget)),)
-        # If we only have global targets, no need to bother with SPEC or CONF
-        ifneq ($$(origin SPEC),undefined)
-            # We have been given a SPEC, check that it works out properly
-            ifeq ($$(wildcard $$(SPEC)),)
-                $$(info Cannot locate spec.gmk, given by SPEC=$$(SPEC))
-                $$(eval $$(call FatalError))
-            endif
-            ifneq ($$(origin CONF),undefined)
-                # We also have a CONF argument. This is OK only if this is a repeated call by ourselves,
-                # but complain if this is the top-level make call.
-                ifeq ($$(MAKELEVEL),0)
-                    $$(info Cannot use CONF=$$(CONF) and SPEC=$$(SPEC) at the same time. Choose one.)
-                    $$(eval $$(call FatalError))
-                endif
-            endif
-            # ... OK, we're satisfied, we'll use this SPEC later on
-        else
-            # Find all spec.gmk files in the build output directory
-            output_dir=$$(root_dir)/build
-            all_spec_files=$$(wildcard $$(output_dir)/*/spec.gmk)
-            ifeq ($$(all_spec_files),)
-                $$(info No configurations found for $$(root_dir)! Please run configure to create a configuration.)
-                $$(eval $$(call FatalError))
-            endif
-            # Extract the configuration names from the path
-            all_confs=$$(patsubst %/spec.gmk,%,$$(patsubst $$(output_dir)/%,%,$$(all_spec_files)))
+  ifneq ($$(filter-out $(global_targets),$$(call GetRealTarget)),)
+    # If we only have global targets, no need to bother with SPEC or CONF
+    ifneq ($$(origin SPEC),undefined)
+      # We have been given a SPEC, check that it works out properly
+      ifeq ($$(wildcard $$(SPEC)),)
+        $$(info Cannot locate spec.gmk, given by SPEC=$$(SPEC))
+        $$(eval $$(call FatalError))
+      endif
+      ifneq ($$(origin CONF),undefined)
+        # We also have a CONF argument. This is OK only if this is a repeated call by ourselves,
+        # but complain if this is the top-level make call.
+        ifeq ($$(MAKELEVEL),0)
+          $$(info Cannot use CONF=$$(CONF) and SPEC=$$(SPEC) at the same time. Choose one.)
+          $$(eval $$(call FatalError))
+        endif
+      endif
+      # ... OK, we're satisfied, we'll use this SPEC later on
+    else
+      # Find all spec.gmk files in the build output directory
+      output_dir=$$(root_dir)/build
+      all_spec_files=$$(wildcard $$(output_dir)/*/spec.gmk)
+      ifeq ($$(all_spec_files),)
+        $$(info No configurations found for $$(root_dir)! Please run configure to create a configuration.)
+        $$(eval $$(call FatalError))
+      endif
+      # Extract the configuration names from the path
+      all_confs=$$(patsubst %/spec.gmk,%,$$(patsubst $$(output_dir)/%,%,$$(all_spec_files)))
 
-            ifneq ($$(origin CONF),undefined)
-                # User have given a CONF= argument.
-                ifeq ($$(CONF),)
-                    # If given CONF=, match all configurations
-                    matching_confs=$$(strip $$(all_confs))
-                else
-                    # Otherwise select those that contain the given CONF string
-                    matching_confs=$$(strip $$(foreach var,$$(all_confs),$$(if $$(findstring $$(CONF),$$(var)),$$(var))))
-                endif
-                ifeq ($$(matching_confs),)
-                    $$(info No configurations found matching CONF=$$(CONF))
-                    $$(info Available configurations:)
-                    $$(foreach var,$$(all_confs),$$(info * $$(var)))
-                    $$(eval $$(call FatalError))
-                else
-                    ifeq ($$(words $$(matching_confs)),1)
-                        $$(info Building '$$(matching_confs)' (matching CONF=$$(CONF)))
-                    else
-                        $$(info Building target '$(call GetRealTarget)' in the following configurations (matching CONF=$$(CONF)):)
-                        $$(foreach var,$$(matching_confs),$$(info * $$(var)))
-                    endif
-                endif
+      ifneq ($$(origin CONF),undefined)
+        # User have given a CONF= argument.
+        ifeq ($$(CONF),)
+          # If given CONF=, match all configurations
+          matching_confs=$$(strip $$(all_confs))
+        else
+          # Otherwise select those that contain the given CONF string
+          matching_confs=$$(strip $$(foreach var,$$(all_confs),$$(if $$(findstring $$(CONF),$$(var)),$$(var))))
+        endif
+        ifeq ($$(matching_confs),)
+          $$(info No configurations found matching CONF=$$(CONF))
+          $$(info Available configurations:)
+          $$(foreach var,$$(all_confs),$$(info * $$(var)))
+          $$(eval $$(call FatalError))
+        else
+          ifeq ($$(words $$(matching_confs)),1)
+            $$(info Building '$$(matching_confs)' (matching CONF=$$(CONF)))
+          else
+            $$(info Building target '$(call GetRealTarget)' in the following configurations (matching CONF=$$(CONF)):)
+            $$(foreach var,$$(matching_confs),$$(info * $$(var)))
+          endif
+        endif
 
-                # Create a SPEC definition. This will contain the path to one or more spec.gmk files.
-                SPEC=$$(addsuffix /spec.gmk,$$(addprefix $$(output_dir)/,$$(matching_confs)))
-            else
-                # No CONF or SPEC given, check the available configurations
-                ifneq ($$(words $$(all_spec_files)),1)
-                    $$(info No CONF given, but more than one configuration found in $$(output_dir).)
-                    $$(info Available configurations:)
-                    $$(foreach var,$$(all_confs),$$(info * $$(var)))
-                    $$(info Please retry building with CONF=<config pattern> (or SPEC=<specfile>))
-                    $$(eval $$(call FatalError))
-                endif
+        # Create a SPEC definition. This will contain the path to one or more spec.gmk files.
+        SPEC=$$(addsuffix /spec.gmk,$$(addprefix $$(output_dir)/,$$(matching_confs)))
+      else
+        # No CONF or SPEC given, check the available configurations
+        ifneq ($$(words $$(all_spec_files)),1)
+          $$(info No CONF given, but more than one configuration found in $$(output_dir).)
+          $$(info Available configurations:)
+          $$(foreach var,$$(all_confs),$$(info * $$(var)))
+          $$(info Please retry building with CONF=<config pattern> (or SPEC=<specfile>))
+          $$(eval $$(call FatalError))
+        endif
 
-                # We found exactly one configuration, use it
-                SPEC=$$(strip $$(all_spec_files))
-            endif
-        endif
+        # We found exactly one configuration, use it
+        SPEC=$$(strip $$(all_spec_files))
+      endif
     endif
+  endif
 endef
 
 ### Convenience functions from Main.gmk
 
 # Cleans the component given as $1
 define CleanComponent
-    @$(PRINTF) "Cleaning $1 build artifacts ..."
-    @($(CD) $(OUTPUT_ROOT) && $(RM) -r $1)
-    @$(PRINTF) " done\n"
+	@$(PRINTF) "Cleaning $1 build artifacts ..."
+	@($(CD) $(OUTPUT_ROOT) && $(RM) -r $1)
+	@$(PRINTF) " done\n"
 endef
 
 endif # _MAKEHELPERS_GMK
--- a/common/makefiles/NativeCompilation.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/NativeCompilation.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -27,556 +27,556 @@
 # of removing duplicates. It is actually this side effect that is
 # desired whenever sort is used below!
 
-ifeq  (,$(_MAKEBASE_GMK))
-    $(error You must include MakeBase.gmk prior to including NativeCompilation.gmk)
+ifeq (,$(_MAKEBASE_GMK))
+  $(error You must include MakeBase.gmk prior to including NativeCompilation.gmk)
 endif
 
 ifeq ($(COMPILER_TYPE),CC)
-    COMPILING_MSG=echo $(LOG_INFO) "Compiling $(notdir $1) (for $(notdir $2))"
-    LINKING_MSG=echo $(LOG_INFO) "Linking $1"
-    LINKING_EXE_MSG=echo $(LOG_INFO) "Linking executable $1"
-    ARCHIVING_MSG=echo $(LOG_INFO) "Archiving $1"
+  COMPILING_MSG=echo $(LOG_INFO) "Compiling $(notdir $1) (for $(notdir $2))"
+  LINKING_MSG=echo $(LOG_INFO) "Linking $1"
+  LINKING_EXE_MSG=echo $(LOG_INFO) "Linking executable $1"
+  ARCHIVING_MSG=echo $(LOG_INFO) "Archiving $1"
 else
-    COMPILING_MSG=
-    LINKING_MSG=
-    LINKING_EXE_MSG=
-    ARCHIVING_MSG=
+  COMPILING_MSG=
+  LINKING_MSG=
+  LINKING_EXE_MSG=
+  ARCHIVING_MSG=
 endif
 
 define add_native_source
-    # param 1 = BUILD_MYPACKAGE
-    # parma 2 = the source file name (..../alfa.c or .../beta.cpp)
-    # param 3 = the bin dir that stores all .o (.obj) and .d files.
-    # param 4 = the c flags to the compiler
-    # param 5 = the c compiler
-    # param 6 = the c++ flags to the compiler
-    # param 7 = the c++ compiler
-    # param 8 = the flags to the assembler
+  # param 1 = BUILD_MYPACKAGE
+  # parma 2 = the source file name (..../alfa.c or .../beta.cpp)
+  # param 3 = the bin dir that stores all .o (.obj) and .d files.
+  # param 4 = the c flags to the compiler
+  # param 5 = the c compiler
+  # param 6 = the c++ flags to the compiler
+  # param 7 = the c++ compiler
+  # param 8 = the flags to the assembler
 
-    ifneq (,$$(filter %.c,$2))
-        # Compile as a C file
-        $1_$2_FLAGS=$4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c
-        $1_$2_COMP=$5
-        $1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
-    else ifneq (,$$(filter %.m,$2))
-        # Compile as a objective-c file
-        $1_$2_FLAGS=-x objective-c $4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c
-        $1_$2_COMP=$5
-        $1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
-    else ifneq (,$$(filter %.s,$2))
-        # Compile as assembler file
-        $1_$2_FLAGS=$8 -DTHIS_FILE='"$$(<F)"'
-        $1_$2_COMP=$(AS)
-        $1_$2_DEP_FLAG:=
-    else
-        # Compile as a C++ file
-        $1_$2_FLAGS=$6 $$($1_$(notdir $2)_CXXFLAGS) -DTHIS_FILE='"$$(<F)"' -c
-        $1_$2_COMP=$7
-        $1_$2_DEP_FLAG:=$(CXX_FLAG_DEPS)
+  ifneq (,$$(filter %.c,$2))
+    # Compile as a C file
+    $1_$2_FLAGS=$4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c
+    $1_$2_COMP=$5
+    $1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
+  else ifneq (,$$(filter %.m,$2))
+    # Compile as a objective-c file
+    $1_$2_FLAGS=-x objective-c $4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c
+    $1_$2_COMP=$5
+    $1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
+  else ifneq (,$$(filter %.s,$2))
+    # Compile as assembler file
+    $1_$2_FLAGS=$8 -DTHIS_FILE='"$$(<F)"'
+    $1_$2_COMP=$(AS)
+    $1_$2_DEP_FLAG:=
+  else
+    # Compile as a C++ file
+    $1_$2_FLAGS=$6 $$($1_$(notdir $2)_CXXFLAGS) -DTHIS_FILE='"$$(<F)"' -c
+    $1_$2_COMP=$7
+    $1_$2_DEP_FLAG:=$(CXX_FLAG_DEPS)
+  endif
+  # Generate the .o (.obj) file name and place it in the bin dir.
+  $1_$2_OBJ:=$3/$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(patsubst %.m,%$(OBJ_SUFFIX),$$(patsubst %.s,%$(OBJ_SUFFIX),$$(notdir $2)))))
+  # Only continue if this object file hasn't been processed already. This lets the first found
+  # source file override any other with the same name.
+  ifeq (,$$(findstring $$($1_$2_OBJ),$$($1_OBJS_SO_FAR)))
+    $1_OBJS_SO_FAR+=$$($1_$2_OBJ)
+    ifeq (,$$(filter %.s,$2))
+      # And this is the dependency file for this obj file.
+      $1_$2_DEP:=$$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_$2_OBJ))
+      # Include previously generated dependency information. (if it exists)
+      -include $$($1_$2_DEP)
+
+      ifeq ($(COMPILER_TYPE),CL)
+        $1_$2_DEBUG_OUT_FLAGS:=-Fd$$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ)) \
+            -Fm$$(patsubst %$(OBJ_SUFFIX),%.map,$$($1_$2_OBJ))
+      endif
     endif
-    # Generate the .o (.obj) file name and place it in the bin dir.
-    $1_$2_OBJ:=$3/$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(patsubst %.m,%$(OBJ_SUFFIX),$$(patsubst %.s,%$(OBJ_SUFFIX),$$(notdir $2)))))
-    # Only continue if this object file hasn't been processed already. This lets the first found
-    # source file override any other with the same name.
-    ifeq (,$$(findstring $$($1_$2_OBJ),$$($1_OBJS_SO_FAR)))
-        $1_OBJS_SO_FAR+=$$($1_$2_OBJ)
-        ifeq (,$$(filter %.s,$2))
-          # And this is the dependency file for this obj file.
-          $1_$2_DEP:=$$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_$2_OBJ))
-          # Include previously generated dependency information. (if it exists)
-          -include $$($1_$2_DEP)
 
-          ifeq ($(COMPILER_TYPE),CL)
-              $1_$2_DEBUG_OUT_FLAGS:=-Fd$$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ)) \
-                                     -Fm$$(patsubst %$(OBJ_SUFFIX),%.map,$$($1_$2_OBJ))
-          endif
-        endif
-
-        $$($1_$2_OBJ) : $2
+    $$($1_$2_OBJ) : $2
         ifeq ($(COMPILER_TYPE),CC)
-		$$(call COMPILING_MSG,$2,$$($1_TARGET))
+	  $$(call COMPILING_MSG,$2,$$($1_TARGET))
           # The Sun studio compiler doesn't output the full path to the object file in the
           # generated deps files. Fixing it with sed. If compiling assembly, don't try this.
           ifeq ($(COMPILER_NAME)$$(filter %.s,$2),ossc)
-		$$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEP_FLAG) $$($1_$2_DEP).tmp $(CC_OUT_OPTION)$$($1_$2_OBJ) $2
-		$(SED) 's|^$$(@F):|$$@:|' $$($1_$2_DEP).tmp > $$($1_$2_DEP)
+	    $$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEP_FLAG) $$($1_$2_DEP).tmp $(CC_OUT_OPTION)$$($1_$2_OBJ) $2
+	    $(SED) 's|^$$(@F):|$$@:|' $$($1_$2_DEP).tmp > $$($1_$2_DEP)
           else
-		$$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEP_FLAG) $$($1_$2_DEP) $(CC_OUT_OPTION)$$($1_$2_OBJ) $2
-        endif
+	    $$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEP_FLAG) $$($1_$2_DEP) $(CC_OUT_OPTION)$$($1_$2_OBJ) $2
+          endif
         endif
         # The Visual Studio compiler lacks a feature for generating make dependencies, but by
-        # setting -showIncludes, all included files are printed. These are filtered out and 
+        # setting -showIncludes, all included files are printed. These are filtered out and
         # parsed into make dependences.
         ifeq ($(COMPILER_TYPE),CL)
-		($$($1_$2_COMP) $$($1_$2_FLAGS) -showIncludes $$($1_$2_DEBUG_OUT_FLAGS) \
-			$(CC_OUT_OPTION)$$($1_$2_OBJ) $2 ; echo $$$$? > $$($1_$2_DEP).exitvalue) \
-			| $(TEE) $$($1_$2_DEP).raw | $(GREP) -v "^Note: including file:" \
-			&& exit `cat $$($1_$2_DEP).exitvalue`
-		$(RM) $$($1_$2_DEP).exitvalue
-		($(ECHO) $$@: \\ \
-		 && $(SED) -e '/^Note: including file:/!d' \
-			-e 's|Note: including file: *||' \
-			-e 's|\\|/|g' \
-			-e 's|^\([a-zA-Z]\):|/cygdrive/\1|g' \
-			-e '/$(subst /,\/,$(TOPDIR))/!d' \
-			-e 's|$$$$| \\|g' \
-			$$($1_$2_DEP).raw) > $$($1_$2_DEP)
+	  ($$($1_$2_COMP) $$($1_$2_FLAGS) -showIncludes $$($1_$2_DEBUG_OUT_FLAGS) \
+	      $(CC_OUT_OPTION)$$($1_$2_OBJ) $2 ; echo $$$$? > $$($1_$2_DEP).exitvalue) \
+	      | $(TEE) $$($1_$2_DEP).raw | $(GREP) -v "^Note: including file:" \
+	      && exit `cat $$($1_$2_DEP).exitvalue`
+	  $(RM) $$($1_$2_DEP).exitvalue
+	  ($(ECHO) $$@: \\ \
+	  && $(SED) -e '/^Note: including file:/!d' \
+	      -e 's|Note: including file: *||' \
+	      -e 's|\\|/|g' \
+	      -e 's|^\([a-zA-Z]\):|/cygdrive/\1|g' \
+	      -e '/$(subst /,\/,$(TOPDIR))/!d' \
+	      -e 's|$$$$| \\|g' \
+	      $$($1_$2_DEP).raw) > $$($1_$2_DEP)
         endif
-    endif
+  endif
 endef
 
 define SetupNativeCompilation
-    # param 1 is for example BUILD_MYPACKAGE
-    # param 2,3,4,5,6,7,8 are named args.
-    #    SRC one or more directory roots to scan for C/C++ files.
-    #    LANG C or C++
-    #    CFLAGS the compiler flags to be used, used both for C and C++.
-    #    CXXFLAGS the compiler flags to be used for c++, if set overrides CFLAGS.
-    #    LDFLAGS the linker flags to be used, used both for C and C++.
-    #    LDFLAGS_SUFFIX the linker flags to be added last on the commandline
-    #        typically the libraries linked to.
-    #    ARFLAGS the archiver flags to be used
-    #    OBJECT_DIR the directory where we store the object files
-    #    LIBRARY the resulting library file
-    #    PROGRAM the resulting exec file
-    #    INCLUDES only pick source from these directories
-    #    EXCLUDES do not pick source from these directories
-    #    INCLUDE_FILES only compile exactly these files!
-    #    EXCLUDE_FILES with these names
-    #    VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run
-    #    RC_FLAGS flags for RC.
-    #    MAPFILE mapfile
-    #    REORDER reorder file
-    #    DEBUG_SYMBOLS add debug symbols (if configured on)
-    #    CC the compiler to use, default is $(CC)
-    #    LDEXE the linker to use for linking executables, default is $(LDEXE)
-    #    OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
-    $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
-    $(call LogSetupMacroEntry,SetupNativeCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15),$(16),$(17),$(18),$(19),$(20),$(21),$(22),$(23),$(24),$(25),$(26))
-    $(if $(27),$(error Internal makefile error: Too many arguments to SetupNativeCompilation, please update NativeCompilation.gmk))
+  # param 1 is for example BUILD_MYPACKAGE
+  # param 2,3,4,5,6,7,8 are named args.
+  #   SRC one or more directory roots to scan for C/C++ files.
+  #   LANG C or C++
+  #   CFLAGS the compiler flags to be used, used both for C and C++.
+  #   CXXFLAGS the compiler flags to be used for c++, if set overrides CFLAGS.
+  #   LDFLAGS the linker flags to be used, used both for C and C++.
+  #   LDFLAGS_SUFFIX the linker flags to be added last on the commandline
+  #       typically the libraries linked to.
+  #   ARFLAGS the archiver flags to be used
+  #   OBJECT_DIR the directory where we store the object files
+  #   LIBRARY the resulting library file
+  #   PROGRAM the resulting exec file
+  #   INCLUDES only pick source from these directories
+  #   EXCLUDES do not pick source from these directories
+  #   INCLUDE_FILES only compile exactly these files!
+  #   EXCLUDE_FILES with these names
+  #   VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run
+  #   RC_FLAGS flags for RC.
+  #   MAPFILE mapfile
+  #   REORDER reorder file
+  #   DEBUG_SYMBOLS add debug symbols (if configured on)
+  #   CC the compiler to use, default is $(CC)
+  #   LDEXE the linker to use for linking executables, default is $(LDEXE)
+  #   OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
+  $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
+  $(call LogSetupMacroEntry,SetupNativeCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15),$(16),$(17),$(18),$(19),$(20),$(21),$(22),$(23),$(24),$(25),$(26))
+  $(if $(27),$(error Internal makefile error: Too many arguments to SetupNativeCompilation, please update NativeCompilation.gmk))
 
-    ifneq (,$$($1_BIN))
-        $$(error BIN has been replaced with OBJECT_DIR)
-    endif
+  ifneq (,$$($1_BIN))
+    $$(error BIN has been replaced with OBJECT_DIR)
+  endif
 
-    ifneq (,$$($1_LIB))
-        $$(error LIB has been replaced with LIBRARY)
-    endif
-
-    ifneq (,$$($1_EXE))
-        $$(error EXE has been replaced with PROGRAM)
-    endif
+  ifneq (,$$($1_LIB))
+    $$(error LIB has been replaced with LIBRARY)
+  endif
 
-    ifneq (,$$($1_LIBRARY))
-        ifeq (,$$($1_OUTPUT_DIR))
-            $$(error LIBRARY requires OUTPUT_DIR)
-        endif
-
-        ifneq ($$($1_LIBRARY),$(basename $$($1_LIBRARY)))
-            $$(error directory of LIBRARY should be specified using OUTPUT_DIR)
-        endif
+  ifneq (,$$($1_EXE))
+    $$(error EXE has been replaced with PROGRAM)
+  endif
 
-        ifneq (,$(findstring $(SHARED_LIBRARY_SUFFIX),$$($1_LIBRARY)))
-            $$(error LIBRARY should be specified without SHARED_LIBRARY_SUFFIX: $(SHARED_LIBRARY_SUFFIX))
-        endif
-
-        ifneq (,$(findstring $(LIBRARY_PREFIX),$$($1_LIBRARY)))
-            $$(error LIBRARY should be specified without LIBRARY_PREFIX: $(LIBRARY_PREFIX))
-        endif
-
-        $1_BASENAME:=$(LIBRARY_PREFIX)$$($1_LIBRARY)$(SHARED_LIBRARY_SUFFIX)
-        $1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
-
+  ifneq (,$$($1_LIBRARY))
+    ifeq (,$$($1_OUTPUT_DIR))
+      $$(error LIBRARY requires OUTPUT_DIR)
     endif
 
-    ifneq (,$$($1_STATIC_LIBRARY))
-        ifeq (,$$($1_OUTPUT_DIR))
-            $$(error STATIC_LIBRARY requires OUTPUT_DIR)
-        endif
+    ifneq ($$($1_LIBRARY),$(basename $$($1_LIBRARY)))
+      $$(error directory of LIBRARY should be specified using OUTPUT_DIR)
+    endif
 
-        ifneq ($$($1_STATIC_LIBRARY),$(basename $$($1_STATIC_LIBRARY)))
-            $$(error directory of STATIC_LIBRARY should be specified using OUTPUT_DIR)
-        endif
+    ifneq (,$(findstring $(SHARED_LIBRARY_SUFFIX),$$($1_LIBRARY)))
+      $$(error LIBRARY should be specified without SHARED_LIBRARY_SUFFIX: $(SHARED_LIBRARY_SUFFIX))
+    endif
 
-        ifneq (,$(findstring $(STATIC_LIBRARY_SUFFIX),$$($1_STATIC_LIBRARY)))
-            $$(error STATIC_LIBRARY should be specified without STATIC_LIBRARY_SUFFIX: $(STATIC_LIBRARY_SUFFIX))
-        endif
+    ifneq (,$(findstring $(LIBRARY_PREFIX),$$($1_LIBRARY)))
+      $$(error LIBRARY should be specified without LIBRARY_PREFIX: $(LIBRARY_PREFIX))
+    endif
 
-        ifneq (,$(findstring $(LIBRARY_PREFIX),$$($1_STATIC_LIBRARY)))
-            $$(error STATIC_LIBRARY should be specified without LIBRARY_PREFIX: $(LIBRARY_PREFIX))
-        endif
+    $1_BASENAME:=$(LIBRARY_PREFIX)$$($1_LIBRARY)$(SHARED_LIBRARY_SUFFIX)
+    $1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
 
-        $1_BASENAME:=$(LIBRARY_PREFIX)$$($1_STATIC_LIBRARY)$(STATIC_LIBRARY_SUFFIX)
-        $1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
+  endif
+
+  ifneq (,$$($1_STATIC_LIBRARY))
+    ifeq (,$$($1_OUTPUT_DIR))
+      $$(error STATIC_LIBRARY requires OUTPUT_DIR)
     endif
 
-    ifneq (,$$($1_PROGRAM))
-        ifeq (,$$($1_OUTPUT_DIR))
-            $$(error PROGRAM requires OUTPUT_DIR)
-        endif
+    ifneq ($$($1_STATIC_LIBRARY),$(basename $$($1_STATIC_LIBRARY)))
+      $$(error directory of STATIC_LIBRARY should be specified using OUTPUT_DIR)
+    endif
 
-        ifneq ($$($1_PROGRAM),$(basename $$($1_PROGRAM)))
-            $$(error directory of PROGRAM should be specified using OUTPUT_DIR)
-        endif
+    ifneq (,$(findstring $(STATIC_LIBRARY_SUFFIX),$$($1_STATIC_LIBRARY)))
+      $$(error STATIC_LIBRARY should be specified without STATIC_LIBRARY_SUFFIX: $(STATIC_LIBRARY_SUFFIX))
+    endif
 
-        ifneq (,$(findstring $(EXE_SUFFIX),$$($1_PROGRAM)))
-            $$(error PROGRAM should be specified without EXE_SUFFIX: $(EXE_SUFFIX))
-        endif
-
-        $1_BASENAME:=$$($1_PROGRAM)$(EXE_SUFFIX)
-        $1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
-
+    ifneq (,$(findstring $(LIBRARY_PREFIX),$$($1_STATIC_LIBRARY)))
+      $$(error STATIC_LIBRARY should be specified without LIBRARY_PREFIX: $(LIBRARY_PREFIX))
     endif
 
-    ifeq (,$$($1_TARGET))
-        $$(error Neither PROGRAM, LIBRARY nor STATIC_LIBRARY has been specified for SetupNativeCompilation)
+    $1_BASENAME:=$(LIBRARY_PREFIX)$$($1_STATIC_LIBRARY)$(STATIC_LIBRARY_SUFFIX)
+    $1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
+  endif
+
+  ifneq (,$$($1_PROGRAM))
+    ifeq (,$$($1_OUTPUT_DIR))
+      $$(error PROGRAM requires OUTPUT_DIR)
     endif
 
-    ifeq (,$$($1_LANG))
-        $$(error You have to specify LANG for native compilation $1)
-    endif
-    ifeq (C,$$($1_LANG))
-        ifeq ($$($1_LDEXE),)
-	    $1_LDEXE:=$(LDEXE)
-        endif
-	$1_LD:=$(LD)
-    else
-       ifeq (C++,$$($1_LANG))
-           $1_LD:=$(LDCXX)
-	   $1_LDEXE:=$(LDEXECXX)
-       else
-           $$(error Unknown native language $$($1_LANG) for $1)
-       endif
+    ifneq ($$($1_PROGRAM),$(basename $$($1_PROGRAM)))
+      $$(error directory of PROGRAM should be specified using OUTPUT_DIR)
     endif
 
-    ifeq ($$($1_CC),)
-        $1_CC:=$(CC)
+    ifneq (,$(findstring $(EXE_SUFFIX),$$($1_PROGRAM)))
+      $$(error PROGRAM should be specified without EXE_SUFFIX: $(EXE_SUFFIX))
     endif
 
-    # Make sure the dirs exist.
-    $$(eval $$(call MakeDir,$$($1_OBJECT_DIR) $$($1_OUTPUT_DIR)))
-    $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d)))
+    $1_BASENAME:=$$($1_PROGRAM)$(EXE_SUFFIX)
+    $1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
+
+  endif
 
-    # Find all files in the source trees. Sort to remove duplicates.
-    $1_ALL_SRCS := $$(sort $$(call CacheFind,$$($1_SRC)))
-    # Extract the C/C++ files.
-    $1_EXCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_EXCLUDE_FILES)))
-    $1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
-    ifneq ($$($1_EXCLUDE_FILES),)
-        $1_EXCLUDE_FILES:=$$(addprefix %,$$($1_EXCLUDE_FILES))
-    endif
-    $1_SRCS     := $$(filter-out $$($1_EXCLUDE_FILES),$$(filter %.s %.c %.cpp %.m,$$($1_ALL_SRCS)))
-    ifneq (,$$(strip $$($1_INCLUDE_FILES)))
-        $1_SRCS := $$(filter $$($1_INCLUDE_FILES),$$($1_SRCS))
+  ifeq (,$$($1_TARGET))
+    $$(error Neither PROGRAM, LIBRARY nor STATIC_LIBRARY has been specified for SetupNativeCompilation)
+  endif
+
+  ifeq (,$$($1_LANG))
+    $$(error You have to specify LANG for native compilation $1)
+  endif
+  ifeq (C,$$($1_LANG))
+    ifeq ($$($1_LDEXE),)
+      $1_LDEXE:=$(LDEXE)
     endif
-    ifeq (,$$($1_SRCS))
-        $$(error No sources found for $1 when looking inside the dirs $$($1_SRC))
+    $1_LD:=$(LD)
+  else
+    ifeq (C++,$$($1_LANG))
+      $1_LD:=$(LDCXX)
+      $1_LDEXE:=$(LDEXECXX)
+    else
+      $$(error Unknown native language $$($1_LANG) for $1)
     endif
-    # There can be only a single bin dir root, no need to foreach over the roots.
-    $1_BINS     := $$(wildcard $$($1_OBJECT_DIR)/*$(OBJ_SUFFIX))
-    # Now we have a list of all c/c++ files to compile: $$($1_SRCS)
-    # and we have a list of all existing object files: $$($1_BINS)
+  endif
 
-    # Prepend the source/bin path to the filter expressions. Then do the filtering.
-    ifneq ($$($1_INCLUDES),)
-        $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
-        $1_SRCS         := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
-    endif
-    ifneq ($$($1_EXCLUDES),)
-        $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
-        $1_SRCS         := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
-    endif
+  ifeq ($$($1_CC),)
+    $1_CC:=$(CC)
+  endif
+
+  # Make sure the dirs exist.
+  $$(eval $$(call MakeDir,$$($1_OBJECT_DIR) $$($1_OUTPUT_DIR)))
+  $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d)))
 
-    # Calculate the expected output from compiling the sources (sort to remove duplicates. Also provides
-    # a reproducable order on the input files to the linker).
-    $1_EXPECTED_OBJS:=$$(sort $$(addprefix $$($1_OBJECT_DIR)/,$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(patsubst %.m,%$(OBJ_SUFFIX),$$(patsubst %.s,%$(OBJ_SUFFIX),$$(notdir $$($1_SRCS))))))))
-    # Are there too many object files on disk? Perhaps because some source file was removed?
-    $1_SUPERFLOUS_OBJS:=$$(sort $$(filter-out $$($1_EXPECTED_OBJS),$$($1_BINS)))
-    # Clean out the superfluous object files.
-    ifneq ($$($1_SUPERFLUOUS_OBJS),)
-        $$(shell $(RM) -f $$($1_SUPERFLUOUS_OBJS))
-    endif
+  # Find all files in the source trees. Sort to remove duplicates.
+  $1_ALL_SRCS := $$(sort $$(call CacheFind,$$($1_SRC)))
+  # Extract the C/C++ files.
+  $1_EXCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_EXCLUDE_FILES)))
+  $1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
+  ifneq ($$($1_EXCLUDE_FILES),)
+    $1_EXCLUDE_FILES:=$$(addprefix %,$$($1_EXCLUDE_FILES))
+  endif
+  $1_SRCS := $$(filter-out $$($1_EXCLUDE_FILES),$$(filter %.s %.c %.cpp %.m,$$($1_ALL_SRCS)))
+  ifneq (,$$(strip $$($1_INCLUDE_FILES)))
+    $1_SRCS := $$(filter $$($1_INCLUDE_FILES),$$($1_SRCS))
+  endif
+  ifeq (,$$($1_SRCS))
+    $$(error No sources found for $1 when looking inside the dirs $$($1_SRC))
+  endif
+  # There can be only a single bin dir root, no need to foreach over the roots.
+  $1_BINS := $$(wildcard $$($1_OBJECT_DIR)/*$(OBJ_SUFFIX))
+  # Now we have a list of all c/c++ files to compile: $$($1_SRCS)
+  # and we have a list of all existing object files: $$($1_BINS)
 
-    # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables for CFLAGS.
-    $1_EXTRA_CFLAGS:=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CFLAGS_$(OPENJDK_TARGET_OS))
-    ifneq ($(DEBUG_LEVEL),release)
-        # Pickup extra debug dependent variables for CFLAGS
-        $1_EXTRA_CFLAGS+=$$($1_CFLAGS_debug)
-        $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
-        $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_debug)
-    else
-        $1_EXTRA_CFLAGS+=$$($1_CFLAGS_release)
-        $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_release)
-        $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_release)
-    endif
+  # Prepend the source/bin path to the filter expressions. Then do the filtering.
+  ifneq ($$($1_INCLUDES),)
+    $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
+    $1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
+  endif
+  ifneq ($$($1_EXCLUDES),)
+    $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
+    $1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
+  endif
 
-    # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables for CXXFLAGS.
-    $1_EXTRA_CXXFLAGS:=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS))
-    ifneq ($(DEBUG_LEVEL),release)
-        # Pickup extra debug dependent variables for CXXFLAGS
-        $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_debug)
-        $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
-        $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_debug)
-    else
-        $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_release)
-        $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_release)
-        $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_release)
-    endif
+  # Calculate the expected output from compiling the sources (sort to remove duplicates. Also provides
+  # a reproducable order on the input files to the linker).
+  $1_EXPECTED_OBJS:=$$(sort $$(addprefix $$($1_OBJECT_DIR)/,$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(patsubst %.m,%$(OBJ_SUFFIX),$$(patsubst %.s,%$(OBJ_SUFFIX),$$(notdir $$($1_SRCS))))))))
+  # Are there too many object files on disk? Perhaps because some source file was removed?
+  $1_SUPERFLOUS_OBJS:=$$(sort $$(filter-out $$($1_EXPECTED_OBJS),$$($1_BINS)))
+  # Clean out the superfluous object files.
+  ifneq ($$($1_SUPERFLUOUS_OBJS),)
+    $$(shell $(RM) -f $$($1_SUPERFLUOUS_OBJS))
+  endif
+
+  # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables for CFLAGS.
+  $1_EXTRA_CFLAGS:=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CFLAGS_$(OPENJDK_TARGET_OS))
+  ifneq ($(DEBUG_LEVEL),release)
+    # Pickup extra debug dependent variables for CFLAGS
+    $1_EXTRA_CFLAGS+=$$($1_CFLAGS_debug)
+    $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
+    $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_debug)
+  else
+    $1_EXTRA_CFLAGS+=$$($1_CFLAGS_release)
+    $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_release)
+    $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_release)
+  endif
 
-    ifneq (,$$($1_DEBUG_SYMBOLS))	
-        ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
-	    ifdef OPENJDK
-	        # Always add debug symbols
-                $1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
-                $1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
-	    else
-                # Programs don't get the debug symbols added in the old build. It's not clear if
-                # this is intentional.
-                ifeq ($$($1_PROGRAM),)
-                    $1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
-                    $1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
-                endif
-            endif
+  # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables for CXXFLAGS.
+  $1_EXTRA_CXXFLAGS:=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS))
+  ifneq ($(DEBUG_LEVEL),release)
+    # Pickup extra debug dependent variables for CXXFLAGS
+    $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_debug)
+    $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
+    $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_debug)
+  else
+    $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_release)
+    $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_release)
+    $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_release)
+  endif
+
+  ifneq (,$$($1_DEBUG_SYMBOLS))
+    ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
+      ifdef OPENJDK
+        # Always add debug symbols
+        $1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
+        $1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
+      else
+        # Programs don't get the debug symbols added in the old build. It's not clear if
+        # this is intentional.
+        ifeq ($$($1_PROGRAM),)
+          $1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
+          $1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
         endif
-    endif
-
-    ifeq ($$($1_CXXFLAGS),)
-        $1_CXXFLAGS:=$$($1_CFLAGS)
+      endif
     endif
-    ifeq ($$(strip $$($1_EXTRA_CXXFLAGS)),)
-        $1_EXTRA_CXXFLAGS:=$$($1_EXTRA_CFLAGS)
-    endif
+  endif
 
-    ifneq (,$$($1_REORDER))
-          $1_EXTRA_CFLAGS += $$(C_FLAG_REORDER)
-          $1_EXTRA_CXXFLAGS += $$(CXX_FLAG_REORDER)
-    endif
+  ifeq ($$($1_CXXFLAGS),)
+    $1_CXXFLAGS:=$$($1_CFLAGS)
+  endif
+  ifeq ($$(strip $$($1_EXTRA_CXXFLAGS)),)
+    $1_EXTRA_CXXFLAGS:=$$($1_EXTRA_CFLAGS)
+  endif
+
+  ifneq (,$$($1_REORDER))
+    $1_EXTRA_CFLAGS += $$(C_FLAG_REORDER)
+    $1_EXTRA_CXXFLAGS += $$(CXX_FLAG_REORDER)
+  endif
 
-    ifeq (NONE, $$($1_OPTIMIZATION))
-        $1_EXTRA_CFLAGS += $(C_O_FLAG_NONE)
-        $1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_NONE)
-    else ifeq (LOW, $$($1_OPTIMIZATION))
-        $1_EXTRA_CFLAGS += $(C_O_FLAG_NORM)
-        $1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_NORM)
-    else ifeq (HIGH, $$($1_OPTIMIZATION))
-        $1_EXTRA_CFLAGS += $(C_O_FLAG_HI)
-        $1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_HI)
-    else ifeq (HIGHEST, $$($1_OPTIMIZATION))
-        $1_EXTRA_CFLAGS += $(C_O_FLAG_HIGHEST)
-        $1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_HIGHEST)
-    else ifneq (, $$($1_OPTIMIZATION))
-        $$(error Unknown value for OPTIMIZATION: $$($1_OPTIMIZATION))
-    endif
+  ifeq (NONE, $$($1_OPTIMIZATION))
+    $1_EXTRA_CFLAGS += $(C_O_FLAG_NONE)
+    $1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_NONE)
+  else ifeq (LOW, $$($1_OPTIMIZATION))
+    $1_EXTRA_CFLAGS += $(C_O_FLAG_NORM)
+    $1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_NORM)
+  else ifeq (HIGH, $$($1_OPTIMIZATION))
+    $1_EXTRA_CFLAGS += $(C_O_FLAG_HI)
+    $1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_HI)
+  else ifeq (HIGHEST, $$($1_OPTIMIZATION))
+    $1_EXTRA_CFLAGS += $(C_O_FLAG_HIGHEST)
+    $1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_HIGHEST)
+  else ifneq (, $$($1_OPTIMIZATION))
+    $$(error Unknown value for OPTIMIZATION: $$($1_OPTIMIZATION))
+  endif
 
-    # Now call add_native_source for each source file we are going to compile.
-    $$(foreach p,$$($1_SRCS),\
-        $$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR),\
-                        $$($1_CFLAGS) $$($1_EXTRA_CFLAGS),$$($1_CC),\
-			$$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS),$(CXX),$$($1_ASFLAGS))))
+  # Now call add_native_source for each source file we are going to compile.
+  $$(foreach p,$$($1_SRCS), \
+      $$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR), \
+          $$($1_CFLAGS) $$($1_EXTRA_CFLAGS),$$($1_CC), \
+          $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS),$(CXX),$$($1_ASFLAGS))))
 
-    # On windows we need to create a resource file
-    ifeq ($(OPENJDK_TARGET_OS), windows)
-        ifneq (,$$($1_VERSIONINFO_RESOURCE))
-            $1_RES:=$$($1_OBJECT_DIR)/$$($1_BASENAME).res
-            $$($1_RES): $$($1_VERSIONINFO_RESOURCE)
+  # On windows we need to create a resource file
+  ifeq ($(OPENJDK_TARGET_OS), windows)
+    ifneq (,$$($1_VERSIONINFO_RESOURCE))
+      $1_RES:=$$($1_OBJECT_DIR)/$$($1_BASENAME).res
+      $$($1_RES): $$($1_VERSIONINFO_RESOURCE)
 		$(RC) $$($1_RC_FLAGS) $(CC_OUT_OPTION)$$@ $$($1_VERSIONINFO_RESOURCE)
-        endif
-        ifneq (,$$($1_MANIFEST))
-            $1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
-            IMVERSIONVALUE:=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
-            $$($1_GEN_MANIFEST): $$($1_MANIFEST)
+    endif
+    ifneq (,$$($1_MANIFEST))
+      $1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
+      IMVERSIONVALUE:=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
+      $$($1_GEN_MANIFEST): $$($1_MANIFEST)
 		$(SED) 's%IMVERSION%$$(IMVERSIONVALUE)%g;s%PROGRAM%$$($1_PROGRAM)%g' $$< > $$@
-        endif
     endif
+  endif
 
-    # mapfile doesnt seem to be implemented on macosx (yet??)
-    ifneq ($(OPENJDK_TARGET_OS),macosx)
+  # mapfile doesnt seem to be implemented on macosx (yet??)
+  ifneq ($(OPENJDK_TARGET_OS),macosx)
     ifneq ($(OPENJDK_TARGET_OS),windows)
-        $1_REAL_MAPFILE:=$$($1_MAPFILE)
-        ifneq (,$$($1_REORDER))
-            $1_REAL_MAPFILE:=$$($1_OBJECT_DIR)/mapfile
+      $1_REAL_MAPFILE:=$$($1_MAPFILE)
+      ifneq (,$$($1_REORDER))
+        $1_REAL_MAPFILE:=$$($1_OBJECT_DIR)/mapfile
 
-            $$($1_REAL_MAPFILE) : $$($1_MAPFILE) $$($1_REORDER)
+        $$($1_REAL_MAPFILE) : $$($1_MAPFILE) $$($1_REORDER)
 		$$(MKDIR) -p $$(@D)
 		$$(CP) $$($1_MAPFILE) $$@.tmp
 		$$(SED) -e 's=OUTPUTDIR=$$($1_OBJECT_DIR)=' $$($1_REORDER) >> $$@.tmp
 		$$(MV) $$@.tmp $$@
-        endif
+      endif
     endif
+  endif
+
+  # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables
+  # for LDFLAGS and LDFLAGS_SUFFIX
+  $1_EXTRA_LDFLAGS:=$$($1_LDFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
+  $1_EXTRA_LDFLAGS_SUFFIX:=$$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS))
+  ifneq (,$$($1_REAL_MAPFILE))
+    $1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
+  endif
+
+  $1 := $$($1_TARGET)
+  ifneq (,$$($1_LIBRARY))
+    # Generating a dynamic library.
+    $1_EXTRA_LDFLAGS+=$$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
+    ifeq ($(OPENJDK_TARGET_OS), windows)
+      $1_EXTRA_LDFLAGS+="-implib:$$($1_OBJECT_DIR)/$$($1_LIBRARY).lib"
     endif
 
-    # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables
-    # for LDFLAGS and LDFLAGS_SUFFIX
-    $1_EXTRA_LDFLAGS:=$$($1_LDFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
-    $1_EXTRA_LDFLAGS_SUFFIX:=$$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS_API)) $$($1_LDFLAGS_SUFFIX_$(OPENJDK_TARGET_OS))
-    ifneq (,$$($1_REAL_MAPFILE))
-        $1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
-    endif
+    $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
 
-    $1 := $$($1_TARGET)
-    ifneq (,$$($1_LIBRARY))
-        # Generating a dynamic library.
-        $1_EXTRA_LDFLAGS+=$$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
+    ifneq (,$$($1_DEBUG_SYMBOLS))
+      ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
         ifeq ($(OPENJDK_TARGET_OS), windows)
-            $1_EXTRA_LDFLAGS+="-implib:$$($1_OBJECT_DIR)/$$($1_LIBRARY).lib"
+          $1_EXTRA_LDFLAGS+="-pdb:$$($1_OBJECT_DIR)/$$($1_LIBRARY).pdb" \
+              "-map:$$($1_OBJECT_DIR)/$$($1_LIBRARY).map"
         endif
 
-        $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)        
-
-        ifneq (,$$($1_DEBUG_SYMBOLS))
-            ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
-                ifeq ($(OPENJDK_TARGET_OS), windows)
-                    $1_EXTRA_LDFLAGS+="-pdb:$$($1_OBJECT_DIR)/$$($1_LIBRARY).pdb" \
-				      "-map:$$($1_OBJECT_DIR)/$$($1_LIBRARY).map"
-                endif
-
-                ifneq ($$($1_OUTPUT_DIR),$$($1_OBJECT_DIR))
-                    $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
-			$(CP) $$< $$@
-                endif
-
-                ifeq ($(OPENJDK_TARGET_OS), solaris)
-                    # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
-                    # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
-                    # empty section headers until a fixed $(OBJCOPY) is available.
-                    # An empty section header has sh_addr == 0 and sh_size == 0.
-                    # This problem has only been seen on Solaris X64, but we call this tool
-                    # on all Solaris builds just in case.
-                    #
-                    # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
-                    # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-                    $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \
-					$(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
-			$(RM) $$@
-			$(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
-			$(OBJCOPY) --only-keep-debug $$< $$@
-			$(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
-                else # not solaris
-                    $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET)
-			$(RM) $$@
-			$(OBJCOPY) --only-keep-debug $$< $$@
-			$(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
-                endif # Touch to not retrigger rule on rebuild
-			$(TOUCH) $$@
-
-                ifeq ($(ZIP_DEBUGINFO_FILES), true)
-                    $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz
-
-                    ifeq ($(OPENJDK_TARGET_OS), windows)
-                        $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET)
-				$(CD) $$($1_OBJECT_DIR) \
-				&& $(ZIP) -q $$@ $$($1_LIBRARY).map $$($1_LIBRARY).pdb
-                    else
-                        $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET) \
-					$$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
-				$(CD) $$($1_OBJECT_DIR) \
-				&& $(ZIP) -q $$@ $$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo 
-                    endif
-                else
-                    ifeq ($(OPENJDK_TARGET_OS), windows)
-                        $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \
-			      $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb
-                    else
-                        $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
-                    endif
-                endif
-            endif
+        ifneq ($$($1_OUTPUT_DIR),$$($1_OBJECT_DIR))
+          $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
+		$(CP) $$< $$@
         endif
 
-        $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_REAL_MAPFILE)
-		$$(call LINKING_MSG,$$($1_BASENAME))
-		$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(LD_OUT_OPTION)$$@ \
-		$$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) \
-		$$($1_EXTRA_LDFLAGS_SUFFIX)
+        ifeq ($(OPENJDK_TARGET_OS), solaris)
+          # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
+          # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
+          # empty section headers until a fixed $(OBJCOPY) is available.
+          # An empty section header has sh_addr == 0 and sh_size == 0.
+          # This problem has only been seen on Solaris X64, but we call this tool
+          # on all Solaris builds just in case.
+          #
+          # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
+          # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
+          $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \
+              $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
+		$(RM) $$@
+		$(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
+		$(OBJCOPY) --only-keep-debug $$< $$@
+		$(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
+        else # not solaris
+          $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET)
+		$(RM) $$@
+		$(OBJCOPY) --only-keep-debug $$< $$@
+		$(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
+        endif # Touch to not retrigger rule on rebuild
+		$(TOUCH) $$@
 
-    endif
+        ifeq ($(ZIP_DEBUGINFO_FILES), true)
+          $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz
 
-    ifneq (,$$($1_STATIC_LIBRARY))
-        # Generating a static library, ie object file archive.
-        $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES)
-	        $$(call ARCHIVING_MSG,$$($1_LIBRARY))
-	        $(AR) $$($1_AR_FLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \
-			$$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
+          ifeq ($(OPENJDK_TARGET_OS), windows)
+            $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET)
+		$(CD) $$($1_OBJECT_DIR) \
+		&& $(ZIP) -q $$@ $$($1_LIBRARY).map $$($1_LIBRARY).pdb
+          else
+            $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET) \
+                $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
+		$(CD) $$($1_OBJECT_DIR) \
+		&& $(ZIP) -q $$@ $$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
+          endif
+        else
+          ifeq ($(OPENJDK_TARGET_OS), windows)
+            $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \
+                $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb
+          else
+            $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
+          endif
+        endif
+      endif
     endif
 
-    ifneq (,$$($1_PROGRAM))
-        # A executable binary has been specified, setup the target for it.
-        ifneq (,$$($1_DEBUG_SYMBOLS))
-            ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
-                ifeq ($(OPENJDK_TARGET_OS), windows)
-                    $1_EXTRA_LDFLAGS+="-pdb:$$($1_OBJECT_DIR)/$$($1_PROGRAM).pdb" \
-				      "-map:$$($1_OBJECT_DIR)/$$($1_PROGRAM).map"
-                endif
+    $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_REAL_MAPFILE)
+	$$(call LINKING_MSG,$$($1_BASENAME))
+	$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(LD_OUT_OPTION)$$@ \
+	$$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) \
+	$$($1_EXTRA_LDFLAGS_SUFFIX)
 
-                ifneq ($$($1_OUTPUT_DIR),$$($1_OBJECT_DIR))
-                    $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
-			$(CP) $$< $$@
-                endif
+  endif
 
-                ifeq ($(OPENJDK_TARGET_OS), solaris)
-                    # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
-                    # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
-                    # empty section headers until a fixed $(OBJCOPY) is available.
-                    # An empty section header has sh_addr == 0 and sh_size == 0.
-                    # This problem has only been seen on Solaris X64, but we call this tool
-                    # on all Solaris builds just in case.
-                    #
-                    # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
-                    # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-                    $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \
-					$(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
-			$(RM) $$@
-			$(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
-			$(OBJCOPY) --only-keep-debug $$< $$@
-			$(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
-                else # not solaris
-                    $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET)
-			$(RM) $$@
-			$(OBJCOPY) --only-keep-debug $$< $$@
-			$(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
-                endif
-			$(TOUCH) $$@
+  ifneq (,$$($1_STATIC_LIBRARY))
+    # Generating a static library, ie object file archive.
+    $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES)
+	$$(call ARCHIVING_MSG,$$($1_LIBRARY))
+	$(AR) $$($1_AR_FLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \
+	    $$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
+  endif
 
-                ifeq ($(ZIP_DEBUGINFO_FILES), true)
-                    $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).diz
+  ifneq (,$$($1_PROGRAM))
+    # A executable binary has been specified, setup the target for it.
+    ifneq (,$$($1_DEBUG_SYMBOLS))
+      ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
+        ifeq ($(OPENJDK_TARGET_OS), windows)
+          $1_EXTRA_LDFLAGS+="-pdb:$$($1_OBJECT_DIR)/$$($1_PROGRAM).pdb" \
+              "-map:$$($1_OBJECT_DIR)/$$($1_PROGRAM).map"
+        endif
 
-                    ifeq ($(OPENJDK_TARGET_OS), windows)
-                        $$($1_OBJECT_DIR)/$$($1_PROGRAM).diz : $$($1_TARGET)
-				$(CD) $$($1_OBJECT_DIR) \
-				&& $(ZIP) -q $$@ $$($1_PROGRAM).map $$($1_PROGRAM).pdb
-                    else
-                        $$($1_OBJECT_DIR)/$$(PROGRAM_PREFIX)$$($1_PROGRAM).diz : $$($1_TARGET) \
-					$$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo
-				$(CD) $$($1_OBJECT_DIR) \
-				&& $(ZIP) -q $$@ $$($1_PROGRAM).debuginfo 
-                    endif
-                else
-                    ifeq ($(OPENJDK_TARGET_OS), windows)
-                        $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \
-			      $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb
-                    else
-                        $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo
-                    endif
-                endif
-            endif
+        ifneq ($$($1_OUTPUT_DIR),$$($1_OBJECT_DIR))
+          $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
+		$(CP) $$< $$@
         endif
 
-        $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
+        ifeq ($(OPENJDK_TARGET_OS), solaris)
+          # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
+          # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
+          # empty section headers until a fixed $(OBJCOPY) is available.
+          # An empty section header has sh_addr == 0 and sh_size == 0.
+          # This problem has only been seen on Solaris X64, but we call this tool
+          # on all Solaris builds just in case.
+          #
+          # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
+          # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
+          $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \
+              $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
+		$(RM) $$@
+		$(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
+		$(OBJCOPY) --only-keep-debug $$< $$@
+		$(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
+        else # not solaris
+          $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET)
+		$(RM) $$@
+		$(OBJCOPY) --only-keep-debug $$< $$@
+		$(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
+        endif
+		$(TOUCH) $$@
+
+        ifeq ($(ZIP_DEBUGINFO_FILES), true)
+          $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).diz
 
-        $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_GEN_MANIFEST)
-	    	$$(call LINKING_EXE_MSG,$$($1_BASENAME))
-		$$($1_LDEXE) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(EXE_OUT_OPTION)$$($1_TARGET) \
-			$$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) \
-			$$($1_EXTRA_LDFLAGS_SUFFIX)
+          ifeq ($(OPENJDK_TARGET_OS), windows)
+            $$($1_OBJECT_DIR)/$$($1_PROGRAM).diz : $$($1_TARGET)
+		$(CD) $$($1_OBJECT_DIR) \
+		&& $(ZIP) -q $$@ $$($1_PROGRAM).map $$($1_PROGRAM).pdb
+          else
+            $$($1_OBJECT_DIR)/$$(PROGRAM_PREFIX)$$($1_PROGRAM).diz : $$($1_TARGET) \
+                $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo
+		$(CD) $$($1_OBJECT_DIR) \
+		&& $(ZIP) -q $$@ $$($1_PROGRAM).debuginfo
+          endif
+        else
+          ifeq ($(OPENJDK_TARGET_OS), windows)
+            $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \
+                $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb
+          else
+            $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo
+          endif
+        endif
+      endif
+    endif
+
+    $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
+
+    $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_GEN_MANIFEST)
+	$$(call LINKING_EXE_MSG,$$($1_BASENAME))
+	$$($1_LDEXE) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(EXE_OUT_OPTION)$$($1_TARGET) \
+	$$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) \
+	$$($1_EXTRA_LDFLAGS_SUFFIX)
         ifneq (,$$($1_GEN_MANIFEST))
-		$(MT) -nologo -manifest $$($1_GEN_MANIFEST) -outputresource:$$@;#1
+	  $(MT) -nologo -manifest $$($1_GEN_MANIFEST) -outputresource:$$@;#1
         endif
         # This only works if the openjdk_codesign identity is present on the system. Let
         # silently fail otherwise.
         ifneq (,$(CODESIGN))
-            ifneq (,$$($1_CODESIGN))
-		$(CODESIGN) -s openjdk_codesign $$@
-            endif
+          ifneq (,$$($1_CODESIGN))
+	    $(CODESIGN) -s openjdk_codesign $$@
+          endif
         endif
-    endif
+  endif
 endef
--- a/common/makefiles/RMICompilation.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/RMICompilation.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -24,74 +24,74 @@
 #
 
 define SetupRMICompilation
-    # param 1 is a name for a variable to depend on.
-    # param 2 and up are named args.
-    #   CLASSES:=List of classes to generate stubs for
-    #   CLASSES_DIR:=Directory where to look for classes
-    #   STUB_CLASSES_DIR:=Directory in where to put stub classes
-    #   RUN_V11:=Set to run rmic with -v1.1
-    #   RUN_V12:=Set to run rmic with -v1.2
-    #   RUN_IIOP:=Set to run rmic with -iiop
-    #   RUN_IIOP_STDPKG:=Set to run rmic with -iiop -standardPackage
-    #   KEEP_GENERATED:=Set to keep generated sources around
-    $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
-    $(call LogSetupMacroEntry,SetupRMICompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
-    $(if $(16),$(error Internal makefile error: Too many arguments to SetupRMICompilation, please update RMICompilation.gmk))
+  # param 1 is a name for a variable to depend on.
+  # param 2 and up are named args.
+  #   CLASSES:=List of classes to generate stubs for
+  #   CLASSES_DIR:=Directory where to look for classes
+  #   STUB_CLASSES_DIR:=Directory in where to put stub classes
+  #   RUN_V11:=Set to run rmic with -v1.1
+  #   RUN_V12:=Set to run rmic with -v1.2
+  #   RUN_IIOP:=Set to run rmic with -iiop
+  #   RUN_IIOP_STDPKG:=Set to run rmic with -iiop -standardPackage
+  #   KEEP_GENERATED:=Set to keep generated sources around
+  $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
+  $(call LogSetupMacroEntry,SetupRMICompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
+  $(if $(16),$(error Internal makefile error: Too many arguments to SetupRMICompilation, please update RMICompilation.gmk))
 
-    $1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/$1_rmic
+  $1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/$1_rmic
 
-    $1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES))
-    $1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH)))
-    $1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH)))
-    $1_TARGETS := $$($1_STUB_FILES)
-    $1_ARGS :=
-    ifneq (,$$($1_RUN_V11))
-        $1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH)))
-        $1_TARGETS += $$($1_SKEL_FILES)
-        $1_ARGS += -v1.1
-    endif
-    ifneq (,$$($1_RUN_V12))
-        $1_ARGS += -v1.2
-    endif
+  $1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES))
+  $1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH)))
+  $1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH)))
+  $1_TARGETS := $$($1_STUB_FILES)
+  $1_ARGS :=
+  ifneq (,$$($1_RUN_V11))
+    $1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH)))
+    $1_TARGETS += $$($1_SKEL_FILES)
+    $1_ARGS += -v1.1
+  endif
+  ifneq (,$$($1_RUN_V12))
+    $1_ARGS += -v1.2
+  endif
 
-    $1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f))
-    $1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
-    $1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
+  $1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f))
+  $1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
+  $1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
 
-    ifneq (,$$($1_RUN_IIOP))
-        $1_TARGETS += $$($1_TIE_FILES)
-        $1_ARGS += -iiop
-    endif
-    ifneq (,$$($1_RUN_IIOP_STDPKG))
-        $1_TARGETS += $$($1_TIE_STDPKG_FILES)
-        $1_ARGS2 := -iiop -standardPackage
-    endif
+  ifneq (,$$($1_RUN_IIOP))
+    $1_TARGETS += $$($1_TIE_FILES)
+    $1_ARGS += -iiop
+  endif
+  ifneq (,$$($1_RUN_IIOP_STDPKG))
+    $1_TARGETS += $$($1_TIE_STDPKG_FILES)
+    $1_ARGS2 := -iiop -standardPackage
+  endif
 
-    ifneq (,$$($1_KEEP_GENERATED))
-        $1_ARGS += -keepgenerated
-        $1_TARGETS += $$(subst .class,.java,$$($1_TARGETS))
-    endif
+  ifneq (,$$($1_KEEP_GENERATED))
+    $1_ARGS += -keepgenerated
+    $1_TARGETS += $$(subst .class,.java,$$($1_TARGETS))
+  endif
 
-    $1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES))
+  $1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES))
 
-    $$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES)
+  $$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES)
 
-    $$($1_DEP_FILE): $$($1_CLASS_FILES)
+  $$($1_DEP_FILE): $$($1_CLASS_FILES)
 	$(MKDIR) -p $$($1_STUB_CLASSES_DIR)
 	if [ "x$$($1_ARGS)" != "x" ]; then \
-	    $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES) &&\
-	    $(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \
-			-d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\
+	  $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES) && \
+	  $(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \
+	      -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \
 	fi;
 	if [ "x$$($1_ARGS2)" != "x" ]; then \
-	    $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS2) for $$($1_DOLLAR_SAFE_CLASSES) &&\
-	    $(RMIC) $$($1_ARGS2) -classpath "$$($1_CLASSES_DIR)" \
-			-d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\
+	  $(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS2) for $$($1_DOLLAR_SAFE_CLASSES) && \
+	  $(RMIC) $$($1_ARGS2) -classpath "$$($1_CLASSES_DIR)" \
+	      -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \
 	fi;
 
 
-    $1 := $$($1_TARGETS)
+  $1 := $$($1_TARGETS)
 
-    # By marking as secondary, this "touch" file doesn't need to be touched and will never exist.
-    .SECONDARY: $$($1_DEP_FILE)
+  # By marking as secondary, this "touch" file doesn't need to be touched and will never exist.
+  .SECONDARY: $$($1_DEP_FILE)
 endef
--- a/common/makefiles/devkit/Makefile	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/devkit/Makefile	Wed Jul 05 19:15:55 2017 +0200
@@ -25,12 +25,12 @@
 
 ##########################################################################################
 #
-# This Makefile, together with Tools.gmk, can be used to compile a set of 
-# gcc based cross compilation, portable, self contained packages, capable 
+# This Makefile, together with Tools.gmk, can be used to compile a set of
+# gcc based cross compilation, portable, self contained packages, capable
 # of building OpenJDK.
-# 
-# In addition to the makefiles, access to Oracle Linux installation 
-# media is required. This has been tested against Oracle Enterprise Linux 
+#
+# In addition to the makefiles, access to Oracle Linux installation
+# media is required. This has been tested against Oracle Enterprise Linux
 # 5.5. Set variables RPM_DIR_x86_64 and RPM_DIR_i686 respectively to point
 # to directory containing the RPMs.
 #
@@ -43,9 +43,9 @@
 #
 # 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/oel55-x86_64/Server/ RPM_DIR_i686=/tmp/oel55-i686/Server/
 #
-# To create a x86_64 package without the redundant i686 cross compiler, do 
+# 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/
@@ -54,70 +54,68 @@
 # Main makefile which iterates over all host and target platforms.
 #
 
-os		:= $(shell uname -o)
-cpu 		:= x86_64
+os := $(shell uname -o)
+cpu := x86_64
 #$(shell uname -p)
 
 #
 # This wrapper script can handle exactly these platforms
 #
-platforms	:= $(foreach p,x86_64 i686,$(p)-unknown-linux-gnu)
-#platforms	:= $(foreach p,x86_64,$(p)-unknown-linux-gnu)
+platforms := $(foreach p,x86_64 i686,$(p)-unknown-linux-gnu)
+#platforms := $(foreach p,x86_64,$(p)-unknown-linux-gnu)
 
 # Figure out what platform this is building on.
-me		:= $(cpu)-$(if $(findstring Linux,$(os)),unknown-linux-gnu)
+me := $(cpu)-$(if $(findstring Linux,$(os)),unknown-linux-gnu)
 
 $(info Building on platform $(me))
 
-all compile	: $(platforms)
+all compile : $(platforms)
 
 ifeq (,$(SKIP_ME))
-$(foreach p,$(filter-out $(me),$(platforms)),$(eval $(p) : $$(me)))
+  $(foreach p,$(filter-out $(me),$(platforms)),$(eval $(p) : $$(me)))
 endif
 
-OUTPUT_ROOT	= $(abspath ../../../build/devkit)
-RESULT		= $(OUTPUT_ROOT)/result
+OUTPUT_ROOT = $(abspath ../../../build/devkit)
+RESULT = $(OUTPUT_ROOT)/result
 
-submakevars	= HOST=$@ BUILD=$(me)				\
-			RESULT=$(RESULT) PREFIX=$(RESULT)/$@    \
-			OUTPUT_ROOT=$(OUTPUT_ROOT)
-$(platforms)	:
-		@echo 'Building compilers for $@'
-		@echo 'Targets: $(platforms)'
-		for p in $@ $(filter-out $@,$(platforms)); do	\
-			$(MAKE) -f Tools.gmk all $(submakevars)	\
-				TARGET=$$p || exit 1	;	\
-		done
-		@echo 'Building ccache program for $@'
-		$(MAKE) -f Tools.gmk ccache $(submakevars) TARGET=$@
-		@echo 'All done"'
+submakevars = HOST=$@ BUILD=$(me) \
+    RESULT=$(RESULT) PREFIX=$(RESULT)/$@ \
+    OUTPUT_ROOT=$(OUTPUT_ROOT)
+$(platforms) :
+	@echo 'Building compilers for $@'
+	@echo 'Targets: $(platforms)'
+	for p in $@ $(filter-out $@,$(platforms)); do \
+	  $(MAKE) -f Tools.gmk all $(submakevars) \
+	      TARGET=$$p || exit 1 ; \
+	done
+	@echo 'Building ccache program for $@'
+	$(MAKE) -f Tools.gmk ccache $(submakevars) TARGET=$@
+	@echo 'All done"'
 
 $(foreach a,i686 x86_64,$(eval $(a) : $(filter $(a)%,$(platforms))))
 
-ia32		:  i686
-today		:= $(shell date +%Y%m%d)
+ia32 : i686
+today := $(shell date +%Y%m%d)
 
 
 define Mktar
-$(1)_tar	= $$(RESULT)/sdk-$(1)-$$(today).tar.gz
-$$($(1)_tar)	: PLATFORM = $(1)
-TARFILES	+= $$($(1)_tar)
-$$($(1)_tar)	: $(1) $$(shell find $$(RESULT)/$(1))
+  $(1)_tar = $$(RESULT)/sdk-$(1)-$$(today).tar.gz
+  $$($(1)_tar) : PLATFORM = $(1)
+  TARFILES += $$($(1)_tar)
+  $$($(1)_tar) : $(1) $$(shell find $$(RESULT)/$(1))
 endef
 
 $(foreach p,$(platforms),$(eval $(call Mktar,$(p))))
 
-tars		: all $(TARFILES)
-onlytars	: $(TARFILES)
-%.tar.gz	:
-		@echo 'Creating compiler package $@'
-		cd $(RESULT)/$(PLATFORM) && tar -czf $@ *
-		touch $@
+tars : all $(TARFILES)
+onlytars : $(TARFILES)
+%.tar.gz :
+	@echo 'Creating compiler package $@'
+	cd $(RESULT)/$(PLATFORM) && tar -czf $@ *
+	touch $@
 
-clean		:
+clean :
 	rm -rf build result
 
-FORCE		:
-.PHONY		: $(configs) $(platforms)
-
-
+FORCE :
+.PHONY : $(configs) $(platforms)
--- a/common/makefiles/devkit/Tools.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/devkit/Tools.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -26,15 +26,15 @@
 ##########################################################################################
 #
 # Workhorse makefile for creating ONE cross compiler
-# Needs either to be from BUILD -> BUILD OR have 
+# Needs either to be from BUILD -> BUILD OR have
 # BUILD -> HOST prebuilt
 #
-# NOTE: There is a bug here. We don't limit the 
-# PATH when building BUILD -> BUILD, which means that 
+# NOTE: There is a bug here. We don't limit the
+# PATH when building BUILD -> BUILD, which means that
 # if you configure after you've once build the BUILD->BUILD
 # compiler THAT one will be picked up as the compiler for itself.
 # This is not so great, especially if you did a partial delete
-# of the target tree. 
+# of the target tree.
 #
 # Fix this...
 #
@@ -43,45 +43,45 @@
 $(info HOST=$(HOST))
 $(info BUILD=$(BUILD))
 
-ARCH		:= $(word 1,$(subst -, ,$(TARGET)))
+ARCH := $(word 1,$(subst -, ,$(TARGET)))
 
 ##########################################################################################
 # Define external dependencies
 
 # Latest that could be made to work.
-gcc_ver		:= gcc-4.7.3
-binutils_ver	:= binutils-2.22
-ccache_ver	:= ccache-3.1.9
-mpfr_ver        := mpfr-3.0.1
-gmp_ver         := gmp-4.3.2
-mpc_ver		:= mpc-1.0.1
+gcc_ver := gcc-4.7.3
+binutils_ver := binutils-2.22
+ccache_ver := ccache-3.1.9
+mpfr_ver := mpfr-3.0.1
+gmp_ver := gmp-4.3.2
+mpc_ver := mpc-1.0.1
 
-GCC		:= http://ftp.gnu.org/pub/gnu/gcc/$(gcc_ver)/$(gcc_ver).tar.bz2
-BINUTILS	:= http://ftp.gnu.org/pub/gnu/binutils/$(binutils_ver).tar.bz2
-CCACHE		:= http://samba.org/ftp/ccache/$(ccache_ver).tar.gz
-MPFR		:= http://www.mpfr.org/${mpfr_ver}/${mpfr_ver}.tar.bz2
-GMP 		:= http://ftp.gnu.org/pub/gnu/gmp/${gmp_ver}.tar.bz2
-MPC		:= http://www.multiprecision.org/mpc/download/${mpc_ver}.tar.gz
+GCC := http://ftp.gnu.org/pub/gnu/gcc/$(gcc_ver)/$(gcc_ver).tar.bz2
+BINUTILS := http://ftp.gnu.org/pub/gnu/binutils/$(binutils_ver).tar.bz2
+CCACHE := http://samba.org/ftp/ccache/$(ccache_ver).tar.gz
+MPFR := http://www.mpfr.org/${mpfr_ver}/${mpfr_ver}.tar.bz2
+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
-RPM_LIST 	:= \
-		kernel-headers \
-		glibc-2 glibc-headers glibc-devel \
-		cups-libs cups-devel \
-		libX11 libX11-devel \
-		xorg-x11-proto-devel \
-		alsa-lib alsa-lib-devel \
-		libXext libXext-devel \
-		libXtst libXtst-devel \
-		libXrender libXrender-devel \
-		freetype freetype-devel \
-		libXt libXt-devel \
-		libSM libSM-devel \
-		libICE libICE-devel \
-		libXi libXi-devel \
-		libXdmcp libXdmcp-devel \
-		libXau libXau-devel \
-		libgcc
+RPM_LIST := \
+    kernel-headers \
+    glibc-2 glibc-headers glibc-devel \
+    cups-libs cups-devel \
+    libX11 libX11-devel \
+    xorg-x11-proto-devel \
+    alsa-lib alsa-lib-devel \
+    libXext libXext-devel \
+    libXtst libXtst-devel \
+    libXrender libXrender-devel \
+    freetype freetype-devel \
+    libXt libXt-devel \
+    libSM libSM-devel \
+    libICE libICE-devel \
+    libXi libXi-devel \
+    libXdmcp libXdmcp-devel \
+    libXau libXau-devel \
+    libgcc
 
 
 ifeq ($(ARCH),x86_64)
@@ -90,7 +90,7 @@
   ifeq ($(BUILD),$(HOST))
     ifeq ($(TARGET),$(HOST))
       # When building the native compiler for x86_64, enable mixed mode.
-      RPM_ARCHS	+= i386 i686
+      RPM_ARCHS += i386 i686
     endif
   endif
 else
@@ -110,47 +110,47 @@
 
 # Ensure we have 32-bit libs also for x64. We enable mixed-mode.
 ifeq (x86_64,$(ARCH))
-  LIBDIRS	:= lib64 lib
-  CFLAGS_lib	:= -m32
+  LIBDIRS := lib64 lib
+  CFLAGS_lib := -m32
 else
-  LIBDIRS 	:= lib
+  LIBDIRS := lib
 endif
 
 # Define directories
-RESULT		:= $(OUTPUT_ROOT)/result
-BUILDDIR	:= $(OUTPUT_ROOT)/$(HOST)/$(TARGET)
-PREFIX		:= $(RESULT)/$(HOST)
-TARGETDIR	:= $(PREFIX)/$(TARGET)
-SYSROOT		:= $(TARGETDIR)/sys-root
-DOWNLOAD	:= $(OUTPUT_ROOT)/download
-SRCDIR		:= $(OUTPUT_ROOT)/src
+RESULT := $(OUTPUT_ROOT)/result
+BUILDDIR := $(OUTPUT_ROOT)/$(HOST)/$(TARGET)
+PREFIX := $(RESULT)/$(HOST)
+TARGETDIR := $(PREFIX)/$(TARGET)
+SYSROOT := $(TARGETDIR)/sys-root
+DOWNLOAD := $(OUTPUT_ROOT)/download
+SRCDIR := $(OUTPUT_ROOT)/src
 
 # Marker file for unpacking rpms
-rpms		:= $(SYSROOT)/rpms_unpacked
+rpms := $(SYSROOT)/rpms_unpacked
 
-# Need to patch libs that are linker scripts to use non-absolute paths 
-libs		:= $(SYSROOT)/libs_patched
+# Need to patch libs that are linker scripts to use non-absolute paths
+libs := $(SYSROOT)/libs_patched
 
 ##########################################################################################
 # Unpack source packages
 
-# Generate downloading + unpacking of sources. 
+# Generate downloading + unpacking of sources.
 define Download
-$(1)_DIR	= $(abspath $(SRCDIR)/$(basename $(basename $(notdir $($(1))))))
-$(1)_CFG	= $$($(1)_DIR)/configure
-$(1)_FILE	= $(DOWNLOAD)/$(notdir $($(1)))
+  $(1)_DIR = $(abspath $(SRCDIR)/$(basename $(basename $(notdir $($(1))))))
+  $(1)_CFG = $$($(1)_DIR)/configure
+  $(1)_FILE = $(DOWNLOAD)/$(notdir $($(1)))
 
-$$($(1)_CFG)	: $$($(1)_FILE)
-		mkdir -p $$(SRCDIR)
-		tar -C $$(SRCDIR) -x$$(if $$(findstring .gz, $$<),z,j)f $$<
-		$$(foreach p,$$(abspath $$(wildcard $$(notdir $$($(1)_DIR)).patch)),	\
-			echo PATCHING $$(p) ;						\
-			patch -d $$($(1)_DIR) -p1 -i $$(p) ; 				\
-			)
-		touch $$@
+  $$($(1)_CFG) : $$($(1)_FILE)
+	mkdir -p $$(SRCDIR)
+	tar -C $$(SRCDIR) -x$$(if $$(findstring .gz, $$<),z,j)f $$<
+	$$(foreach p,$$(abspath $$(wildcard $$(notdir $$($(1)_DIR)).patch)), \
+	  echo PATCHING $$(p) ; \
+	  patch -d $$($(1)_DIR) -p1 -i $$(p) ; \
+	)
+	touch $$@
 
-$$($(1)_FILE)	:
-		wget -P $(DOWNLOAD) $$($(1))
+  $$($(1)_FILE) :
+	wget -P $(DOWNLOAD) $$($(1))
 endef
 
 # Download and unpack all source packages
@@ -159,48 +159,48 @@
 ##########################################################################################
 # Unpack RPMS
 
-# Note. For building linux you should install rpm2cpio. 
+# Note. For building linux you should install rpm2cpio.
 define unrpm
-$(SYSROOT)/$(notdir $(1)).unpacked	\
-		: $(1)
-$$(rpms)	: $(SYSROOT)/$(notdir $(1)).unpacked
+  $(SYSROOT)/$(notdir $(1)).unpacked \
+    : $(1)
+  $$(rpms) : $(SYSROOT)/$(notdir $(1)).unpacked
 endef
 
-%.unpacked	:
-		$(info Unpacking target rpms and libraries from $<)
-		@(mkdir -p $(@D);					\
-		cd $(@D);						\
-		rpm2cpio $< | 						\
-			cpio --extract --make-directories 		\
-				-f 					\
-				"./usr/share/doc/*" 			\
-				"./usr/share/man/*"			\
-				"./usr/X11R6/man/*" 			\
-				"*/X11/locale/*"			\
-				|| die ; )
-		touch $@
+%.unpacked :
+	$(info Unpacking target rpms and libraries from $<)
+	@(mkdir -p $(@D); \
+	cd $(@D); \
+	rpm2cpio $< | \
+	    cpio --extract --make-directories \
+	        -f \
+	        "./usr/share/doc/*" \
+	        "./usr/share/man/*" \
+	        "./usr/X11R6/man/*" \
+	        "*/X11/locale/*" \
+	    || die ; )
+	touch $@
 
 $(foreach p,$(RPM_FILE_LIST),$(eval $(call unrpm,$(p))))
 
 ##########################################################################################
 
-# Note: MUST create a <sys-root>/usr/lib even if not really needed. 
-# gcc will use a path relative to it to resolve lib64. (x86_64). 
-# we're creating multi-lib compiler with 32bit libc as well, so we should 
+# Note: MUST create a <sys-root>/usr/lib even if not really needed.
+# gcc will use a path relative to it to resolve lib64. (x86_64).
+# we're creating multi-lib compiler with 32bit libc as well, so we should
 # have it anyway, but just to make sure...
 # Patch libc.so and libpthread.so to force linking against libraries in sysroot
 # and not the ones installed on the build machine.
-$(libs)		: $(rpms)
-		@echo Patching libc and pthreads
-		@(for f in `find $(SYSROOT) -name libc.so -o -name libpthread.so`; do \
-			(cat $$f | sed -e 's|/usr/lib64/||g' 		\
-				       -e 's|/usr/lib/||g'		\
-				       -e 's|/lib64/||g'		\
-				       -e 's|/lib/||g' ) > $$f.tmp ;	\
-			mv $$f.tmp $$f				;	\
-		done)
-		@mkdir -p $(SYSROOT)/usr/lib
-		@touch $@
+$(libs) : $(rpms)
+	@echo Patching libc and pthreads
+	@(for f in `find $(SYSROOT) -name libc.so -o -name libpthread.so`; do \
+	  (cat $$f | sed -e 's|/usr/lib64/||g' \
+	      -e 's|/usr/lib/||g' \
+	      -e 's|/lib64/||g' \
+	      -e 's|/lib/||g' ) > $$f.tmp ; \
+	  mv $$f.tmp $$f ; \
+	done)
+	@mkdir -p $(SYSROOT)/usr/lib
+	@touch $@
 
 ##########################################################################################
 
@@ -210,264 +210,264 @@
 ##########################################################################################
 
 # Default base config
-CONFIG		= --target=$(TARGET) 					\
-			--host=$(HOST) --build=$(BUILD)			\
-			--prefix=$(PREFIX)
+CONFIG = --target=$(TARGET) \
+    --host=$(HOST) --build=$(BUILD) \
+    --prefix=$(PREFIX)
 
-PATHEXT 	= $(RESULT)/$(BUILD)/bin:
+PATHEXT = $(RESULT)/$(BUILD)/bin:
 
-PATHPRE		= PATH=$(PATHEXT)$(PATH)
-BUILDPAR	= -j16
+PATHPRE = PATH=$(PATHEXT)$(PATH)
+BUILDPAR = -j16
 
 # Default commands to when making
-MAKECMD		=
-INSTALLCMD	= install
+MAKECMD =
+INSTALLCMD = install
 
 
-declare_tools   = CC$(1)=$(2)gcc LD$(1)=$(2)ld AR$(1)=$(2)ar AS$(1)=$(2)as RANLIB$(1)=$(2)ranlib CXX$(1)=$(2)g++ OBJDUMP$(1)=$(2)objdump
+declare_tools = CC$(1)=$(2)gcc LD$(1)=$(2)ld AR$(1)=$(2)ar AS$(1)=$(2)as RANLIB$(1)=$(2)ranlib CXX$(1)=$(2)g++ OBJDUMP$(1)=$(2)objdump
 
 ifeq ($(HOST),$(BUILD))
-ifeq ($(HOST),$(TARGET))
-TOOLS		= $(call declare_tools,_FOR_TARGET,)
-endif
+  ifeq ($(HOST),$(TARGET))
+    TOOLS = $(call declare_tools,_FOR_TARGET,)
+  endif
 endif
 
-TOOLS		?=  $(call declare_tools,_FOR_TARGET,$(TARGET)-)
+TOOLS ?= $(call declare_tools,_FOR_TARGET,$(TARGET)-)
 
 ##########################################################################################
 
-# Create a TARGET bfd + libiberty only. 
+# Create a TARGET bfd + libiberty only.
 # Configure one or two times depending on mulitlib arch.
-# If multilib, the second should be 32-bit, and we resolve 
+# If multilib, the second should be 32-bit, and we resolve
 # CFLAG_<name> to most likely -m32.
 define mk_bfd
-$$(info Libs for $(1)) 
-$$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile \
-		: CFLAGS += $$(CFLAGS_$(1))
-$$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile \
-		: LIBDIRS = --libdir=$(TARGETDIR)/$(1)
+  $$(info Libs for $(1))
+  $$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile \
+      : CFLAGS += $$(CFLAGS_$(1))
+  $$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile \
+      : LIBDIRS = --libdir=$(TARGETDIR)/$(1)
 
-bfdlib		+= $$(TARGETDIR)/$$(binutils_ver)-$(subst /,-,$(1)).done
-bfdmakes	+= $$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile
+  bfdlib += $$(TARGETDIR)/$$(binutils_ver)-$(subst /,-,$(1)).done
+  bfdmakes += $$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile
 endef
 
 # Create one set of bfds etc for each multilib arch
 $(foreach l,$(LIBDIRS),$(eval $(call mk_bfd,$(l))))
 
 # Only build these two libs.
-$(bfdlib)	: MAKECMD 	= all-libiberty all-bfd
-$(bfdlib)	: INSTALLCMD 	= install-libiberty install-bfd
+$(bfdlib) : MAKECMD = all-libiberty all-bfd
+$(bfdlib) : INSTALLCMD = install-libiberty install-bfd
 
-# Building targets libbfd + libiberty. HOST==TARGET, i.e not 
-# for a cross env. 
-$(bfdmakes)	: CONFIG = --target=$(TARGET) 				\
-			--host=$(TARGET) --build=$(BUILD)		\
-			--prefix=$(TARGETDIR) 				\
-			--with-sysroot=$(SYSROOT) 			\
-			$(LIBDIRS)
+# Building targets libbfd + libiberty. HOST==TARGET, i.e not
+# for a cross env.
+$(bfdmakes) : CONFIG = --target=$(TARGET) \
+    --host=$(TARGET) --build=$(BUILD) \
+    --prefix=$(TARGETDIR) \
+    --with-sysroot=$(SYSROOT) \
+    $(LIBDIRS)
 
-$(bfdmakes)	: TOOLS = $(call declare_tools,_FOR_TARGET,$(TARGET)-) $(call declare_tools,,$(TARGET)-)
+$(bfdmakes) : TOOLS = $(call declare_tools,_FOR_TARGET,$(TARGET)-) $(call declare_tools,,$(TARGET)-)
 
 ##########################################################################################
 
-$(gcc)		\
-$(binutils)	\
-$(gmp)		\
-$(mpfr)		\
-$(mpc)		\
-$(bfdmakes)	\
-$(ccache)	: ENVS += $(TOOLS)
+$(gcc) \
+    $(binutils) \
+    $(gmp) \
+    $(mpfr) \
+    $(mpc) \
+    $(bfdmakes) \
+    $(ccache) : ENVS += $(TOOLS)
 
 # libdir to work around hateful bfd stuff installing into wrong dirs...
-# ensure we have 64 bit bfd support in the HOST library. I.e our 
+# ensure we have 64 bit bfd support in the HOST library. I.e our
 # compiler on i686 will know 64 bit symbols, BUT later
-# we build just the libs again for TARGET, then with whatever the arch 
+# we build just the libs again for TARGET, then with whatever the arch
 # wants.
 $(BUILDDIR)/$(binutils_ver)/Makefile : CONFIG += --enable-64-bit-bfd --libdir=$(PREFIX)/$(word 1,$(LIBDIRS))
 
 # Makefile creation. Simply run configure in build dir.
-$(bfdmakes)				\
-$(BUILDDIR)/$(binutils_ver)/Makefile	\
-		: $(BINUTILS_CFG)
-		$(info Configuring $@. Log in $(@D)/log.config)
-		@mkdir -p $(@D)
-		(						\
-			cd $(@D) ;				\
-			$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)"	\
-				$(BINUTILS_CFG) 		\
-				$(CONFIG) 			\
-				--with-sysroot=$(SYSROOT)	\
-				--disable-nls			\
-				--program-prefix=$(TARGET)-	\
-				--enable-multilib		\
-		) > $(@D)/log.config 2>&1
-		@echo 'done'
+$(bfdmakes) \
+$(BUILDDIR)/$(binutils_ver)/Makefile \
+    : $(BINUTILS_CFG)
+	$(info Configuring $@. Log in $(@D)/log.config)
+	@mkdir -p $(@D)
+	( \
+	  cd $(@D) ; \
+	  $(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
+	      $(BINUTILS_CFG) \
+	      $(CONFIG) \
+	      --with-sysroot=$(SYSROOT) \
+	      --disable-nls \
+	      --program-prefix=$(TARGET)- \
+	      --enable-multilib \
+	) > $(@D)/log.config 2>&1
+	@echo 'done'
 
-$(BUILDDIR)/$(mpfr_ver)/Makefile	\
-		: $(MPFR_CFG)
-		$(info Configuring $@. Log in $(@D)/log.config)
-		@mkdir -p $(@D)
-		(						\
-			cd $(@D) ;				\
-			$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)"	\
-				$(MPFR_CFG) 			\
-				$(CONFIG) 			\
-				--program-prefix=$(TARGET)-	\
-				--enable-shared=no		\
-				--with-gmp=$(PREFIX)	\
-		) > $(@D)/log.config 2>&1
-		@echo 'done'
+$(BUILDDIR)/$(mpfr_ver)/Makefile \
+    : $(MPFR_CFG)
+	$(info Configuring $@. Log in $(@D)/log.config)
+	@mkdir -p $(@D)
+	( \
+	  cd $(@D) ; \
+	  $(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
+	      $(MPFR_CFG) \
+	      $(CONFIG) \
+	      --program-prefix=$(TARGET)- \
+	      --enable-shared=no \
+	      --with-gmp=$(PREFIX) \
+	) > $(@D)/log.config 2>&1
+	@echo 'done'
 
-$(BUILDDIR)/$(gmp_ver)/Makefile	\
-		: $(GMP_CFG)
-		$(info Configuring $@. Log in $(@D)/log.config)
-		@mkdir -p $(@D)
-		(						\
-			cd $(@D) ;				\
-			$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)"	\
-				$(GMP_CFG) 			\
-				--host=$(HOST) --build=$(BUILD)	\
-				--prefix=$(PREFIX)		\
-				--disable-nls			\
-				--program-prefix=$(TARGET)-	\
-				--enable-shared=no		\
-				--with-mpfr=$(PREFIX)	\
-		) > $(@D)/log.config 2>&1
-		@echo 'done'
+$(BUILDDIR)/$(gmp_ver)/Makefile \
+    : $(GMP_CFG)
+	$(info Configuring $@. Log in $(@D)/log.config)
+	@mkdir -p $(@D)
+	( \
+	  cd $(@D) ; \
+	  $(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
+	      $(GMP_CFG) \
+	      --host=$(HOST) --build=$(BUILD) \
+	      --prefix=$(PREFIX) \
+	      --disable-nls \
+	      --program-prefix=$(TARGET)- \
+	      --enable-shared=no \
+	      --with-mpfr=$(PREFIX) \
+	) > $(@D)/log.config 2>&1
+	@echo 'done'
 
-$(BUILDDIR)/$(mpc_ver)/Makefile	\
-		: $(MPC_CFG)
-		$(info Configuring $@. Log in $(@D)/log.config)
-		@mkdir -p $(@D)
-		(						\
-			cd $(@D) ;				\
-			$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)"	\
-				$(MPC_CFG) 			\
-				$(CONFIG) 			\
-				--program-prefix=$(TARGET)-	\
-				--enable-shared=no		\
-				--with-mpfr=$(PREFIX)	\
-				--with-gmp=$(PREFIX)	\
-		) > $(@D)/log.config 2>&1
-		@echo 'done'
+$(BUILDDIR)/$(mpc_ver)/Makefile \
+    : $(MPC_CFG)
+	$(info Configuring $@. Log in $(@D)/log.config)
+	@mkdir -p $(@D)
+	( \
+	  cd $(@D) ; \
+	  $(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
+	      $(MPC_CFG) \
+	      $(CONFIG) \
+	      --program-prefix=$(TARGET)- \
+	      --enable-shared=no \
+	      --with-mpfr=$(PREFIX) \
+	      --with-gmp=$(PREFIX) \
+	) > $(@D)/log.config 2>&1
+	@echo 'done'
 
 # Only valid if glibc target -> linux
 # proper destructor handling for c++
 ifneq (,$(findstring linux,$(TARGET)))
-$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --enable-__cxa_atexit 
+  $(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --enable-__cxa_atexit
 endif
 
 # Want:
-# 	c,c++
-# 	shared libs
-#	multilib (-m32/-m64 on x64)
-# 	skip native language. 
-#	and link and assemble with the binutils we created 
-#	earlier, so --with-gnu*
-$(BUILDDIR)/$(gcc_ver)/Makefile	\
-		: $(GCC_CFG) 
-		$(info Configuring $@. Log in $(@D)/log.config)
-		mkdir -p $(@D)
-		(						\
-			cd $(@D) ;				\
-			$(PATHPRE) $(ENVS) $(GCC_CFG) $(EXTRA_CFLAGS) \
-				$(CONFIG) 			\
-				--with-sysroot=$(SYSROOT)	\
-				--enable-languages=c,c++ 	\
-				--enable-shared			\
-				--enable-multilib		\
-				--disable-nls			\
-				--with-gnu-as 			\
-				--with-gnu-ld			\
-				--with-mpfr=$(PREFIX)		\
-				--with-gmp=$(PREFIX)		\
-				--with-mpc=$(PREFIX)		\
-		) > $(@D)/log.config 2>&1
-		@echo 'done'
+# c,c++
+# shared libs
+# multilib (-m32/-m64 on x64)
+# skip native language.
+# and link and assemble with the binutils we created
+# earlier, so --with-gnu*
+$(BUILDDIR)/$(gcc_ver)/Makefile \
+    : $(GCC_CFG)
+	$(info Configuring $@. Log in $(@D)/log.config)
+	mkdir -p $(@D)
+	( \
+	  cd $(@D) ; \
+	  $(PATHPRE) $(ENVS) $(GCC_CFG) $(EXTRA_CFLAGS) \
+	      $(CONFIG) \
+	      --with-sysroot=$(SYSROOT) \
+	      --enable-languages=c,c++ \
+	      --enable-shared \
+	      --enable-multilib \
+	      --disable-nls \
+	      --with-gnu-as \
+	      --with-gnu-ld \
+	      --with-mpfr=$(PREFIX) \
+	      --with-gmp=$(PREFIX) \
+	      --with-mpc=$(PREFIX) \
+	) > $(@D)/log.config 2>&1
+	@echo 'done'
 
 # need binutils for gcc
-$(gcc)		: $(binutils) 
+$(gcc) : $(binutils)
 
 # as of 4.3 or so need these for doing config
 $(BUILDDIR)/$(gcc_ver)/Makefile : $(gmp) $(mpfr) $(mpc)
-$(mpfr)		: $(gmp)
-$(mpc)		: $(gmp) $(mpfr)
+$(mpfr) : $(gmp)
+$(mpc) : $(gmp) $(mpfr)
 
 ##########################################################################################
-# very straightforward. just build a ccache. it is only for host. 
-$(BUILDDIR)/$(ccache_ver)/Makefile	\
-		: $(CCACHE_CFG)
-		$(info Configuring $@. Log in $(@D)/log.config)
-		@mkdir -p $(@D)
-		@(						\
-			cd $(@D) ;				\
-			$(PATHPRE) $(ENVS) $(CCACHE_CFG)	\
-				$(CONFIG) 			\
-		) > $(@D)/log.config 2>&1
-		@echo 'done'
+# very straightforward. just build a ccache. it is only for host.
+$(BUILDDIR)/$(ccache_ver)/Makefile \
+    : $(CCACHE_CFG)
+	$(info Configuring $@. Log in $(@D)/log.config)
+	@mkdir -p $(@D)
+	@( \
+	  cd $(@D) ; \
+	  $(PATHPRE) $(ENVS) $(CCACHE_CFG) \
+	      $(CONFIG) \
+	) > $(@D)/log.config 2>&1
+	@echo 'done'
 
-gccpatch	= $(TARGETDIR)/gcc-patched
+gccpatch = $(TARGETDIR)/gcc-patched
 
 ##########################################################################################
-# For some reason cpp is not created as a target-compiler 
+# For some reason cpp is not created as a target-compiler
 ifeq ($(HOST),$(TARGET))
-$(gccpatch)	: $(gcc) link_libs
-		@echo -n 'Creating compiler symlinks...'
-		@for f in cpp; do 				\
-			if [ ! -e $(PREFIX)/bin/$(TARGET)-$$f ];\
-			then					\
-			cd $(PREFIX)/bin && 			\
-				ln -s $$f $(TARGET)-$$f ;	\
-			fi					\
-		done
-		@touch $@
-		@echo 'done'
+  $(gccpatch) : $(gcc) link_libs
+	@echo -n 'Creating compiler symlinks...'
+	@for f in cpp; do \
+	  if [ ! -e $(PREFIX)/bin/$(TARGET)-$$f ]; \
+	  then \
+	    cd $(PREFIX)/bin && \
+	    ln -s $$f $(TARGET)-$$f ; \
+	  fi \
+	done
+	@touch $@
+	@echo 'done'
 
-##########################################################################################
-# Ugly at best. Seems that when we compile host->host compiler, that are NOT
-# the BUILD compiler, the result will not try searching for libs in package root.
-# "Solve" this by create links from the target libdirs to where they are. 
-link_libs:
-		@echo -n 'Creating library symlinks...'
-		@$(foreach l,$(LIBDIRS),							\
-		for f in `cd $(PREFIX)/$(l) && ls`; do 						\
-			if [ ! -e $(TARGETDIR)/$(l)/$$f ]; then					\
-				mkdir -p $(TARGETDIR)/$(l) &&					\
-				cd $(TARGETDIR)/$(l)/ && 					\
-				ln -s $(if $(findstring /,$(l)),../,)../../$(l)/$$f $$f;	\
-			fi									\
-		done;) 
-		@echo 'done'
+  ##########################################################################################
+  # Ugly at best. Seems that when we compile host->host compiler, that are NOT
+  # the BUILD compiler, the result will not try searching for libs in package root.
+  # "Solve" this by create links from the target libdirs to where they are.
+  link_libs:
+	@echo -n 'Creating library symlinks...'
+	@$(foreach l,$(LIBDIRS), \
+	for f in `cd $(PREFIX)/$(l) && ls`; do \
+	  if [ ! -e $(TARGETDIR)/$(l)/$$f ]; then \
+	    mkdir -p $(TARGETDIR)/$(l) && \
+	    cd $(TARGETDIR)/$(l)/ && \
+	    ln -s $(if $(findstring /,$(l)),../,)../../$(l)/$$f $$f; \
+	  fi \
+	done;)
+	@echo 'done'
 else
-$(gccpatch)	:
-		@echo 'done'
+  $(gccpatch) :
+	@echo 'done'
 endif
 
 ##########################################################################################
-# Build in two steps. 
+# Build in two steps.
 # make <default>
-# make install. 
+# make install.
 # Use path to our build hosts cross tools
-# Always need to build cross tools for build host self. 
-$(TARGETDIR)/%.done : $(BUILDDIR)/%/Makefile 
-		$(info Building $(basename $@). Log in $(<D)/log.build)
-		$(PATHPRE) $(ENVS) $(MAKE) $(BUILDPAR) -f $< -C $(<D) $(MAKECMD) $(MAKECMD.$(notdir $@)) > $(<D)/log.build 2>&1
-		@echo -n 'installing...'
-		$(PATHPRE) $(MAKE) $(INSTALLPAR) -f $< -C $(<D) $(INSTALLCMD) $(MAKECMD.$(notdir $@))  > $(<D)/log.install 2>&1
-		@touch $@
-		@echo 'done'
+# Always need to build cross tools for build host self.
+$(TARGETDIR)/%.done : $(BUILDDIR)/%/Makefile
+	$(info Building $(basename $@). Log in $(<D)/log.build)
+	$(PATHPRE) $(ENVS) $(MAKE) $(BUILDPAR) -f $< -C $(<D) $(MAKECMD) $(MAKECMD.$(notdir $@)) > $(<D)/log.build 2>&1
+	@echo -n 'installing...'
+	$(PATHPRE) $(MAKE) $(INSTALLPAR) -f $< -C $(<D) $(INSTALLCMD) $(MAKECMD.$(notdir $@)) > $(<D)/log.install 2>&1
+	@touch $@
+	@echo 'done'
 
 ##########################################################################################
 
-bfdlib		: $(bfdlib)
-binutils	: $(binutils)
-rpms		: $(rpms)
-libs		: $(libs)
-sysroot		: rpms libs
-gcc		: sysroot $(gcc) $(gccpatch)
-all		: binutils gcc bfdlib
+bfdlib : $(bfdlib)
+binutils : $(binutils)
+rpms : $(rpms)
+libs : $(libs)
+sysroot : rpms libs
+gcc : sysroot $(gcc) $(gccpatch)
+all : binutils gcc bfdlib
 
-# this is only built for host. so separate. 
-ccache		: $(ccache)
+# this is only built for host. so separate.
+ccache : $(ccache)
 
-.PHONY		: gcc all binutils bfdlib link_libs rpms libs sysroot
+.PHONY : gcc all binutils bfdlib link_libs rpms libs sysroot
--- a/common/makefiles/javadoc/CORE_PKGS.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/javadoc/CORE_PKGS.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -24,49 +24,48 @@
 #
 
 # EXCLUDE_PKGS is the list of packages to exclude from the
-# Java API Specification.  Do not add these to CORE_PKGS.
+# Java API Specification. Do not add these to CORE_PKGS.
 # The concatenation of EXCLUDE_PKGS and CORE_PKGS
 # should make up the list of all packages under the
 # src/shared/classes directory of the JDK source tree.
 #
-EXCLUDE_PKGS =             \
-  java.awt.peer            \
-  java.awt.dnd.peer        \
-  sun.*                    \
-  com.sun.*                \
-  org.apache.*             \
-  org.jcp.*		   \
-  org.w3c.dom.css          \
-  org.w3c.dom.html         \
-  org.w3c.dom.stylesheets  \
-  org.w3c.dom.traversal    \
-  org.w3c.dom.ranges       \
-  org.w3c.dom.views        \
-  org.omg.stub.javax.management.remote.rmi
+EXCLUDE_PKGS = \
+    java.awt.peer \
+    java.awt.dnd.peer \
+    sun.* \
+    com.sun.* \
+    org.apache.* \
+    org.jcp.* \
+    org.w3c.dom.css \
+    org.w3c.dom.html \
+    org.w3c.dom.stylesheets \
+    org.w3c.dom.traversal \
+    org.w3c.dom.ranges \
+    org.omg.stub.javax.management.remote.rmi
 
 #
 # ACTIVE_JSR_PKGS are packages that are part of an active JSR process--
 # one that is doing its own review. These packages are not included when
 # creating diff pages for the platform's JCP process.
-# 
-#       (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs)
+#
+# (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs)
 # Note:
 # This is a list of regular expressions. So foo.* matches "foo" and "foo.bar".
 #
 ACTIVE_JSR_PKGS= \
-  java.lang.invoke \
-  java.sql  \
-  javax.activation  \
-  javax.annotation.*  \
-  javax.jws.*  \
-  javax.lang.*  \
-  javax.management.*  \
-  javax.script  \
-  javax.sql.*  \
-  javax.tools.*  \
-  javax.xml.*  \
-  org.w3c.*  \
-  org.xml.sax
+    java.lang.invoke \
+    java.sql \
+    javax.activation \
+    javax.annotation.* \
+    javax.jws.* \
+    javax.lang.* \
+    javax.management.* \
+    javax.script \
+    javax.sql.* \
+    javax.tools.* \
+    javax.xml.* \
+    org.w3c.* \
+    org.xml.sax
 
 #
 # CORE_PKGS is the list of packages that form the
@@ -77,224 +76,225 @@
 ### determines which table the packages go in on the main page.
 ### Currently, there is only table ("Platform Packages") and
 ### everything goes in it, so REGEXP is "*". But if that policy
-### changes, packages added will need to be reflected in  that
+### changes, packages added will need to be reflected in that
 ### list of wildcard expressions, as well.
 ###
-CORE_PKGS =                                      \
-  java.applet                                    \
-  java.awt                                       \
-  java.awt.color                                 \
-  java.awt.datatransfer                          \
-  java.awt.dnd                                   \
-  java.awt.event                                 \
-  java.awt.font                                  \
-  java.awt.geom                                  \
-  java.awt.im                                    \
-  java.awt.im.spi                                \
-  java.awt.image                                 \
-  java.awt.image.renderable                      \
-  java.awt.print                                 \
-  java.beans                                     \
-  java.beans.beancontext                         \
-  java.io                                        \
-  java.lang                                      \
-  java.lang.annotation                           \
-  java.lang.instrument                           \
-  java.lang.invoke                               \
-  java.lang.management                           \
-  java.lang.ref                                  \
-  java.lang.reflect                              \
-  java.math                                      \
-  java.net                                       \
-  java.nio                                       \
-  java.nio.channels                              \
-  java.nio.channels.spi                          \
-  java.nio.charset                               \
-  java.nio.charset.spi                           \
-  java.nio.file					 \
-  java.nio.file.attribute			 \
-  java.nio.file.spi				 \
-  java.rmi                                       \
-  java.rmi.activation                            \
-  java.rmi.dgc                                   \
-  java.rmi.registry                              \
-  java.rmi.server                                \
-  java.security                                  \
-  java.security.acl                              \
-  java.security.cert                             \
-  java.security.interfaces                       \
-  java.security.spec                             \
-  java.sql                                       \
-  java.text                                      \
-  java.text.spi                                  \
-  java.time                                      \
-  java.time.chrono                               \
-  java.time.format                               \
-  java.time.temporal                             \
-  java.time.zone                                 \
-  java.util                                      \
-  java.util.concurrent                           \
-  java.util.concurrent.atomic                    \
-  java.util.concurrent.locks                     \
-  java.util.function                             \
-  java.util.jar                                  \
-  java.util.logging                              \
-  java.util.prefs                                \
-  java.util.regex                                \
-  java.util.spi                                  \
-  java.util.stream                               \
-  java.util.zip                                  \
-  javax.accessibility                            \
-  javax.activation                               \
-  javax.activity                                 \
-  javax.annotation                               \
-  javax.annotation.processing                    \
-  javax.crypto                                   \
-  javax.crypto.interfaces                        \
-  javax.crypto.spec                              \
-  javax.imageio                                  \
-  javax.imageio.event                            \
-  javax.imageio.metadata                         \
-  javax.imageio.plugins.jpeg                     \
-  javax.imageio.plugins.bmp                      \
-  javax.imageio.spi                              \
-  javax.imageio.stream                           \
-  javax.jws                                      \
-  javax.jws.soap                                 \
-  javax.lang.model                               \
-  javax.lang.model.element                       \
-  javax.lang.model.type                          \
-  javax.lang.model.util                          \
-  javax.management                               \
-  javax.management.loading                       \
-  javax.management.monitor                       \
-  javax.management.relation                      \
-  javax.management.openmbean                     \
-  javax.management.timer                         \
-  javax.management.modelmbean                    \
-  javax.management.remote                        \
-  javax.management.remote.rmi                    \
-  javax.naming                                   \
-  javax.naming.directory                         \
-  javax.naming.event                             \
-  javax.naming.ldap                              \
-  javax.naming.spi                               \
-  javax.net                                      \
-  javax.net.ssl                                  \
-  javax.print                                    \
-  javax.print.attribute                          \
-  javax.print.attribute.standard                 \
-  javax.print.event                              \
-  javax.rmi                                      \
-  javax.rmi.CORBA                                \
-  javax.rmi.ssl                                  \
-  javax.script                                   \
-  javax.security.auth                            \
-  javax.security.auth.callback                   \
-  javax.security.auth.kerberos                   \
-  javax.security.auth.login                      \
-  javax.security.auth.spi                        \
-  javax.security.auth.x500                       \
-  javax.security.cert                            \
-  javax.security.sasl                            \
-  javax.sound.sampled                            \
-  javax.sound.sampled.spi                        \
-  javax.sound.midi                               \
-  javax.sound.midi.spi                           \
-  javax.sql                                      \
-  javax.sql.rowset                               \
-  javax.sql.rowset.serial                        \
-  javax.sql.rowset.spi                           \
-  javax.swing                                    \
-  javax.swing.border                             \
-  javax.swing.colorchooser                       \
-  javax.swing.filechooser                        \
-  javax.swing.event                              \
-  javax.swing.table                              \
-  javax.swing.text                               \
-  javax.swing.text.html                          \
-  javax.swing.text.html.parser                   \
-  javax.swing.text.rtf                           \
-  javax.swing.tree                               \
-  javax.swing.undo                               \
-  javax.swing.plaf                               \
-  javax.swing.plaf.basic                         \
-  javax.swing.plaf.metal                         \
-  javax.swing.plaf.multi                         \
-  javax.swing.plaf.nimbus                        \
-  javax.swing.plaf.synth                         \
-  javax.tools                                    \
-  javax.tools.annotation                         \
-  javax.transaction                              \
-  javax.transaction.xa                           \
-  javax.xml.parsers                              \
-  javax.xml.bind                                 \
-  javax.xml.bind.annotation                      \
-  javax.xml.bind.annotation.adapters             \
-  javax.xml.bind.attachment                      \
-  javax.xml.bind.helpers                         \
-  javax.xml.bind.util                            \
-  javax.xml.soap                                 \
-  javax.xml.ws                                   \
-  javax.xml.ws.handler                           \
-  javax.xml.ws.handler.soap                      \
-  javax.xml.ws.http                              \
-  javax.xml.ws.soap                              \
-  javax.xml.ws.spi                               \
-  javax.xml.ws.spi.http                          \
-  javax.xml.ws.wsaddressing                      \
-  javax.xml.transform                            \
-  javax.xml.transform.sax                        \
-  javax.xml.transform.dom                        \
-  javax.xml.transform.stax                       \
-  javax.xml.transform.stream                     \
-  javax.xml                                      \
-  javax.xml.crypto				 \
-  javax.xml.crypto.dom				 \
-  javax.xml.crypto.dsig				 \
-  javax.xml.crypto.dsig.dom			 \
-  javax.xml.crypto.dsig.keyinfo			 \
-  javax.xml.crypto.dsig.spec			 \
-  javax.xml.datatype                             \
-  javax.xml.validation                           \
-  javax.xml.namespace                            \
-  javax.xml.xpath                                \
-  javax.xml.stream                               \
-  javax.xml.stream.events                        \
-  javax.xml.stream.util                          \
-  org.ietf.jgss                                  \
-  org.omg.CORBA                                  \
-  org.omg.CORBA.DynAnyPackage                    \
-  org.omg.CORBA.ORBPackage                       \
-  org.omg.CORBA.TypeCodePackage                  \
-  org.omg.stub.java.rmi                          \
-  org.omg.CORBA.portable                         \
-  org.omg.CORBA_2_3                              \
-  org.omg.CORBA_2_3.portable                     \
-  org.omg.CosNaming                              \
-  org.omg.CosNaming.NamingContextExtPackage      \
-  org.omg.CosNaming.NamingContextPackage         \
-  org.omg.SendingContext                         \
-  org.omg.PortableServer                         \
-  org.omg.PortableServer.CurrentPackage          \
-  org.omg.PortableServer.POAPackage              \
-  org.omg.PortableServer.POAManagerPackage       \
-  org.omg.PortableServer.ServantLocatorPackage   \
-  org.omg.PortableServer.portable                \
-  org.omg.PortableInterceptor                    \
-  org.omg.PortableInterceptor.ORBInitInfoPackage \
-  org.omg.Messaging                              \
-  org.omg.IOP                                    \
-  org.omg.IOP.CodecFactoryPackage                \
-  org.omg.IOP.CodecPackage                       \
-  org.omg.Dynamic                                \
-  org.omg.DynamicAny                             \
-  org.omg.DynamicAny.DynAnyPackage               \
-  org.omg.DynamicAny.DynAnyFactoryPackage        \
-  org.w3c.dom                                    \
-  org.w3c.dom.events                             \
-  org.w3c.dom.bootstrap                          \
-  org.w3c.dom.ls                                 \
-  org.xml.sax                                    \
-  org.xml.sax.ext                                \
-  org.xml.sax.helpers
+CORE_PKGS = \
+    java.applet \
+    java.awt \
+    java.awt.color \
+    java.awt.datatransfer \
+    java.awt.dnd \
+    java.awt.event \
+    java.awt.font \
+    java.awt.geom \
+    java.awt.im \
+    java.awt.im.spi \
+    java.awt.image \
+    java.awt.image.renderable \
+    java.awt.print \
+    java.beans \
+    java.beans.beancontext \
+    java.io \
+    java.lang \
+    java.lang.annotation \
+    java.lang.instrument \
+    java.lang.invoke \
+    java.lang.management \
+    java.lang.ref \
+    java.lang.reflect \
+    java.math \
+    java.net \
+    java.nio \
+    java.nio.channels \
+    java.nio.channels.spi \
+    java.nio.charset \
+    java.nio.charset.spi \
+    java.nio.file \
+    java.nio.file.attribute \
+    java.nio.file.spi \
+    java.rmi \
+    java.rmi.activation \
+    java.rmi.dgc \
+    java.rmi.registry \
+    java.rmi.server \
+    java.security \
+    java.security.acl \
+    java.security.cert \
+    java.security.interfaces \
+    java.security.spec \
+    java.sql \
+    java.text \
+    java.text.spi \
+    java.time \
+    java.time.chrono \
+    java.time.format \
+    java.time.temporal \
+    java.time.zone \
+    java.util \
+    java.util.concurrent \
+    java.util.concurrent.atomic \
+    java.util.concurrent.locks \
+    java.util.function \
+    java.util.jar \
+    java.util.logging \
+    java.util.prefs \
+    java.util.regex \
+    java.util.spi \
+    java.util.stream \
+    java.util.zip \
+    javax.accessibility \
+    javax.activation \
+    javax.activity \
+    javax.annotation \
+    javax.annotation.processing \
+    javax.crypto \
+    javax.crypto.interfaces \
+    javax.crypto.spec \
+    javax.imageio \
+    javax.imageio.event \
+    javax.imageio.metadata \
+    javax.imageio.plugins.jpeg \
+    javax.imageio.plugins.bmp \
+    javax.imageio.spi \
+    javax.imageio.stream \
+    javax.jws \
+    javax.jws.soap \
+    javax.lang.model \
+    javax.lang.model.element \
+    javax.lang.model.type \
+    javax.lang.model.util \
+    javax.management \
+    javax.management.loading \
+    javax.management.monitor \
+    javax.management.relation \
+    javax.management.openmbean \
+    javax.management.timer \
+    javax.management.modelmbean \
+    javax.management.remote \
+    javax.management.remote.rmi \
+    javax.naming \
+    javax.naming.directory \
+    javax.naming.event \
+    javax.naming.ldap \
+    javax.naming.spi \
+    javax.net \
+    javax.net.ssl \
+    javax.print \
+    javax.print.attribute \
+    javax.print.attribute.standard \
+    javax.print.event \
+    javax.rmi \
+    javax.rmi.CORBA \
+    javax.rmi.ssl \
+    javax.script \
+    javax.security.auth \
+    javax.security.auth.callback \
+    javax.security.auth.kerberos \
+    javax.security.auth.login \
+    javax.security.auth.spi \
+    javax.security.auth.x500 \
+    javax.security.cert \
+    javax.security.sasl \
+    javax.sound.sampled \
+    javax.sound.sampled.spi \
+    javax.sound.midi \
+    javax.sound.midi.spi \
+    javax.sql \
+    javax.sql.rowset \
+    javax.sql.rowset.serial \
+    javax.sql.rowset.spi \
+    javax.swing \
+    javax.swing.border \
+    javax.swing.colorchooser \
+    javax.swing.filechooser \
+    javax.swing.event \
+    javax.swing.table \
+    javax.swing.text \
+    javax.swing.text.html \
+    javax.swing.text.html.parser \
+    javax.swing.text.rtf \
+    javax.swing.tree \
+    javax.swing.undo \
+    javax.swing.plaf \
+    javax.swing.plaf.basic \
+    javax.swing.plaf.metal \
+    javax.swing.plaf.multi \
+    javax.swing.plaf.nimbus \
+    javax.swing.plaf.synth \
+    javax.tools \
+    javax.tools.annotation \
+    javax.transaction \
+    javax.transaction.xa \
+    javax.xml.parsers \
+    javax.xml.bind \
+    javax.xml.bind.annotation \
+    javax.xml.bind.annotation.adapters \
+    javax.xml.bind.attachment \
+    javax.xml.bind.helpers \
+    javax.xml.bind.util \
+    javax.xml.soap \
+    javax.xml.ws \
+    javax.xml.ws.handler \
+    javax.xml.ws.handler.soap \
+    javax.xml.ws.http \
+    javax.xml.ws.soap \
+    javax.xml.ws.spi \
+    javax.xml.ws.spi.http \
+    javax.xml.ws.wsaddressing \
+    javax.xml.transform \
+    javax.xml.transform.sax \
+    javax.xml.transform.dom \
+    javax.xml.transform.stax \
+    javax.xml.transform.stream \
+    javax.xml \
+    javax.xml.crypto \
+    javax.xml.crypto.dom \
+    javax.xml.crypto.dsig \
+    javax.xml.crypto.dsig.dom \
+    javax.xml.crypto.dsig.keyinfo \
+    javax.xml.crypto.dsig.spec \
+    javax.xml.datatype \
+    javax.xml.validation \
+    javax.xml.namespace \
+    javax.xml.xpath \
+    javax.xml.stream \
+    javax.xml.stream.events \
+    javax.xml.stream.util \
+    org.ietf.jgss \
+    org.omg.CORBA \
+    org.omg.CORBA.DynAnyPackage \
+    org.omg.CORBA.ORBPackage \
+    org.omg.CORBA.TypeCodePackage \
+    org.omg.stub.java.rmi \
+    org.omg.CORBA.portable \
+    org.omg.CORBA_2_3 \
+    org.omg.CORBA_2_3.portable \
+    org.omg.CosNaming \
+    org.omg.CosNaming.NamingContextExtPackage \
+    org.omg.CosNaming.NamingContextPackage \
+    org.omg.SendingContext \
+    org.omg.PortableServer \
+    org.omg.PortableServer.CurrentPackage \
+    org.omg.PortableServer.POAPackage \
+    org.omg.PortableServer.POAManagerPackage \
+    org.omg.PortableServer.ServantLocatorPackage \
+    org.omg.PortableServer.portable \
+    org.omg.PortableInterceptor \
+    org.omg.PortableInterceptor.ORBInitInfoPackage \
+    org.omg.Messaging \
+    org.omg.IOP \
+    org.omg.IOP.CodecFactoryPackage \
+    org.omg.IOP.CodecPackage \
+    org.omg.Dynamic \
+    org.omg.DynamicAny \
+    org.omg.DynamicAny.DynAnyPackage \
+    org.omg.DynamicAny.DynAnyFactoryPackage \
+    org.w3c.dom \
+    org.w3c.dom.events \
+    org.w3c.dom.bootstrap \
+    org.w3c.dom.ls \
+    org.w3c.dom.views \
+    org.xml.sax \
+    org.xml.sax.ext \
+    org.xml.sax.helpers
--- a/common/makefiles/javadoc/Javadoc.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/javadoc/Javadoc.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -47,31 +47,31 @@
 BUILD_NUMBER=$(JDK_BUILD_NUMBER)
 
 JAVADOC_CMD = $(JAVA) \
-              -Xmx1024m \
-	      -Djava.awt.headless=true \
-	      $(NEW_JAVADOC) \
-	      -bootclasspath $(JDK_OUTPUTDIR)/classes
+    -Xmx1024m \
+    -Djava.awt.headless=true \
+    $(NEW_JAVADOC) \
+    -bootclasspath $(JDK_OUTPUTDIR)/classes
 
 # Copyright year for beginning of Java and some of the apis
-#   (Needed when creating the javadocs)
-FIRST_COPYRIGHT_YEAR                = 1993
-DOMAPI_FIRST_COPYRIGHT_YEAR         = 2005
-MIRROR_FIRST_COPYRIGHT_YEAR         = 2004
-DOCLETAPI_FIRST_COPYRIGHT_YEAR      = 1993
-TAGLETAPI_FIRST_COPYRIGHT_YEAR      = 1993
-JDI_FIRST_COPYRIGHT_YEAR            = 1999
-JAAS_FIRST_COPYRIGHT_YEAR           = 1998
-JGSS_FIRST_COPYRIGHT_YEAR           = 2000
-SMARTCARDIO_FIRST_COPYRIGHT_YEAR    = 2005
-HTTPSERVER_FIRST_COPYRIGHT_YEAR     = 2005
-MGMT_FIRST_COPYRIGHT_YEAR           = 2003
-ATTACH_FIRST_COPYRIGHT_YEAR         = 2005
-JCONSOLE_FIRST_COPYRIGHT_YEAR       = 2006
-SCTPAPI_FIRST_COPYRIGHT_YEAR        = 2009
-TRACING_FIRST_COPYRIGHT_YEAR        = 2008
-TREEAPI_FIRST_COPYRIGHT_YEAR        = 2005
-JNLP_FIRST_COPYRIGHT_YEAR           = 1998
-PLUGIN2_FIRST_COPYRIGHT_YEAR        = 2007
+# (Needed when creating the javadocs)
+FIRST_COPYRIGHT_YEAR = 1993
+DOMAPI_FIRST_COPYRIGHT_YEAR = 2005
+MIRROR_FIRST_COPYRIGHT_YEAR = 2004
+DOCLETAPI_FIRST_COPYRIGHT_YEAR = 1993
+TAGLETAPI_FIRST_COPYRIGHT_YEAR = 1993
+JDI_FIRST_COPYRIGHT_YEAR = 1999
+JAAS_FIRST_COPYRIGHT_YEAR = 1998
+JGSS_FIRST_COPYRIGHT_YEAR = 2000
+SMARTCARDIO_FIRST_COPYRIGHT_YEAR = 2005
+HTTPSERVER_FIRST_COPYRIGHT_YEAR = 2005
+MGMT_FIRST_COPYRIGHT_YEAR = 2003
+ATTACH_FIRST_COPYRIGHT_YEAR = 2005
+JCONSOLE_FIRST_COPYRIGHT_YEAR = 2006
+SCTPAPI_FIRST_COPYRIGHT_YEAR = 2009
+TRACING_FIRST_COPYRIGHT_YEAR = 2008
+TREEAPI_FIRST_COPYRIGHT_YEAR = 2005
+JNLP_FIRST_COPYRIGHT_YEAR = 1998
+PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
 
 # Oracle name
 FULL_COMPANY_NAME = Oracle and/or its affiliates
@@ -83,15 +83,15 @@
 TRADEMARK = &trade;
 
 # Common copyright lines used
-#   The word "Copyright" might optionally be a link to the file cpyr.html.
-#   The first year of copyright may vary or not be available.
-#   The address to the company might be optional.
+# The word "Copyright" might optionally be a link to the file cpyr.html.
+# The first year of copyright may vary or not be available.
+# The address to the company might be optional.
 COMMA:= ,
 EMPTY:=
 SPACE:=$(EMPTY) $(EMPTY)
 COPYRIGHT_SYMBOL = &\#x00a9;
 # Macro to construct the copyright line
-#   (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
+# (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
 define CopyrightLine # optionalurl optionalfirstyear optionaladdress
 $(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
 $(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
@@ -114,10 +114,9 @@
 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
+# 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
-# This isn't added in old build yet.
-#DEV_DOCS_URL-8 = 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
 
@@ -130,17 +129,17 @@
 
 
 # List of all possible directories for javadoc to look for sources
-#    NOTE: Quotes are required around sourcepath argument only on Windows.
-#          Otherwise, you get "No packages or classes specified." due 
-#          to $(PATH_SEP) being interpreted as an end of 
-#          command (newline or shell ; character)
+# NOTE: Quotes are required around sourcepath argument only on Windows.
+# Otherwise, you get "No packages or classes specified." due
+# to $(PATH_SEP) being interpreted as an end of
+# command (newline or shell ; character)
 ALL_SOURCE_DIRS = $(JDK_SHARE_CLASSES) \
-                  $(JDK_IMPSRC) \
-                  $(JDK_GENSRC) \
-		  $(JDK_OUTPUTDIR)/gendocsrc_rmic \
-                  $(JDK_TOPDIR)/src/solaris/classes \
-                  $(JDK_TOPDIR)/src/windows/classes \
-		  $(JDK_SHARE_SRC)/doc/stub
+    $(JDK_IMPSRC) \
+    $(JDK_GENSRC) \
+    $(JDK_OUTPUTDIR)/gendocsrc_rmic \
+    $(JDK_TOPDIR)/src/solaris/classes \
+    $(JDK_TOPDIR)/src/windows/classes \
+    $(JDK_SHARE_SRC)/doc/stub
 
 # List of directories that actually exist
 ALL_EXISTING_SOURCE_DIRS := $(wildcard $(ALL_SOURCE_DIRS))
@@ -152,60 +151,60 @@
     $(subst $(SPACE),$(PATH_SEP),$(strip $(ALL_SOURCE_DIRS)))
 
 define prep-target
-$(MKDIR) -p $(@D)
-$(RM) $@
+	$(MKDIR) -p $(@D)
+	$(RM) $@
 endef
 
 # Prep for javadoc creation, assumes $@ is an index.html file
 define prep-javadoc
-@if [ -f "$@" -a "$?" != "" ] ; then \
-  $(ECHO) "# Dependencies have changed: $?"; \
-fi
-$(RM) -r $(@D)
-$(MKDIR) -p $(@D)
+	@if [ -f "$@" -a "$?" != "" ] ; then \
+	  $(ECHO) "# Dependencies have changed: $?"; \
+	fi
+	$(RM) -r $(@D)
+	$(MKDIR) -p $(@D)
 endef
 
 # A cache of the directories in ALL_SOURCE_DIRS
 DIRECTORY_CACHE = $(DOCSTMPDIR)/directory.cache
 
 # Given a list of packages, return a list of files or dirs to be dependent on
-#   (Currently only returning a list of directories)
+# (Currently only returning a list of directories)
 define PackageDependencies # packages
-$(shell							\
-  if [ "$1" != "" -a -f $(DIRECTORY_CACHE) ] ; then	\
-    for p in $1 ; do 					\
-      pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`;	\
-      $(CAT) $(DIRECTORY_CACHE) | $(GREP) "/$${pd}/" ; 	\
-    done; 						\
-  fi							\
-)
+  $(shell \
+      if [ "$1" != "" -a -f $(DIRECTORY_CACHE) ] ; then \
+        for p in $1 ; do \
+          pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
+          $(CAT) $(DIRECTORY_CACHE) | $(GREP) "/$${pd}/" ; \
+        done; \
+      fi \
+  )
 endef
 
 # Given a list of packages, add packages that exist to $@, print summary
 define PackageFilter # packages
-@if [ "$1" != "" ] ; then 				\
-  for p in $1 ; do 					\
-    pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; 	\
-    found="false"; 					\
-    for cp in $(ALL_SOURCE_DIRS) ; do 			\
-      if [ -d $${cp}/$${pd} ] ; then 			\
-        $(ECHO) "$${p}" >> $@; 				\
-	found="true";					\
-	break; 						\
-      fi; 						\
-    done; 						\
-    if [ "$${found}" = "false" ] ; then 		\
-      $(ECHO) "WARNING: Package not found: $${p}"; 	\
-    fi; 						\
-  done; 						\
-fi
+	@if [ "$1" != "" ] ; then \
+	  for p in $1 ; do \
+	    pd=`$(ECHO) $${p} | $(SED) -e 's@[.]@/@g'`; \
+	    found="false"; \
+	    for cp in $(ALL_SOURCE_DIRS) ; do \
+	      if [ -d $${cp}/$${pd} ] ; then \
+	        $(ECHO) "$${p}" >> $@; \
+	        found="true"; \
+	        break; \
+	      fi; \
+	    done; \
+	    if [ "$${found}" = "false" ] ; then \
+	      $(ECHO) "WARNING: Package not found: $${p}"; \
+	    fi; \
+	  done; \
+	fi
 endef
 
 # Print out a summary of the javadoc command about to be run
 define JavadocSummary # optionsfile packagesfile
-@$(ECHO) "# Summary for $@";\
- $(ECHO) "# Options (`$(BASENAME) $1`):"; $(SED) -e 's@^@#   @' $1; \
- $(ECHO) "# Packages (`$(BASENAME) $2`):";$(SED) -e 's@^@#   @' $2
+	@$(ECHO) "# Summary for $@"; \
+	$(ECHO) "# Options (`$(BASENAME) $1`):"; $(SED) -e 's@^@#   @' $1; \
+	$(ECHO) "# Packages (`$(BASENAME) $2`):";$(SED) -e 's@^@#   @' $2
 endef
 
 #
@@ -216,15 +215,15 @@
 #
 # Different api directories created from root directory
 #
-COREAPI_DOCSDIR   = $(DOCSDIR)/api
-JDK_API_DOCSDIR   = $(DOCSDIR)/jdk/api
-JRE_API_DOCSDIR   = $(DOCSDIR)/jre/api
-PLATFORM_DOCSDIR  = $(DOCSDIR)/platform
+COREAPI_DOCSDIR = $(DOCSDIR)/api
+JDK_API_DOCSDIR = $(DOCSDIR)/jdk/api
+JRE_API_DOCSDIR = $(DOCSDIR)/jre/api
+PLATFORM_DOCSDIR = $(DOCSDIR)/platform
 
 # The non-core api javadocs need to be able to access the root of the core
-#   api directory, so for jdk/api or jre/api to get to the core api/
-#   directory we would use this:
-JDKJRE2COREAPI    = ../../api
+# api directory, so for jdk/api or jre/api to get to the core api/
+# directory we would use this:
+JDKJRE2COREAPI = ../../api
 
 # Common bottom argument
 define CommonBottom # year
@@ -241,13 +240,13 @@
 
 # Common echo of option
 define OptionOnly # opt
-$(PRINTF) "%s\n" "$1"
+	$(PRINTF) "%s\n" "$1"
 endef
 define OptionPair # opt arg
-$(PRINTF) "%s '%s'\n" "$1" '$2'
+	$(PRINTF) "%s '%s'\n" "$1" '$2'
 endef
 define OptionTrip # opt arg arg
-$(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
+	$(PRINTF) "%s '%s' '%s'\n" "$1" '$2' '$3'
 endef
 
 # Core api bottom argument (with special sauce)
@@ -261,18 +260,18 @@
 </font>
 
 # Common javadoc options used by all
-COMMON_JAVADOCFLAGS =					\
-                -XDignore.symbol.file=true              \
-		-quiet					\
-                -use					\
-                -keywords				\
-		-Xdoclint:none				\
-                -Xprofilespath $(JDK_TOPDIR)/makefiles/profile-rtjar-includes.txt \
-		$(ADDITIONAL_JAVADOCFLAGS)
+COMMON_JAVADOCFLAGS = \
+    -XDignore.symbol.file=true \
+    -quiet \
+    -use \
+    -keywords \
+    -Xdoclint:none \
+    -Xprofilespath $(JDK_TOPDIR)/makefiles/profile-rtjar-includes.txt \
+    $(ADDITIONAL_JAVADOCFLAGS)
 
 ifdef OPENJDK
-  ADDITIONAL_JAVADOCFLAGS =				\
-                -Xdocrootparent $(DOCS_BASE_URL)
+  ADDITIONAL_JAVADOCFLAGS = \
+      -Xdocrootparent $(DOCS_BASE_URL)
 else
   ADDITIONAL_JAVADOCFLAGS =
 endif
@@ -280,11 +279,11 @@
 # 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)
-    # Early access top text (not used in FCS releases)
-    COREAPI_TOP_EARLYACCESS = \
+  DRAFT_HEADER = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
+  DRAFT_BOTTOM = <br><strong>DRAFT&nbsp;$(MILESTONE)-$(BUILD_NUMBER)</strong>
+  DRAFT_WINTITLE = $(BUILD_NUMBER)
+  # Early access top text (not used in FCS releases)
+  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; \
@@ -295,6 +294,7 @@
 The information is being made available to you solely for purpose of \
 evaluation. \
 </div> </div>
+
 endif
 
 #################################################################
@@ -321,12 +321,12 @@
 
 #################################################################
 # 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.
+# 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
+# See: Notes.html#releaseTargets
 # Note: Spaces precede ifdef/ifndef indents. Tabs precede target commands (!)
 #
 
@@ -336,20 +336,20 @@
 	@$(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
+        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 \
+COREAPI_DOCTITLE = Java$(TRADEMARK) Platform, Standard Edition \
 $(JDK_MINOR_VERSION)<br>API Specification
-COREAPI_WINDOWTITLE  = Java Platform SE $(JDK_MINOR_VERSION)
+COREAPI_WINDOWTITLE = Java Platform SE $(JDK_MINOR_VERSION)
 COREAPI_HEADER = \
 <strong>Java$(TRADEMARK)&nbsp;Platform<br>Standard&nbsp;Ed.&nbsp;$(JDK_MINOR_VERSION)</strong>
 
@@ -361,8 +361,8 @@
 COREAPI_OVERVIEW = $(JDK_SHARE_CLASSES)/overview-core.html
 
 # The index.html, options, and packages files
-COREAPI_INDEX_FILE    = $(COREAPI_DOCSDIR)/index.html
-COREAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/coredocs.options
+COREAPI_INDEX_FILE = $(COREAPI_DOCSDIR)/index.html
+COREAPI_OPTIONS_FILE = $(DOCSTMPDIR)/coredocs.options
 COREAPI_PACKAGES_FILE = $(DOCSTMPDIR)/coredocs.packages
 
 coredocs: $(COREAPI_INDEX_FILE)
@@ -375,43 +375,43 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(COREAPI_OPTIONS_FILE),$(COREAPI_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
+	    @$(COREAPI_OPTIONS_FILE) @$(COREAPI_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW)
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ISO-8859-1)			; \
-	  $(call OptionPair,-tag,beaninfo:X)				; \
-	  $(call OptionPair,-tag,revised:X)				; \
-	  $(call OptionPair,-tag,since.unbundled:X)			; \
-	  $(call OptionPair,-tag,spec:X)				; \
-	  $(call OptionPair,-tag,specdefault:X)				; \
-	  $(call OptionPair,-tag,Note:X)				; \
-	  $(call OptionPair,-tag,ToDo:X)				; \
-          $(call OptionPair,-tag,apiNote:a:API Note:)                   ; \
-          $(call OptionPair,-tag,implSpec:a:Implementation Requirements:) ; \
-          $(call OptionPair,-tag,implNote:a:Implementation Note:)       ; \
-          $(call OptionPair,-tag,param)                                 ; \
-          $(call OptionPair,-tag,return)                                ; \
-          $(call OptionPair,-tag,throws)                                ; \
-          $(call OptionPair,-tag,since)                                 ; \
-          $(call OptionPair,-tag,version)                               ; \
-          $(call OptionPair,-tag,serialData)                            ; \
-          $(call OptionPair,-tag,factory)                               ; \
-          $(call OptionPair,-tag,see)                                   ; \
-          $(call OptionPair,-tag,$(TAG_JLS)) 				; \
-	  $(call OptionOnly,-splitIndex)				; \
-	  $(call OptionPair,-overview,$(COREAPI_OVERVIEW))		; \
-	  $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE))		; \
-	  $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ;\
-	  $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
-        ) >> $@
-ifdef COREAPI_TOP_EARLYACCESS
-	@$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
-endif
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ISO-8859-1) ; \
+	  $(call OptionPair,-tag,beaninfo:X) ; \
+	  $(call OptionPair,-tag,revised:X) ; \
+	  $(call OptionPair,-tag,since.unbundled:X) ; \
+	  $(call OptionPair,-tag,spec:X) ; \
+	  $(call OptionPair,-tag,specdefault:X) ; \
+	  $(call OptionPair,-tag,Note:X) ; \
+	  $(call OptionPair,-tag,ToDo:X) ; \
+	  $(call OptionPair,-tag,apiNote:a:API Note:) ; \
+	  $(call OptionPair,-tag,implSpec:a:Implementation Requirements:) ; \
+	  $(call OptionPair,-tag,implNote:a:Implementation Note:) ; \
+	  $(call OptionPair,-tag,param) ; \
+	  $(call OptionPair,-tag,return) ; \
+	  $(call OptionPair,-tag,throws) ; \
+	  $(call OptionPair,-tag,since) ; \
+	  $(call OptionPair,-tag,version) ; \
+	  $(call OptionPair,-tag,serialData) ; \
+	  $(call OptionPair,-tag,factory) ; \
+	  $(call OptionPair,-tag,see) ; \
+	  $(call OptionPair,-tag,$(TAG_JLS)) ; \
+	  $(call OptionOnly,-splitIndex) ; \
+	  $(call OptionPair,-overview,$(COREAPI_OVERVIEW)) ; \
+	  $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE)) ; \
+	  $(call OptionPair,-windowtitle,$(COREAPI_WINDOWTITLE) $(DRAFT_WINTITLE)) ; \
+	  $(call OptionPair,-header,$(COREAPI_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(COREAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
+	) >> $@
+        ifdef COREAPI_TOP_EARLYACCESS
+	  @$(call OptionPair,-top,$(COREAPI_TOP_EARLYACCESS)) >> $@
+        endif
 
 # Create a file with the package names in it
 $(COREAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(CORE_PKGS))
@@ -425,19 +425,19 @@
 
 ALL_OTHER_TARGETS += docletapidocs
 
-DOCLETAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javadoc/doclet
-DOCLETAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
-DOCLETAPI_DOCTITLE     := Doclet API
-DOCLETAPI_WINDOWTITLE  := Doclet API
-DOCLETAPI_HEADER       := <strong>Doclet API</strong>
-DOCLETAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
-DOCLETAPI_GROUPNAME    := Packages
-DOCLETAPI_REGEXP       := com.sun.javadoc
+DOCLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/doclet
+DOCLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
+DOCLETAPI_DOCTITLE := Doclet API
+DOCLETAPI_WINDOWTITLE := Doclet API
+DOCLETAPI_HEADER := <strong>Doclet API</strong>
+DOCLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR))
+DOCLETAPI_GROUPNAME := Packages
+DOCLETAPI_REGEXP := com.sun.javadoc
 # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk
 
 # The index.html, options, and packages files
-DOCLETAPI_INDEX_FILE    = $(DOCLETAPI_DOCDIR)/index.html
-DOCLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/docletapi.options
+DOCLETAPI_INDEX_FILE = $(DOCLETAPI_DOCDIR)/index.html
+DOCLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/docletapi.options
 DOCLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/docletapi.packages
 
 docletapidocs: $(DOCLETAPI_INDEX_FILE)
@@ -450,22 +450,22 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(DOCLETAPI_OPTIONS_FILE),$(DOCLETAPI_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
+	    @$(DOCLETAPI_OPTIONS_FILE) @$(DOCLETAPI_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(DOCLETAPI_OPTIONS_FILE):
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-breakiterator)				; \
-	  $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE))		; \
-	  $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
-	  $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-breakiterator) ; \
+	  $(call OptionPair,-doctitle,$(DOCLETAPI_DOCTITLE)) ; \
+	  $(call OptionPair,-windowtitle,$(DOCLETAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
+	  $(call OptionPair,-header,$(DOCLETAPI_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(DOCLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-group,$(DOCLETAPI_GROUPNAME),$(DOCLETAPI_REGEXP)); \
 	  $(call OptionTrip,-linkoffline,$(DOCLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(DOCLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOCLETAPI_PKGS))
@@ -478,17 +478,17 @@
 #
 
 ALL_OTHER_TARGETS += tagletapidocs
-TAGLETAPI_DOCDIR   := $(JDK_API_DOCSDIR)/javadoc/taglet
-TAGLETAPI2COREAPI  := ../../$(JDKJRE2COREAPI)
-TAGLETAPI_BOTTOM   := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
+TAGLETAPI_DOCDIR := $(JDK_API_DOCSDIR)/javadoc/taglet
+TAGLETAPI2COREAPI := ../../$(JDKJRE2COREAPI)
+TAGLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(TAGLETAPI_FIRST_COPYRIGHT_YEAR))
 # TAGLETAPI_FILE is located in NON_CORE_PKGS.gmk
 
 # Temporary directory (special generation rules)
-TAGLETAPI_TEMPDIR       = $(DOCSTMPDIR)/taglets_temp
+TAGLETAPI_TEMPDIR = $(DOCSTMPDIR)/taglets_temp
 
 # The index.html, options, and packages files
-TAGLETAPI_INDEX_FILE    = $(TAGLETAPI_DOCDIR)/index.html
-TAGLETAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/tagletapi.options
+TAGLETAPI_INDEX_FILE = $(TAGLETAPI_DOCDIR)/index.html
+TAGLETAPI_OPTIONS_FILE = $(DOCSTMPDIR)/tagletapi.options
 TAGLETAPI_PACKAGES_FILE = $(DOCSTMPDIR)/tagletapi.packages
 
 tagletapidocs: $(TAGLETAPI_INDEX_FILE)
@@ -503,7 +503,7 @@
 	$(MKDIR) -p $(TAGLETAPI_TEMPDIR)
 	$(call JavadocSummary,$(TAGLETAPI_OPTIONS_FILE),$(TAGLETAPI_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(TAGLETAPI_TEMPDIR) \
-	  @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
+	    @$(TAGLETAPI_OPTIONS_FILE) @$(TAGLETAPI_PACKAGES_FILE)
 	cp -r $(TAGLETAPI_TEMPDIR)/com $(@D)
 	cp $(TAGLETAPI_TEMPDIR)/stylesheet.css $(@D)
 	$(RM) -r $(TAGLETAPI_TEMPDIR)
@@ -511,14 +511,14 @@
 # Create file with javadoc options in it
 $(TAGLETAPI_OPTIONS_FILE):
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-nonavbar)					; \
-          $(call OptionOnly,-noindex)                                   ; \
-	  $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-nonavbar) ; \
+	  $(call OptionOnly,-noindex) ; \
+	  $(call OptionPair,-bottom,$(TAGLETAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-linkoffline,$(TAGLETAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(TAGLETAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TAGLETAPI_PKGS))
@@ -532,19 +532,19 @@
 
 ALL_OTHER_TARGETS += domapidocs
 
-DOMAPI_DOCDIR       := $(JRE_API_DOCSDIR)/plugin/dom
-DOMAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
-DOMAPI_DOCTITLE     := Common DOM API
-DOMAPI_WINDOWTITLE  := Common DOM API
-DOMAPI_HEADER       := <strong>Common DOM API</strong>
-DOMAPI_BOTTOM       := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
-DOMAPI_GROUPNAME    := Packages
-DOMAPI_REGEXP       := com.sun.java.browser.dom:org.w3c.dom*
+DOMAPI_DOCDIR := $(JRE_API_DOCSDIR)/plugin/dom
+DOMAPI2COREAPI := ../../$(JDKJRE2COREAPI)
+DOMAPI_DOCTITLE := Common DOM API
+DOMAPI_WINDOWTITLE := Common DOM API
+DOMAPI_HEADER := <strong>Common DOM API</strong>
+DOMAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOMAPI_FIRST_COPYRIGHT_YEAR))
+DOMAPI_GROUPNAME := Packages
+DOMAPI_REGEXP := com.sun.java.browser.dom:org.w3c.dom*
 # DOMAPI_PKGS is located in NON_CORE_PKGS.gmk
 
 # The index.html, options, and packages files
-DOMAPI_INDEX_FILE    = $(DOMAPI_DOCDIR)/index.html
-DOMAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/domapi.options
+DOMAPI_INDEX_FILE = $(DOMAPI_DOCDIR)/index.html
+DOMAPI_OPTIONS_FILE = $(DOCSTMPDIR)/domapi.options
 DOMAPI_PACKAGES_FILE = $(DOCSTMPDIR)/domapi.packages
 
 domapidocs: $(DOMAPI_INDEX_FILE)
@@ -557,22 +557,22 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(DOMAPI_OPTIONS_FILE),$(DOMAPI_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
+	    @$(DOMAPI_OPTIONS_FILE) @$(DOMAPI_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(DOMAPI_OPTIONS_FILE):
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-splitIndex)				; \
-	  $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE))		; \
-	  $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
-	  $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-splitIndex) ; \
+	  $(call OptionPair,-doctitle,$(DOMAPI_DOCTITLE)) ; \
+	  $(call OptionPair,-windowtitle,$(DOMAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
+	  $(call OptionPair,-header,$(DOMAPI_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(DOMAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-group,$(DOMAPI_GROUPNAME),$(DOMAPI_REGEXP)); \
 	  $(call OptionTrip,-linkoffline,$(DOMAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(DOMAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(DOMAPI_PKGS))
@@ -595,18 +595,18 @@
 
 ALL_OTHER_TARGETS += jdidocs
 
-JDI_DOCDIR      := $(JDK_API_DOCSDIR)/jpda/jdi
-JDI2COREAPI     := ../../$(JDKJRE2COREAPI)
-JDI_DOCTITLE    := Java$(TRADEMARK) Debug Interface
+JDI_DOCDIR := $(JDK_API_DOCSDIR)/jpda/jdi
+JDI2COREAPI := ../../$(JDKJRE2COREAPI)
+JDI_DOCTITLE := Java$(TRADEMARK) Debug Interface
 JDI_WINDOWTITLE := Java Debug Interface
-JDI_HEADER      := <strong>Java Debug Interface</strong>
-JDI_BOTTOM      := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
-JDI_OVERVIEW    := $(JDK_SHARE_CLASSES)/jdi-overview.html
+JDI_HEADER := <strong>Java Debug Interface</strong>
+JDI_BOTTOM := $(call CommonBottom,$(JDI_FIRST_COPYRIGHT_YEAR))
+JDI_OVERVIEW := $(JDK_SHARE_CLASSES)/jdi-overview.html
 # JDI_PKGS is located in NON_CORE_PKGS.gmk
 
 # The index.html, options, and packages files
-JDI_INDEX_FILE    = $(JDI_DOCDIR)/index.html
-JDI_OPTIONS_FILE  = $(DOCSTMPDIR)/jdi.options
+JDI_INDEX_FILE = $(JDI_DOCDIR)/index.html
+JDI_OPTIONS_FILE = $(DOCSTMPDIR)/jdi.options
 JDI_PACKAGES_FILE = $(DOCSTMPDIR)/jdi.packages
 
 jdidocs: $(JDI_INDEX_FILE)
@@ -619,21 +619,21 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(JDI_OPTIONS_FILE),$(JDI_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
+	    @$(JDI_OPTIONS_FILE) @$(JDI_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(JDI_OPTIONS_FILE): $(JDI_OVERVIEW)
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionPair,-overview,$(JDI_OVERVIEW))			; \
-	  $(call OptionPair,-doctitle,$(JDI_DOCTITLE))			; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionPair,-overview,$(JDI_OVERVIEW)) ; \
+	  $(call OptionPair,-doctitle,$(JDI_DOCTITLE)) ; \
 	  $(call OptionPair,-windowtitle,$(JDI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
-	  $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM))	; \
+	  $(call OptionPair,-header,$(JDI_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(JDI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-linkoffline,$(JDI2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(JDI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JDI_PKGS))
@@ -647,7 +647,7 @@
 
 ALL_OTHER_TARGETS += jdwpdocs
 
-JDWP_DOCDIR     = $(PLATFORM_DOCSDIR)/jpda/jdwp
+JDWP_DOCDIR = $(PLATFORM_DOCSDIR)/jpda/jdwp
 
 jdwpdocs: $(JDWP_DOCDIR)/jdwp-protocol.html
 $(JDWP_DOCDIR)/jdwp-protocol.html : $(JDK_OUTPUTDIR)/gensrc_jdwp_doc/jdwp-protocol.html
@@ -662,16 +662,16 @@
 
 ALL_OTHER_TARGETS += jvmtidocs
 
-JVMTI_DOCDIR      = $(PLATFORM_DOCSDIR)/jvmti
-JVMTI_HTML        = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
+JVMTI_DOCDIR = $(PLATFORM_DOCSDIR)/jvmti
+JVMTI_HTML = $(HOTSPOT_DIST)/docs/platform/jvmti/jvmti.html
 
-jvmtidocs:  $(JVMTI_DOCDIR)/jvmti.html
+jvmtidocs: $(JVMTI_DOCDIR)/jvmti.html
 $(JVMTI_DOCDIR)/jvmti.html:
 	@$(prep-javadoc)
-	@if [ -f $(JVMTI_HTML) ] ; then		                           \
-	  $(ECHO) "$(CP) $(JVMTI_HTML) $@";                 	           \
-	  $(CP) $(JVMTI_HTML) $@; 	                 	           \
-	else 						                   \
+	@if [ -f $(JVMTI_HTML) ] ; then \
+	  $(ECHO) "$(CP) $(JVMTI_HTML) $@"; \
+	  $(CP) $(JVMTI_HTML) $@; \
+	else \
 	  $(ECHO) "WARNING: Generated file does not exist: $(JVMTI_HTML)"; \
 	fi
 
@@ -682,18 +682,18 @@
 
 ALL_OTHER_TARGETS += jaasdocs
 
-JAAS_DOCDIR	 := $(JRE_API_DOCSDIR)/security/jaas/spec
-JAAS2COREAPI     := ../../../$(JDKJRE2COREAPI)
-JAAS_DOCTITLE    := Java$(TRADEMARK) Authentication and Authorization Service
+JAAS_DOCDIR := $(JRE_API_DOCSDIR)/security/jaas/spec
+JAAS2COREAPI := ../../../$(JDKJRE2COREAPI)
+JAAS_DOCTITLE := Java$(TRADEMARK) Authentication and Authorization Service
 JAAS_WINDOWTITLE := Java Authentication and Authorization Service
-JAAS_HEADER      := <strong>Java Authentication and Authorization Service</strong>
-JAAS_BOTTOM      := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
+JAAS_HEADER := <strong>Java Authentication and Authorization Service</strong>
+JAAS_BOTTOM := $(call CommonBottom,$(JAAS_FIRST_COPYRIGHT_YEAR))
 # JAAS_PKGS is located in NON_CORE_PKGS.gmk
-JAAS_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html
+JAAS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/auth/jaas-overview.html
 
 # The index.html, options, and packages files
-JAAS_INDEX_FILE    = $(JAAS_DOCDIR)/index.html
-JAAS_OPTIONS_FILE  = $(DOCSTMPDIR)/jaas.options
+JAAS_INDEX_FILE = $(JAAS_DOCDIR)/index.html
+JAAS_OPTIONS_FILE = $(DOCSTMPDIR)/jaas.options
 JAAS_PACKAGES_FILE = $(DOCSTMPDIR)/jaas.packages
 
 jaasdocs: $(JAAS_INDEX_FILE)
@@ -706,21 +706,21 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(JAAS_OPTIONS_FILE),$(JAAS_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
+	    @$(JAAS_OPTIONS_FILE) @$(JAAS_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(JAAS_OPTIONS_FILE): $(JAAS_OVERVIEW)
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionPair,-overview,$(JAAS_OVERVIEW))			; \
-	  $(call OptionPair,-doctitle,$(JAAS_DOCTITLE))			; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionPair,-overview,$(JAAS_OVERVIEW)) ; \
+	  $(call OptionPair,-doctitle,$(JAAS_DOCTITLE)) ; \
 	  $(call OptionPair,-windowtitle,$(JAAS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
-	  $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM))	; \
+	  $(call OptionPair,-header,$(JAAS_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(JAAS_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-linkoffline,$(JAAS2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(JAAS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JAAS_PKGS))
@@ -734,18 +734,18 @@
 
 ALL_OTHER_TARGETS += jgssdocs
 
-JGSS_DOCDIR	 := $(JRE_API_DOCSDIR)/security/jgss/spec
-JGSS2COREAPI     := ../../../$(JDKJRE2COREAPI)
-JGSS_DOCTITLE    := Java$(TRADEMARK) GSS-API Utilities
+JGSS_DOCDIR := $(JRE_API_DOCSDIR)/security/jgss/spec
+JGSS2COREAPI := ../../../$(JDKJRE2COREAPI)
+JGSS_DOCTITLE := Java$(TRADEMARK) GSS-API Utilities
 JGSS_WINDOWTITLE := Java GSS-API Utilities
-JGSS_HEADER      := <strong>Java GSS-API Utilities</strong>
-JGSS_BOTTOM      := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
-JGSS_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html
+JGSS_HEADER := <strong>Java GSS-API Utilities</strong>
+JGSS_BOTTOM := $(call CommonBottom,$(JGSS_FIRST_COPYRIGHT_YEAR))
+JGSS_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/security/jgss/jgss-overview.html
 # JGSS_PKGS is located in NON_CORE_PKGS.gmk
 
 # The index.html, options, and packages files
-JGSS_INDEX_FILE    = $(JGSS_DOCDIR)/index.html
-JGSS_OPTIONS_FILE  = $(DOCSTMPDIR)/jgss.options
+JGSS_INDEX_FILE = $(JGSS_DOCDIR)/index.html
+JGSS_OPTIONS_FILE = $(DOCSTMPDIR)/jgss.options
 JGSS_PACKAGES_FILE = $(DOCSTMPDIR)/jgss.packages
 
 jgssdocs: $(JGSS_INDEX_FILE)
@@ -758,22 +758,22 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(JGSS_OPTIONS_FILE),$(JGSS_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
+	    @$(JGSS_OPTIONS_FILE) @$(JGSS_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(JGSS_OPTIONS_FILE): $(JGSS_OVERVIEW)
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-nodeprecatedlist)				; \
-	  $(call OptionPair,-overview,$(JGSS_OVERVIEW))			; \
-	  $(call OptionPair,-doctitle,$(JGSS_DOCTITLE))			; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-nodeprecatedlist) ; \
+	  $(call OptionPair,-overview,$(JGSS_OVERVIEW)) ; \
+	  $(call OptionPair,-doctitle,$(JGSS_DOCTITLE)) ; \
 	  $(call OptionPair,-windowtitle,$(JGSS_WINDOWTITLE) $(DRAFT_WINTITLE)); \
-	  $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM))	; \
+	  $(call OptionPair,-header,$(JGSS_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(JGSS_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-linkoffline,$(JGSS2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(JGSS_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JGSS_PKGS))
@@ -787,17 +787,17 @@
 
 ALL_OTHER_TARGETS += smartcardiodocs
 
-SMARTCARDIO_DOCDIR	:= $(JRE_API_DOCSDIR)/security/smartcardio/spec
-SMARTCARDIO2COREAPI     := ../../../$(JDKJRE2COREAPI)
-SMARTCARDIO_DOCTITLE    := Java$(TRADEMARK) Smart Card I/O
+SMARTCARDIO_DOCDIR := $(JRE_API_DOCSDIR)/security/smartcardio/spec
+SMARTCARDIO2COREAPI := ../../../$(JDKJRE2COREAPI)
+SMARTCARDIO_DOCTITLE := Java$(TRADEMARK) Smart Card I/O
 SMARTCARDIO_WINDOWTITLE := Java Smart Card I/O
-SMARTCARDIO_HEADER      := <strong>Java Smart Card I/O</strong>
-SMARTCARDIO_BOTTOM      := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
+SMARTCARDIO_HEADER := <strong>Java Smart Card I/O</strong>
+SMARTCARDIO_BOTTOM := $(call CommonBottom,$(SMARTCARDIO_FIRST_COPYRIGHT_YEAR))
 # SMARTCARDIO_PKGS is located in NON_CORE_PKGS.gmk
 
 # The index.html, options, and packages files
-SMARTCARDIO_INDEX_FILE    = $(SMARTCARDIO_DOCDIR)/index.html
-SMARTCARDIO_OPTIONS_FILE  = $(DOCSTMPDIR)/smartcardio.options
+SMARTCARDIO_INDEX_FILE = $(SMARTCARDIO_DOCDIR)/index.html
+SMARTCARDIO_OPTIONS_FILE = $(DOCSTMPDIR)/smartcardio.options
 SMARTCARDIO_PACKAGES_FILE = $(DOCSTMPDIR)/smartcardio.packages
 
 smartcardiodocs: $(SMARTCARDIO_INDEX_FILE)
@@ -810,21 +810,21 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(SMARTCARDIO_OPTIONS_FILE),$(SMARTCARDIO_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
+	    @$(SMARTCARDIO_OPTIONS_FILE) @$(SMARTCARDIO_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(SMARTCARDIO_OPTIONS_FILE):
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-nodeprecatedlist)				; \
-	  $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE))		; \
-	  $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE));\
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-nodeprecatedlist) ; \
+	  $(call OptionPair,-doctitle,$(SMARTCARDIO_DOCTITLE)) ; \
+	  $(call OptionPair,-windowtitle,$(SMARTCARDIO_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 	  $(call OptionPair,-header,$(SMARTCARDIO_HEADER)$(DRAFT_HEADER)); \
 	  $(call OptionPair,-bottom,$(SMARTCARDIO_BOTTOM)$(DRAFT_BOTTOM)); \
 	  $(call OptionTrip,-linkoffline,$(SMARTCARDIO2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(SMARTCARDIO_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SMARTCARDIO_PKGS))
@@ -838,16 +838,16 @@
 
 ALL_OTHER_TARGETS += httpserverdocs
 
-HTTPSERVER_DOCDIR      := $(JRE_API_DOCSDIR)/net/httpserver/spec
-HTTPSERVER2COREAPI     := ../../../$(JDKJRE2COREAPI)
-HTTPSERVER_DOCTITLE    := Java$(TRADEMARK) HTTP Server
+HTTPSERVER_DOCDIR := $(JRE_API_DOCSDIR)/net/httpserver/spec
+HTTPSERVER2COREAPI := ../../../$(JDKJRE2COREAPI)
+HTTPSERVER_DOCTITLE := Java$(TRADEMARK) HTTP Server
 HTTPSERVER_WINDOWTITLE := Java HTTP Server
-HTTPSERVER_HEADER      := <strong>Java HTTP Server</strong>
-HTTPSERVER_BOTTOM      := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
+HTTPSERVER_HEADER := <strong>Java HTTP Server</strong>
+HTTPSERVER_BOTTOM := $(call CommonBottom,$(HTTPSERVER_FIRST_COPYRIGHT_YEAR))
 # HTTPSERVER_PKGS is located in NON_CORE_PKGS.gmk
 
-HTTPSERVER_INDEX_HTML    = $(HTTPSERVER_DOCDIR)/index.html
-HTTPSERVER_OPTIONS_FILE  = $(DOCSTMPDIR)/httpserver.options
+HTTPSERVER_INDEX_HTML = $(HTTPSERVER_DOCDIR)/index.html
+HTTPSERVER_OPTIONS_FILE = $(DOCSTMPDIR)/httpserver.options
 HTTPSERVER_PACKAGES_FILE = $(DOCSTMPDIR)/httpserver.packages
 
 httpserverdocs: $(HTTPSERVER_INDEX_HTML)
@@ -860,21 +860,21 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(HTTPSERVER_OPTIONS_FILE),$(HTTPSERVER_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
+	    @$(HTTPSERVER_OPTIONS_FILE) @$(HTTPSERVER_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(HTTPSERVER_OPTIONS_FILE):
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-nodeprecatedlist)				; \
-	  $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE))		; \
-	  $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE));\
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-nodeprecatedlist) ; \
+	  $(call OptionPair,-doctitle,$(HTTPSERVER_DOCTITLE)) ; \
+	  $(call OptionPair,-windowtitle,$(HTTPSERVER_WINDOWTITLE) $(DRAFT_WINTITLE)); \
 	  $(call OptionPair,-header,$(HTTPSERVER_HEADER)$(DRAFT_HEADER)); \
 	  $(call OptionPair,-bottom,$(HTTPSERVER_BOTTOM)$(DRAFT_BOTTOM)); \
 	  $(call OptionTrip,-linkoffline,$(HTTPSERVER2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(HTTPSERVER_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(HTTPSERVER_PKGS))
@@ -888,20 +888,20 @@
 
 ALL_OTHER_TARGETS += mgmtdocs
 
-MGMT_DOCDIR	 := $(JRE_API_DOCSDIR)/management/extension
-MGMT2COREAPI     := ../../$(JDKJRE2COREAPI)
-JVM_MIB_NAME     := JVM-MANAGEMENT-MIB.mib
-JVM_MIB_SRC      := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
-MGMT_DOCTITLE    := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
+MGMT_DOCDIR := $(JRE_API_DOCSDIR)/management/extension
+MGMT2COREAPI := ../../$(JDKJRE2COREAPI)
+JVM_MIB_NAME := JVM-MANAGEMENT-MIB.mib
+JVM_MIB_SRC := $(JDK_TOPDIR)/src/closed/share/classes/sun/management/snmp/$(JVM_MIB_NAME)
+MGMT_DOCTITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform
 MGMT_WINDOWTITLE := Monitoring and Management Interface for the Java Platform
-MGMT_HEADER      := <strong>Monitoring and Management Interface for the Java Platform</strong>
-MGMT_BOTTOM      := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
-MGMT_OVERVIEW    := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html
+MGMT_HEADER := <strong>Monitoring and Management Interface for the Java Platform</strong>
+MGMT_BOTTOM := $(call CommonBottom,$(MGMT_FIRST_COPYRIGHT_YEAR))
+MGMT_OVERVIEW := $(JDK_SHARE_CLASSES)/com/sun/management/mgmt-overview.html
 # MGMT_PKGS is located in NON_CORE_PKGS.gmk
 
 # The index.html, options, and packages files
-MGMT_INDEX_FILE    = $(MGMT_DOCDIR)/index.html
-MGMT_OPTIONS_FILE  = $(DOCSTMPDIR)/mgmt.options
+MGMT_INDEX_FILE = $(MGMT_DOCDIR)/index.html
+MGMT_OPTIONS_FILE = $(DOCSTMPDIR)/mgmt.options
 MGMT_PACKAGES_FILE = $(DOCSTMPDIR)/mgmt.packages
 
 mgmtdocs: $(MGMT_INDEX_FILE)
@@ -912,30 +912,30 @@
 # Run javadoc if the index file is out of date or missing
 $(MGMT_INDEX_FILE): $(MGMT_OPTIONS_FILE) $(MGMT_PACKAGES_FILE) coredocs
 	$(prep-javadoc)
-	@if [ -f $(JVM_MIB_SRC) ] ; then 				\
-	  $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/.."; 			\
-	  $(CP) $(JVM_MIB_SRC) $(@D)/.. ; 				\
-	else 								\
-	  $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available."; 	\
+	@if [ -f $(JVM_MIB_SRC) ] ; then \
+	  $(ECHO) "$(CP) $(JVM_MIB_SRC) $(@D)/.."; \
+	  $(CP) $(JVM_MIB_SRC) $(@D)/.. ; \
+	else \
+	  $(ECHO) "WARNING: File $(JVM_MIB_NAME) not available."; \
 	fi
 	$(call JavadocSummary,$(MGMT_OPTIONS_FILE),$(MGMT_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
+	    @$(MGMT_OPTIONS_FILE) @$(MGMT_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(MGMT_OPTIONS_FILE): $(MGMT_OVERVIEW)
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-nodeprecatedlist)				; \
-	  $(call OptionPair,-overview,$(MGMT_OVERVIEW))			; \
-	  $(call OptionPair,-doctitle,$(MGMT_DOCTITLE))			; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-nodeprecatedlist) ; \
+	  $(call OptionPair,-overview,$(MGMT_OVERVIEW)) ; \
+	  $(call OptionPair,-doctitle,$(MGMT_DOCTITLE)) ; \
 	  $(call OptionPair,-windowtitle,$(MGMT_WINDOWTITLE) $(DRAFT_WINTITLE)); \
-	  $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM))	; \
+	  $(call OptionPair,-header,$(MGMT_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(MGMT_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-linkoffline,$(MGMT2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(MGMT_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(MGMT_PKGS))
@@ -949,16 +949,16 @@
 
 ALL_OTHER_TARGETS += attachdocs
 
-ATTACH_DOCDIR      := $(JDK_API_DOCSDIR)/attach/spec
-ATTACH2COREAPI     := ../../$(JDKJRE2COREAPI)
-ATTACH_DOCTITLE    := Attach API
+ATTACH_DOCDIR := $(JDK_API_DOCSDIR)/attach/spec
+ATTACH2COREAPI := ../../$(JDKJRE2COREAPI)
+ATTACH_DOCTITLE := Attach API
 ATTACH_WINDOWTITLE := Attach API
-ATTACH_HEADER      := <strong>Attach API</strong>
-ATTACH_BOTTOM      := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
+ATTACH_HEADER := <strong>Attach API</strong>
+ATTACH_BOTTOM := $(call CommonBottom,$(ATTACH_FIRST_COPYRIGHT_YEAR))
 # ATTACH_PKGS is located in NON_CORE_PKGS.gmk
 
-ATTACH_INDEX_HTML    = $(ATTACH_DOCDIR)/index.html
-ATTACH_OPTIONS_FILE  = $(DOCSTMPDIR)/attach.options
+ATTACH_INDEX_HTML = $(ATTACH_DOCDIR)/index.html
+ATTACH_OPTIONS_FILE = $(DOCSTMPDIR)/attach.options
 ATTACH_PACKAGES_FILE = $(DOCSTMPDIR)/attach.packages
 
 attachdocs: $(ATTACH_INDEX_HTML)
@@ -971,21 +971,21 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(ATTACH_OPTIONS_FILE),$(ATTACH_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
+	    @$(ATTACH_OPTIONS_FILE) @$(ATTACH_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(ATTACH_OPTIONS_FILE):
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-nodeprecatedlist)				; \
-	  $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE))		; \
-	  $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE));\
-	  $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM))	; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-nodeprecatedlist) ; \
+	  $(call OptionPair,-doctitle,$(ATTACH_DOCTITLE)) ; \
+	  $(call OptionPair,-windowtitle,$(ATTACH_WINDOWTITLE) $(DRAFT_WINTITLE)); \
+	  $(call OptionPair,-header,$(ATTACH_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(ATTACH_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-linkoffline,$(ATTACH2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(ATTACH_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(ATTACH_PKGS))
@@ -999,16 +999,16 @@
 
 ALL_OTHER_TARGETS += jconsoledocs
 
-JCONSOLE_DOCDIR      := $(JDK_API_DOCSDIR)/jconsole/spec
-JCONSOLE2COREAPI     := ../../$(JDKJRE2COREAPI)
-JCONSOLE_DOCTITLE    := JConsole API
+JCONSOLE_DOCDIR := $(JDK_API_DOCSDIR)/jconsole/spec
+JCONSOLE2COREAPI := ../../$(JDKJRE2COREAPI)
+JCONSOLE_DOCTITLE := JConsole API
 JCONSOLE_WINDOWTITLE := JConsole API
-JCONSOLE_HEADER      := <strong>JConsole API</strong>
-JCONSOLE_BOTTOM      := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
+JCONSOLE_HEADER := <strong>JConsole API</strong>
+JCONSOLE_BOTTOM := $(call CommonBottom,$(JCONSOLE_FIRST_COPYRIGHT_YEAR))
 # JCONSOLE_PKGS is located in NON_CORE_PKGS.gmk
 
-JCONSOLE_INDEX_HTML    = $(JCONSOLE_DOCDIR)/index.html
-JCONSOLE_OPTIONS_FILE  = $(DOCSTMPDIR)/jconsole.options
+JCONSOLE_INDEX_HTML = $(JCONSOLE_DOCDIR)/index.html
+JCONSOLE_OPTIONS_FILE = $(DOCSTMPDIR)/jconsole.options
 JCONSOLE_PACKAGES_FILE = $(DOCSTMPDIR)/jconsole.packages
 
 jconsoledocs: $(JCONSOLE_INDEX_HTML)
@@ -1021,21 +1021,21 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(JCONSOLE_OPTIONS_FILE),$(JCONSOLE_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
+	    @$(JCONSOLE_OPTIONS_FILE) @$(JCONSOLE_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(JCONSOLE_OPTIONS_FILE):
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-nodeprecatedlist)				; \
-	  $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE))		; \
-	  $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE));\
-	  $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM))	; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-nodeprecatedlist) ; \
+	  $(call OptionPair,-doctitle,$(JCONSOLE_DOCTITLE)) ; \
+	  $(call OptionPair,-windowtitle,$(JCONSOLE_WINDOWTITLE) $(DRAFT_WINTITLE)); \
+	  $(call OptionPair,-header,$(JCONSOLE_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(JCONSOLE_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-linkoffline,$(JCONSOLE2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(JCONSOLE_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(JCONSOLE_PKGS))
@@ -1049,18 +1049,18 @@
 
 ALL_OTHER_TARGETS += treeapidocs
 
-TREEAPI_DOCDIR       := $(JDK_API_DOCSDIR)/javac/tree
-TREEAPI2COREAPI      := ../../$(JDKJRE2COREAPI)
-TREEAPI_DOCTITLE     := Compiler Tree API
-TREEAPI_WINDOWTITLE  := Compiler Tree API
-TREEAPI_HEADER       := <strong>Compiler Tree API</strong>
-TREEAPI_BOTTOM       := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
-TREEAPI_GROUPNAME    := Packages
-TREEAPI_REGEXP       := com.sun.source.*
+TREEAPI_DOCDIR := $(JDK_API_DOCSDIR)/javac/tree
+TREEAPI2COREAPI := ../../$(JDKJRE2COREAPI)
+TREEAPI_DOCTITLE := Compiler Tree API
+TREEAPI_WINDOWTITLE := Compiler Tree API
+TREEAPI_HEADER := <strong>Compiler Tree API</strong>
+TREEAPI_BOTTOM := $(call CommonBottom,$(TREEAPI_FIRST_COPYRIGHT_YEAR))
+TREEAPI_GROUPNAME := Packages
+TREEAPI_REGEXP := com.sun.source.*
 # TREEAPI_PKGS is located in NON_CORE_PKGS.gmk
 
-TREEAPI_INDEX_HTML    = $(TREEAPI_DOCDIR)/index.html
-TREEAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/treeapi.options
+TREEAPI_INDEX_HTML = $(TREEAPI_DOCDIR)/index.html
+TREEAPI_OPTIONS_FILE = $(DOCSTMPDIR)/treeapi.options
 TREEAPI_PACKAGES_FILE = $(DOCSTMPDIR)/treeapi.packages
 
 treeapidocs: $(TREEAPI_INDEX_HTML)
@@ -1073,22 +1073,22 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(TREEAPI_OPTIONS_FILE),$(TREEAPI_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
+	    @$(TREEAPI_OPTIONS_FILE) @$(TREEAPI_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(TREEAPI_OPTIONS_FILE):
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE))		; \
-	  $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
-	  $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER))	; \
-          $(call OptionPair,-tag,$(TAG_JLS)) 				; \
-	  $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE)) ; \
+	  $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
+	  $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-tag,$(TAG_JLS)) ; \
+	  $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \
 	  $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(TREEAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TREEAPI_PKGS))
@@ -1102,16 +1102,16 @@
 
 ALL_OTHER_TARGETS += sctpdocs
 
-SCTPAPI_DOCDIR      := $(JRE_API_DOCSDIR)/nio/sctp/spec
-SCTPAPI2COREAPI     := ../../../$(JDKJRE2COREAPI)
-SCTPAPI_DOCTITLE    := SCTP API
+SCTPAPI_DOCDIR := $(JRE_API_DOCSDIR)/nio/sctp/spec
+SCTPAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
+SCTPAPI_DOCTITLE := SCTP API
 SCTPAPI_WINDOWTITLE := SCTP API
-SCTPAPI_HEADER      := <strong>SCTP API</strong>
-SCTPAPI_BOTTOM      := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
+SCTPAPI_HEADER := <strong>SCTP API</strong>
+SCTPAPI_BOTTOM := $(call CommonBottom,$(SCTPAPI_FIRST_COPYRIGHT_YEAR))
 # SCTPAPI_PKGS is located in NON_CORE_PKGS.gmk
 
-SCTPAPI_INDEX_HTML    = $(SCTPAPI_DOCDIR)/index.html
-SCTPAPI_OPTIONS_FILE  = $(DOCSTMPDIR)/sctp.options
+SCTPAPI_INDEX_HTML = $(SCTPAPI_DOCDIR)/index.html
+SCTPAPI_OPTIONS_FILE = $(DOCSTMPDIR)/sctp.options
 SCTPAPI_PACKAGES_FILE = $(DOCSTMPDIR)/sctp.packages
 
 sctpdocs: $(SCTPAPI_INDEX_HTML)
@@ -1124,21 +1124,21 @@
 	$(prep-javadoc)
 	$(call JavadocSummary,$(SCTPAPI_OPTIONS_FILE),$(SCTPAPI_PACKAGES_FILE))
 	$(JAVADOC_CMD) -d $(@D) \
-	  @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
+	    @$(SCTPAPI_OPTIONS_FILE) @$(SCTPAPI_PACKAGES_FILE)
 
 # Create file with javadoc options in it
 $(SCTPAPI_OPTIONS_FILE):
 	$(prep-target)
-	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS))			; \
-	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH))	; \
-	  $(call OptionPair,-encoding,ascii)				; \
-	  $(call OptionOnly,-nodeprecatedlist)				; \
-	  $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE))		; \
-	  $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\
-	  $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER))	; \
-	  $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM))	; \
+	@($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \
+	  $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+	  $(call OptionPair,-encoding,ascii) ; \
+	  $(call OptionOnly,-nodeprecatedlist) ; \
+	  $(call OptionPair,-doctitle,$(SCTPAPI_DOCTITLE)) ; \
+	  $(call OptionPair,-windowtitle,$(SCTPAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
+	  $(call OptionPair,-header,$(SCTPAPI_HEADER)$(DRAFT_HEADER)) ; \
+	  $(call OptionPair,-bottom,$(SCTPAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
 	  $(call OptionTrip,-linkoffline,$(SCTPAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
-        ) >> $@
+	) >> $@
 
 # Create a file with the package names in it
 $(SCTPAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(SCTPAPI_PKGS))
@@ -1151,9 +1151,9 @@
 
 $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
 	$(prep-target)
-	@for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do 	\
-	  $(ECHO) "$(FIND) $${cp} -type f >> $@"; 	\
-	  $(FIND) $${cp} -type f >> $@; 		\
+	@for cp in $(ALL_EXISTING_SOURCE_DIRS) ; do \
+	  $(ECHO) "$(FIND) $${cp} -type f >> $@"; \
+	  $(FIND) $${cp} -type f >> $@; \
 	done
 
 #############################################################
@@ -1178,11 +1178,11 @@
 # 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
+# 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)
+    sanitycheckcoredocs $(ALL_OTHER_TARGETS)
--- a/common/makefiles/javadoc/NON_CORE_PKGS.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/javadoc/NON_CORE_PKGS.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -24,87 +24,87 @@
 #
 
 #
-# This file contains the package names of all the "non-core" 
-# API published in the Java 2 SDK documentation.  "Non-core" means
+# This file contains the package names of all the "non-core"
+# API published in the Java 2 SDK documentation. "Non-core" means
 # it includes all published API outside of the JDK API specification.
 #
-# These environment variables are used by javadoc in 
+# These environment variables are used by javadoc in
 # make/docs/Makefile and are referenced by the localization
 # team when determining which APIs to extract javadoc
 # comments from.
 
-DOMAPI_PKGS      = com.sun.java.browser.dom   \
-                   org.w3c.dom                \
-                   org.w3c.dom.bootstrap      \
-                   org.w3c.dom.ls             \
-                   org.w3c.dom.ranges         \
-                   org.w3c.dom.traversal      \
-                   org.w3c.dom.html           \
-                   org.w3c.dom.stylesheets    \
-                   org.w3c.dom.css            \
-                   org.w3c.dom.events         \
-                   org.w3c.dom.views
+DOMAPI_PKGS = com.sun.java.browser.dom \
+    org.w3c.dom \
+    org.w3c.dom.bootstrap \
+    org.w3c.dom.ls \
+    org.w3c.dom.ranges \
+    org.w3c.dom.traversal \
+    org.w3c.dom.html \
+    org.w3c.dom.stylesheets \
+    org.w3c.dom.css \
+    org.w3c.dom.events \
+    org.w3c.dom.views
 
-JDI_PKGS         = com.sun.jdi                \
-                   com.sun.jdi.event          \
-                   com.sun.jdi.request        \
-                   com.sun.jdi.connect        \
-                   com.sun.jdi.connect.spi
+JDI_PKGS = com.sun.jdi \
+    com.sun.jdi.event \
+    com.sun.jdi.request \
+    com.sun.jdi.connect \
+    com.sun.jdi.connect.spi
 
-MGMT_PKGS        = com.sun.management
+MGMT_PKGS = com.sun.management
 
-JAAS_PKGS        = com.sun.security.auth          \
-                   com.sun.security.auth.callback \
-                   com.sun.security.auth.login    \
-                   com.sun.security.auth.module
+JAAS_PKGS = com.sun.security.auth \
+    com.sun.security.auth.callback \
+    com.sun.security.auth.login \
+    com.sun.security.auth.module
 
-JGSS_PKGS        = com.sun.security.jgss
+JGSS_PKGS = com.sun.security.jgss
 
-OLD_JSSE_PKGS    = com.sun.net.ssl
+OLD_JSSE_PKGS = com.sun.net.ssl
 
-HTTPSERVER_PKGS  = com.sun.net.httpserver       \
-                   com.sun.net.httpserver.spi 
+HTTPSERVER_PKGS = com.sun.net.httpserver \
+    com.sun.net.httpserver.spi
 
-NIO_PKGS         = com.sun.nio.file
+NIO_PKGS = com.sun.nio.file
 
-DOCLETAPI_PKGS   = com.sun.javadoc
+DOCLETAPI_PKGS = com.sun.javadoc
 
-TAGLETAPI_FILE   = com/sun/tools/doclets/Taglet.java
+TAGLETAPI_FILE = com/sun/tools/doclets/Taglet.java
 
-TAGLETAPI_PKGS   = com.sun.tools.doclets
+TAGLETAPI_PKGS = com.sun.tools.doclets
 
-ATTACH_PKGS      = com.sun.tools.attach         \
-                   com.sun.tools.attach.spi
+ATTACH_PKGS = com.sun.tools.attach \
+    com.sun.tools.attach.spi
 
-JCONSOLE_PKGS    = com.sun.tools.jconsole
+JCONSOLE_PKGS = com.sun.tools.jconsole
 
-TREEAPI_PKGS 	 = com.sun.source.doctree \
-		   com.sun.source.tree \
-		   com.sun.source.util \
-		   jdk
+TREEAPI_PKGS = com.sun.source.doctree \
+    com.sun.source.tree \
+    com.sun.source.util \
+    jdk
 
 SMARTCARDIO_PKGS = javax.smartcardio
 
-SCTPAPI_PKGS     = com.sun.nio.sctp
+SCTPAPI_PKGS = com.sun.nio.sctp
 
 ifeq ($(PLATFORM), macosx)
-APPLE_EXT_PKGS   = com.apple.concurrent   \
-                   com.apple.eawt         \
-                   com.apple.eawt.event   \
-                   com.apple.eio
+  APPLE_EXT_PKGS = com.apple.concurrent \
+      com.apple.eawt \
+      com.apple.eawt.event \
+      com.apple.eio
 endif
 
-JDK_PKGS     = jdk
+JDK_PKGS = jdk
 
 # non-core packages in rt.jar
-NON_CORE_PKGS    = $(DOMAPI_PKGS) \
-                   $(MGMT_PKGS) \
-                   $(JAAS_PKGS) \
-                   $(JGSS_PKGS) \
-                   $(NIO_PKGS) \
-                   $(OLD_JSSE_PKGS) \
-                   $(HTTPSERVER_PKGS) \
-                   $(SMARTCARDIO_PKGS) \
-                   $(SCTPAPI_PKGS) \
-                   $(APPLE_EXT_PKGS) \
-                   $(JDK_PKGS)
+NON_CORE_PKGS = $(DOMAPI_PKGS) \
+    $(MGMT_PKGS) \
+    $(JAAS_PKGS) \
+    $(JGSS_PKGS) \
+    $(NIO_PKGS) \
+    $(OLD_JSSE_PKGS) \
+    $(HTTPSERVER_PKGS) \
+    $(SMARTCARDIO_PKGS) \
+    $(SCTPAPI_PKGS) \
+    $(APPLE_EXT_PKGS) \
+    $(JDK_PKGS)
--- a/common/makefiles/javadoc/Notes.html	Wed Oct 16 12:02:43 2013 -0700
+++ b/common/makefiles/javadoc/Notes.html	Wed Jul 05 19:15:55 2017 +0200
@@ -8,42 +8,42 @@
 <body>
 <h3><a name="REGEXP"></a><br>
 REGEXP</h3>
-<p> REGEXP is a list of wildcard patterns that determines which packages listed 
-  in CORE_PKGS.gmk go into which summary-table on the main API index page. It 
-  was motivated by the need to divide the world into &quot;core packages&quot; 
-  (java.*) and &quot;extension packages&quot; (javax.*). In time, the distinction 
-  went away. The whole table is now called &quot;Platform Packages&quot;--which 
-  eliminated the need for this list of regular expressions. But it lingered on, 
-  accreting all of the packages in the JVM, one by one. I pruned it back to &quot;*&quot;, 
-  so it now covers every package in the Java platform API docs. If some separation 
-  is needed in the future, it can grow back into a colon-separated list, starting 
-  with this, which is in all respects equivalent to &quot;*&quot; at this point 
+<p> REGEXP is a list of wildcard patterns that determines which packages listed
+  in CORE_PKGS.gmk go into which summary-table on the main API index page. It
+  was motivated by the need to divide the world into &quot;core packages&quot;
+  (java.*) and &quot;extension packages&quot; (javax.*). In time, the distinction
+  went away. The whole table is now called &quot;Platform Packages&quot;--which
+  eliminated the need for this list of regular expressions. But it lingered on,
+  accreting all of the packages in the JVM, one by one. I pruned it back to &quot;*&quot;,
+  so it now covers every package in the Java platform API docs. If some separation
+  is needed in the future, it can grow back into a colon-separated list, starting
+  with this, which is in all respects equivalent to &quot;*&quot; at this point
   in time:</p>
-<blockquote> 
+<blockquote>
   <pre>REGEXP = &quot;java.*:javax.*:org.ietf*:org.omg.</pre>
 </blockquote>
 <h3><a name="releaseTargets"></a><br>
   Release Targets</h3>
 <p> (Thanks to Kelly O'Hair for this info.)</p>
-<p> The <tt>rel-coredocs</tt> and <tt>rel-docs</tt> targets were added by Eric 
-  Armstrong. <tt>rel-coredocs</tt> assumes the kind of large, 32-bit machine used 
-  in the javapubs group's docs-release process. It specifies memory settings accordingly 
+<p> The <tt>rel-coredocs</tt> and <tt>rel-docs</tt> targets were added by Eric
+  Armstrong. <tt>rel-coredocs</tt> 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.</p>
-<p> 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 
+<p> 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.</p>
 <blockquote>
   <p> <tt>-J-Xmx512</tt> sets a maximum of 512, which became necessary in 6.0<br>
     <tt>-J-Xms256</tt> sets starting size to 256 (default is 8)</p>
 </blockquote>
-<p> <tt>rel-coredocs</tt> also includes a sanity check to help ensure that <tt>BUILD_NUMBER</tt> 
-  and <tt>MILESTONE</tt> 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 &quot;internal&quot;--which silently 
+<p> <tt>rel-coredocs</tt> also includes a sanity check to help ensure that <tt>BUILD_NUMBER</tt>
+  and <tt>MILESTONE</tt> 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 &quot;internal&quot;--which silently
   sabotage the result of a build that can take many hours to complete.</p>
 </body>
 </html>
--- a/hotspot/.hgtags	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/.hgtags	Wed Jul 05 19:15:55 2017 +0200
@@ -383,3 +383,5 @@
 58043478c26d4e8bf48700acea5f97aba8b417d4 hs25-b52
 6209b0ed51c086d4127bac0e086c8f326d1764d7 jdk8-b110
 562a3d356de67670b4172b82aca2d30743449e04 hs25-b53
+f6962730bbde82f279a0ae3a1c14bc5e58096c6e jdk8-b111
+4a845c7a463844cead9e1e1641d6bcfb8a77f1c7 hs25-b54
--- a/hotspot/agent/src/os/bsd/ps_core.c	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/agent/src/os/bsd/ps_core.c	Wed Jul 05 19:15:55 2017 +0200
@@ -44,6 +44,7 @@
 // close all file descriptors
 static void close_files(struct ps_prochandle* ph) {
   lib_info* lib = NULL;
+
   // close core file descriptor
   if (ph->core->core_fd >= 0)
     close(ph->core->core_fd);
@@ -149,8 +150,7 @@
 
 // Return the map_info for the given virtual address.  We keep a sorted
 // array of pointers in ph->map_array, so we can binary search.
-static map_info* core_lookup(struct ps_prochandle *ph, uintptr_t addr)
-{
+static map_info* core_lookup(struct ps_prochandle *ph, uintptr_t addr) {
   int mid, lo = 0, hi = ph->core->num_maps - 1;
   map_info *mp;
 
@@ -230,9 +230,9 @@
     size_t _used;            // for setting space top on read
 
     // 4991491 NOTICE These are C++ bool's in filemap.hpp and must match up with
-    // the C type matching the C++ bool type on any given platform. For
-    // Hotspot on BSD we assume the corresponding C type is char but
-    // licensees on BSD versions may need to adjust the type of these fields.
+    // the C type matching the C++ bool type on any given platform.
+    // We assume the corresponding C type is char but licensees
+    // may need to adjust the type of these fields.
     char   _read_only;       // read only space?
     char   _allow_exec;      // executable code in space?
 
@@ -286,10 +286,12 @@
 #define USE_SHARED_SPACES_SYM "_UseSharedSpaces"
 // mangled name of Arguments::SharedArchivePath
 #define SHARED_ARCHIVE_PATH_SYM "_ZN9Arguments17SharedArchivePathE"
+#define LIBJVM_NAME "/libjvm.dylib"
 #else
 #define USE_SHARED_SPACES_SYM "UseSharedSpaces"
 // mangled name of Arguments::SharedArchivePath
 #define SHARED_ARCHIVE_PATH_SYM "__ZN9Arguments17SharedArchivePathE"
+#define LIBJVM_NAME "/libjvm.so"
 #endif // __APPLE_
 
 static bool init_classsharing_workaround(struct ps_prochandle* ph) {
@@ -300,12 +302,7 @@
     // we are iterating over shared objects from the core dump. look for
     // libjvm.so.
     const char *jvm_name = 0;
-#ifdef __APPLE__
-    if ((jvm_name = strstr(lib->name, "/libjvm.dylib")) != 0)
-#else
-    if ((jvm_name = strstr(lib->name, "/libjvm.so")) != 0)
-#endif // __APPLE__
-    {
+    if ((jvm_name = strstr(lib->name, LIBJVM_NAME)) != 0) {
       char classes_jsa[PATH_MAX];
       struct FileMapHeader header;
       int fd = -1;
@@ -399,8 +396,8 @@
         }
       }
       return true;
-    }
-    lib = lib->next;
+   }
+   lib = lib->next;
   }
   return true;
 }
@@ -432,8 +429,8 @@
   // allocate map_array
   map_info** array;
   if ( (array = (map_info**) malloc(sizeof(map_info*) * num_maps)) == NULL) {
-     print_debug("can't allocate memory for map array\n");
-     return false;
+    print_debug("can't allocate memory for map array\n");
+    return false;
   }
 
   // add maps to array
@@ -450,7 +447,7 @@
   ph->core->map_array = array;
   // sort the map_info array by base virtual address.
   qsort(ph->core->map_array, ph->core->num_maps, sizeof (map_info*),
-           core_cmp_mapping);
+        core_cmp_mapping);
 
   // print map
   if (is_debug()) {
@@ -458,7 +455,7 @@
     print_debug("---- sorted virtual address map ----\n");
     for (j = 0; j < ph->core->num_maps; j++) {
       print_debug("base = 0x%lx\tsize = %d\n", ph->core->map_array[j]->vaddr,
-                                       ph->core->map_array[j]->memsz);
+                  ph->core->map_array[j]->memsz);
     }
   }
 
@@ -1091,9 +1088,9 @@
                                    notep->n_type, notep->n_descsz);
 
       if (notep->n_type == NT_PRSTATUS) {
-         if (core_handle_prstatus(ph, descdata, notep->n_descsz) != true) {
-            return false;
-         }
+        if (core_handle_prstatus(ph, descdata, notep->n_descsz) != true) {
+          return false;
+        }
       }
       p = descdata + ROUNDUP(notep->n_descsz, 4);
    }
@@ -1121,7 +1118,7 @@
     * contains a set of saved /proc structures), and PT_LOAD (which
     * represents a memory mapping from the process's address space).
     *
-    * Difference b/w Solaris PT_NOTE and BSD PT_NOTE:
+    * Difference b/w Solaris PT_NOTE and Linux/BSD PT_NOTE:
     *
     *     In Solaris there are two PT_NOTE segments the first PT_NOTE (if present)
     *     contains /proc structs in the pre-2.6 unstructured /proc format. the last
@@ -1167,32 +1164,61 @@
 
 // read segments of a shared object
 static bool read_lib_segments(struct ps_prochandle* ph, int lib_fd, ELF_EHDR* lib_ehdr, uintptr_t lib_base) {
-   int i = 0;
-   ELF_PHDR* phbuf;
-   ELF_PHDR* lib_php = NULL;
+  int i = 0;
+  ELF_PHDR* phbuf;
+  ELF_PHDR* lib_php = NULL;
+
+  int page_size=sysconf(_SC_PAGE_SIZE);
 
-   if ((phbuf = read_program_header_table(lib_fd, lib_ehdr)) == NULL)
-      return false;
+  if ((phbuf = read_program_header_table(lib_fd, lib_ehdr)) == NULL) {
+    return false;
+  }
+
+  // we want to process only PT_LOAD segments that are not writable.
+  // i.e., text segments. The read/write/exec (data) segments would
+  // have been already added from core file segments.
+  for (lib_php = phbuf, i = 0; i < lib_ehdr->e_phnum; i++) {
+    if ((lib_php->p_type == PT_LOAD) && !(lib_php->p_flags & PF_W) && (lib_php->p_filesz != 0)) {
+
+      uintptr_t target_vaddr = lib_php->p_vaddr + lib_base;
+      map_info *existing_map = core_lookup(ph, target_vaddr);
 
-   // we want to process only PT_LOAD segments that are not writable.
-   // i.e., text segments. The read/write/exec (data) segments would
-   // have been already added from core file segments.
-   for (lib_php = phbuf, i = 0; i < lib_ehdr->e_phnum; i++) {
-      if ((lib_php->p_type == PT_LOAD) && !(lib_php->p_flags & PF_W) && (lib_php->p_filesz != 0)) {
-         if (add_map_info(ph, lib_fd, lib_php->p_offset, lib_php->p_vaddr + lib_base, lib_php->p_filesz) == NULL)
-            goto err;
+      if (existing_map == NULL){
+        if (add_map_info(ph, lib_fd, lib_php->p_offset,
+                          target_vaddr, lib_php->p_filesz) == NULL) {
+          goto err;
+        }
+      } else {
+        if ((existing_map->memsz != page_size) &&
+            (existing_map->fd != lib_fd) &&
+            (existing_map->memsz != lib_php->p_filesz)){
+
+          print_debug("address conflict @ 0x%lx (size = %ld, flags = %d\n)",
+                        target_vaddr, lib_php->p_filesz, lib_php->p_flags);
+          goto err;
+        }
+
+        /* replace PT_LOAD segment with library segment */
+        print_debug("overwrote with new address mapping (memsz %ld -> %ld)\n",
+                     existing_map->memsz, lib_php->p_filesz);
+
+        existing_map->fd = lib_fd;
+        existing_map->offset = lib_php->p_offset;
+        existing_map->memsz = lib_php->p_filesz;
       }
-      lib_php++;
-   }
+    }
+
+    lib_php++;
+  }
 
-   free(phbuf);
-   return true;
+  free(phbuf);
+  return true;
 err:
-   free(phbuf);
-   return false;
+  free(phbuf);
+  return false;
 }
 
-// process segments from interpreter (ld-elf.so.1)
+// process segments from interpreter (ld.so or ld-linux.so or ld-elf.so)
 static bool read_interp_segments(struct ps_prochandle* ph) {
    ELF_EHDR interp_ehdr;
 
@@ -1303,32 +1329,34 @@
   debug_base = dyn.d_un.d_ptr;
   // at debug_base we have struct r_debug. This has first link map in r_map field
   if (ps_pread(ph, (psaddr_t) debug_base + FIRST_LINK_MAP_OFFSET,
-                  &first_link_map_addr, sizeof(uintptr_t)) != PS_OK) {
+                 &first_link_map_addr, sizeof(uintptr_t)) != PS_OK) {
     print_debug("can't read first link map address\n");
     return false;
   }
 
   // read ld_base address from struct r_debug
-  // XXX: There is no r_ldbase member on BSD
-  /*
+#if 0  // There is no r_ldbase member on BSD
   if (ps_pread(ph, (psaddr_t) debug_base + LD_BASE_OFFSET, &ld_base_addr,
                   sizeof(uintptr_t)) != PS_OK) {
     print_debug("can't read ld base address\n");
     return false;
   }
   ph->core->ld_base_addr = ld_base_addr;
-  */
+#else
   ph->core->ld_base_addr = 0;
+#endif
 
   print_debug("interpreter base address is 0x%lx\n", ld_base_addr);
 
-  // now read segments from interp (i.e ld-elf.so.1)
-  if (read_interp_segments(ph) != true)
+  // now read segments from interp (i.e ld.so or ld-linux.so or ld-elf.so)
+  if (read_interp_segments(ph) != true) {
     return false;
+  }
 
   // after adding interpreter (ld.so) mappings sort again
-  if (sort_map_array(ph) != true)
+  if (sort_map_array(ph) != true) {
     return false;
+  }
 
   print_debug("first link map is at 0x%lx\n", first_link_map_addr);
 
@@ -1380,8 +1408,9 @@
           add_lib_info_fd(ph, lib_name, lib_fd, lib_base);
           // Map info is added for the library (lib_name) so
           // we need to re-sort it before calling the p_pdread.
-          if (sort_map_array(ph) != true)
+          if (sort_map_array(ph) != true) {
             return false;
+          }
         } else {
           print_debug("can't read ELF header for shared object %s\n", lib_name);
           close(lib_fd);
@@ -1392,7 +1421,7 @@
 
     // read next link_map address
     if (ps_pread(ph, (psaddr_t) link_map_addr + LINK_MAP_NEXT_OFFSET,
-                 &link_map_addr, sizeof(uintptr_t)) != PS_OK) {
+                  &link_map_addr, sizeof(uintptr_t)) != PS_OK) {
       print_debug("can't read next link in link_map\n");
       return false;
     }
@@ -1408,7 +1437,7 @@
 
   struct ps_prochandle* ph = (struct ps_prochandle*) calloc(1, sizeof(struct ps_prochandle));
   if (ph == NULL) {
-    print_debug("cant allocate ps_prochandle\n");
+    print_debug("can't allocate ps_prochandle\n");
     return NULL;
   }
 
@@ -1444,38 +1473,45 @@
   }
 
   if (read_elf_header(ph->core->exec_fd, &exec_ehdr) != true || exec_ehdr.e_type != ET_EXEC) {
-     print_debug("executable file is not a valid ELF ET_EXEC file\n");
-     goto err;
+    print_debug("executable file is not a valid ELF ET_EXEC file\n");
+    goto err;
   }
 
   // process core file segments
-  if (read_core_segments(ph, &core_ehdr) != true)
-     goto err;
+  if (read_core_segments(ph, &core_ehdr) != true) {
+    goto err;
+  }
 
   // process exec file segments
-  if (read_exec_segments(ph, &exec_ehdr) != true)
-     goto err;
+  if (read_exec_segments(ph, &exec_ehdr) != true) {
+    goto err;
+  }
 
   // exec file is also treated like a shared object for symbol search
   if (add_lib_info_fd(ph, exec_file, ph->core->exec_fd,
-                      (uintptr_t)0 + find_base_address(ph->core->exec_fd, &exec_ehdr)) == NULL)
-     goto err;
+                      (uintptr_t)0 + find_base_address(ph->core->exec_fd, &exec_ehdr)) == NULL) {
+    goto err;
+  }
 
   // allocate and sort maps into map_array, we need to do this
   // here because read_shared_lib_info needs to read from debuggee
   // address space
-  if (sort_map_array(ph) != true)
+  if (sort_map_array(ph) != true) {
     goto err;
+  }
 
-  if (read_shared_lib_info(ph) != true)
+  if (read_shared_lib_info(ph) != true) {
     goto err;
+  }
 
   // sort again because we have added more mappings from shared objects
-  if (sort_map_array(ph) != true)
+  if (sort_map_array(ph) != true) {
     goto err;
+  }
 
-  if (init_classsharing_workaround(ph) != true)
+  if (init_classsharing_workaround(ph) != true) {
     goto err;
+  }
 
   print_debug("Leave Pgrab_core\n");
   return ph;
--- a/hotspot/agent/src/os/linux/ps_core.c	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/agent/src/os/linux/ps_core.c	Wed Jul 05 19:15:55 2017 +0200
@@ -41,155 +41,158 @@
 // ps_prochandle cleanup helper functions
 
 // close all file descriptors
-static void close_elf_files(struct ps_prochandle* ph) {
-   lib_info* lib = NULL;
+static void close_files(struct ps_prochandle* ph) {
+  lib_info* lib = NULL;
 
-   // close core file descriptor
-   if (ph->core->core_fd >= 0)
-     close(ph->core->core_fd);
+  // close core file descriptor
+  if (ph->core->core_fd >= 0)
+    close(ph->core->core_fd);
 
-   // close exec file descriptor
-   if (ph->core->exec_fd >= 0)
-     close(ph->core->exec_fd);
+  // close exec file descriptor
+  if (ph->core->exec_fd >= 0)
+    close(ph->core->exec_fd);
 
-   // close interp file descriptor
-   if (ph->core->interp_fd >= 0)
-     close(ph->core->interp_fd);
+  // close interp file descriptor
+  if (ph->core->interp_fd >= 0)
+    close(ph->core->interp_fd);
 
-   // close class share archive file
-   if (ph->core->classes_jsa_fd >= 0)
-     close(ph->core->classes_jsa_fd);
+  // close class share archive file
+  if (ph->core->classes_jsa_fd >= 0)
+    close(ph->core->classes_jsa_fd);
 
-   // close all library file descriptors
-   lib = ph->libs;
-   while (lib) {
-      int fd = lib->fd;
-      if (fd >= 0 && fd != ph->core->exec_fd) close(fd);
-      lib = lib->next;
-   }
+  // close all library file descriptors
+  lib = ph->libs;
+  while (lib) {
+    int fd = lib->fd;
+    if (fd >= 0 && fd != ph->core->exec_fd) {
+      close(fd);
+    }
+    lib = lib->next;
+  }
 }
 
 // clean all map_info stuff
 static void destroy_map_info(struct ps_prochandle* ph) {
   map_info* map = ph->core->maps;
   while (map) {
-     map_info* next = map->next;
-     free(map);
-     map = next;
+    map_info* next = map->next;
+    free(map);
+    map = next;
   }
 
   if (ph->core->map_array) {
-     free(ph->core->map_array);
+    free(ph->core->map_array);
   }
 
   // Part of the class sharing workaround
   map = ph->core->class_share_maps;
   while (map) {
-     map_info* next = map->next;
-     free(map);
-     map = next;
+    map_info* next = map->next;
+    free(map);
+    map = next;
   }
 }
 
 // ps_prochandle operations
 static void core_release(struct ps_prochandle* ph) {
-   if (ph->core) {
-      close_elf_files(ph);
-      destroy_map_info(ph);
-      free(ph->core);
-   }
+  if (ph->core) {
+    close_files(ph);
+    destroy_map_info(ph);
+    free(ph->core);
+  }
 }
 
 static map_info* allocate_init_map(int fd, off_t offset, uintptr_t vaddr, size_t memsz) {
-   map_info* map;
-   if ( (map = (map_info*) calloc(1, sizeof(map_info))) == NULL) {
-      print_debug("can't allocate memory for map_info\n");
-      return NULL;
-   }
+  map_info* map;
+  if ( (map = (map_info*) calloc(1, sizeof(map_info))) == NULL) {
+    print_debug("can't allocate memory for map_info\n");
+    return NULL;
+  }
 
-   // initialize map
-   map->fd     = fd;
-   map->offset = offset;
-   map->vaddr  = vaddr;
-   map->memsz  = memsz;
-   return map;
+  // initialize map
+  map->fd     = fd;
+  map->offset = offset;
+  map->vaddr  = vaddr;
+  map->memsz  = memsz;
+  return map;
 }
 
 // add map info with given fd, offset, vaddr and memsz
 static map_info* add_map_info(struct ps_prochandle* ph, int fd, off_t offset,
                              uintptr_t vaddr, size_t memsz) {
-   map_info* map;
-   if ((map = allocate_init_map(fd, offset, vaddr, memsz)) == NULL) {
-      return NULL;
-   }
+  map_info* map;
+  if ((map = allocate_init_map(fd, offset, vaddr, memsz)) == NULL) {
+    return NULL;
+  }
 
-   // add this to map list
-   map->next  = ph->core->maps;
-   ph->core->maps   = map;
-   ph->core->num_maps++;
+  // add this to map list
+  map->next  = ph->core->maps;
+  ph->core->maps   = map;
+  ph->core->num_maps++;
 
-   return map;
+  return map;
 }
 
 // Part of the class sharing workaround
-static void add_class_share_map_info(struct ps_prochandle* ph, off_t offset,
+static map_info* add_class_share_map_info(struct ps_prochandle* ph, off_t offset,
                              uintptr_t vaddr, size_t memsz) {
-   map_info* map;
-   if ((map = allocate_init_map(ph->core->classes_jsa_fd,
-                                offset, vaddr, memsz)) == NULL) {
-      return;
-   }
+  map_info* map;
+  if ((map = allocate_init_map(ph->core->classes_jsa_fd,
+                               offset, vaddr, memsz)) == NULL) {
+    return NULL;
+  }
 
-   map->next = ph->core->class_share_maps;
-   ph->core->class_share_maps = map;
+  map->next = ph->core->class_share_maps;
+  ph->core->class_share_maps = map;
+  return map;
 }
 
 // Return the map_info for the given virtual address.  We keep a sorted
 // array of pointers in ph->map_array, so we can binary search.
-static map_info* core_lookup(struct ps_prochandle *ph, uintptr_t addr)
-{
-   int mid, lo = 0, hi = ph->core->num_maps - 1;
-   map_info *mp;
+static map_info* core_lookup(struct ps_prochandle *ph, uintptr_t addr) {
+  int mid, lo = 0, hi = ph->core->num_maps - 1;
+  map_info *mp;
 
-   while (hi - lo > 1) {
-     mid = (lo + hi) / 2;
-      if (addr >= ph->core->map_array[mid]->vaddr)
-         lo = mid;
-      else
-         hi = mid;
-   }
+  while (hi - lo > 1) {
+    mid = (lo + hi) / 2;
+    if (addr >= ph->core->map_array[mid]->vaddr) {
+      lo = mid;
+    } else {
+      hi = mid;
+    }
+  }
 
-   if (addr < ph->core->map_array[hi]->vaddr)
-      mp = ph->core->map_array[lo];
-   else
-      mp = ph->core->map_array[hi];
+  if (addr < ph->core->map_array[hi]->vaddr) {
+    mp = ph->core->map_array[lo];
+  } else {
+    mp = ph->core->map_array[hi];
+  }
 
-   if (addr >= mp->vaddr && addr < mp->vaddr + mp->memsz)
-      return (mp);
+  if (addr >= mp->vaddr && addr < mp->vaddr + mp->memsz) {
+    return (mp);
+  }
 
 
-   // Part of the class sharing workaround
-   // Unfortunately, we have no way of detecting -Xshare state.
-   // Check out the share maps atlast, if we don't find anywhere.
-   // This is done this way so to avoid reading share pages
-   // ahead of other normal maps. For eg. with -Xshare:off we don't
-   // want to prefer class sharing data to data from core.
-   mp = ph->core->class_share_maps;
-   if (mp) {
-      print_debug("can't locate map_info at 0x%lx, trying class share maps\n",
-             addr);
-   }
-   while (mp) {
-      if (addr >= mp->vaddr && addr < mp->vaddr + mp->memsz) {
-         print_debug("located map_info at 0x%lx from class share maps\n",
-                  addr);
-         return (mp);
-      }
-      mp = mp->next;
-   }
+  // Part of the class sharing workaround
+  // Unfortunately, we have no way of detecting -Xshare state.
+  // Check out the share maps atlast, if we don't find anywhere.
+  // This is done this way so to avoid reading share pages
+  // ahead of other normal maps. For eg. with -Xshare:off we don't
+  // want to prefer class sharing data to data from core.
+  mp = ph->core->class_share_maps;
+  if (mp) {
+    print_debug("can't locate map_info at 0x%lx, trying class share maps\n", addr);
+  }
+  while (mp) {
+    if (addr >= mp->vaddr && addr < mp->vaddr + mp->memsz) {
+      print_debug("located map_info at 0x%lx from class share maps\n", addr);
+      return (mp);
+    }
+    mp = mp->next;
+  }
 
-   print_debug("can't locate map_info at 0x%lx\n", addr);
-   return (NULL);
+  print_debug("can't locate map_info at 0x%lx\n", addr);
+  return (NULL);
 }
 
 //---------------------------------------------------------------
@@ -226,9 +229,9 @@
     size_t _used;            // for setting space top on read
 
     // 4991491 NOTICE These are C++ bool's in filemap.hpp and must match up with
-    // the C type matching the C++ bool type on any given platform. For
-    // Hotspot on Linux we assume the corresponding C type is char but
-    // licensees on Linux versions may need to adjust the type of these fields.
+    // the C type matching the C++ bool type on any given platform.
+    // We assume the corresponding C type is char but licensees
+    // may need to adjust the type of these fields.
     char   _read_only;       // read only space?
     char   _allow_exec;      // executable code in space?
 
@@ -238,154 +241,159 @@
 };
 
 static bool read_jboolean(struct ps_prochandle* ph, uintptr_t addr, jboolean* pvalue) {
-   jboolean i;
-   if (ps_pdread(ph, (psaddr_t) addr, &i, sizeof(i)) == PS_OK) {
-      *pvalue = i;
-      return true;
-   } else {
-      return false;
-   }
+  jboolean i;
+  if (ps_pdread(ph, (psaddr_t) addr, &i, sizeof(i)) == PS_OK) {
+    *pvalue = i;
+    return true;
+  } else {
+    return false;
+  }
 }
 
 static bool read_pointer(struct ps_prochandle* ph, uintptr_t addr, uintptr_t* pvalue) {
-   uintptr_t uip;
-   if (ps_pdread(ph, (psaddr_t) addr, &uip, sizeof(uip)) == PS_OK) {
-      *pvalue = uip;
-      return true;
-   } else {
-      return false;
-   }
+  uintptr_t uip;
+  if (ps_pdread(ph, (psaddr_t) addr, (char *)&uip, sizeof(uip)) == PS_OK) {
+    *pvalue = uip;
+    return true;
+  } else {
+    return false;
+  }
 }
 
 // used to read strings from debuggee
 static bool read_string(struct ps_prochandle* ph, uintptr_t addr, char* buf, size_t size) {
-   size_t i = 0;
-   char  c = ' ';
+  size_t i = 0;
+  char  c = ' ';
 
-   while (c != '\0') {
-     if (ps_pdread(ph, (psaddr_t) addr, &c, sizeof(char)) != PS_OK)
-         return false;
-      if (i < size - 1)
-         buf[i] = c;
-      else // smaller buffer
-         return false;
-      i++; addr++;
-   }
+  while (c != '\0') {
+    if (ps_pdread(ph, (psaddr_t) addr, &c, sizeof(char)) != PS_OK) {
+      return false;
+    }
+    if (i < size - 1) {
+      buf[i] = c;
+    } else {
+      // smaller buffer
+      return false;
+    }
+    i++; addr++;
+  }
 
-   buf[i] = '\0';
-   return true;
+  buf[i] = '\0';
+  return true;
 }
 
 #define USE_SHARED_SPACES_SYM "UseSharedSpaces"
 // mangled name of Arguments::SharedArchivePath
 #define SHARED_ARCHIVE_PATH_SYM "_ZN9Arguments17SharedArchivePathE"
+#define LIBJVM_NAME "/libjvm.so"
 
 static bool init_classsharing_workaround(struct ps_prochandle* ph) {
-   lib_info* lib = ph->libs;
-   while (lib != NULL) {
-      // we are iterating over shared objects from the core dump. look for
-      // libjvm.so.
-      const char *jvm_name = 0;
-      if ((jvm_name = strstr(lib->name, "/libjvm.so")) != 0) {
-         char classes_jsa[PATH_MAX];
-         struct FileMapHeader header;
-         size_t n = 0;
-         int fd = -1, m = 0;
-         uintptr_t base = 0, useSharedSpacesAddr = 0;
-         uintptr_t sharedArchivePathAddrAddr = 0, sharedArchivePathAddr = 0;
-         jboolean useSharedSpaces = 0;
-         map_info* mi = 0;
+  lib_info* lib = ph->libs;
+  while (lib != NULL) {
+    // we are iterating over shared objects from the core dump. look for
+    // libjvm.so.
+    const char *jvm_name = 0;
+    if ((jvm_name = strstr(lib->name, LIBJVM_NAME)) != 0) {
+      char classes_jsa[PATH_MAX];
+      struct FileMapHeader header;
+      int fd = -1;
+      int m = 0;
+      size_t n = 0;
+      uintptr_t base = 0, useSharedSpacesAddr = 0;
+      uintptr_t sharedArchivePathAddrAddr = 0, sharedArchivePathAddr = 0;
+      jboolean useSharedSpaces = 0;
+      map_info* mi = 0;
 
-         memset(classes_jsa, 0, sizeof(classes_jsa));
-         jvm_name = lib->name;
-         useSharedSpacesAddr = lookup_symbol(ph, jvm_name, USE_SHARED_SPACES_SYM);
-         if (useSharedSpacesAddr == 0) {
-            print_debug("can't lookup 'UseSharedSpaces' flag\n");
-            return false;
-         }
+      memset(classes_jsa, 0, sizeof(classes_jsa));
+      jvm_name = lib->name;
+      useSharedSpacesAddr = lookup_symbol(ph, jvm_name, USE_SHARED_SPACES_SYM);
+      if (useSharedSpacesAddr == 0) {
+        print_debug("can't lookup 'UseSharedSpaces' flag\n");
+        return false;
+      }
 
-         // Hotspot vm types are not exported to build this library. So
-         // using equivalent type jboolean to read the value of
-         // UseSharedSpaces which is same as hotspot type "bool".
-         if (read_jboolean(ph, useSharedSpacesAddr, &useSharedSpaces) != true) {
-            print_debug("can't read the value of 'UseSharedSpaces' flag\n");
-            return false;
-         }
+      // Hotspot vm types are not exported to build this library. So
+      // using equivalent type jboolean to read the value of
+      // UseSharedSpaces which is same as hotspot type "bool".
+      if (read_jboolean(ph, useSharedSpacesAddr, &useSharedSpaces) != true) {
+        print_debug("can't read the value of 'UseSharedSpaces' flag\n");
+        return false;
+      }
 
-         if ((int)useSharedSpaces == 0) {
-            print_debug("UseSharedSpaces is false, assuming -Xshare:off!\n");
-            return true;
-         }
+      if ((int)useSharedSpaces == 0) {
+        print_debug("UseSharedSpaces is false, assuming -Xshare:off!\n");
+        return true;
+      }
 
-         sharedArchivePathAddrAddr = lookup_symbol(ph, jvm_name, SHARED_ARCHIVE_PATH_SYM);
-         if (sharedArchivePathAddrAddr == 0) {
-            print_debug("can't lookup shared archive path symbol\n");
-            return false;
-         }
+      sharedArchivePathAddrAddr = lookup_symbol(ph, jvm_name, SHARED_ARCHIVE_PATH_SYM);
+      if (sharedArchivePathAddrAddr == 0) {
+        print_debug("can't lookup shared archive path symbol\n");
+        return false;
+      }
 
-         if (read_pointer(ph, sharedArchivePathAddrAddr, &sharedArchivePathAddr) != true) {
-            print_debug("can't read shared archive path pointer\n");
-            return false;
-         }
+      if (read_pointer(ph, sharedArchivePathAddrAddr, &sharedArchivePathAddr) != true) {
+        print_debug("can't read shared archive path pointer\n");
+        return false;
+      }
 
-         if (read_string(ph, sharedArchivePathAddr, classes_jsa, sizeof(classes_jsa)) != true) {
-            print_debug("can't read shared archive path value\n");
-            return false;
-         }
+      if (read_string(ph, sharedArchivePathAddr, classes_jsa, sizeof(classes_jsa)) != true) {
+        print_debug("can't read shared archive path value\n");
+        return false;
+      }
 
-         print_debug("looking for %s\n", classes_jsa);
-         // open the class sharing archive file
-         fd = pathmap_open(classes_jsa);
-         if (fd < 0) {
-            print_debug("can't open %s!\n", classes_jsa);
-            ph->core->classes_jsa_fd = -1;
-            return false;
-         } else {
-            print_debug("opened %s\n", classes_jsa);
-         }
+      print_debug("looking for %s\n", classes_jsa);
+      // open the class sharing archive file
+      fd = pathmap_open(classes_jsa);
+      if (fd < 0) {
+        print_debug("can't open %s!\n", classes_jsa);
+        ph->core->classes_jsa_fd = -1;
+        return false;
+      } else {
+        print_debug("opened %s\n", classes_jsa);
+      }
 
-         // read FileMapHeader from the file
-         memset(&header, 0, sizeof(struct FileMapHeader));
-         if ((n = read(fd, &header, sizeof(struct FileMapHeader)))
-              != sizeof(struct FileMapHeader)) {
-            print_debug("can't read shared archive file map header from %s\n", classes_jsa);
-            close(fd);
-            return false;
-         }
+      // read FileMapHeader from the file
+      memset(&header, 0, sizeof(struct FileMapHeader));
+      if ((n = read(fd, &header, sizeof(struct FileMapHeader)))
+           != sizeof(struct FileMapHeader)) {
+        print_debug("can't read shared archive file map header from %s\n", classes_jsa);
+        close(fd);
+        return false;
+      }
 
-         // check file magic
-         if (header._magic != 0xf00baba2) {
-            print_debug("%s has bad shared archive file magic number 0x%x, expecing 0xf00baba2\n",
-                        classes_jsa, header._magic);
-            close(fd);
-            return false;
-         }
+      // check file magic
+      if (header._magic != 0xf00baba2) {
+        print_debug("%s has bad shared archive file magic number 0x%x, expecing 0xf00baba2\n",
+                     classes_jsa, header._magic);
+        close(fd);
+        return false;
+      }
 
-         // check version
-         if (header._version != CURRENT_ARCHIVE_VERSION) {
-            print_debug("%s has wrong shared archive file version %d, expecting %d\n",
-                        classes_jsa, header._version, CURRENT_ARCHIVE_VERSION);
-            close(fd);
-            return false;
-         }
+      // check version
+      if (header._version != CURRENT_ARCHIVE_VERSION) {
+        print_debug("%s has wrong shared archive file version %d, expecting %d\n",
+                     classes_jsa, header._version, CURRENT_ARCHIVE_VERSION);
+        close(fd);
+        return false;
+      }
 
-         ph->core->classes_jsa_fd = fd;
-         // add read-only maps from classes.jsa to the list of maps
-         for (m = 0; m < NUM_SHARED_MAPS; m++) {
-            if (header._space[m]._read_only) {
-               base = (uintptr_t) header._space[m]._base;
-               // no need to worry about the fractional pages at-the-end.
-               // possible fractional pages are handled by core_read_data.
-               add_class_share_map_info(ph, (off_t) header._space[m]._file_offset,
-                         base, (size_t) header._space[m]._used);
-               print_debug("added a share archive map at 0x%lx\n", base);
-            }
-         }
-         return true;
+      ph->core->classes_jsa_fd = fd;
+      // add read-only maps from classes.jsa to the list of maps
+      for (m = 0; m < NUM_SHARED_MAPS; m++) {
+        if (header._space[m]._read_only) {
+          base = (uintptr_t) header._space[m]._base;
+          // no need to worry about the fractional pages at-the-end.
+          // possible fractional pages are handled by core_read_data.
+          add_class_share_map_info(ph, (off_t) header._space[m]._file_offset,
+                                   base, (size_t) header._space[m]._used);
+          print_debug("added a share archive map at 0x%lx\n", base);
+        }
       }
-      lib = lib->next;
+      return true;
    }
-   return true;
+   lib = lib->next;
+  }
+  return true;
 }
 
 
@@ -396,54 +404,58 @@
 // callback for sorting the array of map_info pointers.
 static int core_cmp_mapping(const void *lhsp, const void *rhsp)
 {
-   const map_info *lhs = *((const map_info **)lhsp);
-   const map_info *rhs = *((const map_info **)rhsp);
+  const map_info *lhs = *((const map_info **)lhsp);
+  const map_info *rhs = *((const map_info **)rhsp);
 
-   if (lhs->vaddr == rhs->vaddr)
-      return (0);
+  if (lhs->vaddr == rhs->vaddr) {
+    return (0);
+  }
 
-   return (lhs->vaddr < rhs->vaddr ? -1 : 1);
+  return (lhs->vaddr < rhs->vaddr ? -1 : 1);
 }
 
 // we sort map_info by starting virtual address so that we can do
 // binary search to read from an address.
 static bool sort_map_array(struct ps_prochandle* ph) {
-   size_t num_maps = ph->core->num_maps;
-   map_info* map = ph->core->maps;
-   int i = 0;
+  size_t num_maps = ph->core->num_maps;
+  map_info* map = ph->core->maps;
+  int i = 0;
 
-   // allocate map_array
-   map_info** array;
-   if ( (array = (map_info**) malloc(sizeof(map_info*) * num_maps)) == NULL) {
-      print_debug("can't allocate memory for map array\n");
-      return false;
-   }
+  // allocate map_array
+  map_info** array;
+  if ( (array = (map_info**) malloc(sizeof(map_info*) * num_maps)) == NULL) {
+    print_debug("can't allocate memory for map array\n");
+    return false;
+  }
 
-   // add maps to array
-   while (map) {
-      array[i] = map;
-      i++;
-      map = map->next;
-   }
+  // add maps to array
+  while (map) {
+    array[i] = map;
+    i++;
+    map = map->next;
+  }
 
-   // sort is called twice. If this is second time, clear map array
-   if (ph->core->map_array) free(ph->core->map_array);
-   ph->core->map_array = array;
-   // sort the map_info array by base virtual address.
-   qsort(ph->core->map_array, ph->core->num_maps, sizeof (map_info*),
-            core_cmp_mapping);
+  // sort is called twice. If this is second time, clear map array
+  if (ph->core->map_array) {
+    free(ph->core->map_array);
+  }
+
+  ph->core->map_array = array;
+  // sort the map_info array by base virtual address.
+  qsort(ph->core->map_array, ph->core->num_maps, sizeof (map_info*),
+        core_cmp_mapping);
 
-   // print map
-   if (is_debug()) {
-      int j = 0;
-      print_debug("---- sorted virtual address map ----\n");
-      for (j = 0; j < ph->core->num_maps; j++) {
-        print_debug("base = 0x%lx\tsize = %zu\n", ph->core->map_array[j]->vaddr,
-                                         ph->core->map_array[j]->memsz);
-      }
-   }
+  // print map
+  if (is_debug()) {
+    int j = 0;
+    print_debug("---- sorted virtual address map ----\n");
+    for (j = 0; j < ph->core->num_maps; j++) {
+      print_debug("base = 0x%lx\tsize = %zu\n", ph->core->map_array[j]->vaddr,
+                  ph->core->map_array[j]->memsz);
+    }
+  }
 
-   return true;
+  return true;
 }
 
 #ifndef MIN
@@ -460,16 +472,18 @@
       off_t off;
       int fd;
 
-      if (mp == NULL)
+      if (mp == NULL) {
          break;  /* No mapping for this address */
+      }
 
       fd = mp->fd;
       mapoff = addr - mp->vaddr;
       len = MIN(resid, mp->memsz - mapoff);
       off = mp->offset + mapoff;
 
-      if ((len = pread(fd, buf, len, off)) <= 0)
+      if ((len = pread(fd, buf, len, off)) <= 0) {
          break;
+      }
 
       resid -= len;
       addr += len;
@@ -625,8 +639,9 @@
                                    notep->n_type, notep->n_descsz);
 
       if (notep->n_type == NT_PRSTATUS) {
-         if (core_handle_prstatus(ph, descdata, notep->n_descsz) != true)
-            return false;
+        if (core_handle_prstatus(ph, descdata, notep->n_descsz) != true) {
+          return false;
+        }
       }
       p = descdata + ROUNDUP(notep->n_descsz, 4);
    }
@@ -654,7 +669,7 @@
     * contains a set of saved /proc structures), and PT_LOAD (which
     * represents a memory mapping from the process's address space).
     *
-    * Difference b/w Solaris PT_NOTE and Linux PT_NOTE:
+    * Difference b/w Solaris PT_NOTE and Linux/BSD PT_NOTE:
     *
     *     In Solaris there are two PT_NOTE segments the first PT_NOTE (if present)
     *     contains /proc structs in the pre-2.6 unstructured /proc format. the last
@@ -674,7 +689,9 @@
     for (core_php = phbuf, i = 0; i < core_ehdr->e_phnum; i++) {
       switch (core_php->p_type) {
          case PT_NOTE:
-            if (core_handle_note(ph, core_php) != true) goto err;
+            if (core_handle_note(ph, core_php) != true) {
+              goto err;
+            }
             break;
 
          case PT_LOAD: {
@@ -832,60 +849,62 @@
 // read shared library info from runtime linker's data structures.
 // This work is done by librtlb_db in Solaris
 static bool read_shared_lib_info(struct ps_prochandle* ph) {
-   uintptr_t addr = ph->core->dynamic_addr;
-   uintptr_t debug_base;
-   uintptr_t first_link_map_addr;
-   uintptr_t ld_base_addr;
-   uintptr_t link_map_addr;
-   uintptr_t lib_base_diff;
-   uintptr_t lib_base;
-   uintptr_t lib_name_addr;
-   char lib_name[BUF_SIZE];
-   ELF_DYN dyn;
-   ELF_EHDR elf_ehdr;
-   int lib_fd;
+  uintptr_t addr = ph->core->dynamic_addr;
+  uintptr_t debug_base;
+  uintptr_t first_link_map_addr;
+  uintptr_t ld_base_addr;
+  uintptr_t link_map_addr;
+  uintptr_t lib_base_diff;
+  uintptr_t lib_base;
+  uintptr_t lib_name_addr;
+  char lib_name[BUF_SIZE];
+  ELF_DYN dyn;
+  ELF_EHDR elf_ehdr;
+  int lib_fd;
 
-   // _DYNAMIC has information of the form
-   //         [tag] [data] [tag] [data] .....
-   // Both tag and data are pointer sized.
-   // We look for dynamic info with DT_DEBUG. This has shared object info.
-   // refer to struct r_debug in link.h
+  // _DYNAMIC has information of the form
+  //         [tag] [data] [tag] [data] .....
+  // Both tag and data are pointer sized.
+  // We look for dynamic info with DT_DEBUG. This has shared object info.
+  // refer to struct r_debug in link.h
+
+  dyn.d_tag = DT_NULL;
+  while (dyn.d_tag != DT_DEBUG) {
+    if (ps_pdread(ph, (psaddr_t) addr, &dyn, sizeof(ELF_DYN)) != PS_OK) {
+      print_debug("can't read debug info from _DYNAMIC\n");
+      return false;
+    }
+    addr += sizeof(ELF_DYN);
+  }
 
-   dyn.d_tag = DT_NULL;
-   while (dyn.d_tag != DT_DEBUG) {
-      if (ps_pdread(ph, (psaddr_t) addr, &dyn, sizeof(ELF_DYN)) != PS_OK) {
-         print_debug("can't read debug info from _DYNAMIC\n");
-         return false;
-      }
-      addr += sizeof(ELF_DYN);
-   }
-
-   // we have got Dyn entry with DT_DEBUG
-   debug_base = dyn.d_un.d_ptr;
-   // at debug_base we have struct r_debug. This has first link map in r_map field
-   if (ps_pdread(ph, (psaddr_t) debug_base + FIRST_LINK_MAP_OFFSET,
+  // we have got Dyn entry with DT_DEBUG
+  debug_base = dyn.d_un.d_ptr;
+  // at debug_base we have struct r_debug. This has first link map in r_map field
+  if (ps_pdread(ph, (psaddr_t) debug_base + FIRST_LINK_MAP_OFFSET,
                  &first_link_map_addr, sizeof(uintptr_t)) != PS_OK) {
-      print_debug("can't read first link map address\n");
-      return false;
-   }
+    print_debug("can't read first link map address\n");
+    return false;
+  }
 
-   // read ld_base address from struct r_debug
-   if (ps_pdread(ph, (psaddr_t) debug_base + LD_BASE_OFFSET, &ld_base_addr,
+  // read ld_base address from struct r_debug
+  if (ps_pdread(ph, (psaddr_t) debug_base + LD_BASE_OFFSET, &ld_base_addr,
                  sizeof(uintptr_t)) != PS_OK) {
-      print_debug("can't read ld base address\n");
-      return false;
-   }
-   ph->core->ld_base_addr = ld_base_addr;
+    print_debug("can't read ld base address\n");
+    return false;
+  }
+  ph->core->ld_base_addr = ld_base_addr;
+
+  print_debug("interpreter base address is 0x%lx\n", ld_base_addr);
 
-   print_debug("interpreter base address is 0x%lx\n", ld_base_addr);
-
-   // now read segments from interp (i.e ld.so or ld-linux.so)
-   if (read_interp_segments(ph) != true)
+  // now read segments from interp (i.e ld.so or ld-linux.so or ld-elf.so)
+  if (read_interp_segments(ph) != true) {
       return false;
+  }
 
-   // after adding interpreter (ld.so) mappings sort again
-   if (sort_map_array(ph) != true)
-      return false;
+  // after adding interpreter (ld.so) mappings sort again
+  if (sort_map_array(ph) != true) {
+    return false;
+  }
 
    print_debug("first link map is at 0x%lx\n", first_link_map_addr);
 
@@ -950,95 +969,102 @@
          }
       }
 
-      // read next link_map address
-      if (ps_pdread(ph, (psaddr_t) link_map_addr + LINK_MAP_NEXT_OFFSET,
-                        &link_map_addr, sizeof(uintptr_t)) != PS_OK) {
-         print_debug("can't read next link in link_map\n");
-         return false;
-      }
-   }
+    // read next link_map address
+    if (ps_pdread(ph, (psaddr_t) link_map_addr + LINK_MAP_NEXT_OFFSET,
+                   &link_map_addr, sizeof(uintptr_t)) != PS_OK) {
+      print_debug("can't read next link in link_map\n");
+      return false;
+    }
+  }
 
-   return true;
+  return true;
 }
 
 // the one and only one exposed stuff from this file
 struct ps_prochandle* Pgrab_core(const char* exec_file, const char* core_file) {
-   ELF_EHDR core_ehdr;
-   ELF_EHDR exec_ehdr;
-   ELF_EHDR lib_ehdr;
+  ELF_EHDR core_ehdr;
+  ELF_EHDR exec_ehdr;
+  ELF_EHDR lib_ehdr;
 
-   struct ps_prochandle* ph = (struct ps_prochandle*) calloc(1, sizeof(struct ps_prochandle));
-   if (ph == NULL) {
-      print_debug("can't allocate ps_prochandle\n");
-      return NULL;
-   }
+  struct ps_prochandle* ph = (struct ps_prochandle*) calloc(1, sizeof(struct ps_prochandle));
+  if (ph == NULL) {
+    print_debug("can't allocate ps_prochandle\n");
+    return NULL;
+  }
 
-   if ((ph->core = (struct core_data*) calloc(1, sizeof(struct core_data))) == NULL) {
-      free(ph);
-      print_debug("can't allocate ps_prochandle\n");
-      return NULL;
-   }
+  if ((ph->core = (struct core_data*) calloc(1, sizeof(struct core_data))) == NULL) {
+    free(ph);
+    print_debug("can't allocate ps_prochandle\n");
+    return NULL;
+  }
 
-   // initialize ph
-   ph->ops = &core_ops;
-   ph->core->core_fd   = -1;
-   ph->core->exec_fd   = -1;
-   ph->core->interp_fd = -1;
+  // initialize ph
+  ph->ops = &core_ops;
+  ph->core->core_fd   = -1;
+  ph->core->exec_fd   = -1;
+  ph->core->interp_fd = -1;
 
-   // open the core file
-   if ((ph->core->core_fd = open(core_file, O_RDONLY)) < 0) {
-      print_debug("can't open core file\n");
-      goto err;
-   }
+  // open the core file
+  if ((ph->core->core_fd = open(core_file, O_RDONLY)) < 0) {
+    print_debug("can't open core file\n");
+    goto err;
+  }
 
-   // read core file ELF header
-   if (read_elf_header(ph->core->core_fd, &core_ehdr) != true || core_ehdr.e_type != ET_CORE) {
-      print_debug("core file is not a valid ELF ET_CORE file\n");
-      goto err;
-   }
+  // read core file ELF header
+  if (read_elf_header(ph->core->core_fd, &core_ehdr) != true || core_ehdr.e_type != ET_CORE) {
+    print_debug("core file is not a valid ELF ET_CORE file\n");
+    goto err;
+  }
+
+  if ((ph->core->exec_fd = open(exec_file, O_RDONLY)) < 0) {
+    print_debug("can't open executable file\n");
+    goto err;
+  }
 
-   if ((ph->core->exec_fd = open(exec_file, O_RDONLY)) < 0) {
-      print_debug("can't open executable file\n");
-      goto err;
-   }
+  if (read_elf_header(ph->core->exec_fd, &exec_ehdr) != true || exec_ehdr.e_type != ET_EXEC) {
+    print_debug("executable file is not a valid ELF ET_EXEC file\n");
+    goto err;
+  }
+
+  // process core file segments
+  if (read_core_segments(ph, &core_ehdr) != true) {
+    goto err;
+  }
 
-   if (read_elf_header(ph->core->exec_fd, &exec_ehdr) != true || exec_ehdr.e_type != ET_EXEC) {
-      print_debug("executable file is not a valid ELF ET_EXEC file\n");
-      goto err;
-   }
+  // process exec file segments
+  if (read_exec_segments(ph, &exec_ehdr) != true) {
+    goto err;
+  }
 
-   // process core file segments
-   if (read_core_segments(ph, &core_ehdr) != true)
-      goto err;
-
-   // process exec file segments
-   if (read_exec_segments(ph, &exec_ehdr) != true)
-      goto err;
+  // exec file is also treated like a shared object for symbol search
+  if (add_lib_info_fd(ph, exec_file, ph->core->exec_fd,
+                      (uintptr_t)0 + find_base_address(ph->core->exec_fd, &exec_ehdr)) == NULL) {
+    goto err;
+  }
 
-   // exec file is also treated like a shared object for symbol search
-   if (add_lib_info_fd(ph, exec_file, ph->core->exec_fd,
-                       (uintptr_t)0 + find_base_address(ph->core->exec_fd, &exec_ehdr)) == NULL)
-      goto err;
+  // allocate and sort maps into map_array, we need to do this
+  // here because read_shared_lib_info needs to read from debuggee
+  // address space
+  if (sort_map_array(ph) != true) {
+    goto err;
+  }
 
-   // allocate and sort maps into map_array, we need to do this
-   // here because read_shared_lib_info needs to read from debuggee
-   // address space
-   if (sort_map_array(ph) != true)
-      goto err;
+  if (read_shared_lib_info(ph) != true) {
+    goto err;
+  }
 
-   if (read_shared_lib_info(ph) != true)
-      goto err;
+  // sort again because we have added more mappings from shared objects
+  if (sort_map_array(ph) != true) {
+    goto err;
+  }
 
-   // sort again because we have added more mappings from shared objects
-   if (sort_map_array(ph) != true)
-      goto err;
+  if (init_classsharing_workaround(ph) != true) {
+    goto err;
+  }
 
-   if (init_classsharing_workaround(ph) != true)
-      goto err;
-
-   return ph;
+  return ph;
 
 err:
-   Prelease(ph);
-   return NULL;
+  Prelease(ph);
+  return NULL;
 }
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/Disassembler.java	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/asm/Disassembler.java	Wed Jul 05 19:15:55 2017 +0200
@@ -67,6 +67,13 @@
          String libname = "hsdis";
          String arch = System.getProperty("os.arch");
          if (os.lastIndexOf("Windows", 0) != -1) {
+            if (arch.equals("x86")) {
+               libname +=  "-i386";
+            } else if (arch.equals("amd64")) {
+               libname +=  "-amd64";
+            } else {
+               libname +=  "-" + arch;
+            }
             path.append(sep + "bin" + sep);
             libname += ".dll";
          } else if (os.lastIndexOf("SunOS", 0) != -1) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/ProtectionDomainCacheEntry.java	Wed Jul 05 19:15:55 2017 +0200
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+package sun.jvm.hotspot.memory;
+
+import java.util.*;
+import sun.jvm.hotspot.debugger.*;
+import sun.jvm.hotspot.oops.*;
+import sun.jvm.hotspot.runtime.*;
+import sun.jvm.hotspot.types.*;
+
+public class ProtectionDomainCacheEntry extends VMObject {
+  private static sun.jvm.hotspot.types.OopField protectionDomainField;
+
+  static {
+    VM.registerVMInitializedObserver(new Observer() {
+        public void update(Observable o, Object data) {
+          initialize(VM.getVM().getTypeDataBase());
+        }
+      });
+  }
+
+  private static synchronized void initialize(TypeDataBase db) {
+    Type type = db.lookupType("ProtectionDomainCacheEntry");
+    protectionDomainField = type.getOopField("_literal");
+  }
+
+  public ProtectionDomainCacheEntry(Address addr) {
+    super(addr);
+  }
+
+  public Oop protectionDomain() {
+    return VM.getVM().getObjectHeap().newOop(protectionDomainField.getValue(addr));
+  }
+}
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/ProtectionDomainEntry.java	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/ProtectionDomainEntry.java	Wed Jul 05 19:15:55 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2013, 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
@@ -32,7 +32,7 @@
 
 public class ProtectionDomainEntry extends VMObject {
   private static AddressField nextField;
-  private static sun.jvm.hotspot.types.OopField protectionDomainField;
+  private static AddressField pdCacheField;
 
   static {
     VM.registerVMInitializedObserver(new Observer() {
@@ -46,7 +46,7 @@
     Type type = db.lookupType("ProtectionDomainEntry");
 
     nextField = type.getAddressField("_next");
-    protectionDomainField = type.getOopField("_protection_domain");
+    pdCacheField = type.getAddressField("_pd_cache");
   }
 
   public ProtectionDomainEntry(Address addr) {
@@ -54,10 +54,12 @@
   }
 
   public ProtectionDomainEntry next() {
-    return (ProtectionDomainEntry) VMObjectFactory.newObject(ProtectionDomainEntry.class, addr);
+    return (ProtectionDomainEntry) VMObjectFactory.newObject(ProtectionDomainEntry.class, nextField.getValue(addr));
   }
 
   public Oop protectionDomain() {
-    return VM.getVM().getObjectHeap().newOop(protectionDomainField.getValue(addr));
+    ProtectionDomainCacheEntry pd_cache = (ProtectionDomainCacheEntry)
+      VMObjectFactory.newObject(ProtectionDomainCacheEntry.class, pdCacheField.getValue(addr));
+    return pd_cache.protectionDomain();
   }
 }
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java	Wed Jul 05 19:15:55 2017 +0200
@@ -44,12 +44,10 @@
   private static synchronized void initialize(TypeDataBase db) {
     Type type = db.lookupType("SymbolTable");
     theTableField  = type.getAddressField("_the_table");
-    symbolTableSize = db.lookupIntConstant("SymbolTable::symbol_table_size").intValue();
   }
 
   // Fields
   private static AddressField theTableField;
-  private static int symbolTableSize;
 
   // Accessors
   public static SymbolTable getTheTable() {
@@ -57,10 +55,6 @@
     return (SymbolTable) VMObjectFactory.newObject(SymbolTable.class, tmp);
   }
 
-  public static int getSymbolTableSize() {
-    return symbolTableSize;
-  }
-
   public SymbolTable(Address addr) {
     super(addr);
   }
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java	Wed Jul 05 19:15:55 2017 +0200
@@ -59,6 +59,7 @@
 
                     public boolean doObj(Oop oop) {
                         try {
+                            writeHeapRecordPrologue();
                             if (oop instanceof TypeArray) {
                                 writePrimitiveArray((TypeArray)oop);
                             } else if (oop instanceof ObjArray) {
@@ -97,6 +98,7 @@
                                 // not-a-Java-visible oop
                                 writeInternalObject(oop);
                             }
+                            writeHeapRecordEpilogue();
                         } catch (IOException exp) {
                             throw new RuntimeException(exp);
                         }
@@ -416,6 +418,12 @@
     protected void writeHeapFooter() throws IOException {
     }
 
+    protected void writeHeapRecordPrologue() throws IOException {
+    }
+
+    protected void writeHeapRecordEpilogue() throws IOException {
+    }
+
     // HeapVisitor, OopVisitor methods can't throw any non-runtime
     // exception. But, derived class write methods (which are called
     // from visitor callbacks) may throw IOException. Hence, we throw
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java	Wed Jul 05 19:15:55 2017 +0200
@@ -44,7 +44,7 @@
  * WARNING: This format is still under development, and is subject to
  * change without notice.
  *
- * header    "JAVA PROFILE 1.0.1" (0-terminated)
+ * header    "JAVA PROFILE 1.0.1" or "JAVA PROFILE 1.0.2" (0-terminated)
  * u4        size of identifiers. Identifiers are used to represent
  *            UTF8 strings, objects, stack traces, etc. They usually
  *            have the same size as host pointers. For example, on
@@ -292,11 +292,34 @@
  *                          0x00000002: cpu sampling on/off
  *                u2        stack trace depth
  *
+ *
+ * When the header is "JAVA PROFILE 1.0.2" a heap dump can optionally
+ * be generated as a sequence of heap dump segments. This sequence is
+ * terminated by an end record. The additional tags allowed by format
+ * "JAVA PROFILE 1.0.2" are:
+ *
+ * HPROF_HEAP_DUMP_SEGMENT  denote a heap dump segment
+ *
+ *               [heap dump sub-records]*
+ *               The same sub-record types allowed by HPROF_HEAP_DUMP
+ *
+ * HPROF_HEAP_DUMP_END      denotes the end of a heap dump
+ *
  */
 
 public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
+
+    // The heap size threshold used to determine if segmented format
+    // ("JAVA PROFILE 1.0.2") should be used.
+    private static final long HPROF_SEGMENTED_HEAP_DUMP_THRESHOLD = 2L * 0x40000000;
+
+    // The approximate size of a heap segment. Used to calculate when to create
+    // a new segment.
+    private static final long HPROF_SEGMENTED_HEAP_DUMP_SEGMENT_SIZE = 1L * 0x40000000;
+
     // hprof binary file header
-    private static final String HPROF_HEADER = "JAVA PROFILE 1.0.1";
+    private static final String HPROF_HEADER_1_0_1 = "JAVA PROFILE 1.0.1";
+    private static final String HPROF_HEADER_1_0_2 = "JAVA PROFILE 1.0.2";
 
     // constants in enum HprofTag
     private static final int HPROF_UTF8             = 0x01;
@@ -312,6 +335,10 @@
     private static final int HPROF_CPU_SAMPLES      = 0x0D;
     private static final int HPROF_CONTROL_SETTINGS = 0x0E;
 
+    // 1.0.2 record types
+    private static final int HPROF_HEAP_DUMP_SEGMENT = 0x1C;
+    private static final int HPROF_HEAP_DUMP_END     = 0x2C;
+
     // Heap dump constants
     // constants in enum HprofGcTag
     private static final int HPROF_GC_ROOT_UNKNOWN       = 0xFF;
@@ -352,11 +379,9 @@
     private static final int JVM_SIGNATURE_ARRAY   = '[';
     private static final int JVM_SIGNATURE_CLASS   = 'L';
 
-
     public synchronized void write(String fileName) throws IOException {
         // open file stream and create buffered data output stream
-        FileOutputStream fos = new FileOutputStream(fileName);
-        FileChannel chn = fos.getChannel();
+        fos = new FileOutputStream(fileName);
         out = new DataOutputStream(new BufferedOutputStream(fos));
 
         VM vm = VM.getVM();
@@ -385,6 +410,9 @@
         FLOAT_SIZE = objectHeap.getFloatSize();
         DOUBLE_SIZE = objectHeap.getDoubleSize();
 
+        // Check weather we should dump the heap as segments
+        useSegmentedHeapDump = vm.getUniverse().heap().used() > HPROF_SEGMENTED_HEAP_DUMP_THRESHOLD;
+
         // hprof bin format header
         writeFileHeader();
 
@@ -394,38 +422,87 @@
 
         // hprof UTF-8 symbols section
         writeSymbols();
+
         // HPROF_LOAD_CLASS records for all classes
         writeClasses();
 
-        // write heap data now
-        out.writeByte((byte)HPROF_HEAP_DUMP);
-        out.writeInt(0); // relative timestamp
-
-        // remember position of dump length, we will fixup
-        // length later - hprof format requires length.
-        out.flush();
-        long dumpStart = chn.position();
-
-        // write dummy length of 0 and we'll fix it later.
-        out.writeInt(0);
-
         // write CLASS_DUMP records
         writeClassDumpRecords();
 
         // this will write heap data into the buffer stream
         super.write();
 
+        // flush buffer stream.
+        out.flush();
+
+        // Fill in final length
+        fillInHeapRecordLength();
+
+        if (useSegmentedHeapDump) {
+            // Write heap segment-end record
+            out.writeByte((byte) HPROF_HEAP_DUMP_END);
+            out.writeInt(0);
+            out.writeInt(0);
+        }
+
         // flush buffer stream and throw it.
         out.flush();
         out = null;
 
+        // close the file stream
+        fos.close();
+    }
+
+    @Override
+    protected void writeHeapRecordPrologue() throws IOException {
+        if (currentSegmentStart == 0) {
+            // write heap data header, depending on heap size use segmented heap
+            // format
+            out.writeByte((byte) (useSegmentedHeapDump ? HPROF_HEAP_DUMP_SEGMENT
+                    : HPROF_HEAP_DUMP));
+            out.writeInt(0);
+
+            // remember position of dump length, we will fixup
+            // length later - hprof format requires length.
+            out.flush();
+            currentSegmentStart = fos.getChannel().position();
+
+            // write dummy length of 0 and we'll fix it later.
+            out.writeInt(0);
+        }
+    }
+
+    @Override
+    protected void writeHeapRecordEpilogue() throws IOException {
+        if (useSegmentedHeapDump) {
+            out.flush();
+            if ((fos.getChannel().position() - currentSegmentStart - 4) >= HPROF_SEGMENTED_HEAP_DUMP_SEGMENT_SIZE) {
+                fillInHeapRecordLength();
+                currentSegmentStart = 0;
+            }
+        }
+    }
+
+    private void fillInHeapRecordLength() throws IOException {
+
         // now get current position to calculate length
-        long dumpEnd = chn.position();
+        long dumpEnd = fos.getChannel().position();
+
         // calculate length of heap data
-        int dumpLen = (int) (dumpEnd - dumpStart - 4);
+        long dumpLenLong = (dumpEnd - currentSegmentStart - 4L);
+
+        // Check length boundary, overflow could happen but is _very_ unlikely
+        if(dumpLenLong >= (4L * 0x40000000)){
+            throw new RuntimeException("Heap segment size overflow.");
+        }
+
+        // Save the current position
+        long currentPosition = fos.getChannel().position();
 
         // seek the position to write length
-        chn.position(dumpStart);
+        fos.getChannel().position(currentSegmentStart);
+
+        int dumpLen = (int) dumpLenLong;
 
         // write length as integer
         fos.write((dumpLen >>> 24) & 0xFF);
@@ -433,8 +510,8 @@
         fos.write((dumpLen >>> 8) & 0xFF);
         fos.write((dumpLen >>> 0) & 0xFF);
 
-        // close the file stream
-        fos.close();
+        //Reset to previous current position
+        fos.getChannel().position(currentPosition);
     }
 
     private void writeClassDumpRecords() throws IOException {
@@ -443,7 +520,9 @@
             sysDict.allClassesDo(new SystemDictionary.ClassVisitor() {
                             public void visit(Klass k) {
                                 try {
+                                    writeHeapRecordPrologue();
                                     writeClassDumpRecord(k);
+                                    writeHeapRecordEpilogue();
                                 } catch (IOException e) {
                                     throw new RuntimeException(e);
                                 }
@@ -884,7 +963,12 @@
     // writes hprof binary file header
     private void writeFileHeader() throws IOException {
         // version string
-        out.writeBytes(HPROF_HEADER);
+        if(useSegmentedHeapDump) {
+            out.writeBytes(HPROF_HEADER_1_0_2);
+        }
+        else {
+            out.writeBytes(HPROF_HEADER_1_0_1);
+        }
         out.writeByte((byte)'\0');
 
         // write identifier size. we use pointers as identifiers.
@@ -976,6 +1060,7 @@
     private static final int EMPTY_FRAME_DEPTH = -1;
 
     private DataOutputStream out;
+    private FileOutputStream fos;
     private Debugger dbg;
     private ObjectHeap objectHeap;
     private SymbolTable symTbl;
@@ -983,6 +1068,10 @@
     // oopSize of the debuggee
     private int OBJ_ID_SIZE;
 
+    // Added for hprof file format 1.0.2 support
+    private boolean useSegmentedHeapDump;
+    private long currentSegmentStart;
+
     private long BOOLEAN_BASE_OFFSET;
     private long BYTE_BASE_OFFSET;
     private long CHAR_BASE_OFFSET;
@@ -1005,6 +1094,7 @@
     private static class ClassData {
         int instSize;
         List fields;
+
         ClassData(int instSize, List fields) {
             this.instSize = instSize;
             this.fields = fields;
--- a/hotspot/make/hotspot_version	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/make/hotspot_version	Wed Jul 05 19:15:55 2017 +0200
@@ -35,7 +35,7 @@
 
 HS_MAJOR_VER=25
 HS_MINOR_VER=0
-HS_BUILD_NUMBER=53
+HS_BUILD_NUMBER=54
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=8
--- a/hotspot/make/windows/makefiles/compile.make	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/make/windows/makefiles/compile.make	Wed Jul 05 19:15:55 2017 +0200
@@ -44,6 +44,7 @@
 #   /GS       Inserts security stack checks in some functions (VS2005 default)
 #   /Oi       Use intrinsics (in /O2)
 #   /Od       Disable all optimizations
+#   /MP       Use multiple cores for compilation
 #
 # NOTE: Normally following any of the above with a '-' will turn off that flag
 #
@@ -206,6 +207,7 @@
 DEBUG_OPT_OPTION     = /Od
 GX_OPTION = /EHsc
 LD_FLAGS = /manifest $(LD_FLAGS)
+MP_FLAG = /MP
 # Manifest Tool - used in VS2005 and later to adjust manifests stored
 # as resources inside build artifacts.
 !if "x$(MT)" == "x"
@@ -219,6 +221,7 @@
 DEBUG_OPT_OPTION     = /Od
 GX_OPTION = /EHsc
 LD_FLAGS = /manifest $(LD_FLAGS)
+MP_FLAG = /MP
 # Manifest Tool - used in VS2005 and later to adjust manifests stored
 # as resources inside build artifacts.
 !if "x$(MT)" == "x"
@@ -235,6 +238,7 @@
 DEBUG_OPT_OPTION     = /Od
 GX_OPTION = /EHsc
 LD_FLAGS = /manifest $(LD_FLAGS)
+MP_FLAG = /MP
 # Manifest Tool - used in VS2005 and later to adjust manifests stored
 # as resources inside build artifacts.
 !if "x$(MT)" == "x"
@@ -245,6 +249,8 @@
 !endif
 !endif
 
+CXX_FLAGS = $(CXX_FLAGS) $(MP_FLAG)
+
 # If NO_OPTIMIZATIONS is defined in the environment, turn everything off
 !ifdef NO_OPTIMIZATIONS
 PRODUCT_OPT_OPTION   = $(DEBUG_OPT_OPTION)
--- a/hotspot/make/windows/makefiles/fastdebug.make	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/make/windows/makefiles/fastdebug.make	Wed Jul 05 19:15:55 2017 +0200
@@ -38,7 +38,7 @@
 !include ../local.make
 !include compile.make
 
-CXX_FLAGS=$(CXX_FLAGS) $(FASTDEBUG_OPT_OPTION) /D "CHECK_UNHANDLED_OOPS"
+CXX_FLAGS=$(CXX_FLAGS) $(FASTDEBUG_OPT_OPTION)
 
 !include $(WorkSpace)/make/windows/makefiles/vm.make
 !include local.make
--- a/hotspot/make/windows/makefiles/sa.make	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/make/windows/makefiles/sa.make	Wed Jul 05 19:15:55 2017 +0200
@@ -102,28 +102,33 @@
 !if "$(MT)" != ""
 SA_LD_FLAGS = -manifest $(SA_LD_FLAGS)
 !endif
-SASRCFILE = $(AGENT_DIR)/src/os/win32/windbg/sawindbg.cpp
+
+SASRCFILES = $(AGENT_DIR)/src/os/win32/windbg/sawindbg.cpp \
+		$(AGENT_DIR)/src/share/native/sadis.c
+		            
 SA_LFLAGS = $(SA_LD_FLAGS) -nologo -subsystem:console -machine:$(MACHINE)
 !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
 SA_LFLAGS = $(SA_LFLAGS) -map -debug
 !endif
 
+SA_CFLAGS = $(SA_CFLAGS) $(MP_FLAG)
+
 # Note that we do not keep sawindbj.obj around as it would then
 # get included in the dumpbin command in build_vm_def.sh
 
 # In VS2005 or VS2008 the link command creates a .manifest file that we want
 # to insert into the linked artifact so we do not need to track it separately.
 # Use ";#2" for .dll and ";#1" for .exe in the MT command below:
-$(SAWINDBG): $(SASRCFILE)
+$(SAWINDBG): $(SASRCFILES)
 	set INCLUDE=$(SA_INCLUDE)$(INCLUDE)
 	$(CXX) @<<
 	  -I"$(BootStrapDir)/include" -I"$(BootStrapDir)/include/win32" 
 	  -I"$(GENERATED)" $(SA_CFLAGS)
-	  $(SASRCFILE)
+	  $(SASRCFILES)
 	  -out:$*.obj
 <<
 	set LIB=$(SA_LIB)$(LIB)
-	$(LD) -out:$@ -DLL $*.obj dbgeng.lib $(SA_LFLAGS)
+	$(LD) -out:$@ -DLL sawindbg.obj sadis.obj dbgeng.lib $(SA_LFLAGS)
 !if "$(MT)" != ""
 	$(MT) -manifest $(@F).manifest -outputresource:$(@F);#2
 !endif
--- a/hotspot/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -37,6 +37,9 @@
 #include "runtime/vframeArray.hpp"
 #include "utilities/macros.hpp"
 #include "vmreg_sparc.inline.hpp"
+#if INCLUDE_ALL_GCS
+#include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
+#endif
 
 // Implementation of StubAssembler
 
@@ -912,7 +915,7 @@
         Register tmp2 = G3_scratch;
         jbyte* byte_map_base = ((CardTableModRefBS*)bs)->byte_map_base;
 
-        Label not_already_dirty, restart, refill;
+        Label not_already_dirty, restart, refill, young_card;
 
 #ifdef _LP64
         __ srlx(addr, CardTableModRefBS::card_shift, addr);
@@ -924,9 +927,15 @@
         __ set(rs, cardtable);         // cardtable := <card table base>
         __ ldub(addr, cardtable, tmp); // tmp := [addr + cardtable]
 
+        __ cmp_and_br_short(tmp, G1SATBCardTableModRefBS::g1_young_card_val(), Assembler::equal, Assembler::pt, young_card);
+
+        __ membar(Assembler::Membar_mask_bits(Assembler::StoreLoad));
+        __ ldub(addr, cardtable, tmp); // tmp := [addr + cardtable]
+
         assert(CardTableModRefBS::dirty_card_val() == 0, "otherwise check this code");
         __ cmp_and_br_short(tmp, G0, Assembler::notEqual, Assembler::pt, not_already_dirty);
 
+        __ bind(young_card);
         // We didn't take the branch, so we're already dirty: return.
         // Use return-from-leaf
         __ retl();
--- a/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -3752,7 +3752,7 @@
 #define __ masm.
   address start = __ pc();
 
-  Label not_already_dirty, restart, refill;
+  Label not_already_dirty, restart, refill, young_card;
 
 #ifdef _LP64
   __ srlx(O0, CardTableModRefBS::card_shift, O0);
@@ -3763,9 +3763,15 @@
   __ set(addrlit, O1); // O1 := <card table base>
   __ ldub(O0, O1, O2); // O2 := [O0 + O1]
 
+  __ cmp_and_br_short(O2, G1SATBCardTableModRefBS::g1_young_card_val(), Assembler::equal, Assembler::pt, young_card);
+
+  __ membar(Assembler::Membar_mask_bits(Assembler::StoreLoad));
+  __ ldub(O0, O1, O2); // O2 := [O0 + O1]
+
   assert(CardTableModRefBS::dirty_card_val() == 0, "otherwise check this code");
   __ cmp_and_br_short(O2, G0, Assembler::notEqual, Assembler::pt, not_already_dirty);
 
+  __ bind(young_card);
   // We didn't take the branch, so we're already dirty: return.
   // Use return-from-leaf
   __ retl();
--- a/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -38,6 +38,9 @@
 #include "runtime/vframeArray.hpp"
 #include "utilities/macros.hpp"
 #include "vmreg_x86.inline.hpp"
+#if INCLUDE_ALL_GCS
+#include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
+#endif
 
 
 // Implementation of StubAssembler
@@ -1753,13 +1756,17 @@
         __ leal(card_addr, __ as_Address(ArrayAddress(cardtable, index)));
 #endif
 
-        __ cmpb(Address(card_addr, 0), 0);
+        __ cmpb(Address(card_addr, 0), (int)G1SATBCardTableModRefBS::g1_young_card_val());
+        __ jcc(Assembler::equal, done);
+
+        __ membar(Assembler::Membar_mask_bits(Assembler::StoreLoad));
+        __ cmpb(Address(card_addr, 0), (int)CardTableModRefBS::dirty_card_val());
         __ jcc(Assembler::equal, done);
 
         // storing region crossing non-NULL, card is clean.
         // dirty card and log.
 
-        __ movb(Address(card_addr, 0), 0);
+        __ movb(Address(card_addr, 0), (int)CardTableModRefBS::dirty_card_val());
 
         __ cmpl(queue_index, 0);
         __ jcc(Assembler::equal, runtime);
--- a/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -3389,13 +3389,18 @@
   const Register card_addr = tmp;
   lea(card_addr, as_Address(ArrayAddress(cardtable, index)));
 #endif
-  cmpb(Address(card_addr, 0), 0);
+  cmpb(Address(card_addr, 0), (int)G1SATBCardTableModRefBS::g1_young_card_val());
   jcc(Assembler::equal, done);
 
+  membar(Assembler::Membar_mask_bits(Assembler::StoreLoad));
+  cmpb(Address(card_addr, 0), (int)CardTableModRefBS::dirty_card_val());
+  jcc(Assembler::equal, done);
+
+
   // storing a region crossing, non-NULL oop, card is clean.
   // dirty card and log.
 
-  movb(Address(card_addr, 0), 0);
+  movb(Address(card_addr, 0), (int)CardTableModRefBS::dirty_card_val());
 
   cmpl(queue_index, 0);
   jcc(Assembler::equal, runtime);
--- a/hotspot/src/os/bsd/vm/osThread_bsd.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/os/bsd/vm/osThread_bsd.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -42,7 +42,7 @@
 #ifdef __APPLE__
   typedef thread_t thread_id_t;
 #else
-  typedef pthread_t thread_id_t;
+  typedef pid_t thread_id_t;
 #endif
 
   // _pthread_id is the pthread id, which is used by library calls
--- a/hotspot/src/os/bsd/vm/os_bsd.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/os/bsd/vm/os_bsd.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -100,6 +100,7 @@
 # include <stdint.h>
 # include <inttypes.h>
 # include <sys/ioctl.h>
+# include <sys/syscall.h>
 
 #if defined(__FreeBSD__) || defined(__NetBSD__)
 # include <elf.h>
@@ -152,6 +153,7 @@
 // utility functions
 
 static int SR_initialize();
+static void unpackTime(timespec* absTime, bool isAbsolute, jlong time);
 
 julong os::available_memory() {
   return Bsd::available_memory();
@@ -247,7 +249,17 @@
    * since it returns a 64 bit value)
    */
   mib[0] = CTL_HW;
+
+#if defined (HW_MEMSIZE) // Apple
   mib[1] = HW_MEMSIZE;
+#elif defined(HW_PHYSMEM) // Most of BSD
+  mib[1] = HW_PHYSMEM;
+#elif defined(HW_REALMEM) // Old FreeBSD
+  mib[1] = HW_REALMEM;
+#else
+  #error No ways to get physmem
+#endif
+
   len = sizeof(mem_val);
   if (sysctl(mib, 2, &mem_val, &len, NULL, 0) != -1) {
        assert(len == sizeof(mem_val), "unexpected data size");
@@ -679,18 +691,12 @@
     return NULL;
   }
 
+  osthread->set_thread_id(os::Bsd::gettid());
+
 #ifdef __APPLE__
-  // thread_id is mach thread on macos, which pthreads graciously caches and provides for us
-  mach_port_t thread_id = ::pthread_mach_thread_np(::pthread_self());
-  guarantee(thread_id != 0, "thread id missing from pthreads");
-  osthread->set_thread_id(thread_id);
-
-  uint64_t unique_thread_id = locate_unique_thread_id(thread_id);
+  uint64_t unique_thread_id = locate_unique_thread_id(osthread->thread_id());
   guarantee(unique_thread_id != 0, "unique thread id was not found");
   osthread->set_unique_thread_id(unique_thread_id);
-#else
-  // thread_id is pthread_id on BSD
-  osthread->set_thread_id(::pthread_self());
 #endif
   // initialize signal mask for this thread
   os::Bsd::hotspot_sigmask(thread);
@@ -847,18 +853,13 @@
     return false;
   }
 
+  osthread->set_thread_id(os::Bsd::gettid());
+
   // Store pthread info into the OSThread
 #ifdef __APPLE__
-  // thread_id is mach thread on macos, which pthreads graciously caches and provides for us
-  mach_port_t thread_id = ::pthread_mach_thread_np(::pthread_self());
-  guarantee(thread_id != 0, "just checking");
-  osthread->set_thread_id(thread_id);
-
-  uint64_t unique_thread_id = locate_unique_thread_id(thread_id);
+  uint64_t unique_thread_id = locate_unique_thread_id(osthread->thread_id());
   guarantee(unique_thread_id != 0, "just checking");
   osthread->set_unique_thread_id(unique_thread_id);
-#else
-  osthread->set_thread_id(::pthread_self());
 #endif
   osthread->set_pthread_id(::pthread_self());
 
@@ -1125,6 +1126,30 @@
   return n;
 }
 
+// Information of current thread in variety of formats
+pid_t os::Bsd::gettid() {
+  int retval = -1;
+
+#ifdef __APPLE__ //XNU kernel
+  // despite the fact mach port is actually not a thread id use it
+  // instead of syscall(SYS_thread_selfid) as it certainly fits to u4
+  retval = ::pthread_mach_thread_np(::pthread_self());
+  guarantee(retval != 0, "just checking");
+  return retval;
+
+#elif __FreeBSD__
+  retval = syscall(SYS_thr_self);
+#elif __OpenBSD__
+  retval = syscall(SYS_getthrid);
+#elif __NetBSD__
+  retval = (pid_t) syscall(SYS__lwp_self);
+#endif
+
+  if (retval == -1) {
+    return getpid();
+  }
+}
+
 intx os::current_thread_id() {
 #ifdef __APPLE__
   return (intx)::pthread_mach_thread_np(::pthread_self());
@@ -1132,6 +1157,7 @@
   return (intx)::pthread_self();
 #endif
 }
+
 int os::current_process_id() {
 
   // Under the old bsd thread library, bsd gives each thread
@@ -1904,7 +1930,7 @@
     bool timedwait(unsigned int sec, int nsec);
   private:
     jlong currenttime() const;
-    semaphore_t _semaphore;
+    os_semaphore_t _semaphore;
 };
 
 Semaphore::Semaphore() : _semaphore(0) {
@@ -1972,7 +1998,7 @@
 
 bool Semaphore::timedwait(unsigned int sec, int nsec) {
   struct timespec ts;
-  jlong endtime = unpackTime(&ts, false, (sec * NANOSECS_PER_SEC) + nsec);
+  unpackTime(&ts, false, (sec * NANOSECS_PER_SEC) + nsec);
 
   while (1) {
     int result = sem_timedwait(&_semaphore, &ts);
--- a/hotspot/src/os/bsd/vm/os_bsd.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/os/bsd/vm/os_bsd.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -84,6 +84,7 @@
   static void hotspot_sigmask(Thread* thread);
 
   static bool is_initial_thread(void);
+  static pid_t gettid();
 
   static int page_size(void)                                        { return _page_size; }
   static void set_page_size(int val)                                { _page_size = val; }
--- a/hotspot/src/os/linux/vm/globals_linux.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/os/linux/vm/globals_linux.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -53,7 +53,7 @@
 // Defines Linux-specific default values. The flags are available on all
 // platforms, but they may have different default values on other platforms.
 //
-define_pd_global(bool, UseLargePages, true);
+define_pd_global(bool, UseLargePages, false);
 define_pd_global(bool, UseLargePagesIndividualAllocation, false);
 define_pd_global(bool, UseOSErrorReporting, false);
 define_pd_global(bool, UseThreadPriorities, true) ;
--- a/hotspot/src/os/linux/vm/os_linux.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/os/linux/vm/os_linux.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -3361,13 +3361,15 @@
   if (FLAG_IS_DEFAULT(UseHugeTLBFS) &&
       FLAG_IS_DEFAULT(UseSHM) &&
       FLAG_IS_DEFAULT(UseTransparentHugePages)) {
-    // If UseLargePages is specified on the command line try all methods,
-    // if it's default, then try only UseTransparentHugePages.
-    if (FLAG_IS_DEFAULT(UseLargePages)) {
-      UseTransparentHugePages = true;
-    } else {
-      UseHugeTLBFS = UseTransparentHugePages = UseSHM = true;
-    }
+
+    // The type of large pages has not been specified by the user.
+
+    // Try UseHugeTLBFS and then UseSHM.
+    UseHugeTLBFS = UseSHM = true;
+
+    // Don't try UseTransparentHugePages since there are known
+    // performance issues with it turned on. This might change in the future.
+    UseTransparentHugePages = false;
   }
 
   if (UseTransparentHugePages) {
@@ -3393,9 +3395,19 @@
 }
 
 void os::large_page_init() {
-  if (!UseLargePages) {
+  if (!UseLargePages &&
+      !UseTransparentHugePages &&
+      !UseHugeTLBFS &&
+      !UseSHM) {
+    // Not using large pages.
+    return;
+  }
+
+  if (!FLAG_IS_DEFAULT(UseLargePages) && !UseLargePages) {
+    // The user explicitly turned off large pages.
+    // Ignore the rest of the large pages flags.
+    UseTransparentHugePages = false;
     UseHugeTLBFS = false;
-    UseTransparentHugePages = false;
     UseSHM = false;
     return;
   }
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -4080,8 +4080,7 @@
 
     // Generate any default methods - default methods are interface methods
     // that have a default implementation.  This is new with Lambda project.
-    if (has_default_methods && !access_flags.is_interface() &&
-        local_interfaces->length() > 0) {
+    if (has_default_methods && !access_flags.is_interface() ) {
       DefaultMethods::generate_default_methods(
           this_klass(), &all_mirandas, CHECK_(nullHandle));
     }
--- a/hotspot/src/share/vm/classfile/defaultMethods.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/classfile/defaultMethods.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -345,7 +345,6 @@
   }
 
   Symbol* generate_no_defaults_message(TRAPS) const;
-  Symbol* generate_abstract_method_message(Method* method, TRAPS) const;
   Symbol* generate_conflicts_message(GrowableArray<Method*>* methods, TRAPS) const;
 
  public:
@@ -404,20 +403,19 @@
       _exception_message = generate_no_defaults_message(CHECK);
       _exception_name = vmSymbols::java_lang_AbstractMethodError();
     } else if (qualified_methods.length() == 1) {
+      // leave abstract methods alone, they will be found via normal search path
       Method* method = qualified_methods.at(0);
-      if (method->is_abstract()) {
-        _exception_message = generate_abstract_method_message(method, CHECK);
-        _exception_name = vmSymbols::java_lang_AbstractMethodError();
-      } else {
+      if (!method->is_abstract()) {
         _selected_target = qualified_methods.at(0);
       }
     } else {
       _exception_message = generate_conflicts_message(&qualified_methods,CHECK);
       _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError();
+      if (TraceDefaultMethods) {
+        _exception_message->print_value_on(tty);
+        tty->print_cr("");
+      }
     }
-
-    assert((has_target() ^ throws_exception()) == 1,
-           "One and only one must be true");
   }
 
   bool contains_signature(Symbol* query) {
@@ -475,20 +473,6 @@
   return SymbolTable::new_symbol("No qualifying defaults found", CHECK_NULL);
 }
 
-Symbol* MethodFamily::generate_abstract_method_message(Method* method, TRAPS) const {
-  Symbol* klass = method->klass_name();
-  Symbol* name = method->name();
-  Symbol* sig = method->signature();
-  stringStream ss;
-  ss.print("Method ");
-  ss.write((const char*)klass->bytes(), klass->utf8_length());
-  ss.print(".");
-  ss.write((const char*)name->bytes(), name->utf8_length());
-  ss.write((const char*)sig->bytes(), sig->utf8_length());
-  ss.print(" is abstract");
-  return SymbolTable::new_symbol(ss.base(), (int)ss.size(), CHECK_NULL);
-}
-
 Symbol* MethodFamily::generate_conflicts_message(GrowableArray<Method*>* methods, TRAPS) const {
   stringStream ss;
   ss.print("Conflicting default methods:");
@@ -595,6 +579,18 @@
 #endif // ndef PRODUCT
 };
 
+static bool already_in_vtable_slots(GrowableArray<EmptyVtableSlot*>* slots, Method* m) {
+  bool found = false;
+  for (int j = 0; j < slots->length(); ++j) {
+    if (slots->at(j)->name() == m->name() &&
+        slots->at(j)->signature() == m->signature() ) {
+      found = true;
+      break;
+    }
+  }
+  return found;
+}
+
 static GrowableArray<EmptyVtableSlot*>* find_empty_vtable_slots(
     InstanceKlass* klass, GrowableArray<Method*>* mirandas, TRAPS) {
 
@@ -604,8 +600,10 @@
 
   // All miranda methods are obvious candidates
   for (int i = 0; i < mirandas->length(); ++i) {
-    EmptyVtableSlot* slot = new EmptyVtableSlot(mirandas->at(i));
-    slots->append(slot);
+    Method* m = mirandas->at(i);
+    if (!already_in_vtable_slots(slots, m)) {
+      slots->append(new EmptyVtableSlot(m));
+    }
   }
 
   // Also any overpasses in our superclasses, that we haven't implemented.
@@ -621,7 +619,26 @@
         // unless we have a real implementation of it in the current class.
         Method* impl = klass->lookup_method(m->name(), m->signature());
         if (impl == NULL || impl->is_overpass()) {
-          slots->append(new EmptyVtableSlot(m));
+          if (!already_in_vtable_slots(slots, m)) {
+            slots->append(new EmptyVtableSlot(m));
+          }
+        }
+      }
+    }
+
+    // also any default methods in our superclasses
+    if (super->default_methods() != NULL) {
+      for (int i = 0; i < super->default_methods()->length(); ++i) {
+        Method* m = super->default_methods()->at(i);
+        // m is a method that would have been a miranda if not for the
+        // default method processing that occurred on behalf of our superclass,
+        // so it's a method we want to re-examine in this new context.  That is,
+        // unless we have a real implementation of it in the current class.
+        Method* impl = klass->lookup_method(m->name(), m->signature());
+        if (impl == NULL || impl->is_overpass()) {
+          if (!already_in_vtable_slots(slots, m)) {
+            slots->append(new EmptyVtableSlot(m));
+          }
         }
       }
     }
@@ -679,7 +696,7 @@
     // private interface methods are not candidates for default methods
     // invokespecial to private interface methods doesn't use default method logic
     // future: take access controls into account for superclass methods
-    if (m != NULL && (!iklass->is_interface() || m->is_public())) {
+    if (m != NULL && !m->is_static() && (!iklass->is_interface() || m->is_public())) {
       if (_family == NULL) {
         _family = new StatefulMethodFamily();
       }
@@ -700,7 +717,7 @@
 
 
 
-static void create_overpasses(
+static void create_defaults_and_exceptions(
     GrowableArray<EmptyVtableSlot*>* slots, InstanceKlass* klass, TRAPS);
 
 static void generate_erased_defaults(
@@ -721,6 +738,8 @@
 
 static void merge_in_new_methods(InstanceKlass* klass,
     GrowableArray<Method*>* new_methods, TRAPS);
+static void create_default_methods( InstanceKlass* klass,
+    GrowableArray<Method*>* new_methods, TRAPS);
 
 // This is the guts of the default methods implementation.  This is called just
 // after the classfile has been parsed if some ancestor has default methods.
@@ -782,7 +801,7 @@
   }
 #endif // ndef PRODUCT
 
-  create_overpasses(empty_slots, klass, CHECK);
+  create_defaults_and_exceptions(empty_slots, klass, CHECK);
 
 #ifndef PRODUCT
   if (TraceDefaultMethods) {
@@ -791,66 +810,6 @@
 #endif // ndef PRODUCT
 }
 
-
-
-#ifdef ASSERT
-// Return true is broad type is a covariant return of narrow type
-static bool covariant_return_type(BasicType narrow, BasicType broad) {
-  if (narrow == broad) {
-    return true;
-  }
-  if (broad == T_OBJECT) {
-    return true;
-  }
-  return false;
-}
-#endif
-
-static int assemble_redirect(
-    BytecodeConstantPool* cp, BytecodeBuffer* buffer,
-    Symbol* incoming, Method* target, TRAPS) {
-
-  BytecodeAssembler assem(buffer, cp);
-
-  SignatureStream in(incoming, true);
-  SignatureStream out(target->signature(), true);
-  u2 parameter_count = 0;
-
-  assem.aload(parameter_count++); // load 'this'
-
-  while (!in.at_return_type()) {
-    assert(!out.at_return_type(), "Parameter counts do not match");
-    BasicType bt = in.type();
-    assert(out.type() == bt, "Parameter types are not compatible");
-    assem.load(bt, parameter_count);
-    if (in.is_object() && in.as_symbol(THREAD) != out.as_symbol(THREAD)) {
-      assem.checkcast(out.as_symbol(THREAD));
-    } else if (bt == T_LONG || bt == T_DOUBLE) {
-      ++parameter_count; // longs and doubles use two slots
-    }
-    ++parameter_count;
-    in.next();
-    out.next();
-  }
-  assert(out.at_return_type(), "Parameter counts do not match");
-  assert(covariant_return_type(out.type(), in.type()), "Return types are not compatible");
-
-  if (parameter_count == 1 && (in.type() == T_LONG || in.type() == T_DOUBLE)) {
-    ++parameter_count; // need room for return value
-  }
-  if (target->method_holder()->is_interface()) {
-    assem.invokespecial(target);
-  } else {
-    assem.invokevirtual(target);
-  }
-
-  if (in.is_object() && in.as_symbol(THREAD) != out.as_symbol(THREAD)) {
-    assem.checkcast(in.as_symbol(THREAD));
-  }
-  assem._return(in.type());
-  return parameter_count;
-}
-
 static int assemble_method_error(
     BytecodeConstantPool* cp, BytecodeBuffer* buffer, Symbol* errorName, Symbol* message, TRAPS) {
 
@@ -924,18 +883,18 @@
   }
 }
 
-// A "bridge" is a method created by javac to bridge the gap between
-// an implementation and a generically-compatible, but different, signature.
-// Bridges have actual bytecode implementation in classfiles.
-// An "overpass", on the other hand, performs the same function as a bridge
-// but does not occur in a classfile; the VM creates overpass itself,
-// when it needs a path to get from a call site to an default method, and
-// a bridge doesn't exist.
-static void create_overpasses(
+// Create default_methods list for the current class.
+// With the VM only processing erased signatures, the VM only
+// creates an overpass in a conflict case or a case with no candidates.
+// This allows virtual methods to override the overpass, but ensures
+// that a local method search will find the exception rather than an abstract
+// or default method that is not a valid candidate.
+static void create_defaults_and_exceptions(
     GrowableArray<EmptyVtableSlot*>* slots,
     InstanceKlass* klass, TRAPS) {
 
   GrowableArray<Method*> overpasses;
+  GrowableArray<Method*> defaults;
   BytecodeConstantPool bpool(klass->constants());
 
   for (int i = 0; i < slots->length(); ++i) {
@@ -943,7 +902,6 @@
 
     if (slot->is_bound()) {
       MethodFamily* method = slot->get_binding();
-      int max_stack = 0;
       BytecodeBuffer buffer;
 
 #ifndef PRODUCT
@@ -953,26 +911,27 @@
         tty->print_cr("");
         if (method->has_target()) {
           method->print_selected(tty, 1);
-        } else {
+        } else if (method->throws_exception()) {
           method->print_exception(tty, 1);
         }
       }
 #endif // ndef PRODUCT
+
       if (method->has_target()) {
         Method* selected = method->get_selected_target();
         if (selected->method_holder()->is_interface()) {
-          max_stack = assemble_redirect(
-            &bpool, &buffer, slot->signature(), selected, CHECK);
+          defaults.push(selected);
         }
       } else if (method->throws_exception()) {
-        max_stack = assemble_method_error(&bpool, &buffer, method->get_exception_name(), method->get_exception_message(), CHECK);
-      }
-      if (max_stack != 0) {
+        int max_stack = assemble_method_error(&bpool, &buffer,
+           method->get_exception_name(), method->get_exception_message(), CHECK);
         AccessFlags flags = accessFlags_from(
           JVM_ACC_PUBLIC | JVM_ACC_SYNTHETIC | JVM_ACC_BRIDGE);
-        Method* m = new_method(&bpool, &buffer, slot->name(), slot->signature(),
+         Method* m = new_method(&bpool, &buffer, slot->name(), slot->signature(),
           flags, max_stack, slot->size_of_parameters(),
           ConstMethod::OVERPASS, CHECK);
+        // We push to the methods list:
+        // overpass methods which are exception throwing methods
         if (m != NULL) {
           overpasses.push(m);
         }
@@ -983,11 +942,31 @@
 #ifndef PRODUCT
   if (TraceDefaultMethods) {
     tty->print_cr("Created %d overpass methods", overpasses.length());
+    tty->print_cr("Created %d default  methods", defaults.length());
   }
 #endif // ndef PRODUCT
 
-  switchover_constant_pool(&bpool, klass, &overpasses, CHECK);
-  merge_in_new_methods(klass, &overpasses, CHECK);
+  if (overpasses.length() > 0) {
+    switchover_constant_pool(&bpool, klass, &overpasses, CHECK);
+    merge_in_new_methods(klass, &overpasses, CHECK);
+  }
+  if (defaults.length() > 0) {
+    create_default_methods(klass, &defaults, CHECK);
+  }
+}
+
+static void create_default_methods( InstanceKlass* klass,
+    GrowableArray<Method*>* new_methods, TRAPS) {
+
+  int new_size = new_methods->length();
+  Array<Method*>* total_default_methods = MetadataFactory::new_array<Method*>(
+      klass->class_loader_data(), new_size, NULL, CHECK);
+  for (int index = 0; index < new_size; index++ ) {
+    total_default_methods->at_put(index, new_methods->at(index));
+  }
+  Method::sort_methods(total_default_methods, false, false);
+
+  klass->set_default_methods(total_default_methods);
 }
 
 static void sort_methods(GrowableArray<Method*>* methods) {
--- a/hotspot/src/share/vm/classfile/dictionary.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/classfile/dictionary.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, 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
@@ -25,6 +25,7 @@
 #include "precompiled.hpp"
 #include "classfile/dictionary.hpp"
 #include "classfile/systemDictionary.hpp"
+#include "memory/iterator.hpp"
 #include "oops/oop.inline.hpp"
 #include "prims/jvmtiRedefineClassesTrace.hpp"
 #include "utilities/hashtable.inline.hpp"
@@ -38,17 +39,21 @@
   : TwoOopHashtable<Klass*, mtClass>(table_size, sizeof(DictionaryEntry)) {
   _current_class_index = 0;
   _current_class_entry = NULL;
+  _pd_cache_table = new ProtectionDomainCacheTable(defaultProtectionDomainCacheSize);
 };
 
 
-
 Dictionary::Dictionary(int table_size, HashtableBucket<mtClass>* t,
                        int number_of_entries)
   : TwoOopHashtable<Klass*, mtClass>(table_size, sizeof(DictionaryEntry), t, number_of_entries) {
   _current_class_index = 0;
   _current_class_entry = NULL;
+  _pd_cache_table = new ProtectionDomainCacheTable(defaultProtectionDomainCacheSize);
 };
 
+ProtectionDomainCacheEntry* Dictionary::cache_get(oop protection_domain) {
+  return _pd_cache_table->get(protection_domain);
+}
 
 DictionaryEntry* Dictionary::new_entry(unsigned int hash, Klass* klass,
                                        ClassLoaderData* loader_data) {
@@ -105,11 +110,12 @@
 }
 
 
-void DictionaryEntry::add_protection_domain(oop protection_domain) {
+void DictionaryEntry::add_protection_domain(Dictionary* dict, oop protection_domain) {
   assert_locked_or_safepoint(SystemDictionary_lock);
   if (!contains_protection_domain(protection_domain)) {
+    ProtectionDomainCacheEntry* entry = dict->cache_get(protection_domain);
     ProtectionDomainEntry* new_head =
-                new ProtectionDomainEntry(protection_domain, _pd_set);
+                new ProtectionDomainEntry(entry, _pd_set);
     // Warning: Preserve store ordering.  The SystemDictionary is read
     //          without locks.  The new ProtectionDomainEntry must be
     //          complete before other threads can be allowed to see it
@@ -193,7 +199,10 @@
 
 
 void Dictionary::always_strong_oops_do(OopClosure* blk) {
-  // Follow all system classes and temporary placeholders in dictionary
+  // Follow all system classes and temporary placeholders in dictionary; only
+  // protection domain oops contain references into the heap. In a first
+  // pass over the system dictionary determine which need to be treated as
+  // strongly reachable and mark them as such.
   for (int index = 0; index < table_size(); index++) {
     for (DictionaryEntry *probe = bucket(index);
                           probe != NULL;
@@ -201,10 +210,13 @@
       Klass* e = probe->klass();
       ClassLoaderData* loader_data = probe->loader_data();
       if (is_strongly_reachable(loader_data, e)) {
-        probe->protection_domain_set_oops_do(blk);
+        probe->set_strongly_reachable();
       }
     }
   }
+  // Then iterate over the protection domain cache to apply the closure on the
+  // previously marked ones.
+  _pd_cache_table->always_strong_oops_do(blk);
 }
 
 
@@ -266,18 +278,12 @@
   }
 }
 
-
 void Dictionary::oops_do(OopClosure* f) {
-  for (int index = 0; index < table_size(); index++) {
-    for (DictionaryEntry* probe = bucket(index);
-                          probe != NULL;
-                          probe = probe->next()) {
-      probe->protection_domain_set_oops_do(f);
-    }
-  }
+  // Only the protection domain oops contain references into the heap. Iterate
+  // over all of them.
+  _pd_cache_table->oops_do(f);
 }
 
-
 void Dictionary::methods_do(void f(Method*)) {
   for (int index = 0; index < table_size(); index++) {
     for (DictionaryEntry* probe = bucket(index);
@@ -292,6 +298,11 @@
   }
 }
 
+void Dictionary::unlink(BoolObjectClosure* is_alive) {
+  // Only the protection domain cache table may contain references to the heap
+  // that need to be unlinked.
+  _pd_cache_table->unlink(is_alive);
+}
 
 Klass* Dictionary::try_get_next_class() {
   while (true) {
@@ -306,7 +317,6 @@
   // never reached
 }
 
-
 // Add a loaded class to the system dictionary.
 // Readers of the SystemDictionary aren't always locked, so _buckets
 // is volatile. The store of the next field in the constructor is
@@ -396,7 +406,7 @@
   assert(protection_domain() != NULL,
          "real protection domain should be present");
 
-  entry->add_protection_domain(protection_domain());
+  entry->add_protection_domain(this, protection_domain());
 
   assert(entry->contains_protection_domain(protection_domain()),
          "now protection domain should be present");
@@ -446,6 +456,146 @@
   }
 }
 
+ProtectionDomainCacheTable::ProtectionDomainCacheTable(int table_size)
+  : Hashtable<oop, mtClass>(table_size, sizeof(ProtectionDomainCacheEntry))
+{
+}
+
+void ProtectionDomainCacheTable::unlink(BoolObjectClosure* is_alive) {
+  assert(SafepointSynchronize::is_at_safepoint(), "must be");
+  for (int i = 0; i < table_size(); ++i) {
+    ProtectionDomainCacheEntry** p = bucket_addr(i);
+    ProtectionDomainCacheEntry* entry = bucket(i);
+    while (entry != NULL) {
+      if (is_alive->do_object_b(entry->literal())) {
+        p = entry->next_addr();
+      } else {
+        *p = entry->next();
+        free_entry(entry);
+      }
+      entry = *p;
+    }
+  }
+}
+
+void ProtectionDomainCacheTable::oops_do(OopClosure* f) {
+  for (int index = 0; index < table_size(); index++) {
+    for (ProtectionDomainCacheEntry* probe = bucket(index);
+                                     probe != NULL;
+                                     probe = probe->next()) {
+      probe->oops_do(f);
+    }
+  }
+}
+
+uint ProtectionDomainCacheTable::bucket_size() {
+  return sizeof(ProtectionDomainCacheEntry);
+}
+
+#ifndef PRODUCT
+void ProtectionDomainCacheTable::print() {
+  tty->print_cr("Protection domain cache table (table_size=%d, classes=%d)",
+                table_size(), number_of_entries());
+  for (int index = 0; index < table_size(); index++) {
+    for (ProtectionDomainCacheEntry* probe = bucket(index);
+                                     probe != NULL;
+                                     probe = probe->next()) {
+      probe->print();
+    }
+  }
+}
+
+void ProtectionDomainCacheEntry::print() {
+  tty->print_cr("entry "PTR_FORMAT" value "PTR_FORMAT" strongly_reachable %d next "PTR_FORMAT,
+                this, (void*)literal(), _strongly_reachable, next());
+}
+#endif
+
+void ProtectionDomainCacheTable::verify() {
+  int element_count = 0;
+  for (int index = 0; index < table_size(); index++) {
+    for (ProtectionDomainCacheEntry* probe = bucket(index);
+                                     probe != NULL;
+                                     probe = probe->next()) {
+      probe->verify();
+      element_count++;
+    }
+  }
+  guarantee(number_of_entries() == element_count,
+            "Verify of protection domain cache table failed");
+  debug_only(verify_lookup_length((double)number_of_entries() / table_size()));
+}
+
+void ProtectionDomainCacheEntry::verify() {
+  guarantee(literal()->is_oop(), "must be an oop");
+}
+
+void ProtectionDomainCacheTable::always_strong_oops_do(OopClosure* f) {
+  // the caller marked the protection domain cache entries that we need to apply
+  // the closure on. Only process them.
+  for (int index = 0; index < table_size(); index++) {
+    for (ProtectionDomainCacheEntry* probe = bucket(index);
+                                     probe != NULL;
+                                     probe = probe->next()) {
+      if (probe->is_strongly_reachable()) {
+        probe->reset_strongly_reachable();
+        probe->oops_do(f);
+      }
+    }
+  }
+}
+
+ProtectionDomainCacheEntry* ProtectionDomainCacheTable::get(oop protection_domain) {
+  unsigned int hash = compute_hash(protection_domain);
+  int index = hash_to_index(hash);
+
+  ProtectionDomainCacheEntry* entry = find_entry(index, protection_domain);
+  if (entry == NULL) {
+    entry = add_entry(index, hash, protection_domain);
+  }
+  return entry;
+}
+
+ProtectionDomainCacheEntry* ProtectionDomainCacheTable::find_entry(int index, oop protection_domain) {
+  for (ProtectionDomainCacheEntry* e = bucket(index); e != NULL; e = e->next()) {
+    if (e->protection_domain() == protection_domain) {
+      return e;
+    }
+  }
+
+  return NULL;
+}
+
+ProtectionDomainCacheEntry* ProtectionDomainCacheTable::add_entry(int index, unsigned int hash, oop protection_domain) {
+  assert_locked_or_safepoint(SystemDictionary_lock);
+  assert(index == index_for(protection_domain), "incorrect index?");
+  assert(find_entry(index, protection_domain) == NULL, "no double entry");
+
+  ProtectionDomainCacheEntry* p = new_entry(hash, protection_domain);
+  Hashtable<oop, mtClass>::add_entry(index, p);
+  return p;
+}
+
+void ProtectionDomainCacheTable::free(ProtectionDomainCacheEntry* to_delete) {
+  unsigned int hash = compute_hash(to_delete->protection_domain());
+  int index = hash_to_index(hash);
+
+  ProtectionDomainCacheEntry** p = bucket_addr(index);
+  ProtectionDomainCacheEntry* entry = bucket(index);
+  while (true) {
+    assert(entry != NULL, "sanity");
+
+    if (entry == to_delete) {
+      *p = entry->next();
+      Hashtable<oop, mtClass>::free_entry(entry);
+      break;
+    } else {
+      p = entry->next_addr();
+      entry = *p;
+    }
+  }
+}
+
 SymbolPropertyTable::SymbolPropertyTable(int table_size)
   : Hashtable<Symbol*, mtSymbol>(table_size, sizeof(SymbolPropertyEntry))
 {
@@ -532,11 +682,13 @@
       tty->cr();
     }
   }
+  tty->cr();
+  _pd_cache_table->print();
+  tty->cr();
 }
 
 #endif
 
-
 void Dictionary::verify() {
   guarantee(number_of_entries() >= 0, "Verify of system dictionary failed");
 
@@ -563,5 +715,7 @@
   guarantee(number_of_entries() == element_count,
             "Verify of system dictionary failed");
   debug_only(verify_lookup_length((double)number_of_entries() / table_size()));
+
+  _pd_cache_table->verify();
 }
 
--- a/hotspot/src/share/vm/classfile/dictionary.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/classfile/dictionary.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -27,11 +27,14 @@
 
 #include "classfile/systemDictionary.hpp"
 #include "oops/instanceKlass.hpp"
-#include "oops/oop.hpp"
+#include "oops/oop.inline.hpp"
 #include "utilities/hashtable.hpp"
 
 class DictionaryEntry;
 class PSPromotionManager;
+class ProtectionDomainCacheTable;
+class ProtectionDomainCacheEntry;
+class BoolObjectClosure;
 
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 // The data structure for the system dictionary (and the shared system
@@ -45,6 +48,8 @@
   // pointer to the current hash table entry.
   static DictionaryEntry*       _current_class_entry;
 
+  ProtectionDomainCacheTable*   _pd_cache_table;
+
   DictionaryEntry* get_entry(int index, unsigned int hash,
                              Symbol* name, ClassLoaderData* loader_data);
 
@@ -93,6 +98,7 @@
 
   void methods_do(void f(Method*));
 
+  void unlink(BoolObjectClosure* is_alive);
 
   // Classes loaded by the bootstrap loader are always strongly reachable.
   // If we're not doing class unloading, all classes are strongly reachable.
@@ -118,6 +124,7 @@
   // Sharing support
   void reorder_dictionary();
 
+  ProtectionDomainCacheEntry* cache_get(oop protection_domain);
 
 #ifndef PRODUCT
   void print();
@@ -126,21 +133,112 @@
 };
 
 // The following classes can be in dictionary.cpp, but we need these
-// to be in header file so that SA's vmStructs can access.
+// to be in header file so that SA's vmStructs can access them.
+class ProtectionDomainCacheEntry : public HashtableEntry<oop, mtClass> {
+  friend class VMStructs;
+ private:
+  // Flag indicating whether this protection domain entry is strongly reachable.
+  // Used during iterating over the system dictionary to remember oops that need
+  // to be updated.
+  bool _strongly_reachable;
+ public:
+  oop protection_domain() { return literal(); }
+
+  void init() {
+    _strongly_reachable = false;
+  }
+
+  ProtectionDomainCacheEntry* next() {
+    return (ProtectionDomainCacheEntry*)HashtableEntry<oop, mtClass>::next();
+  }
+
+  ProtectionDomainCacheEntry** next_addr() {
+    return (ProtectionDomainCacheEntry**)HashtableEntry<oop, mtClass>::next_addr();
+  }
+
+  void oops_do(OopClosure* f) {
+    f->do_oop(literal_addr());
+  }
+
+  void set_strongly_reachable()   { _strongly_reachable = true; }
+  bool is_strongly_reachable()    { return _strongly_reachable; }
+  void reset_strongly_reachable() { _strongly_reachable = false; }
+
+  void print() PRODUCT_RETURN;
+  void verify();
+};
+
+// The ProtectionDomainCacheTable contains all protection domain oops. The system
+// dictionary entries reference its entries instead of having references to oops
+// directly.
+// This is used to speed up system dictionary iteration: the oops in the
+// protection domain are the only ones referring the Java heap. So when there is
+// need to update these, instead of going over every entry of the system dictionary,
+// we only need to iterate over this set.
+// The amount of different protection domains used is typically magnitudes smaller
+// than the number of system dictionary entries (loaded classes).
+class ProtectionDomainCacheTable : public Hashtable<oop, mtClass> {
+  friend class VMStructs;
+private:
+  ProtectionDomainCacheEntry* bucket(int i) {
+    return (ProtectionDomainCacheEntry*) Hashtable<oop, mtClass>::bucket(i);
+  }
+
+  // The following method is not MT-safe and must be done under lock.
+  ProtectionDomainCacheEntry** bucket_addr(int i) {
+    return (ProtectionDomainCacheEntry**) Hashtable<oop, mtClass>::bucket_addr(i);
+  }
+
+  ProtectionDomainCacheEntry* new_entry(unsigned int hash, oop protection_domain) {
+    ProtectionDomainCacheEntry* entry = (ProtectionDomainCacheEntry*) Hashtable<oop, mtClass>::new_entry(hash, protection_domain);
+    entry->init();
+    return entry;
+  }
+
+  static unsigned int compute_hash(oop protection_domain) {
+    return (unsigned int)(protection_domain->identity_hash());
+  }
+
+  int index_for(oop protection_domain) {
+    return hash_to_index(compute_hash(protection_domain));
+  }
+
+  ProtectionDomainCacheEntry* add_entry(int index, unsigned int hash, oop protection_domain);
+  ProtectionDomainCacheEntry* find_entry(int index, oop protection_domain);
+
+public:
+
+  ProtectionDomainCacheTable(int table_size);
+
+  ProtectionDomainCacheEntry* get(oop protection_domain);
+  void free(ProtectionDomainCacheEntry* entry);
+
+  void unlink(BoolObjectClosure* cl);
+
+  // GC support
+  void oops_do(OopClosure* f);
+  void always_strong_oops_do(OopClosure* f);
+
+  static uint bucket_size();
+
+  void print() PRODUCT_RETURN;
+  void verify();
+};
+
 
 class ProtectionDomainEntry :public CHeapObj<mtClass> {
   friend class VMStructs;
  public:
   ProtectionDomainEntry* _next;
-  oop                    _protection_domain;
+  ProtectionDomainCacheEntry* _pd_cache;
 
-  ProtectionDomainEntry(oop protection_domain, ProtectionDomainEntry* next) {
-    _protection_domain = protection_domain;
-    _next              = next;
+  ProtectionDomainEntry(ProtectionDomainCacheEntry* pd_cache, ProtectionDomainEntry* next) {
+    _pd_cache = pd_cache;
+    _next     = next;
   }
 
   ProtectionDomainEntry* next() { return _next; }
-  oop protection_domain() { return _protection_domain; }
+  oop protection_domain() { return _pd_cache->protection_domain(); }
 };
 
 // An entry in the system dictionary, this describes a class as
@@ -151,6 +249,24 @@
  private:
   // Contains the set of approved protection domains that can access
   // this system dictionary entry.
+  //
+  // This protection domain set is a set of tuples:
+  //
+  // (InstanceKlass C, initiating class loader ICL, Protection Domain PD)
+  //
+  // [Note that C.protection_domain(), which is stored in the java.lang.Class
+  // mirror of C, is NOT the same as PD]
+  //
+  // If such an entry (C, ICL, PD) exists in the table, it means that
+  // it is okay for a class Foo to reference C, where
+  //
+  //    Foo.protection_domain() == PD, and
+  //    Foo's defining class loader == ICL
+  //
+  // The usage of the PD set can be seen in SystemDictionary::validate_protection_domain()
+  // It is essentially a cache to avoid repeated Java up-calls to
+  // ClassLoader.checkPackageAccess().
+  //
   ProtectionDomainEntry* _pd_set;
   ClassLoaderData*       _loader_data;
 
@@ -158,7 +274,7 @@
   // Tells whether a protection is in the approved set.
   bool contains_protection_domain(oop protection_domain) const;
   // Adds a protection domain to the approved set.
-  void add_protection_domain(oop protection_domain);
+  void add_protection_domain(Dictionary* dict, oop protection_domain);
 
   Klass* klass() const { return (Klass*)literal(); }
   Klass** klass_addr() { return (Klass**)literal_addr(); }
@@ -189,12 +305,11 @@
          : contains_protection_domain(protection_domain());
   }
 
-
-  void protection_domain_set_oops_do(OopClosure* f) {
+  void set_strongly_reachable() {
     for (ProtectionDomainEntry* current = _pd_set;
                                 current != NULL;
                                 current = current->_next) {
-      f->do_oop(&(current->_protection_domain));
+      current->_pd_cache->set_strongly_reachable();
     }
   }
 
@@ -202,7 +317,7 @@
     for (ProtectionDomainEntry* current = _pd_set;
                                 current != NULL;
                                 current = current->_next) {
-      current->_protection_domain->verify();
+      current->_pd_cache->protection_domain()->verify();
     }
   }
 
--- a/hotspot/src/share/vm/classfile/javaClasses.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/classfile/javaClasses.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -1376,8 +1376,15 @@
   const char* klass_name  = holder->external_name();
   int buf_len = (int)strlen(klass_name);
 
-  // pushing to the stack trace added one.
+  // The method id may point to an obsolete method, can't get more stack information
   Method* method = holder->method_with_idnum(method_id);
+  if (method == NULL) {
+    char* buf = NEW_RESOURCE_ARRAY(char, buf_len + 64);
+    // This is what the java code prints in this case - added Redefined
+    sprintf(buf, "\tat %s.null (Redefined)", klass_name);
+    return buf;
+  }
+
   char* method_name = method->name()->as_C_string();
   buf_len += (int)strlen(method_name);
 
@@ -1773,7 +1780,8 @@
   return element;
 }
 
-oop java_lang_StackTraceElement::create(Handle mirror, int method_id, int version, int bci, TRAPS) {
+oop java_lang_StackTraceElement::create(Handle mirror, int method_id,
+                                        int version, int bci, TRAPS) {
   // Allocate java.lang.StackTraceElement instance
   Klass* k = SystemDictionary::StackTraceElement_klass();
   assert(k != NULL, "must be loaded in 1.4+");
@@ -1790,8 +1798,16 @@
   oop classname = StringTable::intern((char*) str, CHECK_0);
   java_lang_StackTraceElement::set_declaringClass(element(), classname);
 
+  Method* method = holder->method_with_idnum(method_id);
+  // Method on stack may be obsolete because it was redefined so cannot be
+  // found by idnum.
+  if (method == NULL) {
+    // leave name and fileName null
+    java_lang_StackTraceElement::set_lineNumber(element(), -1);
+    return element();
+  }
+
   // Fill in method name
-  Method* method = holder->method_with_idnum(method_id);
   oop methodname = StringTable::intern(method->name(), CHECK_0);
   java_lang_StackTraceElement::set_methodName(element(), methodname);
 
--- a/hotspot/src/share/vm/classfile/symbolTable.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/classfile/symbolTable.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -107,18 +107,13 @@
     add(loader_data, cp, names_count, name, lengths, cp_indices, hashValues, THREAD);
   }
 
-  // Table size
-  enum {
-    symbol_table_size = 20011
-  };
-
   Symbol* lookup(int index, const char* name, int len, unsigned int hash);
 
   SymbolTable()
-    : Hashtable<Symbol*, mtSymbol>(symbol_table_size, sizeof (HashtableEntry<Symbol*, mtSymbol>)) {}
+    : Hashtable<Symbol*, mtSymbol>(SymbolTableSize, sizeof (HashtableEntry<Symbol*, mtSymbol>)) {}
 
   SymbolTable(HashtableBucket<mtSymbol>* t, int number_of_entries)
-    : Hashtable<Symbol*, mtSymbol>(symbol_table_size, sizeof (HashtableEntry<Symbol*, mtSymbol>), t,
+    : Hashtable<Symbol*, mtSymbol>(SymbolTableSize, sizeof (HashtableEntry<Symbol*, mtSymbol>), t,
                 number_of_entries) {}
 
   // Arena for permanent symbols (null class loader) that are never unloaded
@@ -136,6 +131,9 @@
   // The symbol table
   static SymbolTable* the_table() { return _the_table; }
 
+  // Size of one bucket in the string table.  Used when checking for rollover.
+  static uint bucket_size() { return sizeof(HashtableBucket<mtSymbol>); }
+
   static void create_table() {
     assert(_the_table == NULL, "One symbol table allowed.");
     _the_table = new SymbolTable();
@@ -145,8 +143,11 @@
   static void create_table(HashtableBucket<mtSymbol>* t, int length,
                            int number_of_entries) {
     assert(_the_table == NULL, "One symbol table allowed.");
-    assert(length == symbol_table_size * sizeof(HashtableBucket<mtSymbol>),
-           "bad shared symbol size.");
+
+    // If CDS archive used a different symbol table size, use that size instead
+    // which is better than giving an error.
+    SymbolTableSize = length/bucket_size();
+
     _the_table = new SymbolTable(t, number_of_entries);
     // if CDS give symbol table a default arena size since most symbols
     // are already allocated in the shared misc section.
--- a/hotspot/src/share/vm/classfile/systemDictionary.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/classfile/systemDictionary.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -1697,6 +1697,24 @@
   return newsize;
 }
 
+#ifdef ASSERT
+class VerifySDReachableAndLiveClosure : public OopClosure {
+private:
+  BoolObjectClosure* _is_alive;
+
+  template <class T> void do_oop_work(T* p) {
+    oop obj = oopDesc::load_decode_heap_oop(p);
+    guarantee(_is_alive->do_object_b(obj), "Oop in system dictionary must be live");
+  }
+
+public:
+  VerifySDReachableAndLiveClosure(BoolObjectClosure* is_alive) : OopClosure(), _is_alive(is_alive) { }
+
+  virtual void do_oop(oop* p)       { do_oop_work(p); }
+  virtual void do_oop(narrowOop* p) { do_oop_work(p); }
+};
+#endif
+
 // Assumes classes in the SystemDictionary are only unloaded at a safepoint
 // Note: anonymous classes are not in the SD.
 bool SystemDictionary::do_unloading(BoolObjectClosure* is_alive) {
@@ -1707,7 +1725,15 @@
     unloading_occurred = dictionary()->do_unloading();
     constraints()->purge_loader_constraints();
     resolution_errors()->purge_resolution_errors();
-}
+  }
+  // Oops referenced by the system dictionary may get unreachable independently
+  // of the class loader (eg. cached protection domain oops). So we need to
+  // explicitly unlink them here instead of in Dictionary::do_unloading.
+  dictionary()->unlink(is_alive);
+#ifdef ASSERT
+  VerifySDReachableAndLiveClosure cl(is_alive);
+  dictionary()->oops_do(&cl);
+#endif
   return unloading_occurred;
 }
 
--- a/hotspot/src/share/vm/classfile/verifier.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/classfile/verifier.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -2442,10 +2442,16 @@
     bool subtype = ref_class_type.is_assignable_from(
       current_type(), this, CHECK_VERIFY(this));
     if (!subtype) {
-      verify_error(ErrorContext::bad_code(bci),
-          "Bad invokespecial instruction: "
-          "current class isn't assignable to reference class.");
-       return;
+      if (current_class()->is_anonymous()) {
+        subtype = ref_class_type.is_assignable_from(VerificationType::reference_type(
+                   current_class()->host_klass()->name()), this, CHECK_VERIFY(this));
+      }
+      if (!subtype) {
+        verify_error(ErrorContext::bad_code(bci),
+            "Bad invokespecial instruction: "
+            "current class isn't assignable to reference class.");
+         return;
+      }
     }
   }
   // Match method descriptor with operand stack
@@ -2461,7 +2467,28 @@
     } else {   // other methods
       // Ensures that target class is assignable to method class.
       if (opcode == Bytecodes::_invokespecial) {
-        current_frame->pop_stack(current_type(), CHECK_VERIFY(this));
+        if (!current_class()->is_anonymous()) {
+          current_frame->pop_stack(current_type(), CHECK_VERIFY(this));
+        } else {
+          // anonymous class invokespecial calls: either the
+          // operand stack/objectref  is a subtype of the current class OR
+          // the objectref is a subtype of the host_klass of the current class
+          // to allow an anonymous class to reference methods in the host_klass
+          VerificationType top = current_frame->pop_stack(CHECK_VERIFY(this));
+          bool subtype = current_type().is_assignable_from(top, this, CHECK_VERIFY(this));
+          if (!subtype) {
+            VerificationType hosttype =
+              VerificationType::reference_type(current_class()->host_klass()->name());
+            subtype = hosttype.is_assignable_from(top, this, CHECK_VERIFY(this));
+          }
+          if (!subtype) {
+            verify_error( ErrorContext::bad_type(current_frame->offset(),
+              current_frame->stack_top_ctx(),
+              TypeOrigin::implicit(top)),
+              "Bad type on operand stack");
+            return;
+          }
+        }
       } else if (opcode == Bytecodes::_invokevirtual) {
         VerificationType stack_object_type =
           current_frame->pop_stack(ref_class_type, CHECK_VERIFY(this));
--- a/hotspot/src/share/vm/code/dependencies.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/code/dependencies.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, 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
@@ -812,8 +812,8 @@
     Klass* k = ctxk;
     Method* lm = k->lookup_method(m->name(), m->signature());
     if (lm == NULL && k->oop_is_instance()) {
-      // It might be an abstract interface method, devoid of mirandas.
-      lm = ((InstanceKlass*)k)->lookup_method_in_all_interfaces(m->name(),
+      // It might be an interface method
+        lm = ((InstanceKlass*)k)->lookup_method_in_ordered_interfaces(m->name(),
                                                                 m->signature());
     }
     if (lm == m)
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -6035,7 +6035,11 @@
   // is dirty.
   G1SATBCardTableModRefBS* ct_bs = g1_barrier_set();
   MemRegion mr(hr->bottom(), hr->pre_dummy_top());
-  ct_bs->verify_dirty_region(mr);
+  if (hr->is_young()) {
+    ct_bs->verify_g1_young_region(mr);
+  } else {
+    ct_bs->verify_dirty_region(mr);
+  }
 }
 
 void G1CollectedHeap::verify_dirty_young_list(HeapRegion* head) {
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -29,6 +29,7 @@
 #include "gc_implementation/g1/g1CollectedHeap.hpp"
 #include "gc_implementation/g1/g1AllocRegion.inline.hpp"
 #include "gc_implementation/g1/g1CollectorPolicy.hpp"
+#include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
 #include "gc_implementation/g1/heapRegionSeq.inline.hpp"
 #include "utilities/taskqueue.hpp"
 
@@ -134,7 +135,7 @@
   assert(containing_hr->is_in(end - 1), "it should also contain end - 1");
 
   MemRegion mr(start, end);
-  g1_barrier_set()->dirty(mr);
+  g1_barrier_set()->g1_mark_as_young(mr);
 }
 
 inline RefToScanQueue* G1CollectedHeap::task_queue(int i) const {
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -319,10 +319,10 @@
 }
 
 void G1CollectorPolicy::initialize_flags() {
-  set_min_alignment(HeapRegion::GrainBytes);
+  _min_alignment = HeapRegion::GrainBytes;
   size_t card_table_alignment = GenRemSet::max_alignment_constraint(rem_set_name());
   size_t page_size = UseLargePages ? os::large_page_size() : os::vm_page_size();
-  set_max_alignment(MAX3(card_table_alignment, min_alignment(), page_size));
+  _max_alignment = MAX3(card_table_alignment, _min_alignment, page_size);
   if (SurvivorRatio < 1) {
     vm_exit_during_initialization("Invalid survivor ratio specified");
   }
--- a/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -70,6 +70,12 @@
   if ((val & (clean_card_mask_val() | deferred_card_val())) == deferred_card_val()) {
     return false;
   }
+
+  if  (val == g1_young_gen) {
+    // the card is for a young gen region. We don't need to keep track of all pointers into young
+    return false;
+  }
+
   // Cached bit can be installed either on a clean card or on a claimed card.
   jbyte new_val = val;
   if (val == clean_card_val()) {
@@ -85,6 +91,19 @@
   return true;
 }
 
+void G1SATBCardTableModRefBS::g1_mark_as_young(const MemRegion& mr) {
+  jbyte *const first = byte_for(mr.start());
+  jbyte *const last = byte_after(mr.last());
+
+  memset(first, g1_young_gen, last - first);
+}
+
+#ifndef PRODUCT
+void G1SATBCardTableModRefBS::verify_g1_young_region(MemRegion mr) {
+  verify_region(mr, g1_young_gen,  true);
+}
+#endif
+
 G1SATBCardTableLoggingModRefBS::
 G1SATBCardTableLoggingModRefBS(MemRegion whole_heap,
                                int max_covered_regions) :
@@ -97,7 +116,11 @@
 void
 G1SATBCardTableLoggingModRefBS::write_ref_field_work(void* field,
                                                      oop new_val) {
-  jbyte* byte = byte_for(field);
+  volatile jbyte* byte = byte_for(field);
+  if (*byte == g1_young_gen) {
+    return;
+  }
+  OrderAccess::storeload();
   if (*byte != dirty_card) {
     *byte = dirty_card;
     Thread* thr = Thread::current();
@@ -129,7 +152,7 @@
 
 void
 G1SATBCardTableLoggingModRefBS::invalidate(MemRegion mr, bool whole_heap) {
-  jbyte* byte = byte_for(mr.start());
+  volatile jbyte* byte = byte_for(mr.start());
   jbyte* last_byte = byte_for(mr.last());
   Thread* thr = Thread::current();
   if (whole_heap) {
@@ -138,25 +161,35 @@
       byte++;
     }
   } else {
-    // Enqueue if necessary.
-    if (thr->is_Java_thread()) {
-      JavaThread* jt = (JavaThread*)thr;
-      while (byte <= last_byte) {
-        if (*byte != dirty_card) {
-          *byte = dirty_card;
-          jt->dirty_card_queue().enqueue(byte);
+    // skip all consecutive young cards
+    for (; byte <= last_byte && *byte == g1_young_gen; byte++);
+
+    if (byte <= last_byte) {
+      OrderAccess::storeload();
+      // Enqueue if necessary.
+      if (thr->is_Java_thread()) {
+        JavaThread* jt = (JavaThread*)thr;
+        for (; byte <= last_byte; byte++) {
+          if (*byte == g1_young_gen) {
+            continue;
+          }
+          if (*byte != dirty_card) {
+            *byte = dirty_card;
+            jt->dirty_card_queue().enqueue(byte);
+          }
         }
-        byte++;
-      }
-    } else {
-      MutexLockerEx x(Shared_DirtyCardQ_lock,
-                      Mutex::_no_safepoint_check_flag);
-      while (byte <= last_byte) {
-        if (*byte != dirty_card) {
-          *byte = dirty_card;
-          _dcqs.shared_dirty_card_queue()->enqueue(byte);
+      } else {
+        MutexLockerEx x(Shared_DirtyCardQ_lock,
+                        Mutex::_no_safepoint_check_flag);
+        for (; byte <= last_byte; byte++) {
+          if (*byte == g1_young_gen) {
+            continue;
+          }
+          if (*byte != dirty_card) {
+            *byte = dirty_card;
+            _dcqs.shared_dirty_card_queue()->enqueue(byte);
+          }
         }
-        byte++;
       }
     }
   }
--- a/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -38,7 +38,14 @@
 // snapshot-at-the-beginning marking.
 
 class G1SATBCardTableModRefBS: public CardTableModRefBSForCTRS {
+protected:
+  enum G1CardValues {
+    g1_young_gen = CT_MR_BS_last_reserved << 1
+  };
+
 public:
+  static int g1_young_card_val()   { return g1_young_gen; }
+
   // Add "pre_val" to a set of objects that may have been disconnected from the
   // pre-marking object graph.
   static void enqueue(oop pre_val);
@@ -118,6 +125,9 @@
       _byte_map[card_index] = val;
   }
 
+  void verify_g1_young_region(MemRegion mr) PRODUCT_RETURN;
+  void g1_mark_as_young(const MemRegion& mr);
+
   bool mark_card_deferred(size_t card_index);
 
   bool is_card_deferred(size_t card_index) {
--- a/hotspot/src/share/vm/gc_implementation/g1/ptrQueue.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/ptrQueue.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -80,6 +80,10 @@
 
   void reset() { if (_buf != NULL) _index = _sz; }
 
+  void enqueue(volatile void* ptr) {
+    enqueue((void*)(ptr));
+  }
+
   // Enqueues the given "obj".
   void enqueue(void* ptr) {
     if (!_active) return;
--- a/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -214,9 +214,6 @@
     : VM_GC_Operation(gc_count_before, gc_cause, full_gc_count_before, true),
       _loader_data(loader_data), _size(size), _mdtype(mdtype), _result(NULL) {
   }
-  ~VM_CollectForMetadataAllocation()  {
-    MetaspaceGC::set_expand_after_GC(false);
-  }
   virtual VMOp_Type type() const { return VMOp_CollectForMetadataAllocation; }
   virtual void doit();
   MetaWord* result() const       { return _result; }
--- a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -202,12 +202,6 @@
       ShouldNotReachHere(); // Unexpected use of this function
   }
 }
-MetaWord* CollectedHeap::satisfy_failed_metadata_allocation(
-                                              ClassLoaderData* loader_data,
-                                              size_t size, Metaspace::MetadataType mdtype) {
-  return collector_policy()->satisfy_failed_metadata_allocation(loader_data, size, mdtype);
-}
-
 
 void CollectedHeap::pre_initialize() {
   // Used for ReduceInitialCardMarks (when COMPILER2 is used);
--- a/hotspot/src/share/vm/gc_interface/collectedHeap.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/gc_interface/collectedHeap.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -475,11 +475,6 @@
   // the context of the vm thread.
   virtual void collect_as_vm_thread(GCCause::Cause cause);
 
-  // Callback from VM_CollectForMetadataAllocation operation.
-  MetaWord* satisfy_failed_metadata_allocation(ClassLoaderData* loader_data,
-                                               size_t size,
-                                               Metaspace::MetadataType mdtype);
-
   // Returns the barrier set for this heap
   BarrierSet* barrier_set() { return _barrier_set; }
 
--- a/hotspot/src/share/vm/interpreter/linkResolver.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/interpreter/linkResolver.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 1997, 2013, 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
@@ -221,8 +222,17 @@
 //
 // According to JVM spec. $5.4.3c & $5.4.3d
 
+// Look up method in klasses, including static methods
+// Then look up local default methods
 void LinkResolver::lookup_method_in_klasses(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) {
   Method* result_oop = klass->uncached_lookup_method(name, signature);
+  if (result_oop == NULL) {
+    Array<Method*>* default_methods = InstanceKlass::cast(klass())->default_methods();
+    if (default_methods != NULL) {
+      result_oop = InstanceKlass::find_method(default_methods, name, signature);
+    }
+  }
+
   if (EnableInvokeDynamic && result_oop != NULL) {
     vmIntrinsics::ID iid = result_oop->intrinsic_id();
     if (MethodHandles::is_signature_polymorphic(iid)) {
@@ -234,6 +244,7 @@
 }
 
 // returns first instance method
+// Looks up method in classes, then looks up local default methods
 void LinkResolver::lookup_instance_method_in_klasses(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) {
   Method* result_oop = klass->uncached_lookup_method(name, signature);
   result = methodHandle(THREAD, result_oop);
@@ -241,13 +252,38 @@
     klass = KlassHandle(THREAD, result->method_holder()->super());
     result = methodHandle(THREAD, klass->uncached_lookup_method(name, signature));
   }
+
+  if (result.is_null()) {
+    Array<Method*>* default_methods = InstanceKlass::cast(klass())->default_methods();
+    if (default_methods != NULL) {
+      result = methodHandle(InstanceKlass::find_method(default_methods, name, signature));
+      assert(result.is_null() || !result->is_static(), "static defaults not allowed");
+    }
+  }
 }
 
+int LinkResolver::vtable_index_of_interface_method(KlassHandle klass,
+                                          methodHandle resolved_method, TRAPS) {
 
-int LinkResolver::vtable_index_of_miranda_method(KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) {
-  ResourceMark rm(THREAD);
-  klassVtable *vt = InstanceKlass::cast(klass())->vtable();
-  return vt->index_of_miranda(name, signature);
+  int vtable_index = Method::invalid_vtable_index;
+  Symbol* name = resolved_method->name();
+  Symbol* signature = resolved_method->signature();
+
+  // First check in default method array
+  if (!resolved_method->is_abstract()  &&
+    (InstanceKlass::cast(klass())->default_methods() != NULL)) {
+    int index = InstanceKlass::find_method_index(InstanceKlass::cast(klass())->default_methods(), name, signature);
+    if (index >= 0 ) {
+      vtable_index = InstanceKlass::cast(klass())->default_vtable_indices()->at(index);
+    }
+  }
+  if (vtable_index == Method::invalid_vtable_index) {
+    // get vtable_index for miranda methods
+    ResourceMark rm(THREAD);
+    klassVtable *vt = InstanceKlass::cast(klass())->vtable();
+    vtable_index = vt->index_of_miranda(name, signature);
+  }
+  return vtable_index;
 }
 
 void LinkResolver::lookup_method_in_interfaces(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) {
@@ -625,6 +661,12 @@
                    resolved_method->method_holder()->internal_name()
                   );
     resolved_method->access_flags().print_on(tty);
+    if (resolved_method->is_default_method()) {
+      tty->print("default");
+    }
+    if (resolved_method->is_overpass()) {
+      tty->print("overpass");
+    }
     tty->cr();
   }
 }
@@ -853,6 +895,7 @@
                                                          resolved_method->signature()));
     THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(), buf);
   }
+
   if (TraceItables && Verbose) {
     ResourceMark rm(THREAD);
     tty->print("invokespecial resolved method: caller-class:%s, compile-time-class:%s, method:%s, method_holder:%s, access_flags: ",
@@ -864,8 +907,7 @@
                 resolved_method->method_holder()->internal_name()
                );
     resolved_method->access_flags().print_on(tty);
-    if (resolved_method->method_holder()->is_interface() &&
-        !resolved_method->is_abstract()) {
+    if (resolved_method->is_default_method()) {
       tty->print("default");
     }
     if (resolved_method->is_overpass()) {
@@ -945,10 +987,12 @@
                  sel_method->method_holder()->internal_name()
                 );
     sel_method->access_flags().print_on(tty);
-    if (sel_method->method_holder()->is_interface() &&
-        !sel_method->is_abstract()) {
+    if (sel_method->is_default_method()) {
       tty->print("default");
     }
+    if (sel_method->is_overpass()) {
+      tty->print("overpass");
+    }
     tty->cr();
   }
 
@@ -996,26 +1040,25 @@
     THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(), buf);
   }
 
- if (PrintVtables && Verbose) {
-   ResourceMark rm(THREAD);
-   tty->print("invokevirtual resolved method: caller-class:%s, compile-time-class:%s, method:%s, method_holder:%s, access_flags: ",
-                  (current_klass.is_null() ? "<NULL>" : current_klass->internal_name()),
-                  (resolved_klass.is_null() ? "<NULL>" : resolved_klass->internal_name()),
-                  Method::name_and_sig_as_C_string(resolved_klass(),
-                                                   resolved_method->name(),
-                                                   resolved_method->signature()),
-                  resolved_method->method_holder()->internal_name()
-                 );
-   resolved_method->access_flags().print_on(tty);
-   if (resolved_method->method_holder()->is_interface() &&
-       !resolved_method->is_abstract()) {
-     tty->print("default");
-   }
-   if (resolved_method->is_overpass()) {
-     tty->print("overpass");
-   }
-   tty->cr();
- }
+  if (PrintVtables && Verbose) {
+    ResourceMark rm(THREAD);
+    tty->print("invokevirtual resolved method: caller-class:%s, compile-time-class:%s, method:%s, method_holder:%s, access_flags: ",
+                   (current_klass.is_null() ? "<NULL>" : current_klass->internal_name()),
+                   (resolved_klass.is_null() ? "<NULL>" : resolved_klass->internal_name()),
+                   Method::name_and_sig_as_C_string(resolved_klass(),
+                                                    resolved_method->name(),
+                                                    resolved_method->signature()),
+                   resolved_method->method_holder()->internal_name()
+                  );
+    resolved_method->access_flags().print_on(tty);
+    if (resolved_method->is_default_method()) {
+      tty->print("default");
+    }
+    if (resolved_method->is_overpass()) {
+      tty->print("overpass");
+    }
+    tty->cr();
+  }
 }
 
 // throws runtime exceptions
@@ -1045,10 +1088,8 @@
 
   // do lookup based on receiver klass using the vtable index
   if (resolved_method->method_holder()->is_interface()) { // miranda method
-    vtable_index = vtable_index_of_miranda_method(resolved_klass,
-                           resolved_method->name(),
-                           resolved_method->signature(), CHECK);
-
+    vtable_index = vtable_index_of_interface_method(resolved_klass,
+                           resolved_method, CHECK);
     assert(vtable_index >= 0 , "we should have valid vtable index at this point");
 
     InstanceKlass* inst = InstanceKlass::cast(recv_klass());
@@ -1104,11 +1145,10 @@
                    vtable_index
                   );
     selected_method->access_flags().print_on(tty);
-    if (selected_method->method_holder()->is_interface() &&
-        !selected_method->is_abstract()) {
+    if (selected_method->is_default_method()) {
       tty->print("default");
     }
-    if (resolved_method->is_overpass()) {
+    if (selected_method->is_overpass()) {
       tty->print("overpass");
     }
     tty->cr();
@@ -1191,7 +1231,6 @@
                                                sel_method->name(),
                                                sel_method->signature()));
   }
-
   // check if abstract
   if (check_null_and_abstract && sel_method->is_abstract()) {
     ResourceMark rm(THREAD);
@@ -1220,11 +1259,10 @@
                    sel_method->method_holder()->internal_name()
                   );
     sel_method->access_flags().print_on(tty);
-    if (sel_method->method_holder()->is_interface() &&
-        !sel_method->is_abstract()) {
+    if (sel_method->is_default_method()) {
       tty->print("default");
     }
-    if (resolved_method->is_overpass()) {
+    if (sel_method->is_overpass()) {
       tty->print("overpass");
     }
     tty->cr();
--- a/hotspot/src/share/vm/interpreter/linkResolver.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/interpreter/linkResolver.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -130,8 +130,7 @@
   static void lookup_polymorphic_method         (methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature,
                                                  KlassHandle current_klass, Handle *appendix_result_or_null, Handle *method_type_result, TRAPS);
 
-  static int vtable_index_of_miranda_method(KlassHandle klass, Symbol* name, Symbol* signature, TRAPS);
-
+  static int vtable_index_of_interface_method(KlassHandle klass, methodHandle resolved_method, TRAPS);
   static void resolve_klass           (KlassHandle& result, constantPoolHandle  pool, int index, TRAPS);
 
   static void resolve_pool  (KlassHandle& resolved_klass, Symbol*& method_name, Symbol*& method_signature, KlassHandle& current_klass, constantPoolHandle pool, int index, TRAPS);
--- a/hotspot/src/share/vm/memory/collectorPolicy.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/memory/collectorPolicy.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -47,85 +47,53 @@
 
 // CollectorPolicy methods.
 
-// Align down. If the aligning result in 0, return 'alignment'.
-static size_t restricted_align_down(size_t size, size_t alignment) {
-  return MAX2(alignment, align_size_down_(size, alignment));
-}
-
 void CollectorPolicy::initialize_flags() {
-  assert(max_alignment() >= min_alignment(),
-      err_msg("max_alignment: " SIZE_FORMAT " less than min_alignment: " SIZE_FORMAT,
-          max_alignment(), min_alignment()));
-  assert(max_alignment() % min_alignment() == 0,
-      err_msg("max_alignment: " SIZE_FORMAT " not aligned by min_alignment: " SIZE_FORMAT,
-          max_alignment(), min_alignment()));
+  assert(_max_alignment >= _min_alignment,
+         err_msg("max_alignment: " SIZE_FORMAT " less than min_alignment: " SIZE_FORMAT,
+                 _max_alignment, _min_alignment));
+  assert(_max_alignment % _min_alignment == 0,
+         err_msg("max_alignment: " SIZE_FORMAT " not aligned by min_alignment: " SIZE_FORMAT,
+                 _max_alignment, _min_alignment));
 
   if (MaxHeapSize < InitialHeapSize) {
     vm_exit_during_initialization("Incompatible initial and maximum heap sizes specified");
   }
 
-  // Do not use FLAG_SET_ERGO to update MaxMetaspaceSize, since this will
-  // override if MaxMetaspaceSize was set on the command line or not.
-  // This information is needed later to conform to the specification of the
-  // java.lang.management.MemoryUsage API.
-  //
-  // Ideally, we would be able to set the default value of MaxMetaspaceSize in
-  // globals.hpp to the aligned value, but this is not possible, since the
-  // alignment depends on other flags being parsed.
-  MaxMetaspaceSize = restricted_align_down(MaxMetaspaceSize, max_alignment());
-
-  if (MetaspaceSize > MaxMetaspaceSize) {
-    MetaspaceSize = MaxMetaspaceSize;
-  }
-
-  MetaspaceSize = restricted_align_down(MetaspaceSize, min_alignment());
-
-  assert(MetaspaceSize <= MaxMetaspaceSize, "Must be");
-
-  MinMetaspaceExpansion = restricted_align_down(MinMetaspaceExpansion, min_alignment());
-  MaxMetaspaceExpansion = restricted_align_down(MaxMetaspaceExpansion, min_alignment());
-
-  MinHeapDeltaBytes = align_size_up(MinHeapDeltaBytes, min_alignment());
-
-  assert(MetaspaceSize    % min_alignment() == 0, "metapace alignment");
-  assert(MaxMetaspaceSize % max_alignment() == 0, "maximum metaspace alignment");
-  if (MetaspaceSize < 256*K) {
-    vm_exit_during_initialization("Too small initial Metaspace size");
-  }
+  MinHeapDeltaBytes = align_size_up(MinHeapDeltaBytes, _min_alignment);
 }
 
 void CollectorPolicy::initialize_size_info() {
   // User inputs from -mx and ms must be aligned
-  set_min_heap_byte_size(align_size_up(Arguments::min_heap_size(), min_alignment()));
-  set_initial_heap_byte_size(align_size_up(InitialHeapSize, min_alignment()));
-  set_max_heap_byte_size(align_size_up(MaxHeapSize, max_alignment()));
+  _min_heap_byte_size = align_size_up(Arguments::min_heap_size(), _min_alignment);
+  _initial_heap_byte_size = align_size_up(InitialHeapSize, _min_alignment);
+  _max_heap_byte_size = align_size_up(MaxHeapSize, _max_alignment);
 
   // Check heap parameter properties
-  if (initial_heap_byte_size() < M) {
+  if (_initial_heap_byte_size < M) {
     vm_exit_during_initialization("Too small initial heap");
   }
   // Check heap parameter properties
-  if (min_heap_byte_size() < M) {
+  if (_min_heap_byte_size < M) {
     vm_exit_during_initialization("Too small minimum heap");
   }
-  if (initial_heap_byte_size() <= NewSize) {
+  if (_initial_heap_byte_size <= NewSize) {
      // make sure there is at least some room in old space
     vm_exit_during_initialization("Too small initial heap for new size specified");
   }
-  if (max_heap_byte_size() < min_heap_byte_size()) {
+  if (_max_heap_byte_size < _min_heap_byte_size) {
     vm_exit_during_initialization("Incompatible minimum and maximum heap sizes specified");
   }
-  if (initial_heap_byte_size() < min_heap_byte_size()) {
+  if (_initial_heap_byte_size < _min_heap_byte_size) {
     vm_exit_during_initialization("Incompatible minimum and initial heap sizes specified");
   }
-  if (max_heap_byte_size() < initial_heap_byte_size()) {
+  if (_max_heap_byte_size < _initial_heap_byte_size) {
     vm_exit_during_initialization("Incompatible initial and maximum heap sizes specified");
   }
 
   if (PrintGCDetails && Verbose) {
     gclog_or_tty->print_cr("Minimum heap " SIZE_FORMAT "  Initial heap "
       SIZE_FORMAT "  Maximum heap " SIZE_FORMAT,
-      min_heap_byte_size(), initial_heap_byte_size(), max_heap_byte_size());
+      _min_heap_byte_size, _initial_heap_byte_size, _max_heap_byte_size);
   }
 }
 
@@ -180,15 +148,15 @@
 
 size_t GenCollectorPolicy::scale_by_NewRatio_aligned(size_t base_size) {
   size_t x = base_size / (NewRatio+1);
-  size_t new_gen_size = x > min_alignment() ?
-                     align_size_down(x, min_alignment()) :
-                     min_alignment();
+  size_t new_gen_size = x > _min_alignment ?
+                     align_size_down(x, _min_alignment) :
+                     _min_alignment;
   return new_gen_size;
 }
 
 size_t GenCollectorPolicy::bound_minus_alignment(size_t desired_size,
                                                  size_t maximum_size) {
-  size_t alignment = min_alignment();
+  size_t alignment = _min_alignment;
   size_t max_minus = maximum_size - alignment;
   return desired_size < max_minus ? desired_size : max_minus;
 }
@@ -207,8 +175,8 @@
 
 void GenCollectorPolicy::initialize_flags() {
   // All sizes must be multiples of the generation granularity.
-  set_min_alignment((uintx) Generation::GenGrain);
-  set_max_alignment(compute_max_alignment());
+  _min_alignment = (uintx) Generation::GenGrain;
+  _max_alignment = compute_max_alignment();
 
   CollectorPolicy::initialize_flags();
 
@@ -218,26 +186,26 @@
   if (NewSize > MaxNewSize) {
     MaxNewSize = NewSize;
   }
-  NewSize = align_size_down(NewSize, min_alignment());
-  MaxNewSize = align_size_down(MaxNewSize, min_alignment());
+  NewSize = align_size_down(NewSize, _min_alignment);
+  MaxNewSize = align_size_down(MaxNewSize, _min_alignment);
 
   // Check validity of heap flags
-  assert(NewSize     % min_alignment() == 0, "eden space alignment");
-  assert(MaxNewSize  % min_alignment() == 0, "survivor space alignment");
+  assert(NewSize     % _min_alignment == 0, "eden space alignment");
+  assert(MaxNewSize  % _min_alignment == 0, "survivor space alignment");
 
-  if (NewSize < 3*min_alignment()) {
+  if (NewSize < 3 * _min_alignment) {
      // make sure there room for eden and two survivor spaces
     vm_exit_during_initialization("Too small new size specified");
   }
   if (SurvivorRatio < 1 || NewRatio < 1) {
-    vm_exit_during_initialization("Invalid heap ratio specified");
+    vm_exit_during_initialization("Invalid young gen ratio specified");
   }
 }
 
 void TwoGenerationCollectorPolicy::initialize_flags() {
   GenCollectorPolicy::initialize_flags();
 
-  OldSize = align_size_down(OldSize, min_alignment());
+  OldSize = align_size_down(OldSize, _min_alignment);
 
   if (FLAG_IS_CMDLINE(OldSize) && FLAG_IS_DEFAULT(NewSize)) {
     // NewRatio will be used later to set the young generation size so we use
@@ -246,11 +214,11 @@
     assert(NewRatio > 0, "NewRatio should have been set up earlier");
     size_t calculated_heapsize = (OldSize / NewRatio) * (NewRatio + 1);
 
-    calculated_heapsize = align_size_up(calculated_heapsize, max_alignment());
+    calculated_heapsize = align_size_up(calculated_heapsize, _max_alignment);
     MaxHeapSize = calculated_heapsize;
     InitialHeapSize = calculated_heapsize;
   }
-  MaxHeapSize = align_size_up(MaxHeapSize, max_alignment());
+  MaxHeapSize = align_size_up(MaxHeapSize, _max_alignment);
 
   // adjust max heap size if necessary
   if (NewSize + OldSize > MaxHeapSize) {
@@ -260,18 +228,18 @@
       uintx calculated_size = NewSize + OldSize;
       double shrink_factor = (double) MaxHeapSize / calculated_size;
       // align
-      NewSize = align_size_down((uintx) (NewSize * shrink_factor), min_alignment());
+      NewSize = align_size_down((uintx) (NewSize * shrink_factor), _min_alignment);
       // OldSize is already aligned because above we aligned MaxHeapSize to
-      // max_alignment(), and we just made sure that NewSize is aligned to
-      // min_alignment(). In initialize_flags() we verified that max_alignment()
-      // is a multiple of min_alignment().
+      // _max_alignment, and we just made sure that NewSize is aligned to
+      // _min_alignment. In initialize_flags() we verified that _max_alignment
+      // is a multiple of _min_alignment.
       OldSize = MaxHeapSize - NewSize;
     } else {
       MaxHeapSize = NewSize + OldSize;
     }
   }
   // need to do this again
-  MaxHeapSize = align_size_up(MaxHeapSize, max_alignment());
+  MaxHeapSize = align_size_up(MaxHeapSize, _max_alignment);
 
   // adjust max heap size if necessary
   if (NewSize + OldSize > MaxHeapSize) {
@@ -281,24 +249,24 @@
       uintx calculated_size = NewSize + OldSize;
       double shrink_factor = (double) MaxHeapSize / calculated_size;
       // align
-      NewSize = align_size_down((uintx) (NewSize * shrink_factor), min_alignment());
+      NewSize = align_size_down((uintx) (NewSize * shrink_factor), _min_alignment);
       // OldSize is already aligned because above we aligned MaxHeapSize to
-      // max_alignment(), and we just made sure that NewSize is aligned to
-      // min_alignment(). In initialize_flags() we verified that max_alignment()
-      // is a multiple of min_alignment().
+      // _max_alignment, and we just made sure that NewSize is aligned to
+      // _min_alignment. In initialize_flags() we verified that _max_alignment
+      // is a multiple of _min_alignment.
       OldSize = MaxHeapSize - NewSize;
     } else {
       MaxHeapSize = NewSize + OldSize;
     }
   }
   // need to do this again
-  MaxHeapSize = align_size_up(MaxHeapSize, max_alignment());
+  MaxHeapSize = align_size_up(MaxHeapSize, _max_alignment);
 
   always_do_update_barrier = UseConcMarkSweepGC;
 
   // Check validity of heap flags
-  assert(OldSize     % min_alignment() == 0, "old space alignment");
-  assert(MaxHeapSize % max_alignment() == 0, "maximum heap alignment");
+  assert(OldSize     % _min_alignment == 0, "old space alignment");
+  assert(MaxHeapSize % _max_alignment == 0, "maximum heap alignment");
 }
 
 // Values set on the command line win over any ergonomically
@@ -313,7 +281,7 @@
 void GenCollectorPolicy::initialize_size_info() {
   CollectorPolicy::initialize_size_info();
 
-  // min_alignment() is used for alignment within a generation.
+  // _min_alignment is used for alignment within a generation.
   // There is additional alignment done down stream for some
   // collectors that sometimes causes unwanted rounding up of
   // generations sizes.
@@ -322,18 +290,18 @@
 
   size_t max_new_size = 0;
   if (FLAG_IS_CMDLINE(MaxNewSize) || FLAG_IS_ERGO(MaxNewSize)) {
-    if (MaxNewSize < min_alignment()) {
-      max_new_size = min_alignment();
+    if (MaxNewSize < _min_alignment) {
+      max_new_size = _min_alignment;
     }
-    if (MaxNewSize >= max_heap_byte_size()) {
-      max_new_size = align_size_down(max_heap_byte_size() - min_alignment(),
-                                     min_alignment());
+    if (MaxNewSize >= _max_heap_byte_size) {
+      max_new_size = align_size_down(_max_heap_byte_size - _min_alignment,
+                                     _min_alignment);
       warning("MaxNewSize (" SIZE_FORMAT "k) is equal to or "
         "greater than the entire heap (" SIZE_FORMAT "k).  A "
         "new generation size of " SIZE_FORMAT "k will be used.",
-        MaxNewSize/K, max_heap_byte_size()/K, max_new_size/K);
+        MaxNewSize/K, _max_heap_byte_size/K, max_new_size/K);
     } else {
-      max_new_size = align_size_down(MaxNewSize, min_alignment());
+      max_new_size = align_size_down(MaxNewSize, _min_alignment);
     }
 
   // The case for FLAG_IS_ERGO(MaxNewSize) could be treated
@@ -351,7 +319,7 @@
   // just accept those choices.  The choices currently made are
   // not always "wise".
   } else {
-    max_new_size = scale_by_NewRatio_aligned(max_heap_byte_size());
+    max_new_size = scale_by_NewRatio_aligned(_max_heap_byte_size);
     // Bound the maximum size by NewSize below (since it historically
     // would have been NewSize and because the NewRatio calculation could
     // yield a size that is too small) and bound it by MaxNewSize above.
@@ -364,13 +332,13 @@
   // Given the maximum gen0 size, determine the initial and
   // minimum gen0 sizes.
 
-  if (max_heap_byte_size() == min_heap_byte_size()) {
+  if (_max_heap_byte_size == _min_heap_byte_size) {
     // The maximum and minimum heap sizes are the same so
     // the generations minimum and initial must be the
     // same as its maximum.
-    set_min_gen0_size(max_new_size);
-    set_initial_gen0_size(max_new_size);
-    set_max_gen0_size(max_new_size);
+    _min_gen0_size = max_new_size;
+    _initial_gen0_size = max_new_size;
+    _max_gen0_size = max_new_size;
   } else {
     size_t desired_new_size = 0;
     if (!FLAG_IS_DEFAULT(NewSize)) {
@@ -391,43 +359,37 @@
       // Use the default NewSize as the floor for these values.  If
       // NewRatio is overly large, the resulting sizes can be too
       // small.
-      _min_gen0_size = MAX2(scale_by_NewRatio_aligned(min_heap_byte_size()),
-                          NewSize);
+      _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), NewSize);
       desired_new_size =
-        MAX2(scale_by_NewRatio_aligned(initial_heap_byte_size()),
-             NewSize);
+        MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
     }
 
     assert(_min_gen0_size > 0, "Sanity check");
-    set_initial_gen0_size(desired_new_size);
-    set_max_gen0_size(max_new_size);
+    _initial_gen0_size = desired_new_size;
+    _max_gen0_size = max_new_size;
 
     // At this point the desirable initial and minimum sizes have been
     // determined without regard to the maximum sizes.
 
     // Bound the sizes by the corresponding overall heap sizes.
-    set_min_gen0_size(
-      bound_minus_alignment(_min_gen0_size, min_heap_byte_size()));
-    set_initial_gen0_size(
-      bound_minus_alignment(_initial_gen0_size, initial_heap_byte_size()));
-    set_max_gen0_size(
-      bound_minus_alignment(_max_gen0_size, max_heap_byte_size()));
+    _min_gen0_size = bound_minus_alignment(_min_gen0_size, _min_heap_byte_size);
+    _initial_gen0_size = bound_minus_alignment(_initial_gen0_size, _initial_heap_byte_size);
+    _max_gen0_size = bound_minus_alignment(_max_gen0_size, _max_heap_byte_size);
 
     // At this point all three sizes have been checked against the
     // maximum sizes but have not been checked for consistency
     // among the three.
 
     // Final check min <= initial <= max
-    set_min_gen0_size(MIN2(_min_gen0_size, _max_gen0_size));
-    set_initial_gen0_size(
-      MAX2(MIN2(_initial_gen0_size, _max_gen0_size), _min_gen0_size));
-    set_min_gen0_size(MIN2(_min_gen0_size, _initial_gen0_size));
+    _min_gen0_size = MIN2(_min_gen0_size, _max_gen0_size);
+    _initial_gen0_size = MAX2(MIN2(_initial_gen0_size, _max_gen0_size), _min_gen0_size);
+    _min_gen0_size = MIN2(_min_gen0_size, _initial_gen0_size);
   }
 
   if (PrintGCDetails && Verbose) {
     gclog_or_tty->print_cr("1: Minimum gen0 " SIZE_FORMAT "  Initial gen0 "
       SIZE_FORMAT "  Maximum gen0 " SIZE_FORMAT,
-      min_gen0_size(), initial_gen0_size(), max_gen0_size());
+      _min_gen0_size, _initial_gen0_size, _max_gen0_size);
   }
 }
 
@@ -447,19 +409,17 @@
 
   if ((*gen1_size_ptr + *gen0_size_ptr) > heap_size) {
     if ((heap_size < (*gen0_size_ptr + min_gen1_size)) &&
-        (heap_size >= min_gen1_size + min_alignment())) {
+        (heap_size >= min_gen1_size + _min_alignment)) {
       // Adjust gen0 down to accommodate min_gen1_size
       *gen0_size_ptr = heap_size - min_gen1_size;
       *gen0_size_ptr =
-        MAX2((uintx)align_size_down(*gen0_size_ptr, min_alignment()),
-             min_alignment());
+        MAX2((uintx)align_size_down(*gen0_size_ptr, _min_alignment), _min_alignment);
       assert(*gen0_size_ptr > 0, "Min gen0 is too large");
       result = true;
     } else {
       *gen1_size_ptr = heap_size - *gen0_size_ptr;
       *gen1_size_ptr =
-        MAX2((uintx)align_size_down(*gen1_size_ptr, min_alignment()),
-                       min_alignment());
+        MAX2((uintx)align_size_down(*gen1_size_ptr, _min_alignment), _min_alignment);
     }
   }
   return result;
@@ -480,10 +440,9 @@
   // The maximum gen1 size can be determined from the maximum gen0
   // and maximum heap size since no explicit flags exits
   // for setting the gen1 maximum.
-  _max_gen1_size = max_heap_byte_size() - _max_gen0_size;
+  _max_gen1_size = _max_heap_byte_size - _max_gen0_size;
   _max_gen1_size =
-    MAX2((uintx)align_size_down(_max_gen1_size, min_alignment()),
-         min_alignment());
+    MAX2((uintx)align_size_down(_max_gen1_size, _min_alignment), _min_alignment);
   // If no explicit command line flag has been set for the
   // gen1 size, use what is left for gen1.
   if (FLAG_IS_DEFAULT(OldSize) || FLAG_IS_ERGO(OldSize)) {
@@ -492,70 +451,66 @@
     // with the overall heap size).  In either case make
     // the minimum, maximum and initial sizes consistent
     // with the gen0 sizes and the overall heap sizes.
-    assert(min_heap_byte_size() > _min_gen0_size,
+    assert(_min_heap_byte_size > _min_gen0_size,
       "gen0 has an unexpected minimum size");
-    set_min_gen1_size(min_heap_byte_size() - min_gen0_size());
-    set_min_gen1_size(
-      MAX2((uintx)align_size_down(_min_gen1_size, min_alignment()),
-           min_alignment()));
-    set_initial_gen1_size(initial_heap_byte_size() - initial_gen0_size());
-    set_initial_gen1_size(
-      MAX2((uintx)align_size_down(_initial_gen1_size, min_alignment()),
-           min_alignment()));
-
+    _min_gen1_size = _min_heap_byte_size - _min_gen0_size;
+    _min_gen1_size =
+      MAX2((uintx)align_size_down(_min_gen1_size, _min_alignment), _min_alignment);
+    _initial_gen1_size = _initial_heap_byte_size - _initial_gen0_size;
+    _initial_gen1_size =
+      MAX2((uintx)align_size_down(_initial_gen1_size, _min_alignment), _min_alignment);
   } else {
     // It's been explicitly set on the command line.  Use the
     // OldSize and then determine the consequences.
-    set_min_gen1_size(OldSize);
-    set_initial_gen1_size(OldSize);
+    _min_gen1_size = OldSize;
+    _initial_gen1_size = OldSize;
 
     // If the user has explicitly set an OldSize that is inconsistent
     // with other command line flags, issue a warning.
     // The generation minimums and the overall heap mimimum should
     // be within one heap alignment.
-    if ((_min_gen1_size + _min_gen0_size + min_alignment()) <
-           min_heap_byte_size()) {
+    if ((_min_gen1_size + _min_gen0_size + _min_alignment) < _min_heap_byte_size) {
       warning("Inconsistency between minimum heap size and minimum "
-          "generation sizes: using minimum heap = " SIZE_FORMAT,
-          min_heap_byte_size());
+              "generation sizes: using minimum heap = " SIZE_FORMAT,
+              _min_heap_byte_size);
     }
     if ((OldSize > _max_gen1_size)) {
       warning("Inconsistency between maximum heap size and maximum "
-          "generation sizes: using maximum heap = " SIZE_FORMAT
-          " -XX:OldSize flag is being ignored",
-          max_heap_byte_size());
+              "generation sizes: using maximum heap = " SIZE_FORMAT
+              " -XX:OldSize flag is being ignored",
+              _max_heap_byte_size);
     }
     // If there is an inconsistency between the OldSize and the minimum and/or
     // initial size of gen0, since OldSize was explicitly set, OldSize wins.
     if (adjust_gen0_sizes(&_min_gen0_size, &_min_gen1_size,
-                          min_heap_byte_size(), OldSize)) {
+                          _min_heap_byte_size, OldSize)) {
       if (PrintGCDetails && Verbose) {
         gclog_or_tty->print_cr("2: Minimum gen0 " SIZE_FORMAT "  Initial gen0 "
               SIZE_FORMAT "  Maximum gen0 " SIZE_FORMAT,
-              min_gen0_size(), initial_gen0_size(), max_gen0_size());
+              _min_gen0_size, _initial_gen0_size, _max_gen0_size);
       }
     }
     // Initial size
     if (adjust_gen0_sizes(&_initial_gen0_size, &_initial_gen1_size,
-                         initial_heap_byte_size(), OldSize)) {
+                          _initial_heap_byte_size, OldSize)) {
       if (PrintGCDetails && Verbose) {
         gclog_or_tty->print_cr("3: Minimum gen0 " SIZE_FORMAT "  Initial gen0 "
           SIZE_FORMAT "  Maximum gen0 " SIZE_FORMAT,
-          min_gen0_size(), initial_gen0_size(), max_gen0_size());
+          _min_gen0_size, _initial_gen0_size, _max_gen0_size);
       }
     }
   }
   // Enforce the maximum gen1 size.
-  set_min_gen1_size(MIN2(_min_gen1_size, _max_gen1_size));
+  _min_gen1_size = MIN2(_min_gen1_size, _max_gen1_size);
 
   // Check that min gen1 <= initial gen1 <= max gen1
-  set_initial_gen1_size(MAX2(_initial_gen1_size, _min_gen1_size));
-  set_initial_gen1_size(MIN2(_initial_gen1_size, _max_gen1_size));
+  _initial_gen1_size = MAX2(_initial_gen1_size, _min_gen1_size);
+  _initial_gen1_size = MIN2(_initial_gen1_size, _max_gen1_size);
 
   if (PrintGCDetails && Verbose) {
     gclog_or_tty->print_cr("Minimum gen1 " SIZE_FORMAT "  Initial gen1 "
       SIZE_FORMAT "  Maximum gen1 " SIZE_FORMAT,
-      min_gen1_size(), initial_gen1_size(), max_gen1_size());
+      _min_gen1_size, _initial_gen1_size, _max_gen1_size);
   }
 }
 
--- a/hotspot/src/share/vm/memory/collectorPolicy.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/memory/collectorPolicy.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -101,17 +101,12 @@
   // Return maximum heap alignment that may be imposed by the policy
   static size_t compute_max_alignment();
 
-  void set_min_alignment(size_t align)         { _min_alignment = align; }
   size_t min_alignment()                       { return _min_alignment; }
-  void set_max_alignment(size_t align)         { _max_alignment = align; }
   size_t max_alignment()                       { return _max_alignment; }
 
   size_t initial_heap_byte_size() { return _initial_heap_byte_size; }
-  void set_initial_heap_byte_size(size_t v) { _initial_heap_byte_size = v; }
   size_t max_heap_byte_size()     { return _max_heap_byte_size; }
-  void set_max_heap_byte_size(size_t v) { _max_heap_byte_size = v; }
   size_t min_heap_byte_size()     { return _min_heap_byte_size; }
-  void set_min_heap_byte_size(size_t v) { _min_heap_byte_size = v; }
 
   enum Name {
     CollectorPolicyKind,
@@ -248,12 +243,9 @@
 
  public:
   // Accessors
-  size_t min_gen0_size() { return _min_gen0_size; }
-  void set_min_gen0_size(size_t v) { _min_gen0_size = v; }
+  size_t min_gen0_size()     { return _min_gen0_size; }
   size_t initial_gen0_size() { return _initial_gen0_size; }
-  void set_initial_gen0_size(size_t v) { _initial_gen0_size = v; }
-  size_t max_gen0_size() { return _max_gen0_size; }
-  void set_max_gen0_size(size_t v) { _max_gen0_size = v; }
+  size_t max_gen0_size()     { return _max_gen0_size; }
 
   virtual int number_of_generations() = 0;
 
@@ -302,12 +294,9 @@
 
  public:
   // Accessors
-  size_t min_gen1_size() { return _min_gen1_size; }
-  void set_min_gen1_size(size_t v) { _min_gen1_size = v; }
+  size_t min_gen1_size()     { return _min_gen1_size; }
   size_t initial_gen1_size() { return _initial_gen1_size; }
-  void set_initial_gen1_size(size_t v) { _initial_gen1_size = v; }
-  size_t max_gen1_size() { return _max_gen1_size; }
-  void set_max_gen1_size(size_t v) { _max_gen1_size = v; }
+  size_t max_gen1_size()     { return _max_gen1_size; }
 
   // Inherited methods
   TwoGenerationCollectorPolicy* as_two_generation_policy() { return this; }
--- a/hotspot/src/share/vm/memory/filemap.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/memory/filemap.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -26,6 +26,7 @@
 #define SHARE_VM_MEMORY_FILEMAP_HPP
 
 #include "memory/metaspaceShared.hpp"
+#include "memory/metaspace.hpp"
 
 // Layout of the file:
 //  header: dump of archive instance plus versioning info, datestamp, etc.
--- a/hotspot/src/share/vm/memory/heapInspection.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/memory/heapInspection.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -73,6 +73,10 @@
         "Number of bytes used by the InstanceKlass::methods() array") \
     f(method_ordering_bytes, IK_method_ordering, \
         "Number of bytes used by the InstanceKlass::method_ordering() array") \
+    f(default_methods_array_bytes, IK_default_methods, \
+        "Number of bytes used by the InstanceKlass::default_methods() array") \
+    f(default_vtable_indices_bytes, IK_default_vtable_indices, \
+        "Number of bytes used by the InstanceKlass::default_vtable_indices() array") \
     f(local_interfaces_bytes, IK_local_interfaces, \
         "Number of bytes used by the InstanceKlass::local_interfaces() array") \
     f(transitive_interfaces_bytes, IK_transitive_interfaces, \
--- a/hotspot/src/share/vm/memory/metaspace.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/memory/metaspace.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -29,17 +29,21 @@
 #include "memory/collectorPolicy.hpp"
 #include "memory/filemap.hpp"
 #include "memory/freeList.hpp"
+#include "memory/gcLocker.hpp"
 #include "memory/metablock.hpp"
 #include "memory/metachunk.hpp"
 #include "memory/metaspace.hpp"
 #include "memory/metaspaceShared.hpp"
 #include "memory/resourceArea.hpp"
 #include "memory/universe.hpp"
+#include "runtime/atomic.inline.hpp"
 #include "runtime/globals.hpp"
+#include "runtime/init.hpp"
 #include "runtime/java.hpp"
 #include "runtime/mutex.hpp"
 #include "runtime/orderAccess.hpp"
 #include "services/memTracker.hpp"
+#include "services/memoryService.hpp"
 #include "utilities/copy.hpp"
 #include "utilities/debug.hpp"
 
@@ -84,13 +88,7 @@
   return (ChunkIndex) (i+1);
 }
 
-// Originally _capacity_until_GC was set to MetaspaceSize here but
-// the default MetaspaceSize before argument processing was being
-// used which was not the desired value.  See the code
-// in should_expand() to see how the initialization is handled
-// now.
-size_t MetaspaceGC::_capacity_until_GC = 0;
-bool MetaspaceGC::_expand_after_GC = false;
+volatile intptr_t MetaspaceGC::_capacity_until_GC = 0;
 uint MetaspaceGC::_shrink_factor = 0;
 bool MetaspaceGC::_should_concurrent_collect = false;
 
@@ -293,9 +291,10 @@
   MetaWord* end() const { return (MetaWord*) _virtual_space.high(); }
 
   size_t reserved_words() const  { return _virtual_space.reserved_size() / BytesPerWord; }
-  size_t expanded_words() const  { return _virtual_space.committed_size() / BytesPerWord; }
   size_t committed_words() const { return _virtual_space.actual_committed_size() / BytesPerWord; }
 
+  bool is_pre_committed() const { return _virtual_space.special(); }
+
   // address of next available space in _virtual_space;
   // Accessors
   VirtualSpaceNode* next() { return _next; }
@@ -337,7 +336,7 @@
 
   // Expands/shrinks the committed space in a virtual space.  Delegates
   // to Virtualspace
-  bool expand_by(size_t words, bool pre_touch = false);
+  bool expand_by(size_t min_words, size_t preferred_words);
 
   // In preparation for deleting this node, remove all the chunks
   // in the node from any freelist.
@@ -351,29 +350,64 @@
   void print_on(outputStream* st) const;
 };
 
+#define assert_is_ptr_aligned(ptr, alignment) \
+  assert(is_ptr_aligned(ptr, alignment),      \
+    err_msg(PTR_FORMAT " is not aligned to "  \
+      SIZE_FORMAT, ptr, alignment))
+
+#define assert_is_size_aligned(size, alignment) \
+  assert(is_size_aligned(size, alignment),      \
+    err_msg(SIZE_FORMAT " is not aligned to "   \
+       SIZE_FORMAT, size, alignment))
+
+
+// Decide if large pages should be committed when the memory is reserved.
+static bool should_commit_large_pages_when_reserving(size_t bytes) {
+  if (UseLargePages && UseLargePagesInMetaspace && !os::can_commit_large_page_memory()) {
+    size_t words = bytes / BytesPerWord;
+    bool is_class = false; // We never reserve large pages for the class space.
+    if (MetaspaceGC::can_expand(words, is_class) &&
+        MetaspaceGC::allowed_expansion() >= words) {
+      return true;
+    }
+  }
+
+  return false;
+}
+
   // byte_size is the size of the associated virtualspace.
-VirtualSpaceNode::VirtualSpaceNode(size_t byte_size) : _top(NULL), _next(NULL), _rs(), _container_count(0) {
-  // align up to vm allocation granularity
-  byte_size = align_size_up(byte_size, os::vm_allocation_granularity());
+VirtualSpaceNode::VirtualSpaceNode(size_t bytes) : _top(NULL), _next(NULL), _rs(), _container_count(0) {
+  assert_is_size_aligned(bytes, Metaspace::reserve_alignment());
 
   // This allocates memory with mmap.  For DumpSharedspaces, try to reserve
   // configurable address, generally at the top of the Java heap so other
   // memory addresses don't conflict.
   if (DumpSharedSpaces) {
-    char* shared_base = (char*)SharedBaseAddress;
-    _rs = ReservedSpace(byte_size, 0, false, shared_base, 0);
+    bool large_pages = false; // No large pages when dumping the CDS archive.
+    char* shared_base = (char*)align_ptr_up((char*)SharedBaseAddress, Metaspace::reserve_alignment());
+
+    _rs = ReservedSpace(bytes, Metaspace::reserve_alignment(), large_pages, shared_base, 0);
     if (_rs.is_reserved()) {
       assert(shared_base == 0 || _rs.base() == shared_base, "should match");
     } else {
       // Get a mmap region anywhere if the SharedBaseAddress fails.
-      _rs = ReservedSpace(byte_size);
+      _rs = ReservedSpace(bytes, Metaspace::reserve_alignment(), large_pages);
     }
     MetaspaceShared::set_shared_rs(&_rs);
   } else {
-    _rs = ReservedSpace(byte_size);
+    bool large_pages = should_commit_large_pages_when_reserving(bytes);
+
+    _rs = ReservedSpace(bytes, Metaspace::reserve_alignment(), large_pages);
   }
 
-  MemTracker::record_virtual_memory_type((address)_rs.base(), mtClass);
+  if (_rs.is_reserved()) {
+    assert(_rs.base() != NULL, "Catch if we get a NULL address");
+    assert(_rs.size() != 0, "Catch if we get a 0 size");
+    assert_is_ptr_aligned(_rs.base(), Metaspace::reserve_alignment());
+    assert_is_size_aligned(_rs.size(), Metaspace::reserve_alignment());
+
+    MemTracker::record_virtual_memory_type((address)_rs.base(), mtClass);
+  }
 }
 
 void VirtualSpaceNode::purge(ChunkManager* chunk_manager) {
@@ -410,8 +444,6 @@
 #endif
 
 // List of VirtualSpaces for metadata allocation.
-// It has a  _next link for singly linked list and a MemRegion
-// for total space in the VirtualSpace.
 class VirtualSpaceList : public CHeapObj<mtClass> {
   friend class VirtualSpaceNode;
 
@@ -419,16 +451,13 @@
     VirtualSpaceSize = 256 * K
   };
 
-  // Global list of virtual spaces
   // Head of the list
   VirtualSpaceNode* _virtual_space_list;
   // virtual space currently being used for allocations
   VirtualSpaceNode* _current_virtual_space;
 
-  // Can this virtual list allocate >1 spaces?  Also, used to determine
-  // whether to allocate unlimited small chunks in this virtual space
+  // Is this VirtualSpaceList used for the compressed class space
   bool _is_class;
-  bool can_grow() const { return !is_class() || !UseCompressedClassPointers; }
 
   // Sum of reserved and committed memory in the virtual spaces
   size_t _reserved_words;
@@ -453,7 +482,7 @@
   // Get another virtual space and add it to the list.  This
   // is typically prompted by a failed attempt to allocate a chunk
   // and is typically followed by the allocation of a chunk.
-  bool grow_vs(size_t vs_word_size);
+  bool create_new_virtual_space(size_t vs_word_size);
 
  public:
   VirtualSpaceList(size_t word_size);
@@ -465,12 +494,12 @@
                            size_t grow_chunks_by_words,
                            size_t medium_chunk_bunch);
 
-  bool expand_by(VirtualSpaceNode* node, size_t word_size, bool pre_touch = false);
-
-  // Get the first chunk for a Metaspace.  Used for
-  // special cases such as the boot class loader, reflection
-  // class loader and anonymous class loader.
-  Metachunk* get_initialization_chunk(size_t word_size, size_t chunk_bunch);
+  bool expand_node_by(VirtualSpaceNode* node,
+                      size_t min_words,
+                      size_t preferred_words);
+
+  bool expand_by(size_t min_words,
+                 size_t preferred_words);
 
   VirtualSpaceNode* current_virtual_space() {
     return _current_virtual_space;
@@ -478,8 +507,7 @@
 
   bool is_class() const { return _is_class; }
 
-  // Allocate the first virtualspace.
-  void initialize(size_t word_size);
+  bool initialization_succeeded() { return _virtual_space_list != NULL; }
 
   size_t reserved_words()  { return _reserved_words; }
   size_t reserved_bytes()  { return reserved_words() * BytesPerWord; }
@@ -708,6 +736,9 @@
   // and allocates from that chunk.
   MetaWord* grow_and_allocate(size_t word_size);
 
+  // Notify memory usage to MemoryService.
+  void track_metaspace_memory_usage();
+
   // debugging support.
 
   void dump(outputStream* const out) const;
@@ -869,6 +900,12 @@
   MetaWord* chunk_limit = top();
   assert(chunk_limit != NULL, "Not safe to call this method");
 
+  // The virtual spaces are always expanded by the
+  // commit granularity to enforce the following condition.
+  // Without this the is_available check will not work correctly.
+  assert(_virtual_space.committed_size() == _virtual_space.actual_committed_size(),
+      "The committed memory doesn't match the expanded memory.");
+
   if (!is_available(chunk_word_size)) {
     if (TraceMetadataChunkAllocation) {
       gclog_or_tty->print("VirtualSpaceNode::take_from_committed() not available %d words ", chunk_word_size);
@@ -888,14 +925,21 @@
 
 
 // Expand the virtual space (commit more of the reserved space)
-bool VirtualSpaceNode::expand_by(size_t words, bool pre_touch) {
-  size_t bytes = words * BytesPerWord;
-  bool result =  virtual_space()->expand_by(bytes, pre_touch);
-  if (TraceMetavirtualspaceAllocation && !result) {
-    gclog_or_tty->print_cr("VirtualSpaceNode::expand_by() failed "
-                           "for byte size " SIZE_FORMAT, bytes);
-    virtual_space()->print_on(gclog_or_tty);
+bool VirtualSpaceNode::expand_by(size_t min_words, size_t preferred_words) {
+  size_t min_bytes = min_words * BytesPerWord;
+  size_t preferred_bytes = preferred_words * BytesPerWord;
+
+  size_t uncommitted = virtual_space()->reserved_size() - virtual_space()->actual_committed_size();
+
+  if (uncommitted < min_bytes) {
+    return false;
   }
+
+  size_t commit = MIN2(preferred_bytes, uncommitted);
+  bool result = virtual_space()->expand_by(commit, false);
+
+  assert(result, "Failed to commit memory");
+
   return result;
 }
 
@@ -914,12 +958,23 @@
     return false;
   }
 
-  // An allocation out of this Virtualspace that is larger
-  // than an initial commit size can waste that initial committed
-  // space.
-  size_t committed_byte_size = 0;
-  bool result = virtual_space()->initialize(_rs, committed_byte_size);
+  // These are necessary restriction to make sure that the virtual space always
+  // grows in steps of Metaspace::commit_alignment(). If both base and size are
+  // aligned only the middle alignment of the VirtualSpace is used.
+  assert_is_ptr_aligned(_rs.base(), Metaspace::commit_alignment());
+  assert_is_size_aligned(_rs.size(), Metaspace::commit_alignment());
+
+  // ReservedSpaces marked as special will have the entire memory
+  // pre-committed. Setting a committed size will make sure that
+  // committed_size and actual_committed_size agrees.
+  size_t pre_committed_size = _rs.special() ? _rs.size() : 0;
+
+  bool result = virtual_space()->initialize_with_granularity(_rs, pre_committed_size,
+                                            Metaspace::commit_alignment());
   if (result) {
+    assert(virtual_space()->committed_size() == virtual_space()->actual_committed_size(),
+        "Checking that the pre-committed memory was registered by the VirtualSpace");
+
     set_top((MetaWord*)virtual_space()->low());
     set_reserved(MemRegion((HeapWord*)_rs.base(),
                  (HeapWord*)(_rs.base() + _rs.size())));
@@ -976,13 +1031,23 @@
   _reserved_words = _reserved_words - v;
 }
 
+#define assert_committed_below_limit()                             \
+  assert(MetaspaceAux::committed_bytes() <= MaxMetaspaceSize,      \
+      err_msg("Too much committed memory. Committed: " SIZE_FORMAT \
+              " limit (MaxMetaspaceSize): " SIZE_FORMAT,           \
+          MetaspaceAux::committed_bytes(), MaxMetaspaceSize));
+
 void VirtualSpaceList::inc_committed_words(size_t v) {
   assert_lock_strong(SpaceManager::expand_lock());
   _committed_words = _committed_words + v;
+
+  assert_committed_below_limit();
 }
 void VirtualSpaceList::dec_committed_words(size_t v) {
   assert_lock_strong(SpaceManager::expand_lock());
   _committed_words = _committed_words - v;
+
+  assert_committed_below_limit();
 }
 
 void VirtualSpaceList::inc_virtual_space_count() {
@@ -1025,8 +1090,8 @@
     if (vsl->container_count() == 0 && vsl != current_virtual_space()) {
       // Unlink it from the list
       if (prev_vsl == vsl) {
-        // This is the case of the current note being the first note.
-        assert(vsl == virtual_space_list(), "Expected to be the first note");
+        // This is the case of the current node being the first node.
+        assert(vsl == virtual_space_list(), "Expected to be the first node");
         set_virtual_space_list(vsl->next());
       } else {
         prev_vsl->set_next(vsl->next());
@@ -1054,7 +1119,7 @@
 #endif
 }
 
-VirtualSpaceList::VirtualSpaceList(size_t word_size ) :
+VirtualSpaceList::VirtualSpaceList(size_t word_size) :
                                    _is_class(false),
                                    _virtual_space_list(NULL),
                                    _current_virtual_space(NULL),
@@ -1063,9 +1128,7 @@
                                    _virtual_space_count(0) {
   MutexLockerEx cl(SpaceManager::expand_lock(),
                    Mutex::_no_safepoint_check_flag);
-  bool initialization_succeeded = grow_vs(word_size);
-  assert(initialization_succeeded,
-    " VirtualSpaceList initialization should not fail");
+  create_new_virtual_space(word_size);
 }
 
 VirtualSpaceList::VirtualSpaceList(ReservedSpace rs) :
@@ -1079,8 +1142,9 @@
                    Mutex::_no_safepoint_check_flag);
   VirtualSpaceNode* class_entry = new VirtualSpaceNode(rs);
   bool succeeded = class_entry->initialize();
-  assert(succeeded, " VirtualSpaceList initialization should not fail");
-  link_vs(class_entry);
+  if (succeeded) {
+    link_vs(class_entry);
+  }
 }
 
 size_t VirtualSpaceList::free_bytes() {
@@ -1088,14 +1152,24 @@
 }
 
 // Allocate another meta virtual space and add it to the list.
-bool VirtualSpaceList::grow_vs(size_t vs_word_size) {
+bool VirtualSpaceList::create_new_virtual_space(size_t vs_word_size) {
   assert_lock_strong(SpaceManager::expand_lock());
-  if (vs_word_size == 0) {
+
+  if (is_class()) {
+    assert(false, "We currently don't support more than one VirtualSpace for"
+                  " the compressed class space. The initialization of the"
+                  " CCS uses another code path and should not hit this path.");
     return false;
   }
+
+  if (vs_word_size == 0) {
+    assert(false, "vs_word_size should always be at least _reserve_alignment large.");
+    return false;
+  }
+
   // Reserve the space
   size_t vs_byte_size = vs_word_size * BytesPerWord;
-  assert(vs_byte_size % os::vm_allocation_granularity() == 0, "Not aligned");
+  assert_is_size_aligned(vs_byte_size, Metaspace::reserve_alignment());
 
   // Allocate the meta virtual space and initialize it.
   VirtualSpaceNode* new_entry = new VirtualSpaceNode(vs_byte_size);
@@ -1103,7 +1177,8 @@
     delete new_entry;
     return false;
   } else {
-    assert(new_entry->reserved_words() == vs_word_size, "Must be");
+    assert(new_entry->reserved_words() == vs_word_size,
+        "Reserved memory size differs from requested memory size");
     // ensure lock-free iteration sees fully initialized node
     OrderAccess::storestore();
     link_vs(new_entry);
@@ -1130,20 +1205,67 @@
   }
 }
 
-bool VirtualSpaceList::expand_by(VirtualSpaceNode* node, size_t word_size, bool pre_touch) {
+bool VirtualSpaceList::expand_node_by(VirtualSpaceNode* node,
+                                      size_t min_words,
+                                      size_t preferred_words) {
   size_t before = node->committed_words();
 
-  bool result = node->expand_by(word_size, pre_touch);
+  bool result = node->expand_by(min_words, preferred_words);
 
   size_t after = node->committed_words();
 
   // after and before can be the same if the memory was pre-committed.
-  assert(after >= before, "Must be");
+  assert(after >= before, "Inconsistency");
   inc_committed_words(after - before);
 
   return result;
 }
 
+bool VirtualSpaceList::expand_by(size_t min_words, size_t preferred_words) {
+  assert_is_size_aligned(min_words,       Metaspace::commit_alignment_words());
+  assert_is_size_aligned(preferred_words, Metaspace::commit_alignment_words());
+  assert(min_words <= preferred_words, "Invalid arguments");
+
+  if (!MetaspaceGC::can_expand(min_words, this->is_class())) {
+    return  false;
+  }
+
+  size_t allowed_expansion_words = MetaspaceGC::allowed_expansion();
+  if (allowed_expansion_words < min_words) {
+    return false;
+  }
+
+  size_t max_expansion_words = MIN2(preferred_words, allowed_expansion_words);
+
+  // Commit more memory from the the current virtual space.
+  bool vs_expanded = expand_node_by(current_virtual_space(),
+                                    min_words,
+                                    max_expansion_words);
+  if (vs_expanded) {
+    return true;
+  }
+
+  // Get another virtual space.
+  size_t grow_vs_words = MAX2((size_t)VirtualSpaceSize, preferred_words);
+  grow_vs_words = align_size_up(grow_vs_words, Metaspace::reserve_alignment_words());
+
+  if (create_new_virtual_space(grow_vs_words)) {
+    if (current_virtual_space()->is_pre_committed()) {
+      // The memory was pre-committed, so we are done here.
+      assert(min_words <= current_virtual_space()->committed_words(),
+          "The new VirtualSpace was pre-committed, so it"
+          "should be large enough to fit the alloc request.");
+      return true;
+    }
+
+    return expand_node_by(current_virtual_space(),
+                          min_words,
+                          max_expansion_words);
+  }
+
+  return false;
+}
+
 Metachunk* VirtualSpaceList::get_new_chunk(size_t word_size,
                                            size_t grow_chunks_by_words,
                                            size_t medium_chunk_bunch) {
@@ -1151,63 +1273,27 @@
   // Allocate a chunk out of the current virtual space.
   Metachunk* next = current_virtual_space()->get_chunk_vs(grow_chunks_by_words);
 
-  if (next == NULL) {
-    // Not enough room in current virtual space.  Try to commit
-    // more space.
-    size_t expand_vs_by_words = MAX2(medium_chunk_bunch,
-                                     grow_chunks_by_words);
-    size_t page_size_words = os::vm_page_size() / BytesPerWord;
-    size_t aligned_expand_vs_by_words = align_size_up(expand_vs_by_words,
-                                                        page_size_words);
-    bool vs_expanded =
-      expand_by(current_virtual_space(), aligned_expand_vs_by_words);
-    if (!vs_expanded) {
-      // Should the capacity of the metaspaces be expanded for
-      // this allocation?  If it's the virtual space for classes and is
-      // being used for CompressedHeaders, don't allocate a new virtualspace.
-      if (can_grow() && MetaspaceGC::should_expand(this, word_size)) {
-        // Get another virtual space.
-        size_t allocation_aligned_expand_words =
-            align_size_up(aligned_expand_vs_by_words, os::vm_allocation_granularity() / BytesPerWord);
-        size_t grow_vs_words =
-            MAX2((size_t)VirtualSpaceSize, allocation_aligned_expand_words);
-        if (grow_vs(grow_vs_words)) {
-          // Got it.  It's on the list now.  Get a chunk from it.
-          assert(current_virtual_space()->expanded_words() == 0,
-              "New virtual space nodes should not have expanded");
-
-          size_t grow_chunks_by_words_aligned = align_size_up(grow_chunks_by_words,
-                                                              page_size_words);
-          // We probably want to expand by aligned_expand_vs_by_words here.
-          expand_by(current_virtual_space(), grow_chunks_by_words_aligned);
-          next = current_virtual_space()->get_chunk_vs(grow_chunks_by_words);
-        }
-      } else {
-        // Allocation will fail and induce a GC
-        if (TraceMetadataChunkAllocation && Verbose) {
-          gclog_or_tty->print_cr("VirtualSpaceList::get_new_chunk():"
-            " Fail instead of expand the metaspace");
-        }
-      }
-    } else {
-      // The virtual space expanded, get a new chunk
-      next = current_virtual_space()->get_chunk_vs(grow_chunks_by_words);
-      assert(next != NULL, "Just expanded, should succeed");
-    }
+  if (next != NULL) {
+    return next;
   }
 
-  assert(next == NULL || (next->next() == NULL && next->prev() == NULL),
-         "New chunk is still on some list");
-  return next;
-}
-
-Metachunk* VirtualSpaceList::get_initialization_chunk(size_t chunk_word_size,
-                                                      size_t chunk_bunch) {
-  // Get a chunk from the chunk freelist
-  Metachunk* new_chunk = get_new_chunk(chunk_word_size,
-                                       chunk_word_size,
-                                       chunk_bunch);
-  return new_chunk;
+  // The expand amount is currently only determined by the requested sizes
+  // and not how much committed memory is left in the current virtual space.
+
+  size_t min_word_size       = align_size_up(grow_chunks_by_words, Metaspace::commit_alignment_words());
+  size_t preferred_word_size = align_size_up(medium_chunk_bunch,   Metaspace::commit_alignment_words());
+  if (min_word_size >= preferred_word_size) {
+    // Can happen when humongous chunks are allocated.
+    preferred_word_size = min_word_size;
+  }
+
+  bool expanded = expand_by(min_word_size, preferred_word_size);
+  if (expanded) {
+    next = current_virtual_space()->get_chunk_vs(grow_chunks_by_words);
+    assert(next != NULL, "The allocation was expected to succeed after the expansion");
+  }
+
+   return next;
 }
 
 void VirtualSpaceList::print_on(outputStream* st) const {
@@ -1256,96 +1342,96 @@
 // Calculate the amount to increase the high water mark (HWM).
 // Increase by a minimum amount (MinMetaspaceExpansion) so that
 // another expansion is not requested too soon.  If that is not
-// enough to satisfy the allocation (i.e. big enough for a word_size
-// allocation), increase by MaxMetaspaceExpansion.  If that is still
-// not enough, expand by the size of the allocation (word_size) plus
-// some.
-size_t MetaspaceGC::delta_capacity_until_GC(size_t word_size) {
-  size_t before_inc = MetaspaceGC::capacity_until_GC();
-  size_t min_delta_words = MinMetaspaceExpansion / BytesPerWord;
-  size_t max_delta_words = MaxMetaspaceExpansion / BytesPerWord;
-  size_t page_size_words = os::vm_page_size() / BytesPerWord;
-  size_t size_delta_words = align_size_up(word_size, page_size_words);
-  size_t delta_words = MAX2(size_delta_words, min_delta_words);
-  if (delta_words > min_delta_words) {
+// enough to satisfy the allocation, increase by MaxMetaspaceExpansion.
+// If that is still not enough, expand by the size of the allocation
+// plus some.
+size_t MetaspaceGC::delta_capacity_until_GC(size_t bytes) {
+  size_t min_delta = MinMetaspaceExpansion;
+  size_t max_delta = MaxMetaspaceExpansion;
+  size_t delta = align_size_up(bytes, Metaspace::commit_alignment());
+
+  if (delta <= min_delta) {
+    delta = min_delta;
+  } else if (delta <= max_delta) {
     // Don't want to hit the high water mark on the next
     // allocation so make the delta greater than just enough
     // for this allocation.
-    delta_words = MAX2(delta_words, max_delta_words);
-    if (delta_words > max_delta_words) {
-      // This allocation is large but the next ones are probably not
-      // so increase by the minimum.
-      delta_words = delta_words + min_delta_words;
-    }
+    delta = max_delta;
+  } else {
+    // This allocation is large but the next ones are probably not
+    // so increase by the minimum.
+    delta = delta + min_delta;
   }
-  return delta_words;
+
+  assert_is_size_aligned(delta, Metaspace::commit_alignment());
+
+  return delta;
+}
+
+size_t MetaspaceGC::capacity_until_GC() {
+  size_t value = (size_t)OrderAccess::load_ptr_acquire(&_capacity_until_GC);
+  assert(value >= MetaspaceSize, "Not initialied properly?");
+  return value;
 }
 
-bool MetaspaceGC::should_expand(VirtualSpaceList* vsl, size_t word_size) {
-
-  // If the user wants a limit, impose one.
-  // The reason for someone using this flag is to limit reserved space.  So
-  // for non-class virtual space, compare against virtual spaces that are reserved.
-  // For class virtual space, we only compare against the committed space, not
-  // reserved space, because this is a larger space prereserved for compressed
-  // class pointers.
-  if (!FLAG_IS_DEFAULT(MaxMetaspaceSize)) {
-    size_t nonclass_allocated = MetaspaceAux::reserved_bytes(Metaspace::NonClassType);
-    size_t class_allocated    = MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType);
-    size_t real_allocated     = nonclass_allocated + class_allocated;
-    if (real_allocated >= MaxMetaspaceSize) {
+size_t MetaspaceGC::inc_capacity_until_GC(size_t v) {
+  assert_is_size_aligned(v, Metaspace::commit_alignment());
+
+  return (size_t)Atomic::add_ptr(v, &_capacity_until_GC);
+}
+
+size_t MetaspaceGC::dec_capacity_until_GC(size_t v) {
+  assert_is_size_aligned(v, Metaspace::commit_alignment());
+
+  return (size_t)Atomic::add_ptr(-(intptr_t)v, &_capacity_until_GC);
+}
+
+bool MetaspaceGC::can_expand(size_t word_size, bool is_class) {
+  // Check if the compressed class space is full.
+  if (is_class && Metaspace::using_class_space()) {
+    size_t class_committed = MetaspaceAux::committed_bytes(Metaspace::ClassType);
+    if (class_committed + word_size * BytesPerWord > CompressedClassSpaceSize) {
       return false;
     }
   }
 
-  // Class virtual space should always be expanded.  Call GC for the other
-  // metadata virtual space.
-  if (Metaspace::using_class_space() &&
-      (vsl == Metaspace::class_space_list())) return true;
-
-  // If this is part of an allocation after a GC, expand
-  // unconditionally.
-  if (MetaspaceGC::expand_after_GC()) {
-    return true;
+  // Check if the user has imposed a limit on the metaspace memory.
+  size_t committed_bytes = MetaspaceAux::committed_bytes();
+  if (committed_bytes + word_size * BytesPerWord > MaxMetaspaceSize) {
+    return false;
   }
 
-
-  // If the capacity is below the minimum capacity, allow the
-  // expansion.  Also set the high-water-mark (capacity_until_GC)
-  // to that minimum capacity so that a GC will not be induced
-  // until that minimum capacity is exceeded.
-  size_t committed_capacity_bytes = MetaspaceAux::allocated_capacity_bytes();
-  size_t metaspace_size_bytes = MetaspaceSize;
-  if (committed_capacity_bytes < metaspace_size_bytes ||
-      capacity_until_GC() == 0) {
-    set_capacity_until_GC(metaspace_size_bytes);
-    return true;
-  } else {
-    if (committed_capacity_bytes < capacity_until_GC()) {
-      return true;
-    } else {
-      if (TraceMetadataChunkAllocation && Verbose) {
-        gclog_or_tty->print_cr("  allocation request size " SIZE_FORMAT
-                        "  capacity_until_GC " SIZE_FORMAT
-                        "  allocated_capacity_bytes " SIZE_FORMAT,
-                        word_size,
-                        capacity_until_GC(),
-                        MetaspaceAux::allocated_capacity_bytes());
-      }
-      return false;
-    }
+  return true;
+}
+
+size_t MetaspaceGC::allowed_expansion() {
+  size_t committed_bytes = MetaspaceAux::committed_bytes();
+
+  size_t left_until_max  = MaxMetaspaceSize - committed_bytes;
+
+  // Always grant expansion if we are initiating the JVM,
+  // or if the GC_locker is preventing GCs.
+  if (!is_init_completed() || GC_locker::is_active_and_needs_gc()) {
+    return left_until_max / BytesPerWord;
   }
+
+  size_t capacity_until_gc = capacity_until_GC();
+
+  if (capacity_until_gc <= committed_bytes) {
+    return 0;
+  }
+
+  size_t left_until_GC = capacity_until_gc - committed_bytes;
+  size_t left_to_commit = MIN2(left_until_GC, left_until_max);
+
+  return left_to_commit / BytesPerWord;
 }
 
-
-
 void MetaspaceGC::compute_new_size() {
   assert(_shrink_factor <= 100, "invalid shrink factor");
   uint current_shrink_factor = _shrink_factor;
   _shrink_factor = 0;
 
-  // Until a faster way of calculating the "used" quantity is implemented,
-  // use "capacity".
   const size_t used_after_gc = MetaspaceAux::allocated_capacity_bytes();
   const size_t capacity_until_GC = MetaspaceGC::capacity_until_GC();
 
@@ -1377,9 +1463,10 @@
     // If we have less capacity below the metaspace HWM, then
     // increment the HWM.
     size_t expand_bytes = minimum_desired_capacity - capacity_until_GC;
+    expand_bytes = align_size_up(expand_bytes, Metaspace::commit_alignment());
     // Don't expand unless it's significant
     if (expand_bytes >= MinMetaspaceExpansion) {
-      MetaspaceGC::set_capacity_until_GC(capacity_until_GC + expand_bytes);
+      MetaspaceGC::inc_capacity_until_GC(expand_bytes);
     }
     if (PrintGCDetails && Verbose) {
       size_t new_capacity_until_GC = capacity_until_GC;
@@ -1436,6 +1523,9 @@
       // on the third call, and 100% by the fourth call.  But if we recompute
       // size without shrinking, it goes back to 0%.
       shrink_bytes = shrink_bytes / 100 * current_shrink_factor;
+
+      shrink_bytes = align_size_down(shrink_bytes, Metaspace::commit_alignment());
+
       assert(shrink_bytes <= max_shrink_bytes,
         err_msg("invalid shrink size " SIZE_FORMAT " not <= " SIZE_FORMAT,
           shrink_bytes, max_shrink_bytes));
@@ -1467,7 +1557,7 @@
   // Don't shrink unless it's significant
   if (shrink_bytes >= MinMetaspaceExpansion &&
       ((capacity_until_GC - shrink_bytes) >= MetaspaceSize)) {
-    MetaspaceGC::set_capacity_until_GC(capacity_until_GC - shrink_bytes);
+    MetaspaceGC::dec_capacity_until_GC(shrink_bytes);
   }
 }
 
@@ -1700,7 +1790,6 @@
     assert(free_list != NULL, "Sanity check");
 
     chunk = free_list->head();
-    debug_only(Metachunk* debug_head = chunk;)
 
     if (chunk == NULL) {
       return NULL;
@@ -1709,9 +1798,6 @@
     // Remove the chunk as the head of the list.
     free_list->remove_chunk(chunk);
 
-    // Chunk is being removed from the chunks free list.
-    dec_free_chunks_total(chunk->capacity_word_size());
-
     if (TraceMetadataChunkAllocation && Verbose) {
       gclog_or_tty->print_cr("ChunkManager::free_chunks_get: free_list "
                              PTR_FORMAT " head " PTR_FORMAT " size " SIZE_FORMAT,
@@ -1722,21 +1808,22 @@
       word_size,
       FreeBlockDictionary<Metachunk>::atLeast);
 
-    if (chunk != NULL) {
-      if (TraceMetadataHumongousAllocation) {
-        size_t waste = chunk->word_size() - word_size;
-        gclog_or_tty->print_cr("Free list allocate humongous chunk size "
-                               SIZE_FORMAT " for requested size " SIZE_FORMAT
-                               " waste " SIZE_FORMAT,
-                               chunk->word_size(), word_size, waste);
-      }
-      // Chunk is being removed from the chunks free list.
-      dec_free_chunks_total(chunk->capacity_word_size());
-    } else {
+    if (chunk == NULL) {
       return NULL;
     }
+
+    if (TraceMetadataHumongousAllocation) {
+      size_t waste = chunk->word_size() - word_size;
+      gclog_or_tty->print_cr("Free list allocate humongous chunk size "
+                             SIZE_FORMAT " for requested size " SIZE_FORMAT
+                             " waste " SIZE_FORMAT,
+                             chunk->word_size(), word_size, waste);
+    }
   }
 
+  // Chunk is being removed from the chunks free list.
+  dec_free_chunks_total(chunk->capacity_word_size());
+
   // Remove it from the links to this freelist
   chunk->set_next(NULL);
   chunk->set_prev(NULL);
@@ -1977,6 +2064,15 @@
   return chunk_word_size;
 }
 
+void SpaceManager::track_metaspace_memory_usage() {
+  if (is_init_completed()) {
+    if (is_class()) {
+      MemoryService::track_compressed_class_memory_usage();
+    }
+    MemoryService::track_metaspace_memory_usage();
+  }
+}
+
 MetaWord* SpaceManager::grow_and_allocate(size_t word_size) {
   assert(vs_list()->current_virtual_space() != NULL,
          "Should have been set");
@@ -2002,15 +2098,24 @@
   size_t grow_chunks_by_words = calc_chunk_size(word_size);
   Metachunk* next = get_new_chunk(word_size, grow_chunks_by_words);
 
+  if (next != NULL) {
+    Metadebug::deallocate_chunk_a_lot(this, grow_chunks_by_words);
+  }
+
+  MetaWord* mem = NULL;
+
   // If a chunk was available, add it to the in-use chunk list
   // and do an allocation from it.
   if (next != NULL) {
-    Metadebug::deallocate_chunk_a_lot(this, grow_chunks_by_words);
     // Add to this manager's list of chunks in use.
     add_chunk(next, false);
-    return next->allocate(word_size);
+    mem = next->allocate(word_size);
   }
-  return NULL;
+
+  // Track metaspace memory usage statistic.
+  track_metaspace_memory_usage();
+
+  return mem;
 }
 
 void SpaceManager::print_on(outputStream* st) const {
@@ -2366,6 +2471,7 @@
     inc_used_metrics(word_size);
     return current_chunk()->allocate(word_size); // caller handles null result
   }
+
   if (current_chunk() != NULL) {
     result = current_chunk()->allocate(word_size);
   }
@@ -2373,7 +2479,8 @@
   if (result == NULL) {
     result = grow_and_allocate(word_size);
   }
-  if (result != 0) {
+
+  if (result != NULL) {
     inc_used_metrics(word_size);
     assert(result != (MetaWord*) chunks_in_use(MediumIndex),
            "Head of the list is being allocated");
@@ -2639,24 +2746,26 @@
 void MetaspaceAux::print_on(outputStream* out) {
   Metaspace::MetadataType nct = Metaspace::NonClassType;
 
-  out->print_cr(" Metaspace total "
-                SIZE_FORMAT "K, used " SIZE_FORMAT "K,"
-                " reserved " SIZE_FORMAT "K",
-                allocated_capacity_bytes()/K, allocated_used_bytes()/K, reserved_bytes()/K);
-
-  out->print_cr("  data space     "
-                SIZE_FORMAT "K, used " SIZE_FORMAT "K,"
-                " reserved " SIZE_FORMAT "K",
-                allocated_capacity_bytes(nct)/K,
-                allocated_used_bytes(nct)/K,
-                reserved_bytes(nct)/K);
+  out->print_cr(" Metaspace       "
+                "used "      SIZE_FORMAT "K, "
+                "capacity "  SIZE_FORMAT "K, "
+                "committed " SIZE_FORMAT "K, "
+                "reserved "  SIZE_FORMAT "K",
+                allocated_used_bytes()/K,
+                allocated_capacity_bytes()/K,
+                committed_bytes()/K,
+                reserved_bytes()/K);
+
   if (Metaspace::using_class_space()) {
     Metaspace::MetadataType ct = Metaspace::ClassType;
     out->print_cr("  class space    "
-                  SIZE_FORMAT "K, used " SIZE_FORMAT "K,"
-                  " reserved " SIZE_FORMAT "K",
+                  "used "      SIZE_FORMAT "K, "
+                  "capacity "  SIZE_FORMAT "K, "
+                  "committed " SIZE_FORMAT "K, "
+                  "reserved "  SIZE_FORMAT "K",
+                  allocated_used_bytes(ct)/K,
                   allocated_capacity_bytes(ct)/K,
-                  allocated_used_bytes(ct)/K,
+                  committed_bytes(ct)/K,
                   reserved_bytes(ct)/K);
   }
 }
@@ -2808,6 +2917,9 @@
 size_t Metaspace::_first_chunk_word_size = 0;
 size_t Metaspace::_first_class_chunk_word_size = 0;
 
+size_t Metaspace::_commit_alignment = 0;
+size_t Metaspace::_reserve_alignment = 0;
+
 Metaspace::Metaspace(Mutex* lock, MetaspaceType type) {
   initialize(lock, type);
 }
@@ -2869,21 +2981,30 @@
   assert(UseCompressedClassPointers, "Only use with CompressedKlassPtrs");
   assert(class_metaspace_size() < KlassEncodingMetaspaceMax,
          "Metaspace size is too big");
+  assert_is_ptr_aligned(requested_addr,          _reserve_alignment);
+  assert_is_ptr_aligned(cds_base,                _reserve_alignment);
+  assert_is_size_aligned(class_metaspace_size(), _reserve_alignment);
+
+  // Don't use large pages for the class space.
+  bool large_pages = false;
 
   ReservedSpace metaspace_rs = ReservedSpace(class_metaspace_size(),
-                                             os::vm_allocation_granularity(),
-                                             false, requested_addr, 0);
+                                             _reserve_alignment,
+                                             large_pages,
+                                             requested_addr, 0);
   if (!metaspace_rs.is_reserved()) {
     if (UseSharedSpaces) {
+      size_t increment = align_size_up(1*G, _reserve_alignment);
+
       // Keep trying to allocate the metaspace, increasing the requested_addr
       // by 1GB each time, until we reach an address that will no longer allow
       // use of CDS with compressed klass pointers.
       char *addr = requested_addr;
-      while (!metaspace_rs.is_reserved() && (addr + 1*G > addr) &&
-             can_use_cds_with_metaspace_addr(addr + 1*G, cds_base)) {
-        addr = addr + 1*G;
+      while (!metaspace_rs.is_reserved() && (addr + increment > addr) &&
+             can_use_cds_with_metaspace_addr(addr + increment, cds_base)) {
+        addr = addr + increment;
         metaspace_rs = ReservedSpace(class_metaspace_size(),
-                                     os::vm_allocation_granularity(), false, addr, 0);
+                                     _reserve_alignment, large_pages, addr, 0);
       }
     }
 
@@ -2894,7 +3015,7 @@
     // So, UseCompressedClassPointers cannot be turned off at this point.
     if (!metaspace_rs.is_reserved()) {
       metaspace_rs = ReservedSpace(class_metaspace_size(),
-                                   os::vm_allocation_granularity(), false);
+                                   _reserve_alignment, large_pages);
       if (!metaspace_rs.is_reserved()) {
         vm_exit_during_initialization(err_msg("Could not allocate metaspace: %d bytes",
                                               class_metaspace_size()));
@@ -2933,34 +3054,96 @@
   assert(using_class_space(), "Must be using class space");
   _class_space_list = new VirtualSpaceList(rs);
   _chunk_manager_class = new ChunkManager(SpecializedChunk, ClassSmallChunk, ClassMediumChunk);
+
+  if (!_class_space_list->initialization_succeeded()) {
+    vm_exit_during_initialization("Failed to setup compressed class space virtual space list.");
+  }
 }
 
 #endif
 
+// Align down. If the aligning result in 0, return 'alignment'.
+static size_t restricted_align_down(size_t size, size_t alignment) {
+  return MAX2(alignment, align_size_down_(size, alignment));
+}
+
+void Metaspace::ergo_initialize() {
+  if (DumpSharedSpaces) {
+    // Using large pages when dumping the shared archive is currently not implemented.
+    FLAG_SET_ERGO(bool, UseLargePagesInMetaspace, false);
+  }
+
+  size_t page_size = os::vm_page_size();
+  if (UseLargePages && UseLargePagesInMetaspace) {
+    page_size = os::large_page_size();
+  }
+
+  _commit_alignment  = page_size;
+  _reserve_alignment = MAX2(page_size, (size_t)os::vm_allocation_granularity());
+
+  // Do not use FLAG_SET_ERGO to update MaxMetaspaceSize, since this will
+  // override if MaxMetaspaceSize was set on the command line or not.
+  // This information is needed later to conform to the specification of the
+  // java.lang.management.MemoryUsage API.
+  //
+  // Ideally, we would be able to set the default value of MaxMetaspaceSize in
+  // globals.hpp to the aligned value, but this is not possible, since the
+  // alignment depends on other flags being parsed.
+  MaxMetaspaceSize = restricted_align_down(MaxMetaspaceSize, _reserve_alignment);
+
+  if (MetaspaceSize > MaxMetaspaceSize) {
+    MetaspaceSize = MaxMetaspaceSize;
+  }
+
+  MetaspaceSize = restricted_align_down(MetaspaceSize, _commit_alignment);
+
+  assert(MetaspaceSize <= MaxMetaspaceSize, "MetaspaceSize should be limited by MaxMetaspaceSize");
+
+  if (MetaspaceSize < 256*K) {
+    vm_exit_during_initialization("Too small initial Metaspace size");
+  }
+
+  MinMetaspaceExpansion = restricted_align_down(MinMetaspaceExpansion, _commit_alignment);
+  MaxMetaspaceExpansion = restricted_align_down(MaxMetaspaceExpansion, _commit_alignment);
+
+  CompressedClassSpaceSize = restricted_align_down(CompressedClassSpaceSize, _reserve_alignment);
+  set_class_metaspace_size(CompressedClassSpaceSize);
+}
+
 void Metaspace::global_initialize() {
   // Initialize the alignment for shared spaces.
   int max_alignment = os::vm_page_size();
   size_t cds_total = 0;
 
-  set_class_metaspace_size(align_size_up(CompressedClassSpaceSize,
-                                         os::vm_allocation_granularity()));
-
   MetaspaceShared::set_max_alignment(max_alignment);
 
   if (DumpSharedSpaces) {
-    SharedReadOnlySize = align_size_up(SharedReadOnlySize, max_alignment);
+    SharedReadOnlySize  = align_size_up(SharedReadOnlySize,  max_alignment);
     SharedReadWriteSize = align_size_up(SharedReadWriteSize, max_alignment);
-    SharedMiscDataSize  = align_size_up(SharedMiscDataSize, max_alignment);
-    SharedMiscCodeSize  = align_size_up(SharedMiscCodeSize, max_alignment);
+    SharedMiscDataSize  = align_size_up(SharedMiscDataSize,  max_alignment);
+    SharedMiscCodeSize  = align_size_up(SharedMiscCodeSize,  max_alignment);
 
     // Initialize with the sum of the shared space sizes.  The read-only
     // and read write metaspace chunks will be allocated out of this and the
     // remainder is the misc code and data chunks.
     cds_total = FileMapInfo::shared_spaces_size();
+    cds_total = align_size_up(cds_total, _reserve_alignment);
     _space_list = new VirtualSpaceList(cds_total/wordSize);
     _chunk_manager_metadata = new ChunkManager(SpecializedChunk, SmallChunk, MediumChunk);
 
+    if (!_space_list->initialization_succeeded()) {
+      vm_exit_during_initialization("Unable to dump shared archive.", NULL);
+    }
+
 #ifdef _LP64
+    if (cds_total + class_metaspace_size() > (uint64_t)max_juint) {
+      vm_exit_during_initialization("Unable to dump shared archive.",
+          err_msg("Size of archive (" SIZE_FORMAT ") + compressed class space ("
+                  SIZE_FORMAT ") == total (" SIZE_FORMAT ") is larger than compressed "
+                  "klass limit: " SIZE_FORMAT, cds_total, class_metaspace_size(),
+                  cds_total + class_metaspace_size(), (size_t)max_juint));
+    }
+
     // Set the compressed klass pointer base so that decoding of these pointers works
     // properly when creating the shared archive.
     assert(UseCompressedOops && UseCompressedClassPointers,
@@ -2971,9 +3154,6 @@
                              _space_list->current_virtual_space()->bottom());
     }
 
-    // Set the shift to zero.
-    assert(class_metaspace_size() < (uint64_t)(max_juint) - cds_total,
-           "CDS region is too large");
     Universe::set_narrow_klass_shift(0);
 #endif
 
@@ -2992,12 +3172,12 @@
       // Map in spaces now also
       if (mapinfo->initialize() && MetaspaceShared::map_shared_spaces(mapinfo)) {
         FileMapInfo::set_current_info(mapinfo);
+        cds_total = FileMapInfo::shared_spaces_size();
+        cds_address = (address)mapinfo->region_base(0);
       } else {
         assert(!mapinfo->is_open() && !UseSharedSpaces,
                "archive file not closed or shared spaces not disabled.");
       }
-      cds_total = FileMapInfo::shared_spaces_size();
-      cds_address = (address)mapinfo->region_base(0);
     }
 
 #ifdef _LP64
@@ -3005,7 +3185,9 @@
     // above the heap and above the CDS area (if it exists).
     if (using_class_space()) {
       if (UseSharedSpaces) {
-        allocate_metaspace_compressed_klass_ptrs((char *)(cds_address + cds_total), cds_address);
+        char* cds_end = (char*)(cds_address + cds_total);
+        cds_end = (char *)align_ptr_up(cds_end, _reserve_alignment);
+        allocate_metaspace_compressed_klass_ptrs(cds_end, cds_address);
       } else {
         allocate_metaspace_compressed_klass_ptrs((char *)CompressedKlassPointersBase, 0);
       }
@@ -3023,11 +3205,19 @@
     _first_class_chunk_word_size = align_word_size_up(_first_class_chunk_word_size);
     // Arbitrarily set the initial virtual space to a multiple
     // of the boot class loader size.
-    size_t word_size = VIRTUALSPACEMULTIPLIER * first_chunk_word_size();
+    size_t word_size = VIRTUALSPACEMULTIPLIER * _first_chunk_word_size;
+    word_size = align_size_up(word_size, Metaspace::reserve_alignment_words());
+
     // Initialize the list of virtual spaces.
     _space_list = new VirtualSpaceList(word_size);
     _chunk_manager_metadata = new ChunkManager(SpecializedChunk, SmallChunk, MediumChunk);
+
+    if (!_space_list->initialization_succeeded()) {
+      vm_exit_during_initialization("Unable to setup metadata virtual space list.", NULL);
+    }
   }
+
+  MetaspaceGC::initialize();
 }
 
 Metachunk* Metaspace::get_initialization_chunk(MetadataType mdtype,
@@ -3039,7 +3229,7 @@
     return chunk;
   }
 
-  return get_space_list(mdtype)->get_initialization_chunk(chunk_word_size, chunk_bunch);
+  return get_space_list(mdtype)->get_new_chunk(chunk_word_size, chunk_word_size, chunk_bunch);
 }
 
 void Metaspace::initialize(Mutex* lock, MetaspaceType type) {
@@ -3112,19 +3302,18 @@
 }
 
 MetaWord* Metaspace::expand_and_allocate(size_t word_size, MetadataType mdtype) {
-  MetaWord* result;
-  MetaspaceGC::set_expand_after_GC(true);
-  size_t before_inc = MetaspaceGC::capacity_until_GC();
-  size_t delta_bytes = MetaspaceGC::delta_capacity_until_GC(word_size) * BytesPerWord;
-  MetaspaceGC::inc_capacity_until_GC(delta_bytes);
+  size_t delta_bytes = MetaspaceGC::delta_capacity_until_GC(word_size * BytesPerWord);
+  assert(delta_bytes > 0, "Must be");
+
+  size_t after_inc = MetaspaceGC::inc_capacity_until_GC(delta_bytes);
+  size_t before_inc = after_inc - delta_bytes;
+
   if (PrintGCDetails && Verbose) {
     gclog_or_tty->print_cr("Increase capacity to GC from " SIZE_FORMAT
-      " to " SIZE_FORMAT, before_inc, MetaspaceGC::capacity_until_GC());
+        " to " SIZE_FORMAT, before_inc, after_inc);
   }
 
-  result = allocate(word_size, mdtype);
-
-  return result;
+  return allocate(word_size, mdtype);
 }
 
 // Space allocated in the Metaspace.  This may
@@ -3206,6 +3395,7 @@
   }
 }
 
+
 Metablock* Metaspace::allocate(ClassLoaderData* loader_data, size_t word_size,
                               bool read_only, MetaspaceObj::Type type, TRAPS) {
   if (HAS_PENDING_EXCEPTION) {
@@ -3213,20 +3403,16 @@
     return NULL;  // caller does a CHECK_NULL too
   }
 
-  MetadataType mdtype = (type == MetaspaceObj::ClassType) ? ClassType : NonClassType;
-
-  // SSS: Should we align the allocations and make sure the sizes are aligned.
-  MetaWord* result = NULL;
-
   assert(loader_data != NULL, "Should never pass around a NULL loader_data. "
         "ClassLoaderData::the_null_class_loader_data() should have been used.");
+
   // Allocate in metaspaces without taking out a lock, because it deadlocks
   // with the SymbolTable_lock.  Dumping is single threaded for now.  We'll have
   // to revisit this for application class data sharing.
   if (DumpSharedSpaces) {
     assert(type > MetaspaceObj::UnknownType && type < MetaspaceObj::_number_of_types, "sanity");
     Metaspace* space = read_only ? loader_data->ro_metaspace() : loader_data->rw_metaspace();
-    result = space->allocate(word_size, NonClassType);
+    MetaWord* result = space->allocate(word_size, NonClassType);
     if (result == NULL) {
       report_out_of_shared_space(read_only ? SharedReadOnly : SharedReadWrite);
     } else {
@@ -3235,40 +3421,62 @@
     return Metablock::initialize(result, word_size);
   }
 
-  result = loader_data->metaspace_non_null()->allocate(word_size, mdtype);
+  MetadataType mdtype = (type == MetaspaceObj::ClassType) ? ClassType : NonClassType;
+
+  // Try to allocate metadata.
+  MetaWord* result = loader_data->metaspace_non_null()->allocate(word_size, mdtype);
+
+  if (result == NULL) {
+    // Allocation failed.
+    if (is_init_completed()) {
+      // Only start a GC if the bootstrapping has completed.
+
+      // Try to clean out some memory and retry.
+      result = Universe::heap()->collector_policy()->satisfy_failed_metadata_allocation(
+          loader_data, word_size, mdtype);
+    }
+  }
 
   if (result == NULL) {
-    // Try to clean out some memory and retry.
-    result =
-      Universe::heap()->collector_policy()->satisfy_failed_metadata_allocation(
-        loader_data, word_size, mdtype);
-
-    // If result is still null, we are out of memory.
-    if (result == NULL) {
-      if (Verbose && TraceMetadataChunkAllocation) {
-        gclog_or_tty->print_cr("Metaspace allocation failed for size "
-          SIZE_FORMAT, word_size);
-        if (loader_data->metaspace_or_null() != NULL) loader_data->dump(gclog_or_tty);
-        MetaspaceAux::dump(gclog_or_tty);
-      }
-      // -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError support
-      const char* space_string = is_class_space_allocation(mdtype) ? "Compressed class space" :
-                                                                     "Metadata space";
-      report_java_out_of_memory(space_string);
-
-      if (JvmtiExport::should_post_resource_exhausted()) {
-        JvmtiExport::post_resource_exhausted(
-            JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR,
-            space_string);
-      }
-      if (is_class_space_allocation(mdtype)) {
-        THROW_OOP_0(Universe::out_of_memory_error_class_metaspace());
-      } else {
-        THROW_OOP_0(Universe::out_of_memory_error_metaspace());
-      }
+    report_metadata_oome(loader_data, word_size, mdtype, THREAD);
+    // Will not reach here.
+    return NULL;
+  }
+
+  return Metablock::initialize(result, word_size);
+}
+
+void Metaspace::report_metadata_oome(ClassLoaderData* loader_data, size_t word_size, MetadataType mdtype, TRAPS) {
+  // If result is still null, we are out of memory.
+  if (Verbose && TraceMetadataChunkAllocation) {
+    gclog_or_tty->print_cr("Metaspace allocation failed for size "
+        SIZE_FORMAT, word_size);
+    if (loader_data->metaspace_or_null() != NULL) {
+      loader_data->dump(gclog_or_tty);
     }
+    MetaspaceAux::dump(gclog_or_tty);
   }
-  return Metablock::initialize(result, word_size);
+
+  // -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError support
+  const char* space_string = is_class_space_allocation(mdtype) ? "Compressed class space" :
+                                                                 "Metadata space";
+  report_java_out_of_memory(space_string);
+
+  if (JvmtiExport::should_post_resource_exhausted()) {
+    JvmtiExport::post_resource_exhausted(
+        JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR,
+        space_string);
+  }
+
+  if (!is_init_completed()) {
+    vm_exit_during_initialization("OutOfMemoryError", space_string);
+  }
+
+  if (is_class_space_allocation(mdtype)) {
+    THROW_OOP(Universe::out_of_memory_error_class_metaspace());
+  } else {
+    THROW_OOP(Universe::out_of_memory_error_metaspace());
+  }
 }
 
 void Metaspace::record_allocation(void* ptr, MetaspaceObj::Type type, size_t word_size) {
--- a/hotspot/src/share/vm/memory/metaspace.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/memory/metaspace.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -87,9 +87,10 @@
   friend class MetaspaceAux;
 
  public:
-  enum MetadataType {ClassType = 0,
-                     NonClassType = ClassType + 1,
-                     MetadataTypeCount = ClassType + 2
+  enum MetadataType {
+    ClassType,
+    NonClassType,
+    MetadataTypeCount
   };
   enum MetaspaceType {
     StandardMetaspaceType,
@@ -103,6 +104,9 @@
  private:
   void initialize(Mutex* lock, MetaspaceType type);
 
+  // Get the first chunk for a Metaspace.  Used for
+  // special cases such as the boot class loader, reflection
+  // class loader and anonymous class loader.
   Metachunk* get_initialization_chunk(MetadataType mdtype,
                                       size_t chunk_word_size,
                                       size_t chunk_bunch);
@@ -123,6 +127,9 @@
   static size_t _first_chunk_word_size;
   static size_t _first_class_chunk_word_size;
 
+  static size_t _commit_alignment;
+  static size_t _reserve_alignment;
+
   SpaceManager* _vsm;
   SpaceManager* vsm() const { return _vsm; }
 
@@ -191,12 +198,17 @@
   Metaspace(Mutex* lock, MetaspaceType type);
   ~Metaspace();
 
-  // Initialize globals for Metaspace
+  static void ergo_initialize();
   static void global_initialize();
 
   static size_t first_chunk_word_size() { return _first_chunk_word_size; }
   static size_t first_class_chunk_word_size() { return _first_class_chunk_word_size; }
 
+  static size_t reserve_alignment()       { return _reserve_alignment; }
+  static size_t reserve_alignment_words() { return _reserve_alignment / BytesPerWord; }
+  static size_t commit_alignment()        { return _commit_alignment; }
+  static size_t commit_alignment_words()  { return _commit_alignment / BytesPerWord; }
+
   char*  bottom() const;
   size_t used_words_slow(MetadataType mdtype) const;
   size_t free_words_slow(MetadataType mdtype) const;
@@ -219,6 +231,9 @@
   static void purge(MetadataType mdtype);
   static void purge();
 
+  static void report_metadata_oome(ClassLoaderData* loader_data, size_t word_size,
+                                   MetadataType mdtype, TRAPS);
+
   void print_on(outputStream* st) const;
   // Debugging support
   void verify();
@@ -352,17 +367,10 @@
 
 class MetaspaceGC : AllStatic {
 
-  // The current high-water-mark for inducing a GC.  When
-  // the capacity of all space in the virtual lists reaches this value,
-  // a GC is induced and the value is increased.  This should be changed
-  // to the space actually used for allocations to avoid affects of
-  // fragmentation losses to partially used chunks.  Size is in words.
-  static size_t _capacity_until_GC;
-
-  // After a GC is done any allocation that fails should try to expand
-  // the capacity of the Metaspaces.  This flag is set during attempts
-  // to allocate in the VMGCOperation that does the GC.
-  static bool _expand_after_GC;
+  // The current high-water-mark for inducing a GC.
+  // When committed memory of all metaspaces reaches this value,
+  // a GC is induced and the value is increased. Size is in bytes.
+  static volatile intptr_t _capacity_until_GC;
 
   // For a CMS collection, signal that a concurrent collection should
   // be started.
@@ -370,20 +378,16 @@
 
   static uint _shrink_factor;
 
-  static void set_capacity_until_GC(size_t v) { _capacity_until_GC = v; }
-
   static size_t shrink_factor() { return _shrink_factor; }
   void set_shrink_factor(uint v) { _shrink_factor = v; }
 
  public:
 
-  static size_t capacity_until_GC() { return _capacity_until_GC; }
-  static void inc_capacity_until_GC(size_t v) { _capacity_until_GC += v; }
-  static void dec_capacity_until_GC(size_t v) {
-    _capacity_until_GC = _capacity_until_GC > v ? _capacity_until_GC - v : 0;
-  }
-  static bool expand_after_GC()           { return _expand_after_GC; }
-  static void set_expand_after_GC(bool v) { _expand_after_GC = v; }
+  static void initialize() { _capacity_until_GC = MetaspaceSize; }
+
+  static size_t capacity_until_GC();
+  static size_t inc_capacity_until_GC(size_t v);
+  static size_t dec_capacity_until_GC(size_t v);
 
   static bool should_concurrent_collect() { return _should_concurrent_collect; }
   static void set_should_concurrent_collect(bool v) {
@@ -391,11 +395,14 @@
   }
 
   // The amount to increase the high-water-mark (_capacity_until_GC)
-  static size_t delta_capacity_until_GC(size_t word_size);
+  static size_t delta_capacity_until_GC(size_t bytes);
 
-  // It is expected that this will be called when the current capacity
-  // has been used and a GC should be considered.
-  static bool should_expand(VirtualSpaceList* vsl, size_t word_size);
+  // Tells if we have can expand metaspace without hitting set limits.
+  static bool can_expand(size_t words, bool is_class);
+
+  // Returns amount that we can expand without hitting a GC,
+  // measured in words.
+  static size_t allowed_expansion();
 
   // Calculate the new high-water mark at which to induce
   // a GC.
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -238,6 +238,13 @@
   }
 }
 
+// create a new array of vtable_indices for default methods
+Array<int>* InstanceKlass::create_new_default_vtable_indices(int len, TRAPS) {
+  Array<int>* vtable_indices = MetadataFactory::new_array<int>(class_loader_data(), len, CHECK_NULL);
+  assert(default_vtable_indices() == NULL, "only create once");
+  set_default_vtable_indices(vtable_indices);
+  return vtable_indices;
+}
 
 InstanceKlass::InstanceKlass(int vtable_len,
                              int itable_len,
@@ -263,6 +270,8 @@
   set_array_klasses(NULL);
   set_methods(NULL);
   set_method_ordering(NULL);
+  set_default_methods(NULL);
+  set_default_vtable_indices(NULL);
   set_local_interfaces(NULL);
   set_transitive_interfaces(NULL);
   init_implementor();
@@ -376,6 +385,21 @@
   }
   set_method_ordering(NULL);
 
+  // default methods can be empty
+  if (default_methods() != NULL &&
+      default_methods() != Universe::the_empty_method_array()) {
+    MetadataFactory::free_array<Method*>(loader_data, default_methods());
+  }
+  // Do NOT deallocate the default methods, they are owned by superinterfaces.
+  set_default_methods(NULL);
+
+  // default methods vtable indices can be empty
+  if (default_vtable_indices() != NULL) {
+    MetadataFactory::free_array<int>(loader_data, default_vtable_indices());
+  }
+  set_default_vtable_indices(NULL);
+
+
   // This array is in Klass, but remove it with the InstanceKlass since
   // this place would be the only caller and it can share memory with transitive
   // interfaces.
@@ -456,14 +480,14 @@
   return java_lang_Class::signers(java_mirror());
 }
 
-volatile oop InstanceKlass::init_lock() const {
+oop InstanceKlass::init_lock() const {
   // return the init lock from the mirror
   return java_lang_Class::init_lock(java_mirror());
 }
 
 void InstanceKlass::eager_initialize_impl(instanceKlassHandle this_oop) {
   EXCEPTION_MARK;
-  volatile oop init_lock = this_oop->init_lock();
+  oop init_lock = this_oop->init_lock();
   ObjectLocker ol(init_lock, THREAD);
 
   // abort if someone beat us to the initialization
@@ -608,7 +632,7 @@
 
   // verification & rewriting
   {
-    volatile oop init_lock = this_oop->init_lock();
+    oop init_lock = this_oop->init_lock();
     ObjectLocker ol(init_lock, THREAD);
     // rewritten will have been set if loader constraint error found
     // on an earlier link attempt
@@ -731,7 +755,7 @@
   // refer to the JVM book page 47 for description of steps
   // Step 1
   {
-    volatile oop init_lock = this_oop->init_lock();
+    oop init_lock = this_oop->init_lock();
     ObjectLocker ol(init_lock, THREAD);
 
     Thread *self = THREAD; // it's passed the current thread
@@ -879,7 +903,7 @@
 }
 
 void InstanceKlass::set_initialization_state_and_notify_impl(instanceKlassHandle this_oop, ClassState state, TRAPS) {
-  volatile oop init_lock = this_oop->init_lock();
+  oop init_lock = this_oop->init_lock();
   ObjectLocker ol(init_lock, THREAD);
   this_oop->set_init_state(state);
   ol.notify_all(CHECK);
@@ -1354,32 +1378,44 @@
   return -1;
 }
 
+// find_method looks up the name/signature in the local methods array
 Method* InstanceKlass::find_method(Symbol* name, Symbol* signature) const {
   return InstanceKlass::find_method(methods(), name, signature);
 }
 
+// find_method looks up the name/signature in the local methods array
 Method* InstanceKlass::find_method(
     Array<Method*>* methods, Symbol* name, Symbol* signature) {
+  int hit = find_method_index(methods, name, signature);
+  return hit >= 0 ? methods->at(hit): NULL;
+}
+
+// Used directly for default_methods to find the index into the
+// default_vtable_indices, and indirectly by find_method
+// find_method_index looks in the local methods array to return the index
+// of the matching name/signature
+int InstanceKlass::find_method_index(
+    Array<Method*>* methods, Symbol* name, Symbol* signature) {
   int hit = binary_search(methods, name);
   if (hit != -1) {
     Method* m = methods->at(hit);
     // Do linear search to find matching signature.  First, quick check
     // for common case
-    if (m->signature() == signature) return m;
+    if (m->signature() == signature) return hit;
     // search downwards through overloaded methods
     int i;
     for (i = hit - 1; i >= 0; --i) {
         Method* m = methods->at(i);
         assert(m->is_method(), "must be method");
         if (m->name() != name) break;
-        if (m->signature() == signature) return m;
+        if (m->signature() == signature) return i;
     }
     // search upwards
     for (i = hit + 1; i < methods->length(); ++i) {
         Method* m = methods->at(i);
         assert(m->is_method(), "must be method");
         if (m->name() != name) break;
-        if (m->signature() == signature) return m;
+        if (m->signature() == signature) return i;
     }
     // not found
 #ifdef ASSERT
@@ -1387,9 +1423,8 @@
     assert(index == -1, err_msg("binary search should have found entry %d", index));
 #endif
   }
-  return NULL;
+  return -1;
 }
-
 int InstanceKlass::find_method_by_name(Symbol* name, int* end) {
   return find_method_by_name(methods(), name, end);
 }
@@ -1408,6 +1443,7 @@
   return -1;
 }
 
+// lookup_method searches both the local methods array and all superclasses methods arrays
 Method* InstanceKlass::uncached_lookup_method(Symbol* name, Symbol* signature) const {
   Klass* klass = const_cast<InstanceKlass*>(this);
   while (klass != NULL) {
@@ -1418,6 +1454,21 @@
   return NULL;
 }
 
+// lookup a method in the default methods list then in all transitive interfaces
+// Do NOT return private or static methods
+Method* InstanceKlass::lookup_method_in_ordered_interfaces(Symbol* name,
+                                                         Symbol* signature) const {
+  Method* m = NULL;
+  if (default_methods() != NULL) {
+    m = find_method(default_methods(), name, signature);
+  }
+  // Look up interfaces
+  if (m == NULL) {
+    m = lookup_method_in_all_interfaces(name, signature);
+  }
+  return m;
+}
+
 // lookup a method in all the interfaces that this class implements
 // Do NOT return private or static methods, new in JDK8 which are not externally visible
 // They should only be found in the initial InterfaceMethodRef
@@ -2548,6 +2599,42 @@
   return m;
 }
 
+
+#if INCLUDE_JVMTI
+// update default_methods for redefineclasses for methods that are
+// not yet in the vtable due to concurrent subclass define and superinterface
+// redefinition
+// Note: those in the vtable, should have been updated via adjust_method_entries
+void InstanceKlass::adjust_default_methods(Method** old_methods, Method** new_methods,
+                                           int methods_length, bool* trace_name_printed) {
+  // search the default_methods for uses of either obsolete or EMCP methods
+  if (default_methods() != NULL) {
+    for (int j = 0; j < methods_length; j++) {
+      Method* old_method = old_methods[j];
+      Method* new_method = new_methods[j];
+
+      for (int index = 0; index < default_methods()->length(); index ++) {
+        if (default_methods()->at(index) == old_method) {
+          default_methods()->at_put(index, new_method);
+          if (RC_TRACE_IN_RANGE(0x00100000, 0x00400000)) {
+            if (!(*trace_name_printed)) {
+              // RC_TRACE_MESG macro has an embedded ResourceMark
+              RC_TRACE_MESG(("adjust: klassname=%s default methods from name=%s",
+                             external_name(),
+                             old_method->method_holder()->external_name()));
+              *trace_name_printed = true;
+            }
+            RC_TRACE(0x00100000, ("default method update: %s(%s) ",
+                                  new_method->name()->as_C_string(),
+                                  new_method->signature()->as_C_string()));
+          }
+        }
+      }
+    }
+  }
+}
+#endif // INCLUDE_JVMTI
+
 // On-stack replacement stuff
 void InstanceKlass::add_osr_nmethod(nmethod* n) {
   // only one compilation can be active
@@ -2742,11 +2829,21 @@
   st->print(BULLET"methods:           "); methods()->print_value_on(st);                  st->cr();
   if (Verbose || WizardMode) {
     Array<Method*>* method_array = methods();
-    for(int i = 0; i < method_array->length(); i++) {
+    for (int i = 0; i < method_array->length(); i++) {
       st->print("%d : ", i); method_array->at(i)->print_value(); st->cr();
     }
   }
-  st->print(BULLET"method ordering:   "); method_ordering()->print_value_on(st);       st->cr();
+  st->print(BULLET"method ordering:   "); method_ordering()->print_value_on(st);      st->cr();
+  st->print(BULLET"default_methods:   "); default_methods()->print_value_on(st);      st->cr();
+  if (Verbose && default_methods() != NULL) {
+    Array<Method*>* method_array = default_methods();
+    for (int i = 0; i < method_array->length(); i++) {
+      st->print("%d : ", i); method_array->at(i)->print_value(); st->cr();
+    }
+  }
+  if (default_vtable_indices() != NULL) {
+    st->print(BULLET"default vtable indices:   "); default_vtable_indices()->print_value_on(st);       st->cr();
+  }
   st->print(BULLET"local interfaces:  "); local_interfaces()->print_value_on(st);      st->cr();
   st->print(BULLET"trans. interfaces: "); transitive_interfaces()->print_value_on(st); st->cr();
   st->print(BULLET"constants:         "); constants()->print_value_on(st);         st->cr();
@@ -3099,6 +3196,19 @@
     }
   }
 
+  // Verify default methods
+  if (default_methods() != NULL) {
+    Array<Method*>* methods = this->default_methods();
+    for (int j = 0; j < methods->length(); j++) {
+      guarantee(methods->at(j)->is_method(), "non-method in methods array");
+    }
+    for (int j = 0; j < methods->length() - 1; j++) {
+      Method* m1 = methods->at(j);
+      Method* m2 = methods->at(j + 1);
+      guarantee(m1->name()->fast_compare(m2->name()) <= 0, "methods not sorted correctly");
+    }
+  }
+
   // Verify JNI static field identifiers
   if (jni_ids() != NULL) {
     jni_ids()->verify(this);
--- a/hotspot/src/share/vm/oops/instanceKlass.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/oops/instanceKlass.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -269,12 +269,18 @@
 
   // Method array.
   Array<Method*>* _methods;
+  // Default Method Array, concrete methods inherited from interfaces
+  Array<Method*>* _default_methods;
   // Interface (Klass*s) this class declares locally to implement.
   Array<Klass*>* _local_interfaces;
   // Interface (Klass*s) this class implements transitively.
   Array<Klass*>* _transitive_interfaces;
   // Int array containing the original order of method in the class file (for JVMTI).
   Array<int>*     _method_ordering;
+  // Int array containing the vtable_indices for default_methods
+  // offset matches _default_methods offset
+  Array<int>*     _default_vtable_indices;
+
   // Instance and static variable information, starts with 6-tuples of shorts
   // [access, name index, sig index, initval index, low_offset, high_offset]
   // for all fields, followed by the generic signature data at the end of
@@ -356,6 +362,15 @@
   void set_method_ordering(Array<int>* m) { _method_ordering = m; }
   void copy_method_ordering(intArray* m, TRAPS);
 
+  // default_methods
+  Array<Method*>* default_methods() const  { return _default_methods; }
+  void set_default_methods(Array<Method*>* a) { _default_methods = a; }
+
+  // default method vtable_indices
+  Array<int>* default_vtable_indices() const { return _default_vtable_indices; }
+  void set_default_vtable_indices(Array<int>* v) { _default_vtable_indices = v; }
+  Array<int>* create_new_default_vtable_indices(int len, TRAPS);
+
   // interfaces
   Array<Klass*>* local_interfaces() const          { return _local_interfaces; }
   void set_local_interfaces(Array<Klass*>* a)      {
@@ -501,12 +516,18 @@
   Method* find_method(Symbol* name, Symbol* signature) const;
   static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
 
+  // find a local method index in default_methods (returns -1 if not found)
+  static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature);
+
   // lookup operation (returns NULL if not found)
   Method* uncached_lookup_method(Symbol* name, Symbol* signature) const;
 
   // lookup a method in all the interfaces that this class implements
   // (returns NULL if not found)
   Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature) const;
+  // lookup a method in local defaults then in all interfaces
+  // (returns NULL if not found)
+  Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const;
 
   // Find method indices by name.  If a method with the specified name is
   // found the index to the first method is returned, and 'end' is filled in
@@ -910,6 +931,11 @@
   klassItable* itable() const;        // return new klassItable wrapper
   Method* method_at_itable(Klass* holder, int index, TRAPS);
 
+#if INCLUDE_JVMTI
+  void adjust_default_methods(Method** old_methods, Method** new_methods,
+                              int methods_length, bool* trace_name_printed);
+#endif // INCLUDE_JVMTI
+
   // Garbage collection
   void oop_follow_contents(oop obj);
   int  oop_adjust_pointers(oop obj);
@@ -995,7 +1021,7 @@
   // Must be one per class and it has to be a VM internal object so java code
   // cannot lock it (like the mirror).
   // It has to be an object not a Mutex because it's held through java calls.
-  volatile oop init_lock() const;
+  oop init_lock() const;
 private:
 
   // Static methods that are used to implement member methods where an exposed this pointer
--- a/hotspot/src/share/vm/oops/klassVtable.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/oops/klassVtable.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -83,7 +83,7 @@
 
   GrowableArray<Method*> new_mirandas(20);
   // compute the number of mirandas methods that must be added to the end
-  get_mirandas(&new_mirandas, all_mirandas, super, methods, local_interfaces);
+  get_mirandas(&new_mirandas, all_mirandas, super, methods, NULL, local_interfaces);
   *num_new_mirandas = new_mirandas.length();
 
   vtable_length += *num_new_mirandas * vtableEntry::size();
@@ -186,7 +186,7 @@
       assert(methods->at(i)->is_method(), "must be a Method*");
       methodHandle mh(THREAD, methods->at(i));
 
-      bool needs_new_entry = update_inherited_vtable(ik(), mh, super_vtable_len, checkconstraints, CHECK);
+      bool needs_new_entry = update_inherited_vtable(ik(), mh, super_vtable_len, -1, checkconstraints, CHECK);
 
       if (needs_new_entry) {
         put_method_at(mh(), initialized);
@@ -195,7 +195,35 @@
       }
     }
 
-    // add miranda methods to end of vtable.
+    // update vtable with default_methods
+    Array<Method*>* default_methods = ik()->default_methods();
+    if (default_methods != NULL) {
+      len = default_methods->length();
+      if (len > 0) {
+        Array<int>* def_vtable_indices = NULL;
+        if ((def_vtable_indices = ik()->default_vtable_indices()) == NULL) {
+          def_vtable_indices = ik()->create_new_default_vtable_indices(len, CHECK);
+        } else {
+          assert(def_vtable_indices->length() == len, "reinit vtable len?");
+        }
+        for (int i = 0; i < len; i++) {
+          HandleMark hm(THREAD);
+          assert(default_methods->at(i)->is_method(), "must be a Method*");
+          methodHandle mh(THREAD, default_methods->at(i));
+
+          bool needs_new_entry = update_inherited_vtable(ik(), mh, super_vtable_len, i, checkconstraints, CHECK);
+
+          // needs new entry
+          if (needs_new_entry) {
+            put_method_at(mh(), initialized);
+            def_vtable_indices->at_put(i, initialized); //set vtable index
+            initialized++;
+          }
+        }
+      }
+    }
+
+    // add miranda methods; it will also return the updated initialized
     initialized = fill_in_mirandas(initialized);
 
     // In class hierarchies where the accessibility is not increasing (i.e., going from private ->
@@ -230,14 +258,19 @@
 #ifndef PRODUCT
         if (PrintVtables && Verbose) {
           ResourceMark rm(THREAD);
+          char* sig = target_method()->name_and_sig_as_C_string();
           tty->print("transitive overriding superclass %s with %s::%s index %d, original flags: ",
            supersuperklass->internal_name(),
-           _klass->internal_name(), (target_method() != NULL) ?
-           target_method()->name()->as_C_string() : "<NULL>", vtable_index);
+           _klass->internal_name(), sig, vtable_index);
            super_method->access_flags().print_on(tty);
+           if (super_method->is_default_method()) {
+             tty->print("default");
+           }
            tty->print("overriders flags: ");
            target_method->access_flags().print_on(tty);
-           tty->cr();
+           if (target_method->is_default_method()) {
+             tty->print("default");
+           }
         }
 #endif /*PRODUCT*/
         break; // return found superk
@@ -258,16 +291,31 @@
 // OR return true if a new vtable entry is required.
 // Only called for InstanceKlass's, i.e. not for arrays
 // If that changed, could not use _klass as handle for klass
-bool klassVtable::update_inherited_vtable(InstanceKlass* klass, methodHandle target_method, int super_vtable_len,
-                  bool checkconstraints, TRAPS) {
+bool klassVtable::update_inherited_vtable(InstanceKlass* klass, methodHandle target_method,
+                                          int super_vtable_len, int default_index,
+                                          bool checkconstraints, TRAPS) {
   ResourceMark rm;
   bool allocate_new = true;
   assert(klass->oop_is_instance(), "must be InstanceKlass");
-  assert(klass == target_method()->method_holder(), "caller resp.");
 
-  // Initialize the method's vtable index to "nonvirtual".
-  // If we allocate a vtable entry, we will update it to a non-negative number.
-  target_method()->set_vtable_index(Method::nonvirtual_vtable_index);
+  Array<int>* def_vtable_indices = NULL;
+  bool is_default = false;
+  // default methods are concrete methods in superinterfaces which are added to the vtable
+  // with their real method_holder
+  // Since vtable and itable indices share the same storage, don't touch
+  // the default method's real vtable/itable index
+  // default_vtable_indices stores the vtable value relative to this inheritor
+  if (default_index >= 0 ) {
+    is_default = true;
+    def_vtable_indices = klass->default_vtable_indices();
+    assert(def_vtable_indices != NULL, "def vtable alloc?");
+    assert(default_index <= def_vtable_indices->length(), "def vtable len?");
+  } else {
+    assert(klass == target_method()->method_holder(), "caller resp.");
+    // Initialize the method's vtable index to "nonvirtual".
+    // If we allocate a vtable entry, we will update it to a non-negative number.
+    target_method()->set_vtable_index(Method::nonvirtual_vtable_index);
+  }
 
   // Static and <init> methods are never in
   if (target_method()->is_static() || target_method()->name() ==  vmSymbols::object_initializer_name()) {
@@ -284,6 +332,8 @@
     // An interface never allocates new vtable slots, only inherits old ones.
     // This method will either be assigned its own itable index later,
     // or be assigned an inherited vtable index in the loop below.
+    // default methods store their vtable indices in the inheritors default_vtable_indices
+    assert (default_index == -1, "interfaces don't store resolved default methods");
     target_method()->set_vtable_index(Method::pending_itable_index);
   }
 
@@ -307,8 +357,15 @@
 
   Symbol* name = target_method()->name();
   Symbol* signature = target_method()->signature();
-  Handle target_loader(THREAD, _klass()->class_loader());
-  Symbol*  target_classname = _klass->name();
+
+  KlassHandle target_klass(THREAD, target_method()->method_holder());
+  if (target_klass == NULL) {
+    target_klass = _klass;
+  }
+
+  Handle target_loader(THREAD, target_klass->class_loader());
+
+  Symbol* target_classname = target_klass->name();
   for(int i = 0; i < super_vtable_len; i++) {
     Method* super_method = method_at(i);
     // Check if method name matches
@@ -317,10 +374,14 @@
       // get super_klass for method_holder for the found method
       InstanceKlass* super_klass =  super_method->method_holder();
 
-      if ((super_klass->is_override(super_method, target_loader, target_classname, THREAD)) ||
-      ((klass->major_version() >= VTABLE_TRANSITIVE_OVERRIDE_VERSION)
-        && ((super_klass = find_transitive_override(super_klass, target_method, i, target_loader,
-             target_classname, THREAD)) != (InstanceKlass*)NULL))) {
+      if (is_default
+          || ((super_klass->is_override(super_method, target_loader, target_classname, THREAD))
+          || ((klass->major_version() >= VTABLE_TRANSITIVE_OVERRIDE_VERSION)
+          && ((super_klass = find_transitive_override(super_klass,
+                             target_method, i, target_loader,
+                             target_classname, THREAD))
+                             != (InstanceKlass*)NULL))))
+        {
         // overriding, so no new entry
         allocate_new = false;
 
@@ -347,7 +408,7 @@
                 "%s used in the signature";
               char* sig = target_method()->name_and_sig_as_C_string();
               const char* loader1 = SystemDictionary::loader_name(target_loader());
-              char* current = _klass->name()->as_C_string();
+              char* current = target_klass->name()->as_C_string();
               const char* loader2 = SystemDictionary::loader_name(super_loader());
               char* failed_type_name = failed_type_symbol->as_C_string();
               size_t buflen = strlen(msg) + strlen(sig) + strlen(loader1) +
@@ -360,16 +421,39 @@
           }
        }
 
-        put_method_at(target_method(), i);
-        target_method()->set_vtable_index(i);
+       put_method_at(target_method(), i);
+       if (!is_default) {
+         target_method()->set_vtable_index(i);
+       } else {
+         if (def_vtable_indices != NULL) {
+           def_vtable_indices->at_put(default_index, i);
+         }
+         assert(super_method->is_default_method() || super_method->is_overpass()
+                || super_method->is_abstract(), "default override error");
+       }
+
+
 #ifndef PRODUCT
         if (PrintVtables && Verbose) {
+          ResourceMark rm(THREAD);
+          char* sig = target_method()->name_and_sig_as_C_string();
           tty->print("overriding with %s::%s index %d, original flags: ",
-           _klass->internal_name(), (target_method() != NULL) ?
-           target_method()->name()->as_C_string() : "<NULL>", i);
+           target_klass->internal_name(), sig, i);
            super_method->access_flags().print_on(tty);
+           if (super_method->is_default_method()) {
+             tty->print("default");
+           }
+           if (super_method->is_overpass()) {
+             tty->print("overpass");
+           }
            tty->print("overriders flags: ");
            target_method->access_flags().print_on(tty);
+           if (target_method->is_default_method()) {
+             tty->print("default");
+           }
+           if (target_method->is_overpass()) {
+             tty->print("overpass");
+           }
            tty->cr();
         }
 #endif /*PRODUCT*/
@@ -378,12 +462,25 @@
         // but not override another. Once we override one, not need new
 #ifndef PRODUCT
         if (PrintVtables && Verbose) {
+          ResourceMark rm(THREAD);
+          char* sig = target_method()->name_and_sig_as_C_string();
           tty->print("NOT overriding with %s::%s index %d, original flags: ",
-           _klass->internal_name(), (target_method() != NULL) ?
-           target_method()->name()->as_C_string() : "<NULL>", i);
+           target_klass->internal_name(), sig,i);
            super_method->access_flags().print_on(tty);
+           if (super_method->is_default_method()) {
+             tty->print("default");
+           }
+           if (super_method->is_overpass()) {
+             tty->print("overpass");
+           }
            tty->print("overriders flags: ");
            target_method->access_flags().print_on(tty);
+           if (target_method->is_default_method()) {
+             tty->print("default");
+           }
+           if (target_method->is_overpass()) {
+             tty->print("overpass");
+           }
            tty->cr();
         }
 #endif /*PRODUCT*/
@@ -438,6 +535,14 @@
     return false;
   }
 
+  // Concrete interface methods do not need new entries, they override
+  // abstract method entries using default inheritance rules
+  if (target_method()->method_holder() != NULL &&
+      target_method()->method_holder()->is_interface()  &&
+      !target_method()->is_abstract() ) {
+    return false;
+  }
+
   // we need a new entry if there is no superclass
   if (super == NULL) {
     return true;
@@ -446,7 +551,7 @@
   // private methods in classes always have a new entry in the vtable
   // specification interpretation since classic has
   // private methods not overriding
-  // JDK8 adds private methods in interfaces which require invokespecial
+  // JDK8 adds private  methods in interfaces which require invokespecial
   if (target_method()->is_private()) {
     return true;
   }
@@ -526,35 +631,40 @@
   if (mhk->is_interface()) {
     assert(m->is_public(), "should be public");
     assert(ik()->implements_interface(method_holder) , "this class should implement the interface");
-    assert(is_miranda(m, ik()->methods(), ik()->super()), "should be a miranda_method");
+    assert(is_miranda(m, ik()->methods(), ik()->default_methods(), ik()->super()), "should be a miranda_method");
     return true;
   }
   return false;
 }
 
-// check if a method is a miranda method, given a class's methods table and its super
-// "miranda" means not static, not defined by this class, and not defined
-// in super unless it is private and therefore inaccessible to this class.
+// check if a method is a miranda method, given a class's methods table,
+// its default_method table  and its super
+// "miranda" means not static, not defined by this class.
+// private methods in interfaces do not belong in the miranda list.
 // the caller must make sure that the method belongs to an interface implemented by the class
 // Miranda methods only include public interface instance methods
-// Not private methods, not static methods, not default = concrete abstract
-bool klassVtable::is_miranda(Method* m, Array<Method*>* class_methods, Klass* super) {
-  if (m->is_static()) {
+// Not private methods, not static methods, not default == concrete abstract
+bool klassVtable::is_miranda(Method* m, Array<Method*>* class_methods,
+                             Array<Method*>* default_methods, Klass* super) {
+  if (m->is_static() || m->is_private()) {
     return false;
   }
   Symbol* name = m->name();
   Symbol* signature = m->signature();
   if (InstanceKlass::find_method(class_methods, name, signature) == NULL) {
     // did not find it in the method table of the current class
-    if (super == NULL) {
-      // super doesn't exist
-      return true;
-    }
+    if ((default_methods == NULL) ||
+        InstanceKlass::find_method(default_methods, name, signature) == NULL) {
+      if (super == NULL) {
+        // super doesn't exist
+        return true;
+      }
 
-    Method* mo = InstanceKlass::cast(super)->lookup_method(name, signature);
-    if (mo == NULL || mo->access_flags().is_private() ) {
-      // super class hierarchy does not implement it or protection is different
-      return true;
+      Method* mo = InstanceKlass::cast(super)->lookup_method(name, signature);
+      if (mo == NULL || mo->access_flags().is_private() ) {
+        // super class hierarchy does not implement it or protection is different
+        return true;
+      }
     }
   }
 
@@ -562,7 +672,7 @@
 }
 
 // Scans current_interface_methods for miranda methods that do not
-// already appear in new_mirandas and are also not defined-and-non-private
+// already appear in new_mirandas, or default methods,  and are also not defined-and-non-private
 // in super (superclass).  These mirandas are added to all_mirandas if it is
 // not null; in addition, those that are not duplicates of miranda methods
 // inherited by super from its interfaces are added to new_mirandas.
@@ -572,7 +682,8 @@
 void klassVtable::add_new_mirandas_to_lists(
     GrowableArray<Method*>* new_mirandas, GrowableArray<Method*>* all_mirandas,
     Array<Method*>* current_interface_methods, Array<Method*>* class_methods,
-    Klass* super) {
+    Array<Method*>* default_methods, Klass* super) {
+
   // iterate thru the current interface's method to see if it a miranda
   int num_methods = current_interface_methods->length();
   for (int i = 0; i < num_methods; i++) {
@@ -590,7 +701,7 @@
     }
 
     if (!is_duplicate) { // we don't want duplicate miranda entries in the vtable
-      if (is_miranda(im, class_methods, super)) { // is it a miranda at all?
+      if (is_miranda(im, class_methods, default_methods, super)) { // is it a miranda at all?
         InstanceKlass *sk = InstanceKlass::cast(super);
         // check if it is a duplicate of a super's miranda
         if (sk->lookup_method_in_all_interfaces(im->name(), im->signature()) == NULL) {
@@ -607,6 +718,7 @@
 void klassVtable::get_mirandas(GrowableArray<Method*>* new_mirandas,
                                GrowableArray<Method*>* all_mirandas,
                                Klass* super, Array<Method*>* class_methods,
+                               Array<Method*>* default_methods,
                                Array<Klass*>* local_interfaces) {
   assert((new_mirandas->length() == 0) , "current mirandas must be 0");
 
@@ -615,14 +727,16 @@
   for (int i = 0; i < num_local_ifs; i++) {
     InstanceKlass *ik = InstanceKlass::cast(local_interfaces->at(i));
     add_new_mirandas_to_lists(new_mirandas, all_mirandas,
-                              ik->methods(), class_methods, super);
+                              ik->methods(), class_methods,
+                              default_methods, super);
     // iterate thru each local's super interfaces
     Array<Klass*>* super_ifs = ik->transitive_interfaces();
     int num_super_ifs = super_ifs->length();
     for (int j = 0; j < num_super_ifs; j++) {
       InstanceKlass *sik = InstanceKlass::cast(super_ifs->at(j));
       add_new_mirandas_to_lists(new_mirandas, all_mirandas,
-                                sik->methods(), class_methods, super);
+                                sik->methods(), class_methods,
+                                default_methods, super);
     }
   }
 }
@@ -633,8 +747,22 @@
 int klassVtable::fill_in_mirandas(int initialized) {
   GrowableArray<Method*> mirandas(20);
   get_mirandas(&mirandas, NULL, ik()->super(), ik()->methods(),
-               ik()->local_interfaces());
+               ik()->default_methods(), ik()->local_interfaces());
   for (int i = 0; i < mirandas.length(); i++) {
+    if (PrintVtables && Verbose) {
+      Method* meth = mirandas.at(i);
+      ResourceMark rm(Thread::current());
+      if (meth != NULL) {
+        char* sig = meth->name_and_sig_as_C_string();
+        tty->print("fill in mirandas with %s index %d, flags: ",
+          sig, initialized);
+        meth->access_flags().print_on(tty);
+        if (meth->is_default_method()) {
+          tty->print("default");
+        }
+        tty->cr();
+      }
+    }
     put_method_at(mirandas.at(i), initialized);
     ++initialized;
   }
@@ -648,6 +776,26 @@
 }
 
 #if INCLUDE_JVMTI
+bool klassVtable::adjust_default_method(int vtable_index, Method* old_method, Method* new_method) {
+  // If old_method is default, find this vtable index in default_vtable_indices
+  // and replace that method in the _default_methods list
+  bool updated = false;
+
+  Array<Method*>* default_methods = ik()->default_methods();
+  if (default_methods != NULL) {
+    int len = default_methods->length();
+    for (int idx = 0; idx < len; idx++) {
+      if (vtable_index == ik()->default_vtable_indices()->at(idx)) {
+        if (default_methods->at(idx) == old_method) {
+          default_methods->at_put(idx, new_method);
+          updated = true;
+        }
+        break;
+      }
+    }
+  }
+  return updated;
+}
 void klassVtable::adjust_method_entries(Method** old_methods, Method** new_methods,
                                         int methods_length, bool * trace_name_printed) {
   // search the vtable for uses of either obsolete or EMCP methods
@@ -663,18 +811,26 @@
     for (int index = 0; index < length(); index++) {
       if (unchecked_method_at(index) == old_method) {
         put_method_at(new_method, index);
+          // For default methods, need to update the _default_methods array
+          // which can only have one method entry for a given signature
+          bool updated_default = false;
+          if (old_method->is_default_method()) {
+            updated_default = adjust_default_method(index, old_method, new_method);
+          }
 
         if (RC_TRACE_IN_RANGE(0x00100000, 0x00400000)) {
           if (!(*trace_name_printed)) {
             // RC_TRACE_MESG macro has an embedded ResourceMark
-            RC_TRACE_MESG(("adjust: name=%s",
+            RC_TRACE_MESG(("adjust: klassname=%s for methods from name=%s",
+                           klass()->external_name(),
                            old_method->method_holder()->external_name()));
             *trace_name_printed = true;
           }
           // RC_TRACE macro has an embedded ResourceMark
-          RC_TRACE(0x00100000, ("vtable method update: %s(%s)",
+          RC_TRACE(0x00100000, ("vtable method update: %s(%s), updated default = %s",
                                 new_method->name()->as_C_string(),
-                                new_method->signature()->as_C_string()));
+                                new_method->signature()->as_C_string(),
+                                updated_default ? "true" : "false"));
         }
         // cannot 'break' here; see for-loop comment above.
       }
@@ -701,6 +857,12 @@
     if (m != NULL) {
       tty->print("      (%5d)  ", i);
       m->access_flags().print_on(tty);
+      if (m->is_default_method()) {
+        tty->print("default");
+      }
+      if (m->is_overpass()) {
+        tty->print("overpass");
+      }
       tty->print(" --  ");
       m->print_name(tty);
       tty->cr();
@@ -757,9 +919,9 @@
 // Initialization
 void klassItable::initialize_itable(bool checkconstraints, TRAPS) {
   if (_klass->is_interface()) {
-    // This needs to go after vtable indexes are assigned but
-    // before implementors need to know the number of itable indexes.
-    assign_itable_indexes_for_interface(_klass());
+    // This needs to go after vtable indices are assigned but
+    // before implementors need to know the number of itable indices.
+    assign_itable_indices_for_interface(_klass());
   }
 
   // Cannot be setup doing bootstrapping, interfaces don't have
@@ -803,7 +965,7 @@
   return true;
 }
 
-int klassItable::assign_itable_indexes_for_interface(Klass* klass) {
+int klassItable::assign_itable_indices_for_interface(Klass* klass) {
   // an interface does not have an itable, but its methods need to be numbered
   if (TraceItables) tty->print_cr("%3d: Initializing itable for interface %s", ++initialize_count,
                                   klass->name()->as_C_string());
@@ -846,7 +1008,7 @@
     }
     nof_methods -= 1;
   }
-  // no methods have itable indexes
+  // no methods have itable indices
   return 0;
 }
 
@@ -907,6 +1069,21 @@
       int ime_num = m->itable_index();
       assert(ime_num < ime_count, "oob");
       itableOffsetEntry::method_entry(_klass(), method_table_offset)[ime_num].initialize(target());
+      if (TraceItables && Verbose) {
+        ResourceMark rm(THREAD);
+        if (target() != NULL) {
+          char* sig = target()->name_and_sig_as_C_string();
+          tty->print("interface: %s, ime_num: %d, target: %s, method_holder: %s ",
+                    interf_h()->internal_name(), ime_num, sig,
+                    target()->method_holder()->internal_name());
+          tty->print("target_method flags: ");
+          target()->access_flags().print_on(tty);
+          if (target()->is_default_method()) {
+            tty->print("default");
+          }
+          tty->cr();
+        }
+      }
     }
   }
 }
@@ -980,6 +1157,9 @@
     if (m != NULL) {
       tty->print("      (%5d)  ", i);
       m->access_flags().print_on(tty);
+      if (m->is_default_method()) {
+        tty->print("default");
+      }
       tty->print(" --  ");
       m->print_name(tty);
       tty->cr();
@@ -1116,7 +1296,7 @@
   Array<Method*>* methods = InstanceKlass::cast(intf)->methods();
 
   if (itable_index < 0 || itable_index >= method_count_for_interface(intf))
-    return NULL;                // help caller defend against bad indexes
+    return NULL;                // help caller defend against bad indices
 
   int index = itable_index;
   Method* m = methods->at(index);
--- a/hotspot/src/share/vm/oops/klassVtable.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/oops/klassVtable.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -97,6 +97,7 @@
   // trace_name_printed is set to true if the current call has
   // printed the klass name so that other routines in the adjust_*
   // group don't print the klass name.
+  bool adjust_default_method(int vtable_index, Method* old_method, Method* new_method);
   void adjust_method_entries(Method** old_methods, Method** new_methods,
                              int methods_length, bool * trace_name_printed);
   bool check_no_old_or_obsolete_entries();
@@ -118,24 +119,28 @@
   void put_method_at(Method* m, int index);
   static bool needs_new_vtable_entry(methodHandle m, Klass* super, Handle classloader, Symbol* classname, AccessFlags access_flags, TRAPS);
 
-  bool update_inherited_vtable(InstanceKlass* klass, methodHandle target_method, int super_vtable_len, bool checkconstraints, TRAPS);
+  bool update_inherited_vtable(InstanceKlass* klass, methodHandle target_method, int super_vtable_len, int default_index, bool checkconstraints, TRAPS);
  InstanceKlass* find_transitive_override(InstanceKlass* initialsuper, methodHandle target_method, int vtable_index,
                                          Handle target_loader, Symbol* target_classname, Thread* THREAD);
 
   // support for miranda methods
   bool is_miranda_entry_at(int i);
   int fill_in_mirandas(int initialized);
-  static bool is_miranda(Method* m, Array<Method*>* class_methods, Klass* super);
+  static bool is_miranda(Method* m, Array<Method*>* class_methods,
+                         Array<Method*>* default_methods, Klass* super);
   static void add_new_mirandas_to_lists(
       GrowableArray<Method*>* new_mirandas,
       GrowableArray<Method*>* all_mirandas,
-      Array<Method*>* current_interface_methods, Array<Method*>* class_methods,
+      Array<Method*>* current_interface_methods,
+      Array<Method*>* class_methods,
+      Array<Method*>* default_methods,
       Klass* super);
   static void get_mirandas(
       GrowableArray<Method*>* new_mirandas,
       GrowableArray<Method*>* all_mirandas, Klass* super,
-      Array<Method*>* class_methods, Array<Klass*>* local_interfaces);
-
+      Array<Method*>* class_methods,
+      Array<Method*>* default_methods,
+      Array<Klass*>* local_interfaces);
   void verify_against(outputStream* st, klassVtable* vt, int index);
   inline InstanceKlass* ik() const;
 };
@@ -290,7 +295,7 @@
 #endif // INCLUDE_JVMTI
 
   // Setup of itable
-  static int assign_itable_indexes_for_interface(Klass* klass);
+  static int assign_itable_indices_for_interface(Klass* klass);
   static int method_count_for_interface(Klass* klass);
   static int compute_itable_size(Array<Klass*>* transitive_interfaces);
   static void setup_itable_offset_table(instanceKlassHandle klass);
--- a/hotspot/src/share/vm/oops/method.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/oops/method.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -511,9 +511,9 @@
 
 bool Method::is_final_method(AccessFlags class_access_flags) const {
   // or "does_not_require_vtable_entry"
-  // overpass can occur, is not final (reuses vtable entry)
+  // default method or overpass can occur, is not final (reuses vtable entry)
   // private methods get vtable entries for backward class compatibility.
-  if (is_overpass())  return false;
+  if (is_overpass() || is_default_method())  return false;
   return is_final() || class_access_flags.is_final();
 }
 
@@ -521,11 +521,24 @@
   return is_final_method(method_holder()->access_flags());
 }
 
+bool Method::is_default_method() const {
+  if (method_holder() != NULL &&
+      method_holder()->is_interface() &&
+      !is_abstract()) {
+    return true;
+  } else {
+    return false;
+  }
+}
+
 bool Method::can_be_statically_bound(AccessFlags class_access_flags) const {
   if (is_final_method(class_access_flags))  return true;
 #ifdef ASSERT
+  ResourceMark rm;
   bool is_nonv = (vtable_index() == nonvirtual_vtable_index);
-  if (class_access_flags.is_interface())  assert(is_nonv == is_static(), err_msg("is_nonv=%s", is_nonv));
+  if (class_access_flags.is_interface()) {
+      assert(is_nonv == is_static(), err_msg("is_nonv=%s", name_and_sig_as_C_string()));
+  }
 #endif
   assert(valid_vtable_index() || valid_itable_index(), "method must be linked before we ask this question");
   return vtable_index() == nonvirtual_vtable_index;
@@ -1371,7 +1384,8 @@
 }
 
 // This is only done during class loading, so it is OK to assume method_idnum matches the methods() array
-void Method::sort_methods(Array<Method*>* methods, bool idempotent) {
+// default_methods also uses this without the ordering for fast find_method
+void Method::sort_methods(Array<Method*>* methods, bool idempotent, bool set_idnums) {
   int length = methods->length();
   if (length > 1) {
     {
@@ -1379,14 +1393,15 @@
       QuickSort::sort<Method*>(methods->data(), length, method_comparator, idempotent);
     }
     // Reset method ordering
-    for (int i = 0; i < length; i++) {
-      Method* m = methods->at(i);
-      m->set_method_idnum(i);
+    if (set_idnums) {
+      for (int i = 0; i < length; i++) {
+        Method* m = methods->at(i);
+        m->set_method_idnum(i);
+      }
     }
   }
 }
 
-
 //-----------------------------------------------------------------------------------
 // Non-product code unless JVM/TI needs it
 
--- a/hotspot/src/share/vm/oops/method.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/oops/method.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -567,6 +567,7 @@
   // checks method and its method holder
   bool is_final_method() const;
   bool is_final_method(AccessFlags class_access_flags) const;
+  bool is_default_method() const;
 
   // true if method needs no dynamic dispatch (final and/or no vtable entry)
   bool can_be_statically_bound() const;
@@ -846,7 +847,7 @@
 #endif
 
   // Helper routine used for method sorting
-  static void sort_methods(Array<Method*>* methods, bool idempotent = false);
+  static void sort_methods(Array<Method*>* methods, bool idempotent = false, bool set_idnums = true);
 
   // Deallocation function for redefine classes or if an error occurs
   void deallocate_contents(ClassLoaderData* loader_data);
--- a/hotspot/src/share/vm/opto/graphKit.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/opto/graphKit.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -3713,7 +3713,8 @@
   Node* no_base = __ top();
   float likely  = PROB_LIKELY(0.999);
   float unlikely  = PROB_UNLIKELY(0.999);
-  Node* zero = __ ConI(0);
+  Node* young_card = __ ConI((jint)G1SATBCardTableModRefBS::g1_young_card_val());
+  Node* dirty_card = __ ConI((jint)CardTableModRefBS::dirty_card_val());
   Node* zeroX = __ ConX(0);
 
   // Get the alias_index for raw card-mark memory
@@ -3769,8 +3770,16 @@
         // load the original value of the card
         Node* card_val = __ load(__ ctrl(), card_adr, TypeInt::INT, T_BYTE, Compile::AliasIdxRaw);
 
-        __ if_then(card_val, BoolTest::ne, zero); {
-          g1_mark_card(ideal, card_adr, oop_store, alias_idx, index, index_adr, buffer, tf);
+        __ if_then(card_val, BoolTest::ne, young_card); {
+          sync_kit(ideal);
+          // Use Op_MemBarVolatile to achieve the effect of a StoreLoad barrier.
+          insert_mem_bar(Op_MemBarVolatile, oop_store);
+          __ sync_kit(this);
+
+          Node* card_val_reload = __ load(__ ctrl(), card_adr, TypeInt::INT, T_BYTE, Compile::AliasIdxRaw);
+          __ if_then(card_val_reload, BoolTest::ne, dirty_card); {
+            g1_mark_card(ideal, card_adr, oop_store, alias_idx, index, index_adr, buffer, tf);
+          } __ end_if();
         } __ end_if();
       } __ end_if();
     } __ end_if();
--- a/hotspot/src/share/vm/prims/jni.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/prims/jni.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -1591,10 +1591,8 @@
     }
   } else {
     m = klass->lookup_method(name, signature);
-    // Look up interfaces
-    if (m == NULL && klass->oop_is_instance()) {
-      m = InstanceKlass::cast(klass())->lookup_method_in_all_interfaces(name,
-                                                                   signature);
+    if (m == NULL &&  klass->oop_is_instance()) {
+      m = InstanceKlass::cast(klass())->lookup_method_in_ordered_interfaces(name, signature);
     }
   }
   if (m == NULL || (m->is_static() != is_static)) {
@@ -3210,7 +3208,11 @@
   HOTSPOT_JNI_GETSTRINGLENGTH_ENTRY(
                                     env, string);
 #endif /* USDT2 */
-  jsize ret = java_lang_String::length(JNIHandles::resolve_non_null(string));
+  jsize ret = 0;
+  oop s = JNIHandles::resolve_non_null(string);
+  if (java_lang_String::value(s) != NULL) {
+    ret = java_lang_String::length(s);
+  }
 #ifndef USDT2
   DTRACE_PROBE1(hotspot_jni, GetStringLength__return, ret);
 #else /* USDT2 */
@@ -3230,20 +3232,23 @@
  HOTSPOT_JNI_GETSTRINGCHARS_ENTRY(
                                   env, string, (uintptr_t *) isCopy);
 #endif /* USDT2 */
+  jchar* buf = NULL;
   oop s = JNIHandles::resolve_non_null(string);
-  int s_len = java_lang_String::length(s);
   typeArrayOop s_value = java_lang_String::value(s);
-  int s_offset = java_lang_String::offset(s);
-  jchar* buf = NEW_C_HEAP_ARRAY_RETURN_NULL(jchar, s_len + 1, mtInternal);  // add one for zero termination
-  /* JNI Specification states return NULL on OOM */
-  if (buf != NULL) {
-    if (s_len > 0) {
-      memcpy(buf, s_value->char_at_addr(s_offset), sizeof(jchar)*s_len);
-    }
-    buf[s_len] = 0;
-    //%note jni_5
-    if (isCopy != NULL) {
-      *isCopy = JNI_TRUE;
+  if (s_value != NULL) {
+    int s_len = java_lang_String::length(s);
+    int s_offset = java_lang_String::offset(s);
+    buf = NEW_C_HEAP_ARRAY_RETURN_NULL(jchar, s_len + 1, mtInternal);  // add one for zero termination
+    /* JNI Specification states return NULL on OOM */
+    if (buf != NULL) {
+      if (s_len > 0) {
+        memcpy(buf, s_value->char_at_addr(s_offset), sizeof(jchar)*s_len);
+      }
+      buf[s_len] = 0;
+      //%note jni_5
+      if (isCopy != NULL) {
+        *isCopy = JNI_TRUE;
+      }
     }
   }
 #ifndef USDT2
@@ -3313,7 +3318,11 @@
  HOTSPOT_JNI_GETSTRINGUTFLENGTH_ENTRY(
                                       env, string);
 #endif /* USDT2 */
-  jsize ret = java_lang_String::utf8_length(JNIHandles::resolve_non_null(string));
+  jsize ret = 0;
+  oop java_string = JNIHandles::resolve_non_null(string);
+  if (java_lang_String::value(java_string) != NULL) {
+    ret = java_lang_String::utf8_length(java_string);
+  }
 #ifndef USDT2
   DTRACE_PROBE1(hotspot_jni, GetStringUTFLength__return, ret);
 #else /* USDT2 */
@@ -3332,14 +3341,17 @@
  HOTSPOT_JNI_GETSTRINGUTFCHARS_ENTRY(
                                      env, string, (uintptr_t *) isCopy);
 #endif /* USDT2 */
+  char* result = NULL;
   oop java_string = JNIHandles::resolve_non_null(string);
-  size_t length = java_lang_String::utf8_length(java_string);
-  /* JNI Specification states return NULL on OOM */
-  char* result = AllocateHeap(length + 1, mtInternal, 0, AllocFailStrategy::RETURN_NULL);
-  if (result != NULL) {
-    java_lang_String::as_utf8_string(java_string, result, (int) length + 1);
-    if (isCopy != NULL) {
-      *isCopy = JNI_TRUE;
+  if (java_lang_String::value(java_string) != NULL) {
+    size_t length = java_lang_String::utf8_length(java_string);
+    /* JNI Specification states return NULL on OOM */
+    result = AllocateHeap(length + 1, mtInternal, 0, AllocFailStrategy::RETURN_NULL);
+    if (result != NULL) {
+      java_lang_String::as_utf8_string(java_string, result, (int) length + 1);
+      if (isCopy != NULL) {
+        *isCopy = JNI_TRUE;
+      }
     }
   }
 #ifndef USDT2
--- a/hotspot/src/share/vm/prims/jniCheck.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/prims/jniCheck.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -1324,18 +1324,19 @@
     IN_VM(
       checkString(thr, str);
     )
+    jchar* newResult = NULL;
     const jchar *result = UNCHECKED()->GetStringChars(env,str,isCopy);
     assert (isCopy == NULL || *isCopy == JNI_TRUE, "GetStringChars didn't return a copy as expected");
-
-    size_t len = UNCHECKED()->GetStringLength(env,str) + 1; // + 1 for NULL termination
-    jint* tagLocation = (jint*) AllocateHeap(len * sizeof(jchar) + sizeof(jint), mtInternal);
-    *tagLocation = STRING_TAG;
-    jchar* newResult = (jchar*) (tagLocation + 1);
-    memcpy(newResult, result, len * sizeof(jchar));
-    // Avoiding call to UNCHECKED()->ReleaseStringChars() since that will fire unexpected dtrace probes
-    // Note that the dtrace arguments for the allocated memory will not match up with this solution.
-    FreeHeap((char*)result);
-
+    if (result != NULL) {
+      size_t len = UNCHECKED()->GetStringLength(env,str) + 1; // + 1 for NULL termination
+      jint* tagLocation = (jint*) AllocateHeap(len * sizeof(jchar) + sizeof(jint), mtInternal);
+      *tagLocation = STRING_TAG;
+      newResult = (jchar*) (tagLocation + 1);
+      memcpy(newResult, result, len * sizeof(jchar));
+      // Avoiding call to UNCHECKED()->ReleaseStringChars() since that will fire unexpected dtrace probes
+      // Note that the dtrace arguments for the allocated memory will not match up with this solution.
+      FreeHeap((char*)result);
+    }
     functionExit(env);
     return newResult;
 JNI_END
@@ -1394,18 +1395,19 @@
     IN_VM(
       checkString(thr, str);
     )
+    char* newResult = NULL;
     const char *result = UNCHECKED()->GetStringUTFChars(env,str,isCopy);
     assert (isCopy == NULL || *isCopy == JNI_TRUE, "GetStringUTFChars didn't return a copy as expected");
-
-    size_t len = strlen(result) + 1; // + 1 for NULL termination
-    jint* tagLocation = (jint*) AllocateHeap(len + sizeof(jint), mtInternal);
-    *tagLocation = STRING_UTF_TAG;
-    char* newResult = (char*) (tagLocation + 1);
-    strcpy(newResult, result);
-    // Avoiding call to UNCHECKED()->ReleaseStringUTFChars() since that will fire unexpected dtrace probes
-    // Note that the dtrace arguments for the allocated memory will not match up with this solution.
-    FreeHeap((char*)result, mtInternal);
-
+    if (result != NULL) {
+      size_t len = strlen(result) + 1; // + 1 for NULL termination
+      jint* tagLocation = (jint*) AllocateHeap(len + sizeof(jint), mtInternal);
+      *tagLocation = STRING_UTF_TAG;
+      newResult = (char*) (tagLocation + 1);
+      strcpy(newResult, result);
+      // Avoiding call to UNCHECKED()->ReleaseStringUTFChars() since that will fire unexpected dtrace probes
+      // Note that the dtrace arguments for the allocated memory will not match up with this solution.
+      FreeHeap((char*)result, mtInternal);
+    }
     functionExit(env);
     return newResult;
 JNI_END
--- a/hotspot/src/share/vm/prims/jvm.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/prims/jvm.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -668,13 +668,12 @@
 JVM_ENTRY(jclass, JVM_GetCallerClass(JNIEnv* env, int depth))
   JVMWrapper("JVM_GetCallerClass");
 
-  // Pre-JDK 8 and early builds of JDK 8 don't have a CallerSensitive annotation.
-  if (SystemDictionary::reflect_CallerSensitive_klass() == NULL) {
+  // Pre-JDK 8 and early builds of JDK 8 don't have a CallerSensitive annotation; or
+  // sun.reflect.Reflection.getCallerClass with a depth parameter is provided
+  // temporarily for existing code to use until a replacement API is defined.
+  if (SystemDictionary::reflect_CallerSensitive_klass() == NULL || depth != JVM_CALLER_DEPTH) {
     Klass* k = thread->security_get_caller_class(depth);
     return (k == NULL) ? NULL : (jclass) JNIHandles::make_local(env, k->java_mirror());
-  } else {
-    // Basic handshaking with Java_sun_reflect_Reflection_getCallerClass
-    assert(depth == -1, "wrong handshake depth");
   }
 
   // Getting the class of the caller frame.
@@ -3954,248 +3953,6 @@
 }
 
 
-// Serialization
-JVM_ENTRY(void, JVM_SetPrimitiveFieldValues(JNIEnv *env, jclass cb, jobject obj,
-                                            jlongArray fieldIDs, jcharArray typecodes, jbyteArray data))
-  assert(!JDK_Version::is_gte_jdk14x_version(), "should only be used in 1.3.1 and earlier");
-
-  typeArrayOop tcodes = typeArrayOop(JNIHandles::resolve(typecodes));
-  typeArrayOop dbuf   = typeArrayOop(JNIHandles::resolve(data));
-  typeArrayOop fids   = typeArrayOop(JNIHandles::resolve(fieldIDs));
-  oop          o      = JNIHandles::resolve(obj);
-
-  if (o == NULL || fids == NULL  || dbuf == NULL  || tcodes == NULL) {
-    THROW(vmSymbols::java_lang_NullPointerException());
-  }
-
-  jsize nfids = fids->length();
-  if (nfids == 0) return;
-
-  if (tcodes->length() < nfids) {
-    THROW(vmSymbols::java_lang_ArrayIndexOutOfBoundsException());
-  }
-
-  jsize off = 0;
-  /* loop through fields, setting values */
-  for (jsize i = 0; i < nfids; i++) {
-    jfieldID fid = (jfieldID)(intptr_t) fids->long_at(i);
-    int field_offset;
-    if (fid != NULL) {
-      // NULL is a legal value for fid, but retrieving the field offset
-      // trigger assertion in that case
-      field_offset = jfieldIDWorkaround::from_instance_jfieldID(o->klass(), fid);
-    }
-
-    switch (tcodes->char_at(i)) {
-      case 'Z':
-        if (fid != NULL) {
-          jboolean val = (dbuf->byte_at(off) != 0) ? JNI_TRUE : JNI_FALSE;
-          o->bool_field_put(field_offset, val);
-        }
-        off++;
-        break;
-
-      case 'B':
-        if (fid != NULL) {
-          o->byte_field_put(field_offset, dbuf->byte_at(off));
-        }
-        off++;
-        break;
-
-      case 'C':
-        if (fid != NULL) {
-          jchar val = ((dbuf->byte_at(off + 0) & 0xFF) << 8)
-                    + ((dbuf->byte_at(off + 1) & 0xFF) << 0);
-          o->char_field_put(field_offset, val);
-        }
-        off += 2;
-        break;
-
-      case 'S':
-        if (fid != NULL) {
-          jshort val = ((dbuf->byte_at(off + 0) & 0xFF) << 8)
-                     + ((dbuf->byte_at(off + 1) & 0xFF) << 0);
-          o->short_field_put(field_offset, val);
-        }
-        off += 2;
-        break;
-
-      case 'I':
-        if (fid != NULL) {
-          jint ival = ((dbuf->byte_at(off + 0) & 0xFF) << 24)
-                    + ((dbuf->byte_at(off + 1) & 0xFF) << 16)
-                    + ((dbuf->byte_at(off + 2) & 0xFF) << 8)
-                    + ((dbuf->byte_at(off + 3) & 0xFF) << 0);
-          o->int_field_put(field_offset, ival);
-        }
-        off += 4;
-        break;
-
-      case 'F':
-        if (fid != NULL) {
-          jint ival = ((dbuf->byte_at(off + 0) & 0xFF) << 24)
-                    + ((dbuf->byte_at(off + 1) & 0xFF) << 16)
-                    + ((dbuf->byte_at(off + 2) & 0xFF) << 8)
-                    + ((dbuf->byte_at(off + 3) & 0xFF) << 0);
-          jfloat fval = (*int_bits_to_float_fn)(env, NULL, ival);
-          o->float_field_put(field_offset, fval);
-        }
-        off += 4;
-        break;
-
-      case 'J':
-        if (fid != NULL) {
-          jlong lval = (((jlong) dbuf->byte_at(off + 0) & 0xFF) << 56)
-                     + (((jlong) dbuf->byte_at(off + 1) & 0xFF) << 48)
-                     + (((jlong) dbuf->byte_at(off + 2) & 0xFF) << 40)
-                     + (((jlong) dbuf->byte_at(off + 3) & 0xFF) << 32)
-                     + (((jlong) dbuf->byte_at(off + 4) & 0xFF) << 24)
-                     + (((jlong) dbuf->byte_at(off + 5) & 0xFF) << 16)
-                     + (((jlong) dbuf->byte_at(off + 6) & 0xFF) << 8)
-                     + (((jlong) dbuf->byte_at(off + 7) & 0xFF) << 0);
-          o->long_field_put(field_offset, lval);
-        }
-        off += 8;
-        break;
-
-      case 'D':
-        if (fid != NULL) {
-          jlong lval = (((jlong) dbuf->byte_at(off + 0) & 0xFF) << 56)
-                     + (((jlong) dbuf->byte_at(off + 1) & 0xFF) << 48)
-                     + (((jlong) dbuf->byte_at(off + 2) & 0xFF) << 40)
-                     + (((jlong) dbuf->byte_at(off + 3) & 0xFF) << 32)
-                     + (((jlong) dbuf->byte_at(off + 4) & 0xFF) << 24)
-                     + (((jlong) dbuf->byte_at(off + 5) & 0xFF) << 16)
-                     + (((jlong) dbuf->byte_at(off + 6) & 0xFF) << 8)
-                     + (((jlong) dbuf->byte_at(off + 7) & 0xFF) << 0);
-          jdouble dval = (*long_bits_to_double_fn)(env, NULL, lval);
-          o->double_field_put(field_offset, dval);
-        }
-        off += 8;
-        break;
-
-      default:
-        // Illegal typecode
-        THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "illegal typecode");
-    }
-  }
-JVM_END
-
-
-JVM_ENTRY(void, JVM_GetPrimitiveFieldValues(JNIEnv *env, jclass cb, jobject obj,
-                            jlongArray fieldIDs, jcharArray typecodes, jbyteArray data))
-  assert(!JDK_Version::is_gte_jdk14x_version(), "should only be used in 1.3.1 and earlier");
-
-  typeArrayOop tcodes = typeArrayOop(JNIHandles::resolve(typecodes));
-  typeArrayOop dbuf   = typeArrayOop(JNIHandles::resolve(data));
-  typeArrayOop fids   = typeArrayOop(JNIHandles::resolve(fieldIDs));
-  oop          o      = JNIHandles::resolve(obj);
-
-  if (o == NULL || fids == NULL  || dbuf == NULL  || tcodes == NULL) {
-    THROW(vmSymbols::java_lang_NullPointerException());
-  }
-
-  jsize nfids = fids->length();
-  if (nfids == 0) return;
-
-  if (tcodes->length() < nfids) {
-    THROW(vmSymbols::java_lang_ArrayIndexOutOfBoundsException());
-  }
-
-  /* loop through fields, fetching values */
-  jsize off = 0;
-  for (jsize i = 0; i < nfids; i++) {
-    jfieldID fid = (jfieldID)(intptr_t) fids->long_at(i);
-    if (fid == NULL) {
-      THROW(vmSymbols::java_lang_NullPointerException());
-    }
-    int field_offset = jfieldIDWorkaround::from_instance_jfieldID(o->klass(), fid);
-
-     switch (tcodes->char_at(i)) {
-       case 'Z':
-         {
-           jboolean val = o->bool_field(field_offset);
-           dbuf->byte_at_put(off++, (val != 0) ? 1 : 0);
-         }
-         break;
-
-       case 'B':
-         dbuf->byte_at_put(off++, o->byte_field(field_offset));
-         break;
-
-       case 'C':
-         {
-           jchar val = o->char_field(field_offset);
-           dbuf->byte_at_put(off++, (val >> 8) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 0) & 0xFF);
-         }
-         break;
-
-       case 'S':
-         {
-           jshort val = o->short_field(field_offset);
-           dbuf->byte_at_put(off++, (val >> 8) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 0) & 0xFF);
-         }
-         break;
-
-       case 'I':
-         {
-           jint val = o->int_field(field_offset);
-           dbuf->byte_at_put(off++, (val >> 24) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 16) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 8)  & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 0)  & 0xFF);
-         }
-         break;
-
-       case 'F':
-         {
-           jfloat fval = o->float_field(field_offset);
-           jint ival = (*float_to_int_bits_fn)(env, NULL, fval);
-           dbuf->byte_at_put(off++, (ival >> 24) & 0xFF);
-           dbuf->byte_at_put(off++, (ival >> 16) & 0xFF);
-           dbuf->byte_at_put(off++, (ival >> 8)  & 0xFF);
-           dbuf->byte_at_put(off++, (ival >> 0)  & 0xFF);
-         }
-         break;
-
-       case 'J':
-         {
-           jlong val = o->long_field(field_offset);
-           dbuf->byte_at_put(off++, (val >> 56) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 48) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 40) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 32) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 24) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 16) & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 8)  & 0xFF);
-           dbuf->byte_at_put(off++, (val >> 0)  & 0xFF);
-         }
-         break;
-
-       case 'D':
-         {
-           jdouble dval = o->double_field(field_offset);
-           jlong lval = (*double_to_long_bits_fn)(env, NULL, dval);
-           dbuf->byte_at_put(off++, (lval >> 56) & 0xFF);
-           dbuf->byte_at_put(off++, (lval >> 48) & 0xFF);
-           dbuf->byte_at_put(off++, (lval >> 40) & 0xFF);
-           dbuf->byte_at_put(off++, (lval >> 32) & 0xFF);
-           dbuf->byte_at_put(off++, (lval >> 24) & 0xFF);
-           dbuf->byte_at_put(off++, (lval >> 16) & 0xFF);
-           dbuf->byte_at_put(off++, (lval >> 8)  & 0xFF);
-           dbuf->byte_at_put(off++, (lval >> 0)  & 0xFF);
-         }
-         break;
-
-       default:
-         // Illegal typecode
-         THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "illegal typecode");
-     }
-  }
-JVM_END
-
 
 // Shared JNI/JVM entry points //////////////////////////////////////////////////////////////
 
--- a/hotspot/src/share/vm/prims/jvm.h	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/prims/jvm.h	Wed Jul 05 19:15:55 2017 +0200
@@ -374,6 +374,9 @@
 /*
  * java.lang.Class and java.lang.ClassLoader
  */
+
+#define JVM_CALLER_DEPTH -1
+
 /*
  * Returns the class in which the code invoking the native method
  * belongs.
--- a/hotspot/src/share/vm/prims/jvm_misc.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/prims/jvm_misc.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -36,22 +36,6 @@
 void trace_class_resolution(Klass* to_class);
 
 /*
- * Support for Serialization and RMI. Currently used by HotSpot only.
- */
-
-extern "C" {
-
-void JNICALL
-JVM_SetPrimitiveFieldValues(JNIEnv *env, jclass cb, jobject obj,
-                            jlongArray fieldIDs, jcharArray typecodes, jbyteArray data);
-
-void JNICALL
-JVM_GetPrimitiveFieldValues(JNIEnv *env, jclass cb, jobject obj,
-                            jlongArray fieldIDs, jcharArray typecodes, jbyteArray data);
-
-}
-
-/*
  * Support for -Xcheck:jni
  */
 
--- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -2755,13 +2755,26 @@
     // InstanceKlass around to hold obsolete methods so we don't have
     // any other InstanceKlass embedded vtables to update. The vtable
     // holds the Method*s for virtual (but not final) methods.
-    if (ik->vtable_length() > 0 && ik->is_subtype_of(_the_class_oop)) {
+    // Default methods, or concrete methods in interfaces are stored
+    // in the vtable, so if an interface changes we need to check
+    // adjust_method_entries() for every InstanceKlass, which will also
+    // adjust the default method vtable indices.
+    // We also need to adjust any default method entries that are
+    // not yet in the vtable, because the vtable setup is in progress.
+    // This must be done after we adjust the default_methods and
+    // default_vtable_indices for methods already in the vtable.
+    if (ik->vtable_length() > 0 && (_the_class_oop->is_interface()
+        || ik->is_subtype_of(_the_class_oop))) {
       // ik->vtable() creates a wrapper object; rm cleans it up
       ResourceMark rm(_thread);
       ik->vtable()->adjust_method_entries(_matching_old_methods,
                                           _matching_new_methods,
                                           _matching_methods_length,
                                           &trace_name_printed);
+      ik->adjust_default_methods(_matching_old_methods,
+                                 _matching_new_methods,
+                                 _matching_methods_length,
+                                 &trace_name_printed);
     }
 
     // If the current class has an itable and we are either redefining an
@@ -2931,7 +2944,8 @@
       old_method->set_is_obsolete();
       obsolete_count++;
 
-      // obsolete methods need a unique idnum
+      // obsolete methods need a unique idnum so they become new entries in
+      // the jmethodID cache in InstanceKlass
       u2 num = InstanceKlass::cast(_the_class_oop)->next_method_idnum();
       if (num != ConstMethod::UNSET_IDNUM) {
         old_method->set_method_idnum(num);
--- a/hotspot/src/share/vm/prims/methodHandles.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/prims/methodHandles.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -187,12 +187,34 @@
     receiver_limit = m->method_holder();
     assert(receiver_limit->verify_itable_index(vmindex), "");
     flags |= IS_METHOD | (JVM_REF_invokeInterface << REFERENCE_KIND_SHIFT);
+    if (TraceInvokeDynamic) {
+      ResourceMark rm;
+      tty->print_cr("memberName: invokeinterface method_holder::method: %s, receiver: %s, itableindex: %d, access_flags:",
+            Method::name_and_sig_as_C_string(receiver_limit(), m->name(), m->signature()),
+            receiver_limit()->internal_name(), vmindex);
+       m->access_flags().print_on(tty);
+       if (!m->is_abstract()) {
+         tty->print("default");
+       }
+       tty->cr();
+    }
     break;
 
   case CallInfo::vtable_call:
     vmindex = info.vtable_index();
     flags |= IS_METHOD | (JVM_REF_invokeVirtual << REFERENCE_KIND_SHIFT);
     assert(receiver_limit->is_subtype_of(m->method_holder()), "virtual call must be type-safe");
+    if (TraceInvokeDynamic) {
+      ResourceMark rm;
+      tty->print_cr("memberName: invokevirtual method_holder::method: %s, receiver: %s, vtableindex: %d, access_flags:",
+            Method::name_and_sig_as_C_string(receiver_limit(), m->name(), m->signature()),
+            receiver_limit()->internal_name(), vmindex);
+       m->access_flags().print_on(tty);
+       if (m->is_default_method()) {
+         tty->print("default");
+       }
+       tty->cr();
+    }
     break;
 
   case CallInfo::direct_call:
--- a/hotspot/src/share/vm/prims/nativeLookup.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/prims/nativeLookup.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -129,10 +129,6 @@
 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f)
 
 static JNINativeMethod lookup_special_native_methods[] = {
-  // Next two functions only exist for compatibility with 1.3.1 and earlier.
-  { CC"Java_java_io_ObjectOutputStream_getPrimitiveFieldValues",   NULL, FN_PTR(JVM_GetPrimitiveFieldValues)     },  // intercept ObjectOutputStream getPrimitiveFieldValues for faster serialization
-  { CC"Java_java_io_ObjectInputStream_setPrimitiveFieldValues",    NULL, FN_PTR(JVM_SetPrimitiveFieldValues)     },  // intercept ObjectInputStream setPrimitiveFieldValues for faster serialization
-
   { CC"Java_sun_misc_Unsafe_registerNatives",                      NULL, FN_PTR(JVM_RegisterUnsafeMethods)       },
   { CC"Java_java_lang_invoke_MethodHandleNatives_registerNatives", NULL, FN_PTR(JVM_RegisterMethodHandleMethods) },
   { CC"Java_sun_misc_Perf_registerNatives",                        NULL, FN_PTR(JVM_RegisterPerfMethods)         },
@@ -140,9 +136,8 @@
 };
 
 static address lookup_special_native(char* jni_name) {
-  int i = !JDK_Version::is_gte_jdk14x_version() ? 0 : 2;  // see comment in lookup_special_native_methods
   int count = sizeof(lookup_special_native_methods) / sizeof(JNINativeMethod);
-  for (; i < count; i++) {
+  for (int i = 0; i < count; i++) {
     // NB: To ignore the jni prefix and jni postfix strstr is used matching.
     if (strstr(jni_name, lookup_special_native_methods[i].name) != NULL) {
       return CAST_FROM_FN_PTR(address, lookup_special_native_methods[i].fnPtr);
--- a/hotspot/src/share/vm/prims/wbtestmethods/parserTests.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/prims/wbtestmethods/parserTests.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, 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
@@ -117,11 +117,12 @@
 
   const char* c_cmdline = java_lang_String::as_utf8_string(JNIHandles::resolve(j_cmdline));
   objArrayOop argumentArray = objArrayOop(JNIHandles::resolve_non_null(arguments));
+  objArrayHandle argumentArray_ah(THREAD, argumentArray);
 
-  int length = argumentArray->length();
+  int length = argumentArray_ah->length();
 
   for (int i = 0; i < length; i++) {
-    oop argument_oop = argumentArray->obj_at(i);
+    oop argument_oop = argumentArray_ah->obj_at(i);
     fill_in_parser(&parser, argument_oop);
   }
 
@@ -130,19 +131,20 @@
 
   Klass* k = SystemDictionary::Object_klass();
   objArrayOop returnvalue_array = oopFactory::new_objArray(k, parser.num_arguments() * 2, CHECK_NULL);
+  objArrayHandle returnvalue_array_ah(THREAD, returnvalue_array);
 
   GrowableArray<const char *>*parsedArgNames = parser.argument_name_array();
 
   for (int i = 0; i < parser.num_arguments(); i++) {
     oop parsedName = java_lang_String::create_oop_from_str(parsedArgNames->at(i), CHECK_NULL);
-    returnvalue_array->obj_at_put(i*2, parsedName);
+    returnvalue_array_ah->obj_at_put(i*2, parsedName);
     GenDCmdArgument* arg = parser.lookup_dcmd_option(parsedArgNames->at(i), strlen(parsedArgNames->at(i)));
     char buf[VALUE_MAXLEN];
     arg->value_as_str(buf, sizeof(buf));
     oop parsedValue = java_lang_String::create_oop_from_str(buf, CHECK_NULL);
-    returnvalue_array->obj_at_put(i*2+1, parsedValue);
+    returnvalue_array_ah->obj_at_put(i*2+1, parsedValue);
   }
 
-  return (jobjectArray) JNIHandles::make_local(returnvalue_array);
+  return (jobjectArray) JNIHandles::make_local(returnvalue_array_ah());
 
 WB_END
--- a/hotspot/src/share/vm/runtime/arguments.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/runtime/arguments.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -2045,6 +2045,9 @@
   status = status && verify_interval(StringTableSize, minimumStringTableSize,
     (max_uintx / StringTable::bucket_size()), "StringTable size");
 
+  status = status && verify_interval(SymbolTableSize, minimumSymbolTableSize,
+    (max_uintx / SymbolTable::bucket_size()), "SymbolTable size");
+
   if (MinHeapFreeRatio > MaxHeapFreeRatio) {
     jio_fprintf(defaultStream::error_stream(),
                 "MinHeapFreeRatio (" UINTX_FORMAT ") must be less than or "
@@ -2654,16 +2657,16 @@
       FLAG_SET_CMDLINE(bool, BackgroundCompilation, false);
     // -Xmn for compatibility with other JVM vendors
     } else if (match_option(option, "-Xmn", &tail)) {
-      julong long_initial_eden_size = 0;
-      ArgsRange errcode = parse_memory_size(tail, &long_initial_eden_size, 1);
+      julong long_initial_young_size = 0;
+      ArgsRange errcode = parse_memory_size(tail, &long_initial_young_size, 1);
       if (errcode != arg_in_range) {
         jio_fprintf(defaultStream::error_stream(),
-                    "Invalid initial eden size: %s\n", option->optionString);
+                    "Invalid initial young generation size: %s\n", option->optionString);
         describe_range_error(errcode);
         return JNI_EINVAL;
       }
-      FLAG_SET_CMDLINE(uintx, MaxNewSize, (uintx)long_initial_eden_size);
-      FLAG_SET_CMDLINE(uintx, NewSize, (uintx)long_initial_eden_size);
+      FLAG_SET_CMDLINE(uintx, MaxNewSize, (uintx)long_initial_young_size);
+      FLAG_SET_CMDLINE(uintx, NewSize, (uintx)long_initial_young_size);
     // -Xms
     } else if (match_option(option, "-Xms", &tail)) {
       julong long_initial_heap_size = 0;
@@ -3663,6 +3666,9 @@
   assert(verify_serial_gc_flags(), "SerialGC unset");
 #endif // INCLUDE_ALL_GCS
 
+  // Initialize Metaspace flags and alignments.
+  Metaspace::ergo_initialize();
+
   // Set bytecode rewriting flags
   set_bytecode_flags();
 
--- a/hotspot/src/share/vm/runtime/globals.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/runtime/globals.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -481,21 +481,21 @@
 #define RUNTIME_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct, manageable, product_rw, lp64_product) \
                                                                             \
   lp64_product(bool, UseCompressedOops, false,                              \
-            "Use 32-bit object references in 64-bit VM  "                   \
-            "lp64_product means flag is always constant in 32 bit VM")      \
+          "Use 32-bit object references in 64-bit VM. "                     \
+          "lp64_product means flag is always constant in 32 bit VM")        \
                                                                             \
   lp64_product(bool, UseCompressedClassPointers, false,                     \
-            "Use 32-bit class pointers in 64-bit VM  "                      \
-            "lp64_product means flag is always constant in 32 bit VM")      \
+          "Use 32-bit class pointers in 64-bit VM. "                        \
+          "lp64_product means flag is always constant in 32 bit VM")        \
                                                                             \
   notproduct(bool, CheckCompressedOops, true,                               \
-            "generate checks in encoding/decoding code in debug VM")        \
+          "Generate checks in encoding/decoding code in debug VM")          \
                                                                             \
   product_pd(uintx, HeapBaseMinAddress,                                     \
-            "OS specific low limit for heap base address")                  \
+          "OS specific low limit for heap base address")                    \
                                                                             \
   diagnostic(bool, PrintCompressedOopsMode, false,                          \
-            "Print compressed oops base address and encoding mode")         \
+          "Print compressed oops base address and encoding mode")           \
                                                                             \
   lp64_product(intx, ObjectAlignmentInBytes, 8,                             \
           "Default object alignment in bytes, 8 is minimum")                \
@@ -517,7 +517,7 @@
           "Use lwsync instruction if true, else use slower sync")           \
                                                                             \
   develop(bool, CleanChunkPoolAsync, falseInEmbedded,                       \
-          "Whether to clean the chunk pool asynchronously")                 \
+          "Clean the chunk pool asynchronously")                            \
                                                                             \
   /* Temporary: See 6948537 */                                              \
   experimental(bool, UseMemSetInBOT, true,                                  \
@@ -527,10 +527,12 @@
           "Enable normal processing of flags relating to field diagnostics")\
                                                                             \
   experimental(bool, UnlockExperimentalVMOptions, false,                    \
-          "Enable normal processing of flags relating to experimental features")\
+          "Enable normal processing of flags relating to experimental "     \
+          "features")                                                       \
                                                                             \
   product(bool, JavaMonitorsInStackTrace, true,                             \
-          "Print info. about Java monitor locks when the stacks are dumped")\
+          "Print information about Java monitor locks when the stacks are"  \
+          "dumped")                                                         \
                                                                             \
   product_pd(bool, UseLargePages,                                           \
           "Use large page memory")                                          \
@@ -541,8 +543,12 @@
   develop(bool, LargePagesIndividualAllocationInjectError, false,           \
           "Fail large pages individual allocation")                         \
                                                                             \
+  product(bool, UseLargePagesInMetaspace, false,                            \
+          "Use large page memory in metaspace. "                            \
+          "Only used if UseLargePages is enabled.")                         \
+                                                                            \
   develop(bool, TracePageSizes, false,                                      \
-          "Trace page size selection and usage.")                           \
+          "Trace page size selection and usage")                            \
                                                                             \
   product(bool, UseNUMA, false,                                             \
           "Use NUMA if available")                                          \
@@ -557,12 +563,12 @@
           "Force NUMA optimizations on single-node/UMA systems")            \
                                                                             \
   product(uintx, NUMAChunkResizeWeight, 20,                                 \
-          "Percentage (0-100) used to weigh the current sample when "      \
+          "Percentage (0-100) used to weigh the current sample when "       \
           "computing exponentially decaying average for "                   \
           "AdaptiveNUMAChunkSizing")                                        \
                                                                             \
   product(uintx, NUMASpaceResizeRate, 1*G,                                  \
-          "Do not reallocate more that this amount per collection")         \
+          "Do not reallocate more than this amount per collection")         \
                                                                             \
   product(bool, UseAdaptiveNUMAChunkSizing, true,                           \
           "Enable adaptive chunk sizing for NUMA")                          \
@@ -579,17 +585,17 @@
   product(intx, UseSSE, 99,                                                 \
           "Highest supported SSE instructions set on x86/x64")              \
                                                                             \
-  product(bool, UseAES, false,                                               \
+  product(bool, UseAES, false,                                              \
           "Control whether AES instructions can be used on x86/x64")        \
                                                                             \
   product(uintx, LargePageSizeInBytes, 0,                                   \
-          "Large page size (0 to let VM choose the page size")              \
+          "Large page size (0 to let VM choose the page size)")             \
                                                                             \
   product(uintx, LargePageHeapSizeThreshold, 128*M,                         \
-          "Use large pages if max heap is at least this big")               \
+          "Use large pages if maximum heap is at least this big")           \
                                                                             \
   product(bool, ForceTimeHighResolution, false,                             \
-          "Using high time resolution(For Win32 only)")                     \
+          "Using high time resolution (for Win32 only)")                    \
                                                                             \
   develop(bool, TraceItables, false,                                        \
           "Trace initialization and use of itables")                        \
@@ -605,10 +611,10 @@
                                                                             \
   develop(bool, TraceLongCompiles, false,                                   \
           "Print out every time compilation is longer than "                \
-          "a given threashold")                                             \
+          "a given threshold")                                              \
                                                                             \
   develop(bool, SafepointALot, false,                                       \
-          "Generates a lot of safepoints. Works with "                      \
+          "Generate a lot of safepoints. This works with "                  \
           "GuaranteedSafepointInterval")                                    \
                                                                             \
   product_pd(bool, BackgroundCompilation,                                   \
@@ -616,13 +622,13 @@
           "compilation")                                                    \
                                                                             \
   product(bool, PrintVMQWaitTime, false,                                    \
-          "Prints out the waiting time in VM operation queue")              \
+          "Print out the waiting time in VM operation queue")               \
                                                                             \
   develop(bool, NoYieldsInMicrolock, false,                                 \
           "Disable yields in microlock")                                    \
                                                                             \
   develop(bool, TraceOopMapGeneration, false,                               \
-          "Shows oopmap generation")                                        \
+          "Show OopMapGeneration")                                          \
                                                                             \
   product(bool, MethodFlushing, true,                                       \
           "Reclamation of zombie and not-entrant methods")                  \
@@ -631,10 +637,11 @@
           "Verify stack of each thread when it is entering a runtime call") \
                                                                             \
   diagnostic(bool, ForceUnreachable, false,                                 \
-          "Make all non code cache addresses to be unreachable with forcing use of 64bit literal fixups") \
+          "Make all non code cache addresses to be unreachable by "         \
+          "forcing use of 64bit literal fixups")                            \
                                                                             \
   notproduct(bool, StressDerivedPointers, false,                            \
-          "Force scavenge when a derived pointers is detected on stack "    \
+          "Force scavenge when a derived pointer is detected on stack "     \
           "after rtm call")                                                 \
                                                                             \
   develop(bool, TraceDerivedPointers, false,                                \
@@ -653,86 +660,86 @@
           "Use Inline Caches for virtual calls ")                           \
                                                                             \
   develop(bool, InlineArrayCopy, true,                                      \
-          "inline arraycopy native that is known to be part of "            \
+          "Inline arraycopy native that is known to be part of "            \
           "base library DLL")                                               \
                                                                             \
   develop(bool, InlineObjectHash, true,                                     \
-          "inline Object::hashCode() native that is known to be part "      \
+          "Inline Object::hashCode() native that is known to be part "      \
           "of base library DLL")                                            \
                                                                             \
   develop(bool, InlineNatives, true,                                        \
-          "inline natives that are known to be part of base library DLL")   \
+          "Inline natives that are known to be part of base library DLL")   \
                                                                             \
   develop(bool, InlineMathNatives, true,                                    \
-          "inline SinD, CosD, etc.")                                        \
+          "Inline SinD, CosD, etc.")                                        \
                                                                             \
   develop(bool, InlineClassNatives, true,                                   \
-          "inline Class.isInstance, etc")                                   \
+          "Inline Class.isInstance, etc")                                   \
                                                                             \
   develop(bool, InlineThreadNatives, true,                                  \
-          "inline Thread.currentThread, etc")                               \
+          "Inline Thread.currentThread, etc")                               \
                                                                             \
   develop(bool, InlineUnsafeOps, true,                                      \
-          "inline memory ops (native methods) from sun.misc.Unsafe")        \
+          "Inline memory ops (native methods) from sun.misc.Unsafe")        \
                                                                             \
   product(bool, CriticalJNINatives, true,                                   \
-          "check for critical JNI entry points")                            \
+          "Check for critical JNI entry points")                            \
                                                                             \
   notproduct(bool, StressCriticalJNINatives, false,                         \
-            "Exercise register saving code in critical natives")            \
+          "Exercise register saving code in critical natives")              \
                                                                             \
   product(bool, UseSSE42Intrinsics, false,                                  \
           "SSE4.2 versions of intrinsics")                                  \
                                                                             \
   product(bool, UseAESIntrinsics, false,                                    \
-          "use intrinsics for AES versions of crypto")                      \
+          "Use intrinsics for AES versions of crypto")                      \
                                                                             \
   product(bool, UseCRC32Intrinsics, false,                                  \
           "use intrinsics for java.util.zip.CRC32")                         \
                                                                             \
   develop(bool, TraceCallFixup, false,                                      \
-          "traces all call fixups")                                         \
+          "Trace all call fixups")                                          \
                                                                             \
   develop(bool, DeoptimizeALot, false,                                      \
-          "deoptimize at every exit from the runtime system")               \
+          "Deoptimize at every exit from the runtime system")               \
                                                                             \
   notproduct(ccstrlist, DeoptimizeOnlyAt, "",                               \
-          "a comma separated list of bcis to deoptimize at")                \
+          "A comma separated list of bcis to deoptimize at")                \
                                                                             \
   product(bool, DeoptimizeRandom, false,                                    \
-          "deoptimize random frames on random exit from the runtime system")\
+          "Deoptimize random frames on random exit from the runtime system")\
                                                                             \
   notproduct(bool, ZombieALot, false,                                       \
-          "creates zombies (non-entrant) at exit from the runt. system")    \
+          "Create zombies (non-entrant) at exit from the runtime system")   \
                                                                             \
   product(bool, UnlinkSymbolsALot, false,                                   \
-          "unlink unreferenced symbols from the symbol table at safepoints")\
+          "Unlink unreferenced symbols from the symbol table at safepoints")\
                                                                             \
   notproduct(bool, WalkStackALot, false,                                    \
-          "trace stack (no print) at every exit from the runtime system")   \
+          "Trace stack (no print) at every exit from the runtime system")   \
                                                                             \
   product(bool, Debugging, false,                                           \
-          "set when executing debug methods in debug.ccp "                  \
+          "Set when executing debug methods in debug.cpp "                  \
           "(to prevent triggering assertions)")                             \
                                                                             \
   notproduct(bool, StrictSafepointChecks, trueInDebug,                      \
           "Enable strict checks that safepoints cannot happen for threads " \
-          "that used No_Safepoint_Verifier")                                \
+          "that use No_Safepoint_Verifier")                                 \
                                                                             \
   notproduct(bool, VerifyLastFrame, false,                                  \
           "Verify oops on last frame on entry to VM")                       \
                                                                             \
   develop(bool, TraceHandleAllocation, false,                               \
-          "Prints out warnings when suspicious many handles are allocated") \
+          "Print out warnings when suspiciously many handles are allocated")\
                                                                             \
   product(bool, UseCompilerSafepoints, true,                                \
           "Stop at safepoints in compiled code")                            \
                                                                             \
   product(bool, FailOverToOldVerifier, true,                                \
-          "fail over to old verifier when split verifier fails")            \
+          "Fail over to old verifier when split verifier fails")            \
                                                                             \
   develop(bool, ShowSafepointMsgs, false,                                   \
-          "Show msg. about safepoint synch.")                               \
+          "Show message about safepoint synchronization")                   \
                                                                             \
   product(bool, SafepointTimeout, false,                                    \
           "Time out and warn or fail after SafepointTimeoutDelay "          \
@@ -756,19 +763,19 @@
           "Trace external suspend wait failures")                           \
                                                                             \
   product(bool, MaxFDLimit, true,                                           \
-          "Bump the number of file descriptors to max in solaris.")         \
+          "Bump the number of file descriptors to maximum in Solaris")      \
                                                                             \
   diagnostic(bool, LogEvents, true,                                         \
-             "Enable the various ring buffer event logs")                   \
+          "Enable the various ring buffer event logs")                      \
                                                                             \
   diagnostic(uintx, LogEventsBufferEntries, 10,                             \
-             "Enable the various ring buffer event logs")                   \
+          "Number of ring buffer event logs")                               \
                                                                             \
   product(bool, BytecodeVerificationRemote, true,                           \
-          "Enables the Java bytecode verifier for remote classes")          \
+          "Enable the Java bytecode verifier for remote classes")           \
                                                                             \
   product(bool, BytecodeVerificationLocal, false,                           \
-          "Enables the Java bytecode verifier for local classes")           \
+          "Enable the Java bytecode verifier for local classes")            \
                                                                             \
   develop(bool, ForceFloatExceptions, trueInDebug,                          \
           "Force exceptions on FP stack under/overflow")                    \
@@ -780,7 +787,7 @@
           "Trace java language assertions")                                 \
                                                                             \
   notproduct(bool, CheckAssertionStatusDirectives, false,                   \
-          "temporary - see javaClasses.cpp")                                \
+          "Temporary - see javaClasses.cpp")                                \
                                                                             \
   notproduct(bool, PrintMallocFree, false,                                  \
           "Trace calls to C heap malloc/free allocation")                   \
@@ -799,16 +806,16 @@
           "entering the VM")                                                \
                                                                             \
   notproduct(bool, CheckOopishValues, false,                                \
-          "Warn if value contains oop ( requires ZapDeadLocals)")           \
+          "Warn if value contains oop (requires ZapDeadLocals)")            \
                                                                             \
   develop(bool, UseMallocOnly, false,                                       \
-          "use only malloc/free for allocation (no resource area/arena)")   \
+          "Use only malloc/free for allocation (no resource area/arena)")   \
                                                                             \
   develop(bool, PrintMalloc, false,                                         \
-          "print all malloc/free calls")                                    \
+          "Print all malloc/free calls")                                    \
                                                                             \
   develop(bool, PrintMallocStatistics, false,                               \
-          "print malloc/free statistics")                                   \
+          "Print malloc/free statistics")                                   \
                                                                             \
   develop(bool, ZapResourceArea, trueInDebug,                               \
           "Zap freed resource/arena space with 0xABABABAB")                 \
@@ -820,7 +827,7 @@
           "Zap freed JNI handle space with 0xFEFEFEFE")                     \
                                                                             \
   notproduct(bool, ZapStackSegments, trueInDebug,                           \
-             "Zap allocated/freed Stack segments with 0xFADFADED")          \
+          "Zap allocated/freed stack segments with 0xFADFADED")             \
                                                                             \
   develop(bool, ZapUnusedHeapArea, trueInDebug,                             \
           "Zap unused heap space with 0xBAADBABE")                          \
@@ -835,7 +842,7 @@
           "Zap filler objects with 0xDEAFBABE")                             \
                                                                             \
   develop(bool, PrintVMMessages, true,                                      \
-          "Print vm messages on console")                                   \
+          "Print VM messages on console")                                   \
                                                                             \
   product(bool, PrintGCApplicationConcurrentTime, false,                    \
           "Print the time the application has been running")                \
@@ -844,21 +851,21 @@
           "Print the time the application has been stopped")                \
                                                                             \
   diagnostic(bool, VerboseVerification, false,                              \
-             "Display detailed verification details")                       \
+          "Display detailed verification details")                          \
                                                                             \
   notproduct(uintx, ErrorHandlerTest, 0,                                    \
-          "If > 0, provokes an error after VM initialization; the value"    \
-          "determines which error to provoke.  See test_error_handler()"    \
+          "If > 0, provokes an error after VM initialization; the value "   \
+          "determines which error to provoke. See test_error_handler() "    \
           "in debug.cpp.")                                                  \
                                                                             \
   develop(bool, Verbose, false,                                             \
-          "Prints additional debugging information from other modes")       \
+          "Print additional debugging information from other modes")        \
                                                                             \
   develop(bool, PrintMiscellaneous, false,                                  \
-          "Prints uncategorized debugging information (requires +Verbose)") \
+          "Print uncategorized debugging information (requires +Verbose)")  \
                                                                             \
   develop(bool, WizardMode, false,                                          \
-          "Prints much more debugging information")                         \
+          "Print much more debugging information")                          \
                                                                             \
   product(bool, ShowMessageBoxOnError, false,                               \
           "Keep process alive on VM fatal error")                           \
@@ -870,7 +877,7 @@
           "Let VM fatal error propagate to the OS (ie. WER on Windows)")    \
                                                                             \
   product(bool, SuppressFatalErrorMessage, false,                           \
-          "Do NO Fatal Error report [Avoid deadlock]")                      \
+          "Report NO fatal error message (avoid deadlock)")                 \
                                                                             \
   product(ccstrlist, OnError, "",                                           \
           "Run user-defined commands on fatal error; see VMError.cpp "      \
@@ -880,17 +887,17 @@
           "Run user-defined commands on first java.lang.OutOfMemoryError")  \
                                                                             \
   manageable(bool, HeapDumpBeforeFullGC, false,                             \
-          "Dump heap to file before any major stop-world GC")               \
+          "Dump heap to file before any major stop-the-world GC")           \
                                                                             \
   manageable(bool, HeapDumpAfterFullGC, false,                              \
-          "Dump heap to file after any major stop-world GC")                \
+          "Dump heap to file after any major stop-the-world GC")            \
                                                                             \
   manageable(bool, HeapDumpOnOutOfMemoryError, false,                       \
           "Dump heap to file when java.lang.OutOfMemoryError is thrown")    \
                                                                             \
   manageable(ccstr, HeapDumpPath, NULL,                                     \
-          "When HeapDumpOnOutOfMemoryError is on, the path (filename or"    \
-          "directory) of the dump file (defaults to java_pid<pid>.hprof"    \
+          "When HeapDumpOnOutOfMemoryError is on, the path (filename or "   \
+          "directory) of the dump file (defaults to java_pid<pid>.hprof "   \
           "in the working directory)")                                      \
                                                                             \
   develop(uintx, SegmentedHeapDumpThreshold, 2*G,                           \
@@ -904,10 +911,10 @@
           "Execute breakpoint upon encountering VM warning")                \
                                                                             \
   develop(bool, TraceVMOperation, false,                                    \
-          "Trace vm operations")                                            \
+          "Trace VM operations")                                            \
                                                                             \
   develop(bool, UseFakeTimers, false,                                       \
-          "Tells whether the VM should use system time or a fake timer")    \
+          "Tell whether the VM should use system time or a fake timer")     \
                                                                             \
   product(ccstr, NativeMemoryTracking, "off",                               \
           "Native memory tracking options")                                 \
@@ -917,7 +924,7 @@
                                                                             \
   diagnostic(bool, AutoShutdownNMT, true,                                   \
           "Automatically shutdown native memory tracking under stress "     \
-          "situation. When set to false, native memory tracking tries to "  \
+          "situations. When set to false, native memory tracking tries to " \
           "stay alive at the expense of JVM performance")                   \
                                                                             \
   diagnostic(bool, LogCompilation, false,                                   \
@@ -927,12 +934,12 @@
           "Print compilations")                                             \
                                                                             \
   diagnostic(bool, TraceNMethodInstalls, false,                             \
-             "Trace nmethod intallation")                                   \
+          "Trace nmethod installation")                                     \
                                                                             \
   diagnostic(intx, ScavengeRootsInCode, 2,                                  \
-             "0: do not allow scavengable oops in the code cache; "         \
-             "1: allow scavenging from the code cache; "                    \
-             "2: emit as many constants as the compiler can see")           \
+          "0: do not allow scavengable oops in the code cache; "            \
+          "1: allow scavenging from the code cache; "                       \
+          "2: emit as many constants as the compiler can see")              \
                                                                             \
   product(bool, AlwaysRestoreFPU, false,                                    \
           "Restore the FPU control word after every JNI call (expensive)")  \
@@ -953,7 +960,7 @@
           "Print assembly code (using external disassembler.so)")           \
                                                                             \
   diagnostic(ccstr, PrintAssemblyOptions, NULL,                             \
-          "Options string passed to disassembler.so")                       \
+          "Print options string passed to disassembler.so")                 \
                                                                             \
   diagnostic(bool, PrintNMethods, false,                                    \
           "Print assembly code for nmethods when generated")                \
@@ -974,20 +981,21 @@
           "Print exception handler tables for all nmethods when generated") \
                                                                             \
   develop(bool, StressCompiledExceptionHandlers, false,                     \
-         "Exercise compiled exception handlers")                            \
+          "Exercise compiled exception handlers")                           \
                                                                             \
   develop(bool, InterceptOSException, false,                                \
-          "Starts debugger when an implicit OS (e.g., NULL) "               \
+          "Start debugger when an implicit OS (e.g. NULL) "                 \
           "exception happens")                                              \
                                                                             \
   product(bool, PrintCodeCache, false,                                      \
           "Print the code cache memory usage when exiting")                 \
                                                                             \
   develop(bool, PrintCodeCache2, false,                                     \
-          "Print detailed usage info on the code cache when exiting")       \
+          "Print detailed usage information on the code cache when exiting")\
                                                                             \
   product(bool, PrintCodeCacheOnCompilation, false,                         \
-          "Print the code cache memory usage each time a method is compiled") \
+          "Print the code cache memory usage each time a method is "        \
+          "compiled")                                                       \
                                                                             \
   diagnostic(bool, PrintStubCode, false,                                    \
           "Print generated stub code")                                      \
@@ -999,40 +1007,40 @@
           "Omit backtraces for some 'hot' exceptions in optimized code")    \
                                                                             \
   product(bool, ProfilerPrintByteCodeStatistics, false,                     \
-          "Prints byte code statictics when dumping profiler output")       \
+          "Print bytecode statistics when dumping profiler output")         \
                                                                             \
   product(bool, ProfilerRecordPC, false,                                    \
-          "Collects tick for each 16 byte interval of compiled code")       \
+          "Collect ticks for each 16 byte interval of compiled code")       \
                                                                             \
   product(bool, ProfileVM, false,                                           \
-          "Profiles ticks that fall within VM (either in the VM Thread "    \
+          "Profile ticks that fall within VM (either in the VM Thread "     \
           "or VM code called through stubs)")                               \
                                                                             \
   product(bool, ProfileIntervals, false,                                    \
-          "Prints profiles for each interval (see ProfileIntervalsTicks)")  \
+          "Print profiles for each interval (see ProfileIntervalsTicks)")   \
                                                                             \
   notproduct(bool, ProfilerCheckIntervals, false,                           \
-          "Collect and print info on spacing of profiler ticks")            \
+          "Collect and print information on spacing of profiler ticks")     \
                                                                             \
   develop(bool, PrintJVMWarnings, false,                                    \
-          "Prints warnings for unimplemented JVM functions")                \
+          "Print warnings for unimplemented JVM functions")                 \
                                                                             \
   product(bool, PrintWarnings, true,                                        \
-          "Prints JVM warnings to output stream")                           \
+          "Print JVM warnings to output stream")                            \
                                                                             \
   notproduct(uintx, WarnOnStalledSpinLock, 0,                               \
-          "Prints warnings for stalled SpinLocks")                          \
+          "Print warnings for stalled SpinLocks")                           \
                                                                             \
   product(bool, RegisterFinalizersAtInit, true,                             \
           "Register finalizable objects at end of Object.<init> or "        \
           "after allocation")                                               \
                                                                             \
   develop(bool, RegisterReferences, true,                                   \
-          "Tells whether the VM should register soft/weak/final/phantom "   \
+          "Tell whether the VM should register soft/weak/final/phantom "    \
           "references")                                                     \
                                                                             \
   develop(bool, IgnoreRewrites, false,                                      \
-          "Supress rewrites of bytecodes in the oopmap generator. "         \
+          "Suppress rewrites of bytecodes in the oopmap generator. "        \
           "This is unsafe!")                                                \
                                                                             \
   develop(bool, PrintCodeCacheExtension, false,                             \
@@ -1042,8 +1050,7 @@
           "Enable the security JVM functions")                              \
                                                                             \
   develop(bool, ProtectionDomainVerification, true,                         \
-          "Verifies protection domain before resolution in system "         \
-          "dictionary")                                                     \
+          "Verify protection domain before resolution in system dictionary")\
                                                                             \
   product(bool, ClassUnloading, true,                                       \
           "Do unloading of classes")                                        \
@@ -1056,14 +1063,14 @@
           "Write memory usage profiling to log file")                       \
                                                                             \
   notproduct(bool, PrintSystemDictionaryAtExit, false,                      \
-          "Prints the system dictionary at exit")                           \
+          "Print the system dictionary at exit")                            \
                                                                             \
   experimental(intx, PredictedLoadedClassCount, 0,                          \
-          "Experimental: Tune loaded class cache starting size.")           \
+          "Experimental: Tune loaded class cache starting size")            \
                                                                             \
   diagnostic(bool, UnsyncloadClass, false,                                  \
           "Unstable: VM calls loadClass unsynchronized. Custom "            \
-          "class loader  must call VM synchronized for findClass "          \
+          "class loader must call VM synchronized for findClass "           \
           "and defineClass.")                                               \
                                                                             \
   product(bool, AlwaysLockClassLoader, false,                               \
@@ -1079,22 +1086,22 @@
           "Call loadClassInternal() rather than loadClass()")               \
                                                                             \
   product_pd(bool, DontYieldALot,                                           \
-          "Throw away obvious excess yield calls (for SOLARIS only)")       \
+          "Throw away obvious excess yield calls (for Solaris only)")       \
                                                                             \
   product_pd(bool, ConvertSleepToYield,                                     \
-          "Converts sleep(0) to thread yield "                              \
-          "(may be off for SOLARIS to improve GUI)")                        \
+          "Convert sleep(0) to thread yield "                               \
+          "(may be off for Solaris to improve GUI)")                        \
                                                                             \
   product(bool, ConvertYieldToSleep, false,                                 \
-          "Converts yield to a sleep of MinSleepInterval to simulate Win32 "\
-          "behavior (SOLARIS only)")                                        \
+          "Convert yield to a sleep of MinSleepInterval to simulate Win32 " \
+          "behavior (Solaris only)")                                        \
                                                                             \
   product(bool, UseBoundThreads, true,                                      \
-          "Bind user level threads to kernel threads (for SOLARIS only)")   \
+          "Bind user level threads to kernel threads (for Solaris only)")   \
                                                                             \
   develop(bool, UseDetachedThreads, true,                                   \
           "Use detached threads that are recycled upon termination "        \
-          "(for SOLARIS only)")                                             \
+          "(for Solaris only)")                                             \
                                                                             \
   product(bool, UseLWPSynchronization, true,                                \
           "Use LWP-based instead of libthread-based synchronization "       \
@@ -1104,41 +1111,43 @@
           "(Unstable) Various monitor synchronization tunables")            \
                                                                             \
   product(intx, EmitSync, 0,                                                \
-          "(Unsafe,Unstable) "                                              \
-          " Controls emission of inline sync fast-path code")               \
+          "(Unsafe, Unstable) "                                             \
+          "Control emission of inline sync fast-path code")                 \
                                                                             \
   product(intx, MonitorBound, 0, "Bound Monitor population")                \
                                                                             \
   product(bool, MonitorInUseLists, false, "Track Monitors for Deflation")   \
                                                                             \
-  product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \
-                                                                            \
-  product(intx, SyncVerbose, 0, "(Unstable)" )                              \
-                                                                            \
-  product(intx, ClearFPUAtPark, 0, "(Unsafe,Unstable)" )                    \
+  product(intx, SyncFlags, 0, "(Unsafe, Unstable) Experimental Sync flags") \
+                                                                            \
+  product(intx, SyncVerbose, 0, "(Unstable)")                               \
+                                                                            \
+  product(intx, ClearFPUAtPark, 0, "(Unsafe, Unstable)")                    \
                                                                             \
   product(intx, hashCode, 5,                                                \
-         "(Unstable) select hashCode generation algorithm" )                \
+          "(Unstable) select hashCode generation algorithm")                \
                                                                             \
   product(intx, WorkAroundNPTLTimedWaitHang, 1,                             \
-         "(Unstable, Linux-specific)"                                       \
-         " avoid NPTL-FUTEX hang pthread_cond_timedwait" )                  \
+          "(Unstable, Linux-specific) "                                     \
+          "avoid NPTL-FUTEX hang pthread_cond_timedwait")                   \
                                                                             \
   product(bool, FilterSpuriousWakeups, true,                                \
           "Prevent spurious or premature wakeups from object.wait "         \
           "(Solaris only)")                                                 \
                                                                             \
-  product(intx, NativeMonitorTimeout, -1, "(Unstable)" )                    \
-  product(intx, NativeMonitorFlags, 0, "(Unstable)" )                       \
-  product(intx, NativeMonitorSpinLimit, 20, "(Unstable)" )                  \
+  product(intx, NativeMonitorTimeout, -1, "(Unstable)")                     \
+                                                                            \
+  product(intx, NativeMonitorFlags, 0, "(Unstable)")                        \
+                                                                            \
+  product(intx, NativeMonitorSpinLimit, 20, "(Unstable)")                   \
                                                                             \
   develop(bool, UsePthreads, false,                                         \
           "Use pthread-based instead of libthread-based synchronization "   \
           "(SPARC only)")                                                   \
                                                                             \
   product(bool, AdjustConcurrency, false,                                   \
-          "call thr_setconcurrency at thread create time to avoid "         \
-          "LWP starvation on MP systems (For Solaris Only)")                \
+          "Call thr_setconcurrency at thread creation time to avoid "       \
+          "LWP starvation on MP systems (for Solaris Only)")                \
                                                                             \
   product(bool, ReduceSignalUsage, false,                                   \
           "Reduce the use of OS signals in Java and/or the VM")             \
@@ -1147,13 +1156,14 @@
           "Share vtable stubs (smaller code but worse branch prediction")   \
                                                                             \
   develop(bool, LoadLineNumberTables, true,                                 \
-          "Tells whether the class file parser loads line number tables")   \
+          "Tell whether the class file parser loads line number tables")    \
                                                                             \
   develop(bool, LoadLocalVariableTables, true,                              \
-          "Tells whether the class file parser loads local variable tables")\
+          "Tell whether the class file parser loads local variable tables") \
                                                                             \
   develop(bool, LoadLocalVariableTypeTables, true,                          \
-          "Tells whether the class file parser loads local variable type tables")\
+          "Tell whether the class file parser loads local variable type"    \
+          "tables")                                                         \
                                                                             \
   product(bool, AllowUserSignalHandlers, false,                             \
           "Do not complain if the application installs signal handlers "    \
@@ -1184,10 +1194,12 @@
                                                                             \
   product(bool, EagerXrunInit, false,                                       \
           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
-          " but not all -Xrun libraries may support the state of the VM at this time") \
+          "but not all -Xrun libraries may support the state of the VM "    \
+          "at this time")                                                   \
                                                                             \
   product(bool, PreserveAllAnnotations, false,                              \
-          "Preserve RuntimeInvisibleAnnotations as well as RuntimeVisibleAnnotations") \
+          "Preserve RuntimeInvisibleAnnotations as well "                   \
+          "as RuntimeVisibleAnnotations")                                   \
                                                                             \
   develop(uintx, PreallocatedOutOfMemoryErrorCount, 4,                      \
           "Number of OutOfMemoryErrors preallocated with backtrace")        \
@@ -1262,7 +1274,7 @@
           "Trace level for JVMTI RedefineClasses")                          \
                                                                             \
   develop(bool, StressMethodComparator, false,                              \
-          "run the MethodComparator on all loaded methods")                 \
+          "Run the MethodComparator on all loaded methods")                 \
                                                                             \
   /* change to false by default sometime after Mustang */                   \
   product(bool, VerifyMergedCPBytecodes, true,                              \
@@ -1296,7 +1308,7 @@
           "Trace dependencies")                                             \
                                                                             \
   develop(bool, VerifyDependencies, trueInDebug,                            \
-         "Exercise and verify the compilation dependency mechanism")        \
+          "Exercise and verify the compilation dependency mechanism")       \
                                                                             \
   develop(bool, TraceNewOopMapGeneration, false,                            \
           "Trace OopMapGeneration")                                         \
@@ -1314,7 +1326,7 @@
           "Trace monitor matching failures during OopMapGeneration")        \
                                                                             \
   develop(bool, TraceOopMapRewrites, false,                                 \
-          "Trace rewritting of method oops during oop map generation")      \
+          "Trace rewriting of method oops during oop map generation")       \
                                                                             \
   develop(bool, TraceSafepoint, false,                                      \
           "Trace safepoint operations")                                     \
@@ -1332,10 +1344,10 @@
           "Trace setup time")                                               \
                                                                             \
   develop(bool, TraceProtectionDomainVerification, false,                   \
-          "Trace protection domain verifcation")                            \
+          "Trace protection domain verification")                           \
                                                                             \
   develop(bool, TraceClearedExceptions, false,                              \
-          "Prints when an exception is forcibly cleared")                   \
+          "Print when an exception is forcibly cleared")                    \
                                                                             \
   product(bool, TraceClassResolution, false,                                \
           "Trace all constant pool resolutions (for debugging)")            \
@@ -1349,7 +1361,7 @@
   /* gc */                                                                  \
                                                                             \
   product(bool, UseSerialGC, false,                                         \
-          "Use the serial garbage collector")                               \
+          "Use the Serial garbage collector")                               \
                                                                             \
   product(bool, UseG1GC, false,                                             \
           "Use the Garbage-First garbage collector")                        \
@@ -1368,16 +1380,16 @@
           "The collection count for the first maximum compaction")          \
                                                                             \
   product(bool, UseMaximumCompactionOnSystemGC, true,                       \
-          "In the Parallel Old garbage collector maximum compaction for "   \
-          "a system GC")                                                    \
+          "Use maximum compaction in the Parallel Old garbage collector "   \
+          "for a system GC")                                                \
                                                                             \
   product(uintx, ParallelOldDeadWoodLimiterMean, 50,                        \
-          "The mean used by the par compact dead wood"                      \
-          "limiter (a number between 0-100).")                              \
+          "The mean used by the parallel compact dead wood "                \
+          "limiter (a number between 0-100)")                               \
                                                                             \
   product(uintx, ParallelOldDeadWoodLimiterStdDev, 80,                      \
-          "The standard deviation used by the par compact dead wood"        \
-          "limiter (a number between 0-100).")                              \
+          "The standard deviation used by the parallel compact dead wood "  \
+          "limiter (a number between 0-100)")                               \
                                                                             \
   product(uintx, ParallelGCThreads, 0,                                      \
           "Number of parallel threads parallel gc will use")                \
@@ -1387,7 +1399,7 @@
           "parallel gc will use")                                           \
                                                                             \
   diagnostic(bool, ForceDynamicNumberOfGCThreads, false,                    \
-          "Force dynamic selection of the number of"                        \
+          "Force dynamic selection of the number of "                       \
           "parallel threads parallel gc will use to aid debugging")         \
                                                                             \
   product(uintx, HeapSizePerGCThread, ScaleForWordSize(64*M),               \
@@ -1398,7 +1410,7 @@
           "Trace the dynamic GC thread usage")                              \
                                                                             \
   develop(bool, ParallelOldGCSplitALot, false,                              \
-          "Provoke splitting (copying data from a young gen space to"       \
+          "Provoke splitting (copying data from a young gen space to "      \
           "multiple destination spaces)")                                   \
                                                                             \
   develop(uintx, ParallelOldGCSplitInterval, 3,                             \
@@ -1408,19 +1420,19 @@
           "Number of threads concurrent gc will use")                       \
                                                                             \
   product(uintx, YoungPLABSize, 4096,                                       \
-          "Size of young gen promotion labs (in HeapWords)")                \
+          "Size of young gen promotion LAB's (in HeapWords)")               \
                                                                             \
   product(uintx, OldPLABSize, 1024,                                         \
-          "Size of old gen promotion labs (in HeapWords)")                  \
+          "Size of old gen promotion LAB's (in HeapWords)")                 \
                                                                             \
   product(uintx, GCTaskTimeStampEntries, 200,                               \
           "Number of time stamp entries per gc worker thread")              \
                                                                             \
   product(bool, AlwaysTenure, false,                                        \
-          "Always tenure objects in eden. (ParallelGC only)")               \
+          "Always tenure objects in eden (ParallelGC only)")                \
                                                                             \
   product(bool, NeverTenure, false,                                         \
-          "Never tenure objects in eden, May tenure on overflow "           \
+          "Never tenure objects in eden, may tenure on overflow "           \
           "(ParallelGC only)")                                              \
                                                                             \
   product(bool, ScavengeBeforeFullGC, true,                                 \
@@ -1428,14 +1440,14 @@
           "used with UseParallelGC")                                        \
                                                                             \
   develop(bool, ScavengeWithObjectsInToSpace, false,                        \
-          "Allow scavenges to occur when to_space contains objects.")       \
+          "Allow scavenges to occur when to-space contains objects")        \
                                                                             \
   product(bool, UseConcMarkSweepGC, false,                                  \
           "Use Concurrent Mark-Sweep GC in the old generation")             \
                                                                             \
   product(bool, ExplicitGCInvokesConcurrent, false,                         \
-          "A System.gc() request invokes a concurrent collection;"          \
-          " (effective only when UseConcMarkSweepGC)")                      \
+          "A System.gc() request invokes a concurrent collection; "         \
+          "(effective only when UseConcMarkSweepGC)")                       \
                                                                             \
   product(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false,        \
           "A System.gc() request invokes a concurrent collection and "      \
@@ -1443,19 +1455,19 @@
           "(effective only when UseConcMarkSweepGC)")                       \
                                                                             \
   product(bool, GCLockerInvokesConcurrent, false,                           \
-          "The exit of a JNI CS necessitating a scavenge also"              \
-          " kicks off a bkgrd concurrent collection")                       \
+          "The exit of a JNI critical section necessitating a scavenge, "   \
+          "also kicks off a background concurrent collection")              \
                                                                             \
   product(uintx, GCLockerEdenExpansionPercent, 5,                           \
-          "How much the GC can expand the eden by while the GC locker  "    \
+          "How much the GC can expand the eden by while the GC locker "     \
           "is active (as a percentage)")                                    \
                                                                             \
   diagnostic(intx, GCLockerRetryAllocationCount, 2,                         \
-          "Number of times to retry allocations when"                       \
-          " blocked by the GC locker")                                      \
+          "Number of times to retry allocations when "                      \
+          "blocked by the GC locker")                                       \
                                                                             \
   develop(bool, UseCMSAdaptiveFreeLists, true,                              \
-          "Use Adaptive Free Lists in the CMS generation")                  \
+          "Use adaptive free lists in the CMS generation")                  \
                                                                             \
   develop(bool, UseAsyncConcMarkSweepGC, true,                              \
           "Use Asynchronous Concurrent Mark-Sweep GC in the old generation")\
@@ -1470,44 +1482,46 @@
           "Use passing of collection from background to foreground")        \
                                                                             \
   product(bool, UseParNewGC, false,                                         \
-          "Use parallel threads in the new generation.")                    \
+          "Use parallel threads in the new generation")                     \
                                                                             \
   product(bool, ParallelGCVerbose, false,                                   \
-          "Verbose output for parallel GC.")                                \
+          "Verbose output for parallel gc")                                 \
                                                                             \
   product(uintx, ParallelGCBufferWastePct, 10,                              \
-          "Wasted fraction of parallel allocation buffer.")                 \
+          "Wasted fraction of parallel allocation buffer")                  \
                                                                             \
   diagnostic(bool, ParallelGCRetainPLAB, false,                             \
-             "Retain parallel allocation buffers across scavenges; "        \
-             " -- disabled because this currently conflicts with "          \
-             " parallel card scanning under certain conditions ")           \
+          "Retain parallel allocation buffers across scavenges; "           \
+          "it is disabled because this currently conflicts with "           \
+          "parallel card scanning under certain conditions.")               \
                                                                             \
   product(uintx, TargetPLABWastePct, 10,                                    \
           "Target wasted space in last buffer as percent of overall "       \
           "allocation")                                                     \
                                                                             \
   product(uintx, PLABWeight, 75,                                            \
-          "Percentage (0-100) used to weight the current sample when"       \
-          "computing exponentially decaying average for ResizePLAB.")       \
+          "Percentage (0-100) used to weigh the current sample when "       \
+          "computing exponentially decaying average for ResizePLAB")        \
                                                                             \
   product(bool, ResizePLAB, true,                                           \
-          "Dynamically resize (survivor space) promotion labs")             \
+          "Dynamically resize (survivor space) promotion LAB's")            \
                                                                             \
   product(bool, PrintPLAB, false,                                           \
-          "Print (survivor space) promotion labs sizing decisions")         \
+          "Print (survivor space) promotion LAB's sizing decisions")        \
                                                                             \
   product(intx, ParGCArrayScanChunk, 50,                                    \
-          "Scan a subset and push remainder, if array is bigger than this") \
+          "Scan a subset of object array and push remainder, if array is "  \
+          "bigger than this")                                               \
                                                                             \
   product(bool, ParGCUseLocalOverflow, false,                               \
           "Instead of a global overflow list, use local overflow stacks")   \
                                                                             \
   product(bool, ParGCTrimOverflow, true,                                    \
-          "Eagerly trim the local overflow lists (when ParGCUseLocalOverflow") \
+          "Eagerly trim the local overflow lists "                          \
+          "(when ParGCUseLocalOverflow)")                                   \
                                                                             \
   notproduct(bool, ParGCWorkQueueOverflowALot, false,                       \
-          "Whether we should simulate work queue overflow in ParNew")       \
+          "Simulate work queue overflow in ParNew")                         \
                                                                             \
   notproduct(uintx, ParGCWorkQueueOverflowInterval, 1000,                   \
           "An `interval' counter that determines how frequently "           \
@@ -1525,43 +1539,46 @@
           "during card table scanning")                                     \
                                                                             \
   product(uintx, CMSParPromoteBlocksToClaim, 16,                            \
-          "Number of blocks to attempt to claim when refilling CMS LAB for "\
-          "parallel GC.")                                                   \
+          "Number of blocks to attempt to claim when refilling CMS LAB's "  \
+          "for parallel GC")                                                \
                                                                             \
   product(uintx, OldPLABWeight, 50,                                         \
-          "Percentage (0-100) used to weight the current sample when"       \
-          "computing exponentially decaying average for resizing CMSParPromoteBlocksToClaim.") \
+          "Percentage (0-100) used to weight the current sample when "      \
+          "computing exponentially decaying average for resizing "          \
+          "CMSParPromoteBlocksToClaim")                                     \
                                                                             \
   product(bool, ResizeOldPLAB, true,                                        \
-          "Dynamically resize (old gen) promotion labs")                    \
+          "Dynamically resize (old gen) promotion LAB's")                   \
                                                                             \
   product(bool, PrintOldPLAB, false,                                        \
-          "Print (old gen) promotion labs sizing decisions")                \
+          "Print (old gen) promotion LAB's sizing decisions")               \
                                                                             \
   product(uintx, CMSOldPLABMin, 16,                                         \
-          "Min size of CMS gen promotion lab caches per worker per blksize")\
+          "Minimum size of CMS gen promotion LAB caches per worker "        \
+          "per block size")                                                 \
                                                                             \
   product(uintx, CMSOldPLABMax, 1024,                                       \
-          "Max size of CMS gen promotion lab caches per worker per blksize")\
+          "Maximum size of CMS gen promotion LAB caches per worker "        \
+          "per block size")                                                 \
                                                                             \
   product(uintx, CMSOldPLABNumRefills, 4,                                   \
-          "Nominal number of refills of CMS gen promotion lab cache"        \
-          " per worker per block size")                                     \
+          "Nominal number of refills of CMS gen promotion LAB cache "       \
+          "per worker per block size")                                      \
                                                                             \
   product(bool, CMSOldPLABResizeQuicker, false,                             \
-          "Whether to react on-the-fly during a scavenge to a sudden"       \
-          " change in block demand rate")                                   \
+          "React on-the-fly during a scavenge to a sudden "                 \
+          "change in block demand rate")                                    \
                                                                             \
   product(uintx, CMSOldPLABToleranceFactor, 4,                              \
-          "The tolerance of the phase-change detector for on-the-fly"       \
-          " PLAB resizing during a scavenge")                               \
+          "The tolerance of the phase-change detector for on-the-fly "      \
+          "PLAB resizing during a scavenge")                                \
                                                                             \
   product(uintx, CMSOldPLABReactivityFactor, 2,                             \
-          "The gain in the feedback loop for on-the-fly PLAB resizing"      \
-          " during a scavenge")                                             \
+          "The gain in the feedback loop for on-the-fly PLAB resizing "     \
+          "during a scavenge")                                              \
                                                                             \
   product(bool, AlwaysPreTouch, false,                                      \
-          "It forces all freshly committed pages to be pre-touched.")       \
+          "Force all freshly committed pages to be pre-touched")            \
                                                                             \
   product_pd(uintx, CMSYoungGenPerWorker,                                   \
           "The maximum size of young gen chosen by default per GC worker "  \
@@ -1571,64 +1588,67 @@
           "Whether CMS GC should operate in \"incremental\" mode")          \
                                                                             \
   product(uintx, CMSIncrementalDutyCycle, 10,                               \
-          "CMS incremental mode duty cycle (a percentage, 0-100).  If"      \
-          "CMSIncrementalPacing is enabled, then this is just the initial"  \
-          "value")                                                          \
+          "Percentage (0-100) of CMS incremental mode duty cycle. If "      \
+          "CMSIncrementalPacing is enabled, then this is just the initial " \
+          "value.")                                                         \
                                                                             \
   product(bool, CMSIncrementalPacing, true,                                 \
           "Whether the CMS incremental mode duty cycle should be "          \
           "automatically adjusted")                                         \
                                                                             \
   product(uintx, CMSIncrementalDutyCycleMin, 0,                             \
-          "Lower bound on the duty cycle when CMSIncrementalPacing is "     \
-          "enabled (a percentage, 0-100)")                                  \
+          "Minimum percentage (0-100) of the CMS incremental duty cycle "   \
+          "used when CMSIncrementalPacing is enabled")                      \
                                                                             \
   product(uintx, CMSIncrementalSafetyFactor, 10,                            \
           "Percentage (0-100) used to add conservatism when computing the " \
           "duty cycle")                                                     \
                                                                             \
   product(uintx, CMSIncrementalOffset, 0,                                   \
-          "Percentage (0-100) by which the CMS incremental mode duty cycle" \
-          " is shifted to the right within the period between young GCs")   \
+          "Percentage (0-100) by which the CMS incremental mode duty cycle "\
+          "is shifted to the right within the period between young GCs")    \
                                                                             \
   product(uintx, CMSExpAvgFactor, 50,                                       \
-          "Percentage (0-100) used to weight the current sample when"       \
-          "computing exponential averages for CMS statistics.")             \
+          "Percentage (0-100) used to weigh the current sample when "       \
+          "computing exponential averages for CMS statistics")              \
                                                                             \
   product(uintx, CMS_FLSWeight, 75,                                         \
-          "Percentage (0-100) used to weight the current sample when"       \
-          "computing exponentially decating averages for CMS FLS statistics.") \
+          "Percentage (0-100) used to weigh the current sample when "       \
+          "computing exponentially decaying averages for CMS FLS "          \
+          "statistics")                                                     \
                                                                             \
   product(uintx, CMS_FLSPadding, 1,                                         \
-          "The multiple of deviation from mean to use for buffering"        \
-          "against volatility in free list demand.")                        \
+          "The multiple of deviation from mean to use for buffering "       \
+          "against volatility in free list demand")                         \
                                                                             \
   product(uintx, FLSCoalescePolicy, 2,                                      \
-          "CMS: Aggression level for coalescing, increasing from 0 to 4")   \
+          "CMS: aggressiveness level for coalescing, increasing "           \
+          "from 0 to 4")                                                    \
                                                                             \
   product(bool, FLSAlwaysCoalesceLarge, false,                              \
-          "CMS: Larger free blocks are always available for coalescing")    \
+          "CMS: larger free blocks are always available for coalescing")    \
                                                                             \
   product(double, FLSLargestBlockCoalesceProximity, 0.99,                   \
-          "CMS: the smaller the percentage the greater the coalition force")\
+          "CMS: the smaller the percentage the greater the coalescing "     \
+          "force")                                                          \
                                                                             \
   product(double, CMSSmallCoalSurplusPercent, 1.05,                         \
-          "CMS: the factor by which to inflate estimated demand of small"   \
-          " block sizes to prevent coalescing with an adjoining block")     \
+          "CMS: the factor by which to inflate estimated demand of small "  \
+          "block sizes to prevent coalescing with an adjoining block")      \
                                                                             \
   product(double, CMSLargeCoalSurplusPercent, 0.95,                         \
-          "CMS: the factor by which to inflate estimated demand of large"   \
-          " block sizes to prevent coalescing with an adjoining block")     \
+          "CMS: the factor by which to inflate estimated demand of large "  \
+          "block sizes to prevent coalescing with an adjoining block")      \
                                                                             \
   product(double, CMSSmallSplitSurplusPercent, 1.10,                        \
-          "CMS: the factor by which to inflate estimated demand of small"   \
-          " block sizes to prevent splitting to supply demand for smaller"  \
-          " blocks")                                                        \
+          "CMS: the factor by which to inflate estimated demand of small "  \
+          "block sizes to prevent splitting to supply demand for smaller "  \
+          "blocks")                                                         \
                                                                             \
   product(double, CMSLargeSplitSurplusPercent, 1.00,                        \
-          "CMS: the factor by which to inflate estimated demand of large"   \
-          " block sizes to prevent splitting to supply demand for smaller"  \
-          " blocks")                                                        \
+          "CMS: the factor by which to inflate estimated demand of large "  \
+          "block sizes to prevent splitting to supply demand for smaller "  \
+          "blocks")                                                         \
                                                                             \
   product(bool, CMSExtrapolateSweep, false,                                 \
           "CMS: cushion for block demand during sweep")                     \
@@ -1640,11 +1660,11 @@
                                                                             \
   product(uintx, CMS_SweepPadding, 1,                                       \
           "The multiple of deviation from mean to use for buffering "       \
-          "against volatility in inter-sweep duration.")                    \
+          "against volatility in inter-sweep duration")                     \
                                                                             \
   product(uintx, CMS_SweepTimerThresholdMillis, 10,                         \
           "Skip block flux-rate sampling for an epoch unless inter-sweep "  \
-          "duration exceeds this threhold in milliseconds")                 \
+          "duration exceeds this threshold in milliseconds")                \
                                                                             \
   develop(bool, CMSTraceIncrementalMode, false,                             \
           "Trace CMS incremental mode")                                     \
@@ -1659,14 +1679,15 @@
           "Whether class unloading enabled when using CMS GC")              \
                                                                             \
   product(uintx, CMSClassUnloadingMaxInterval, 0,                           \
-          "When CMS class unloading is enabled, the maximum CMS cycle count"\
-          " for which classes may not be unloaded")                         \
+          "When CMS class unloading is enabled, the maximum CMS cycle "     \
+          "count for which classes may not be unloaded")                    \
                                                                             \
   product(bool, CMSCompactWhenClearAllSoftRefs, true,                       \
-          "Compact when asked to collect CMS gen with clear_all_soft_refs") \
+          "Compact when asked to collect CMS gen with "                     \
+          "clear_all_soft_refs()")                                          \
                                                                             \
   product(bool, UseCMSCompactAtFullCollection, true,                        \
-          "Use mark sweep compact at full collections")                     \
+          "Use Mark-Sweep-Compact algorithm at full collections")           \
                                                                             \
   product(uintx, CMSFullGCsBeforeCompaction, 0,                             \
           "Number of CMS full collection done before compaction if > 0")    \
@@ -1688,38 +1709,37 @@
           "Warn in case of excessive CMS looping")                          \
                                                                             \
   develop(bool, CMSOverflowEarlyRestoration, false,                         \
-          "Whether preserved marks should be restored early")               \
+          "Restore preserved marks early")                                  \
                                                                             \
   product(uintx, MarkStackSize, NOT_LP64(32*K) LP64_ONLY(4*M),              \
           "Size of marking stack")                                          \
                                                                             \
   product(uintx, MarkStackSizeMax, NOT_LP64(4*M) LP64_ONLY(512*M),          \
-          "Max size of marking stack")                                      \
+          "Maximum size of marking stack")                                  \
                                                                             \
   notproduct(bool, CMSMarkStackOverflowALot, false,                         \
-          "Whether we should simulate frequent marking stack / work queue"  \
-          " overflow")                                                      \
+          "Simulate frequent marking stack / work queue overflow")          \
                                                                             \
   notproduct(uintx, CMSMarkStackOverflowInterval, 1000,                     \
-          "An `interval' counter that determines how frequently"            \
-          " we simulate overflow; a smaller number increases frequency")    \
+          "An \"interval\" counter that determines how frequently "         \
+          "to simulate overflow; a smaller number increases frequency")     \
                                                                             \
   product(uintx, CMSMaxAbortablePrecleanLoops, 0,                           \
-          "(Temporary, subject to experimentation)"                         \
+          "(Temporary, subject to experimentation) "                        \
           "Maximum number of abortable preclean iterations, if > 0")        \
                                                                             \
   product(intx, CMSMaxAbortablePrecleanTime, 5000,                          \
-          "(Temporary, subject to experimentation)"                         \
-          "Maximum time in abortable preclean in ms")                       \
+          "(Temporary, subject to experimentation) "                        \
+          "Maximum time in abortable preclean (in milliseconds)")           \
                                                                             \
   product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100,              \
-          "(Temporary, subject to experimentation)"                         \
+          "(Temporary, subject to experimentation) "                        \
           "Nominal minimum work per abortable preclean iteration")          \
                                                                             \
   manageable(intx, CMSAbortablePrecleanWaitMillis, 100,                     \
-          "(Temporary, subject to experimentation)"                         \
-          " Time that we sleep between iterations when not given"           \
-          " enough work per iteration")                                     \
+          "(Temporary, subject to experimentation) "                        \
+          "Time that we sleep between iterations when not given "           \
+          "enough work per iteration")                                      \
                                                                             \
   product(uintx, CMSRescanMultiple, 32,                                     \
           "Size (in cards) of CMS parallel rescan task")                    \
@@ -1737,23 +1757,24 @@
           "Whether parallel remark enabled (only if ParNewGC)")             \
                                                                             \
   product(bool, CMSParallelSurvivorRemarkEnabled, true,                     \
-          "Whether parallel remark of survivor space"                       \
-          " enabled (effective only if CMSParallelRemarkEnabled)")          \
+          "Whether parallel remark of survivor space "                      \
+          "enabled (effective only if CMSParallelRemarkEnabled)")           \
                                                                             \
   product(bool, CMSPLABRecordAlways, true,                                  \
-          "Whether to always record survivor space PLAB bdries"             \
-          " (effective only if CMSParallelSurvivorRemarkEnabled)")          \
+          "Always record survivor space PLAB boundaries (effective only "   \
+          "if CMSParallelSurvivorRemarkEnabled)")                           \
                                                                             \
   product(bool, CMSEdenChunksRecordAlways, true,                            \
-          "Whether to always record eden chunks used for "                  \
-          "the parallel initial mark or remark of eden" )                   \
+          "Always record eden chunks used for the parallel initial mark "   \
+          "or remark of eden")                                              \
                                                                             \
   product(bool, CMSPrintEdenSurvivorChunks, false,                          \
           "Print the eden and the survivor chunks used for the parallel "   \
           "initial mark or remark of the eden/survivor spaces")             \
                                                                             \
   product(bool, CMSConcurrentMTEnabled, true,                               \
-          "Whether multi-threaded concurrent work enabled (if ParNewGC)")   \
+          "Whether multi-threaded concurrent work enabled "                 \
+          "(effective only if ParNewGC)")                                   \
                                                                             \
   product(bool, CMSPrecleaningEnabled, true,                                \
           "Whether concurrent precleaning enabled")                         \
@@ -1762,12 +1783,12 @@
           "Maximum number of precleaning iteration passes")                 \
                                                                             \
   product(uintx, CMSPrecleanNumerator, 2,                                   \
-          "CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence"  \
-          " ratio")                                                         \
+          "CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence " \
+          "ratio")                                                          \
                                                                             \
   product(uintx, CMSPrecleanDenominator, 3,                                 \
-          "CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence"  \
-          " ratio")                                                         \
+          "CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence " \
+          "ratio")                                                          \
                                                                             \
   product(bool, CMSPrecleanRefLists1, true,                                 \
           "Preclean ref lists during (initial) preclean phase")             \
@@ -1782,7 +1803,7 @@
           "Preclean survivors during abortable preclean phase")             \
                                                                             \
   product(uintx, CMSPrecleanThreshold, 1000,                                \
-          "Don't re-iterate if #dirty cards less than this")                \
+          "Do not iterate again if number of dirty cards is less than this")\
                                                                             \
   product(bool, CMSCleanOnEnter, true,                                      \
           "Clean-on-enter optimization for reducing number of dirty cards") \
@@ -1791,14 +1812,16 @@
           "Choose variant (1,2) of verification following remark")          \
                                                                             \
   product(uintx, CMSScheduleRemarkEdenSizeThreshold, 2*M,                   \
-          "If Eden used is below this value, don't try to schedule remark") \
+          "If Eden size is below this, do not try to schedule remark")      \
                                                                             \
   product(uintx, CMSScheduleRemarkEdenPenetration, 50,                      \
-          "The Eden occupancy % at which to try and schedule remark pause") \
+          "The Eden occupancy percentage (0-100) at which "                 \
+          "to try and schedule remark pause")                               \
                                                                             \
   product(uintx, CMSScheduleRemarkSamplingRatio, 5,                         \
-          "Start sampling Eden top at least before yg occupancy reaches"    \
-          " 1/<ratio> of the size at which we plan to schedule remark")     \
+          "Start sampling eden top at least before young gen "              \
+          "occupancy reaches 1/<ratio> of the size at which "               \
+          "we plan to schedule remark")                                     \
                                                                             \
   product(uintx, CMSSamplingGrain, 16*K,                                    \
           "The minimum distance between eden samples for CMS (see above)")  \
@@ -1820,27 +1843,27 @@
           "should start a collection cycle")                                \
                                                                             \
   product(bool, CMSYield, true,                                             \
-          "Yield between steps of concurrent mark & sweep")                 \
+          "Yield between steps of CMS")                                     \
                                                                             \
   product(uintx, CMSBitMapYieldQuantum, 10*M,                               \
-          "Bitmap operations should process at most this many bits"         \
+          "Bitmap operations should process at most this many bits "        \
           "between yields")                                                 \
                                                                             \
   product(bool, CMSDumpAtPromotionFailure, false,                           \
           "Dump useful information about the state of the CMS old "         \
-          " generation upon a promotion failure.")                          \
+          "generation upon a promotion failure")                            \
                                                                             \
   product(bool, CMSPrintChunksInDump, false,                                \
           "In a dump enabled by CMSDumpAtPromotionFailure, include "        \
-          " more detailed information about the free chunks.")              \
+          "more detailed information about the free chunks")                \
                                                                             \
   product(bool, CMSPrintObjectsInDump, false,                               \
           "In a dump enabled by CMSDumpAtPromotionFailure, include "        \
-          " more detailed information about the allocated objects.")        \
+          "more detailed information about the allocated objects")          \
                                                                             \
   diagnostic(bool, FLSVerifyAllHeapReferences, false,                       \
-          "Verify that all refs across the FLS boundary "                   \
-          " are to valid objects")                                          \
+          "Verify that all references across the FLS boundary "             \
+          "are to valid objects")                                           \
                                                                             \
   diagnostic(bool, FLSVerifyLists, false,                                   \
           "Do lots of (expensive) FreeListSpace verification")              \
@@ -1852,17 +1875,18 @@
           "Do lots of (expensive) FLS dictionary verification")             \
                                                                             \
   develop(bool, VerifyBlockOffsetArray, false,                              \
-          "Do (expensive!) block offset array verification")                \
+          "Do (expensive) block offset array verification")                 \
                                                                             \
   diagnostic(bool, BlockOffsetArrayUseUnallocatedBlock, false,              \
-          "Maintain _unallocated_block in BlockOffsetArray"                 \
-          " (currently applicable only to CMS collector)")                  \
+          "Maintain _unallocated_block in BlockOffsetArray "                \
+          "(currently applicable only to CMS collector)")                   \
                                                                             \
   develop(bool, TraceCMSState, false,                                       \
           "Trace the state of the CMS collection")                          \
                                                                             \
   product(intx, RefDiscoveryPolicy, 0,                                      \
-          "Whether reference-based(0) or referent-based(1)")                \
+          "Select type of reference discovery policy: "                     \
+          "reference-based(0) or referent-based(1)")                        \
                                                                             \
   product(bool, ParallelRefProcEnabled, false,                              \
           "Enable parallel reference processing whenever possible")         \
@@ -1890,7 +1914,7 @@
           "denotes 'do constant GC cycles'.")                               \
                                                                             \
   product(bool, UseCMSInitiatingOccupancyOnly, false,                       \
-          "Only use occupancy as a crierion for starting a CMS collection") \
+          "Only use occupancy as a criterion for starting a CMS collection")\
                                                                             \
   product(uintx, CMSIsTooFullPercentage, 98,                                \
           "An absolute ceiling above which CMS will always consider the "   \
@@ -1902,7 +1926,7 @@
                                                                             \
   notproduct(bool, CMSVerifyReturnedBytes, false,                           \
           "Check that all the garbage collected was returned to the "       \
-          "free lists.")                                                    \
+          "free lists")                                                     \
                                                                             \
   notproduct(bool, ScavengeALot, false,                                     \
           "Force scavenge at every Nth exit from the runtime system "       \
@@ -1917,16 +1941,16 @@
                                                                             \
   product(bool, PrintPromotionFailure, false,                               \
           "Print additional diagnostic information following "              \
-          " promotion failure")                                             \
+          "promotion failure")                                              \
                                                                             \
   notproduct(bool, PromotionFailureALot, false,                             \
           "Use promotion failure handling on every youngest generation "    \
           "collection")                                                     \
                                                                             \
   develop(uintx, PromotionFailureALotCount, 1000,                           \
-          "Number of promotion failures occurring at ParGCAllocBuffer"      \
+          "Number of promotion failures occurring at ParGCAllocBuffer "     \
           "refill attempts (ParNew) or promotion attempts "                 \
-          "(other young collectors) ")                                      \
+          "(other young collectors)")                                       \
                                                                             \
   develop(uintx, PromotionFailureALotInterval, 5,                           \
           "Total collections between promotion failures alot")              \
@@ -1945,7 +1969,7 @@
           "Ratio of hard spins to calls to yield")                          \
                                                                             \
   develop(uintx, ObjArrayMarkingStride, 512,                                \
-          "Number of ObjArray elements to push onto the marking stack"      \
+          "Number of object array elements to push onto the marking stack " \
           "before pushing a continuation entry")                            \
                                                                             \
   develop(bool, MetadataAllocationFailALot, false,                          \
@@ -1953,7 +1977,7 @@
           "MetadataAllocationFailALotInterval")                             \
                                                                             \
   develop(uintx, MetadataAllocationFailALotInterval, 1000,                  \
-          "metadata allocation failure alot interval")                      \
+          "Metadata allocation failure a lot interval")                     \
                                                                             \
   develop(bool, MetaDataDeallocateALot, false,                              \
           "Deallocation bunches of metadata at intervals controlled by "    \
@@ -1972,7 +1996,7 @@
           "Trace virtual space metadata allocations")                       \
                                                                             \
   notproduct(bool, ExecuteInternalVMTests, false,                           \
-          "Enable execution of internal VM tests.")                         \
+          "Enable execution of internal VM tests")                          \
                                                                             \
   notproduct(bool, VerboseInternalVMTests, false,                           \
           "Turn on logging for internal VM tests.")                         \
@@ -1980,7 +2004,7 @@
   product_pd(bool, UseTLAB, "Use thread-local object allocation")           \
                                                                             \
   product_pd(bool, ResizeTLAB,                                              \
-          "Dynamically resize tlab size for threads")                       \
+          "Dynamically resize TLAB size for threads")                       \
                                                                             \
   product(bool, ZeroTLAB, false,                                            \
           "Zero out the newly created TLAB")                                \
@@ -1992,7 +2016,8 @@
           "Print various TLAB related information")                         \
                                                                             \
   product(bool, TLABStats, true,                                            \
-          "Print various TLAB related information")                         \
+          "Provide more detailed and expensive TLAB statistics "            \
+          "(with PrintTLAB)")                                               \
                                                                             \
   EMBEDDED_ONLY(product(bool, LowMemoryProtection, true,                    \
           "Enable LowMemoryProtection"))                                    \
@@ -2026,14 +2051,14 @@
           "Fraction (1/n) of real memory used for initial heap size")       \
                                                                             \
   develop(uintx, MaxVirtMemFraction, 2,                                     \
-          "Maximum fraction (1/n) of virtual memory used for ergonomically" \
+          "Maximum fraction (1/n) of virtual memory used for ergonomically "\
           "determining maximum heap size")                                  \
                                                                             \
   product(bool, UseAutoGCSelectPolicy, false,                               \
           "Use automatic collection selection policy")                      \
                                                                             \
   product(uintx, AutoGCSelectPauseMillis, 5000,                             \
-          "Automatic GC selection pause threshhold in ms")                  \
+          "Automatic GC selection pause threshold in milliseconds")         \
                                                                             \
   product(bool, UseAdaptiveSizePolicy, true,                                \
           "Use adaptive generation sizing policies")                        \
@@ -2048,7 +2073,7 @@
           "Use adaptive young-old sizing policies at major collections")    \
                                                                             \
   product(bool, UseAdaptiveSizePolicyWithSystemGC, false,                   \
-          "Use statistics from System.GC for adaptive size policy")         \
+          "Include statistics from System.gc() for adaptive size policy")   \
                                                                             \
   product(bool, UseAdaptiveGCBoundary, false,                               \
           "Allow young-old boundary to move")                               \
@@ -2060,16 +2085,16 @@
           "Resize the virtual spaces of the young or old generations")      \
                                                                             \
   product(uintx, AdaptiveSizeThroughPutPolicy, 0,                           \
-          "Policy for changeing generation size for throughput goals")      \
+          "Policy for changing generation size for throughput goals")       \
                                                                             \
   product(uintx, AdaptiveSizePausePolicy, 0,                                \
           "Policy for changing generation size for pause goals")            \
                                                                             \
   develop(bool, PSAdjustTenuredGenForMinorPause, false,                     \
-          "Adjust tenured generation to achive a minor pause goal")         \
+          "Adjust tenured generation to achieve a minor pause goal")        \
                                                                             \
   develop(bool, PSAdjustYoungGenForMajorPause, false,                       \
-          "Adjust young generation to achive a major pause goal")           \
+          "Adjust young generation to achieve a major pause goal")          \
                                                                             \
   product(uintx, AdaptiveSizePolicyInitializingSteps, 20,                   \
           "Number of steps where heuristics is used before data is used")   \
@@ -2124,14 +2149,15 @@
           "Decay factor to TenuredGenerationSizeIncrement")                 \
                                                                             \
   product(uintx, MaxGCPauseMillis, max_uintx,                               \
-          "Adaptive size policy maximum GC pause time goal in msec, "       \
-          "or (G1 Only) the max. GC time per MMU time slice")               \
+          "Adaptive size policy maximum GC pause time goal in millisecond, "\
+          "or (G1 Only) the maximum GC time per MMU time slice")            \
                                                                             \
   product(uintx, GCPauseIntervalMillis, 0,                                  \
           "Time slice for MMU specification")                               \
                                                                             \
   product(uintx, MaxGCMinorPauseMillis, max_uintx,                          \
-          "Adaptive size policy maximum GC minor pause time goal in msec")  \
+          "Adaptive size policy maximum GC minor pause time goal "          \
+          "in millisecond")                                                 \
                                                                             \
   product(uintx, GCTimeRatio, 99,                                           \
           "Adaptive size policy application time to GC time ratio")         \
@@ -2159,8 +2185,8 @@
           "before an OutOfMemory error is thrown")                          \
                                                                             \
   product(uintx, GCTimeLimit, 98,                                           \
-          "Limit of proportion of time spent in GC before an OutOfMemory"   \
-          "error is thrown (used with GCHeapFreeLimit)")                    \
+          "Limit of the proportion of time spent in GC before "             \
+          "an OutOfMemoryError is thrown (used with GCHeapFreeLimit)")      \
                                                                             \
   product(uintx, GCHeapFreeLimit, 2,                                        \
           "Minimum percentage of free space after a full GC before an "     \
@@ -2182,7 +2208,7 @@
           "How many fields ahead to prefetch in oop scan (<= 0 means off)") \
                                                                             \
   diagnostic(bool, VerifySilently, false,                                   \
-          "Don't print print the verification progress")                    \
+          "Do not print the verification progress")                         \
                                                                             \
   diagnostic(bool, VerifyDuringStartup, false,                              \
           "Verify memory system before executing any Java code "            \
@@ -2205,7 +2231,7 @@
                                                                             \
   diagnostic(bool, DeferInitialCardMark, false,                             \
           "When +ReduceInitialCardMarks, explicitly defer any that "        \
-           "may arise from new_pre_store_barrier")                          \
+          "may arise from new_pre_store_barrier")                           \
                                                                             \
   diagnostic(bool, VerifyRememberedSets, false,                             \
           "Verify GC remembered sets")                                      \
@@ -2214,10 +2240,10 @@
           "Verify GC object start array if verify before/after")            \
                                                                             \
   product(bool, DisableExplicitGC, false,                                   \
-          "Tells whether calling System.gc() does a full GC")               \
+          "Ignore calls to System.gc()")                                    \
                                                                             \
   notproduct(bool, CheckMemoryInitialization, false,                        \
-          "Checks memory initialization")                                   \
+          "Check memory initialization")                                    \
                                                                             \
   product(bool, CollectGen0First, false,                                    \
           "Collect youngest generation before each full GC")                \
@@ -2238,44 +2264,45 @@
           "Stride through processors when distributing processes")          \
                                                                             \
   product(uintx, CMSCoordinatorYieldSleepCount, 10,                         \
-          "number of times the coordinator GC thread will sleep while "     \
+          "Number of times the coordinator GC thread will sleep while "     \
           "yielding before giving up and resuming GC")                      \
                                                                             \
   product(uintx, CMSYieldSleepCount, 0,                                     \
-          "number of times a GC thread (minus the coordinator) "            \
+          "Number of times a GC thread (minus the coordinator) "            \
           "will sleep while yielding before giving up and resuming GC")     \
                                                                             \
   /* gc tracing */                                                          \
   manageable(bool, PrintGC, false,                                          \
-          "Print message at garbage collect")                               \
+          "Print message at garbage collection")                            \
                                                                             \
   manageable(bool, PrintGCDetails, false,                                   \
-          "Print more details at garbage collect")                          \
+          "Print more details at garbage collection")                       \
                                                                             \
   manageable(bool, PrintGCDateStamps, false,                                \
-          "Print date stamps at garbage collect")                           \
+          "Print date stamps at garbage collection")                        \
                                                                             \
   manageable(bool, PrintGCTimeStamps, false,                                \
-          "Print timestamps at garbage collect")                            \
+          "Print timestamps at garbage collection")                         \
                                                                             \
   product(bool, PrintGCTaskTimeStamps, false,                               \
           "Print timestamps for individual gc worker thread tasks")         \
                                                                             \
   develop(intx, ConcGCYieldTimeout, 0,                                      \
-          "If non-zero, assert that GC threads yield within this # of ms.") \
+          "If non-zero, assert that GC threads yield within this "          \
+          "number of milliseconds")                                         \
                                                                             \
   notproduct(bool, TraceMarkSweep, false,                                   \
           "Trace mark sweep")                                               \
                                                                             \
   product(bool, PrintReferenceGC, false,                                    \
           "Print times spent handling reference objects during GC "         \
-          " (enabled only when PrintGCDetails)")                            \
+          "(enabled only when PrintGCDetails)")                             \
                                                                             \
   develop(bool, TraceReferenceGC, false,                                    \
           "Trace handling of soft/weak/final/phantom references")           \
                                                                             \
   develop(bool, TraceFinalizerRegistration, false,                          \
-         "Trace registration of final references")                          \
+          "Trace registration of final references")                         \
                                                                             \
   notproduct(bool, TraceScavenge, false,                                    \
           "Trace scavenge")                                                 \
@@ -2312,7 +2339,7 @@
           "Print heap layout before and after each GC")                     \
                                                                             \
   product_rw(bool, PrintHeapAtGCExtended, false,                            \
-          "Prints extended information about the layout of the heap "       \
+          "Print extended information about the layout of the heap "        \
           "when -XX:+PrintHeapAtGC is set")                                 \
                                                                             \
   product(bool, PrintHeapAtSIGBREAK, true,                                  \
@@ -2349,45 +2376,45 @@
           "Trace actions of the GC task threads")                           \
                                                                             \
   product(bool, PrintParallelOldGCPhaseTimes, false,                        \
-          "Print the time taken by each parallel old gc phase."             \
-          "PrintGCDetails must also be enabled.")                           \
+          "Print the time taken by each phase in ParallelOldGC "            \
+          "(PrintGCDetails must also be enabled)")                          \
                                                                             \
   develop(bool, TraceParallelOldGCMarkingPhase, false,                      \
-          "Trace parallel old gc marking phase")                            \
+          "Trace marking phase in ParallelOldGC")                           \
                                                                             \
   develop(bool, TraceParallelOldGCSummaryPhase, false,                      \
-          "Trace parallel old gc summary phase")                            \
+          "Trace summary phase in ParallelOldGC")                           \
                                                                             \
   develop(bool, TraceParallelOldGCCompactionPhase, false,                   \
-          "Trace parallel old gc compaction phase")                         \
+          "Trace compaction phase in ParallelOldGC")                        \
                                                                             \
   develop(bool, TraceParallelOldGCDensePrefix, false,                       \
-          "Trace parallel old gc dense prefix computation")                 \
+          "Trace dense prefix computation for ParallelOldGC")               \
                                                                             \
   develop(bool, IgnoreLibthreadGPFault, false,                              \
           "Suppress workaround for libthread GP fault")                     \
                                                                             \
   product(bool, PrintJNIGCStalls, false,                                    \
-          "Print diagnostic message when GC is stalled"                     \
+          "Print diagnostic message when GC is stalled "                    \
           "by JNI critical section")                                        \
                                                                             \
   experimental(double, ObjectCountCutOffPercent, 0.5,                       \
           "The percentage of the used heap that the instances of a class "  \
-          "must occupy for the class to generate a trace event.")           \
+          "must occupy for the class to generate a trace event")            \
                                                                             \
   /* GC log rotation setting */                                             \
                                                                             \
   product(bool, UseGCLogFileRotation, false,                                \
-          "Prevent large gclog file for long running app. "                 \
-          "Requires -Xloggc:<filename>")                                    \
+          "Rotate gclog files (for long running applications). It requires "\
+          "-Xloggc:<filename>")                                             \
                                                                             \
   product(uintx, NumberOfGCLogFiles, 0,                                     \
-          "Number of gclog files in rotation, "                             \
-          "Default: 0, no rotation")                                        \
+          "Number of gclog files in rotation "                              \
+          "(default: 0, no rotation)")                                      \
                                                                             \
   product(uintx, GCLogFileSize, 0,                                          \
-          "GC log file size, Default: 0 bytes, no rotation "                \
-          "Only valid with UseGCLogFileRotation")                           \
+          "GC log file size (default: 0 bytes, no rotation). "              \
+          "It requires UseGCLogFileRotation")                               \
                                                                             \
   /* JVMTI heap profiling */                                                \
                                                                             \
@@ -2464,40 +2491,40 @@
           "Generate range checks for array accesses")                       \
                                                                             \
   develop_pd(bool, ImplicitNullChecks,                                      \
-          "generate code for implicit null checks")                         \
+          "Generate code for implicit null checks")                         \
                                                                             \
   product(bool, PrintSafepointStatistics, false,                            \
-          "print statistics about safepoint synchronization")               \
+          "Print statistics about safepoint synchronization")               \
                                                                             \
   product(intx, PrintSafepointStatisticsCount, 300,                         \
-          "total number of safepoint statistics collected "                 \
+          "Total number of safepoint statistics collected "                 \
           "before printing them out")                                       \
                                                                             \
   product(intx, PrintSafepointStatisticsTimeout,  -1,                       \
-          "print safepoint statistics only when safepoint takes"            \
-          " more than PrintSafepointSatisticsTimeout in millis")            \
+          "Print safepoint statistics only when safepoint takes "           \
+          "more than PrintSafepointSatisticsTimeout in millis")             \
                                                                             \
   product(bool, TraceSafepointCleanupTime, false,                           \
-          "print the break down of clean up tasks performed during"         \
-          " safepoint")                                                     \
+          "Print the break down of clean up tasks performed during "        \
+          "safepoint")                                                      \
                                                                             \
   product(bool, Inline, true,                                               \
-          "enable inlining")                                                \
+          "Enable inlining")                                                \
                                                                             \
   product(bool, ClipInlining, true,                                         \
-          "clip inlining if aggregate method exceeds DesiredMethodLimit")   \
+          "Clip inlining if aggregate method exceeds DesiredMethodLimit")   \
                                                                             \
   develop(bool, UseCHA, true,                                               \
-          "enable CHA")                                                     \
+          "Enable CHA")                                                     \
                                                                             \
   product(bool, UseTypeProfile, true,                                       \
           "Check interpreter profile for historically monomorphic calls")   \
                                                                             \
   notproduct(bool, TimeCompiler, false,                                     \
-          "time the compiler")                                              \
+          "Time the compiler")                                              \
                                                                             \
   diagnostic(bool, PrintInlining, false,                                    \
-          "prints inlining optimizations")                                  \
+          "Print inlining optimizations")                                   \
                                                                             \
   product(bool, UsePopCountInstruction, false,                              \
           "Use population count instruction")                               \
@@ -2509,57 +2536,59 @@
           "Print when methods are replaced do to recompilation")            \
                                                                             \
   develop(bool, PrintMethodFlushing, false,                                 \
-          "print the nmethods being flushed")                               \
+          "Print the nmethods being flushed")                               \
                                                                             \
   develop(bool, UseRelocIndex, false,                                       \
-         "use an index to speed random access to relocations")              \
+          "Use an index to speed random access to relocations")             \
                                                                             \
   develop(bool, StressCodeBuffers, false,                                   \
-         "Exercise code buffer expansion and other rare state changes")     \
+          "Exercise code buffer expansion and other rare state changes")    \
                                                                             \
   diagnostic(bool, DebugNonSafepoints, trueInDebug,                         \
-         "Generate extra debugging info for non-safepoints in nmethods")    \
+          "Generate extra debugging information for non-safepoints in "     \
+          "nmethods")                                                       \
                                                                             \
   product(bool, PrintVMOptions, false,                                      \
-         "Print flags that appeared on the command line")                   \
+          "Print flags that appeared on the command line")                  \
                                                                             \
   product(bool, IgnoreUnrecognizedVMOptions, false,                         \
-         "Ignore unrecognized VM options")                                  \
+          "Ignore unrecognized VM options")                                 \
                                                                             \
   product(bool, PrintCommandLineFlags, false,                               \
-         "Print flags specified on command line or set by ergonomics")      \
+          "Print flags specified on command line or set by ergonomics")     \
                                                                             \
   product(bool, PrintFlagsInitial, false,                                   \
-         "Print all VM flags before argument processing and exit VM")       \
+          "Print all VM flags before argument processing and exit VM")      \
                                                                             \
   product(bool, PrintFlagsFinal, false,                                     \
-         "Print all VM flags after argument and ergonomic processing")      \
+          "Print all VM flags after argument and ergonomic processing")     \
                                                                             \
   notproduct(bool, PrintFlagsWithComments, false,                           \
-         "Print all VM flags with default values and descriptions and exit")\
+          "Print all VM flags with default values and descriptions and "    \
+          "exit")                                                           \
                                                                             \
   diagnostic(bool, SerializeVMOutput, true,                                 \
-         "Use a mutex to serialize output to tty and LogFile")              \
+          "Use a mutex to serialize output to tty and LogFile")             \
                                                                             \
   diagnostic(bool, DisplayVMOutput, true,                                   \
-         "Display all VM output on the tty, independently of LogVMOutput")  \
+          "Display all VM output on the tty, independently of LogVMOutput") \
                                                                             \
   diagnostic(bool, LogVMOutput, false,                                      \
-         "Save VM output to LogFile")                                       \
+          "Save VM output to LogFile")                                      \
                                                                             \
   diagnostic(ccstr, LogFile, NULL,                                          \
-         "If LogVMOutput or LogCompilation is on, save VM output to "       \
-         "this file [default: ./hotspot_pid%p.log] (%p replaced with pid)") \
+          "If LogVMOutput or LogCompilation is on, save VM output to "      \
+          "this file [default: ./hotspot_pid%p.log] (%p replaced with pid)")\
                                                                             \
   product(ccstr, ErrorFile, NULL,                                           \
-         "If an error occurs, save the error data to this file "            \
-         "[default: ./hs_err_pid%p.log] (%p replaced with pid)")            \
+          "If an error occurs, save the error data to this file "           \
+          "[default: ./hs_err_pid%p.log] (%p replaced with pid)")           \
                                                                             \
   product(bool, DisplayVMOutputToStderr, false,                             \
-         "If DisplayVMOutput is true, display all VM output to stderr")     \
+          "If DisplayVMOutput is true, display all VM output to stderr")    \
                                                                             \
   product(bool, DisplayVMOutputToStdout, false,                             \
-         "If DisplayVMOutput is true, display all VM output to stdout")     \
+          "If DisplayVMOutput is true, display all VM output to stdout")    \
                                                                             \
   product(bool, UseHeavyMonitors, false,                                    \
           "use heavyweight instead of lightweight Java monitors")           \
@@ -2583,7 +2612,7 @@
                                                                             \
   notproduct(ccstr, AbortVMOnExceptionMessage, NULL,                        \
           "Call fatal if the exception pointed by AbortVMOnException "      \
-          "has this message.")                                              \
+          "has this message")                                               \
                                                                             \
   develop(bool, DebugVtables, false,                                        \
           "add debugging code to vtable dispatch")                          \
@@ -2650,29 +2679,29 @@
                                                                             \
   /* statistics */                                                          \
   develop(bool, CountCompiledCalls, false,                                  \
-          "counts method invocations")                                      \
+          "Count method invocations")                                       \
                                                                             \
   notproduct(bool, CountRuntimeCalls, false,                                \
-          "counts VM runtime calls")                                        \
+          "Count VM runtime calls")                                         \
                                                                             \
   develop(bool, CountJNICalls, false,                                       \
-          "counts jni method invocations")                                  \
+          "Count jni method invocations")                                   \
                                                                             \
   notproduct(bool, CountJVMCalls, false,                                    \
-          "counts jvm method invocations")                                  \
+          "Count jvm method invocations")                                   \
                                                                             \
   notproduct(bool, CountRemovableExceptions, false,                         \
-          "count exceptions that could be replaced by branches due to "     \
+          "Count exceptions that could be replaced by branches due to "     \
           "inlining")                                                       \
                                                                             \
   notproduct(bool, ICMissHistogram, false,                                  \
-          "produce histogram of IC misses")                                 \
+          "Produce histogram of IC misses")                                 \
                                                                             \
   notproduct(bool, PrintClassStatistics, false,                             \
-          "prints class statistics at end of run")                          \
+          "Print class statistics at end of run")                           \
                                                                             \
   notproduct(bool, PrintMethodStatistics, false,                            \
-          "prints method statistics at end of run")                         \
+          "Print method statistics at end of run")                          \
                                                                             \
   /* interpreter */                                                         \
   develop(bool, ClearInterpreterLocals, false,                              \
@@ -2686,7 +2715,7 @@
           "Rewrite frequently used bytecode pairs into a single bytecode")  \
                                                                             \
   diagnostic(bool, PrintInterpreter, false,                                 \
-          "Prints the generated interpreter code")                          \
+          "Print the generated interpreter code")                           \
                                                                             \
   product(bool, UseInterpreter, true,                                       \
           "Use interpreter for non-compiled methods")                       \
@@ -2704,8 +2733,8 @@
           "Use fast method entry code for accessor methods")                \
                                                                             \
   product_pd(bool, UseOnStackReplacement,                                   \
-           "Use on stack replacement, calls runtime if invoc. counter "     \
-           "overflows in loop")                                             \
+          "Use on stack replacement, calls runtime if invoc. counter "      \
+          "overflows in loop")                                              \
                                                                             \
   notproduct(bool, TraceOnStackReplacement, false,                          \
           "Trace on stack replacement")                                     \
@@ -2753,10 +2782,10 @@
           "Trace frequency based inlining")                                 \
                                                                             \
   develop_pd(bool, InlineIntrinsics,                                        \
-           "Inline intrinsics that can be statically resolved")             \
+          "Inline intrinsics that can be statically resolved")              \
                                                                             \
   product_pd(bool, ProfileInterpreter,                                      \
-           "Profile at the bytecode level during interpretation")           \
+          "Profile at the bytecode level during interpretation")            \
                                                                             \
   develop_pd(bool, ProfileTraps,                                            \
           "Profile deoptimization traps at the bytecode level")             \
@@ -2766,7 +2795,7 @@
           "CompileThreshold) before using the method's profile")            \
                                                                             \
   develop(bool, PrintMethodData, false,                                     \
-           "Print the results of +ProfileInterpreter at end of run")        \
+          "Print the results of +ProfileInterpreter at end of run")         \
                                                                             \
   develop(bool, VerifyDataPointer, trueInDebug,                             \
           "Verify the method data pointer during interpreter profiling")    \
@@ -2781,7 +2810,7 @@
                                                                             \
   /* compilation */                                                         \
   product(bool, UseCompiler, true,                                          \
-          "use compilation")                                                \
+          "Use Just-In-Time compilation")                                   \
                                                                             \
   develop(bool, TraceCompilationPolicy, false,                              \
           "Trace compilation policy")                                       \
@@ -2790,20 +2819,21 @@
           "Time the compilation policy")                                    \
                                                                             \
   product(bool, UseCounterDecay, true,                                      \
-           "adjust recompilation counters")                                 \
+          "Adjust recompilation counters")                                  \
                                                                             \
   develop(intx, CounterHalfLifeTime,    30,                                 \
-          "half-life time of invocation counters (in secs)")                \
+          "Half-life time of invocation counters (in seconds)")             \
                                                                             \
   develop(intx, CounterDecayMinIntervalLength,   500,                       \
-          "Min. ms. between invocation of CounterDecay")                    \
+          "The minimum interval (in milliseconds) between invocation of "   \
+          "CounterDecay")                                                   \
                                                                             \
   product(bool, AlwaysCompileLoopMethods, false,                            \
-          "when using recompilation, never interpret methods "              \
+          "When using recompilation, never interpret methods "              \
           "containing loops")                                               \
                                                                             \
   product(bool, DontCompileHugeMethods, true,                               \
-          "don't compile methods > HugeMethodLimit")                        \
+          "Do not compile methods > HugeMethodLimit")                       \
                                                                             \
   /* Bytecode escape analysis estimation. */                                \
   product(bool, EstimateArgEscape, true,                                    \
@@ -2813,10 +2843,10 @@
           "How much tracing to do of bytecode escape analysis estimates")   \
                                                                             \
   product(intx, MaxBCEAEstimateLevel, 5,                                    \
-          "Maximum number of nested calls that are analyzed by BC EA.")     \
+          "Maximum number of nested calls that are analyzed by BC EA")      \
                                                                             \
   product(intx, MaxBCEAEstimateSize, 150,                                   \
-          "Maximum bytecode size of a method to be analyzed by BC EA.")     \
+          "Maximum bytecode size of a method to be analyzed by BC EA")      \
                                                                             \
   product(intx,  AllocatePrefetchStyle, 1,                                  \
           "0 = no prefetch, "                                               \
@@ -2831,7 +2861,8 @@
           "Number of lines to prefetch ahead of array allocation pointer")  \
                                                                             \
   product(intx,  AllocateInstancePrefetchLines, 1,                          \
-          "Number of lines to prefetch ahead of instance allocation pointer") \
+          "Number of lines to prefetch ahead of instance allocation "       \
+          "pointer")                                                        \
                                                                             \
   product(intx,  AllocatePrefetchStepSize, 16,                              \
           "Step size in bytes of sequential prefetch instructions")         \
@@ -2851,8 +2882,8 @@
           "(0 means off)")                                                  \
                                                                             \
   product(intx, MaxJavaStackTraceDepth, 1024,                               \
-          "Max. no. of lines in the stack trace for Java exceptions "       \
-          "(0 means all)")                                                  \
+          "The maximum number of lines in the stack trace for Java "        \
+          "exceptions (0 means all)")                                       \
                                                                             \
   NOT_EMBEDDED(diagnostic(intx, GuaranteedSafepointInterval, 1000,          \
           "Guarantee a safepoint (at least) every so many milliseconds "    \
@@ -2876,10 +2907,10 @@
           "result in more aggressive sweeping")                             \
                                                                             \
   notproduct(bool, LogSweeper, false,                                       \
-            "Keep a ring buffer of sweeper activity")                       \
+          "Keep a ring buffer of sweeper activity")                         \
                                                                             \
   notproduct(intx, SweeperLogEntries, 1024,                                 \
-            "Number of records in the ring buffer of sweeper activity")     \
+          "Number of records in the ring buffer of sweeper activity")       \
                                                                             \
   notproduct(intx, MemProfilingInterval, 500,                               \
           "Time between each invocation of the MemProfiler")                \
@@ -2922,34 +2953,35 @@
           "less than this")                                                 \
                                                                             \
   product(intx, MaxInlineSize, 35,                                          \
-          "maximum bytecode size of a method to be inlined")                \
+          "The maximum bytecode size of a method to be inlined")            \
                                                                             \
   product_pd(intx, FreqInlineSize,                                          \
-          "maximum bytecode size of a frequent method to be inlined")       \
+          "The maximum bytecode size of a frequent method to be inlined")   \
                                                                             \
   product(intx, MaxTrivialSize, 6,                                          \
-          "maximum bytecode size of a trivial method to be inlined")        \
+          "The maximum bytecode size of a trivial method to be inlined")    \
                                                                             \
   product(intx, MinInliningThreshold, 250,                                  \
-          "min. invocation count a method needs to have to be inlined")     \
+          "The minimum invocation count a method needs to have to be "      \
+          "inlined")                                                        \
                                                                             \
   develop(intx, MethodHistogramCutoff, 100,                                 \
-          "cutoff value for method invoc. histogram (+CountCalls)")         \
+          "The cutoff value for method invocation histogram (+CountCalls)") \
                                                                             \
   develop(intx, ProfilerNumberOfInterpretedMethods, 25,                     \
-          "# of interpreted methods to show in profile")                    \
+          "Number of interpreted methods to show in profile")               \
                                                                             \
   develop(intx, ProfilerNumberOfCompiledMethods, 25,                        \
-          "# of compiled methods to show in profile")                       \
+          "Number of compiled methods to show in profile")                  \
                                                                             \
   develop(intx, ProfilerNumberOfStubMethods, 25,                            \
-          "# of stub methods to show in profile")                           \
+          "Number of stub methods to show in profile")                      \
                                                                             \
   develop(intx, ProfilerNumberOfRuntimeStubNodes, 25,                       \
-          "# of runtime stub nodes to show in profile")                     \
+          "Number of runtime stub nodes to show in profile")                \
                                                                             \
   product(intx, ProfileIntervalsTicks, 100,                                 \
-          "# of ticks between printing of interval profile "                \
+          "Number of ticks between printing of interval profile "           \
           "(+ProfileIntervals)")                                            \
                                                                             \
   notproduct(intx, ScavengeALotInterval,     1,                             \
@@ -2970,7 +3002,7 @@
                                                                             \
   develop(intx, MinSleepInterval,     1,                                    \
           "Minimum sleep() interval (milliseconds) when "                   \
-          "ConvertSleepToYield is off (used for SOLARIS)")                  \
+          "ConvertSleepToYield is off (used for Solaris)")                  \
                                                                             \
   develop(intx, ProfilerPCTickThreshold,    15,                             \
           "Number of ticks in a PC buckets to be a hotspot")                \
@@ -2985,22 +3017,22 @@
           "Mark nmethods non-entrant at registration")                      \
                                                                             \
   diagnostic(intx, MallocVerifyInterval,     0,                             \
-          "if non-zero, verify C heap after every N calls to "              \
+          "If non-zero, verify C heap after every N calls to "              \
           "malloc/realloc/free")                                            \
                                                                             \
   diagnostic(intx, MallocVerifyStart,     0,                                \
-          "if non-zero, start verifying C heap after Nth call to "          \
+          "If non-zero, start verifying C heap after Nth call to "          \
           "malloc/realloc/free")                                            \
                                                                             \
   diagnostic(uintx, MallocMaxTestWords,     0,                              \
-          "if non-zero, max # of Words that malloc/realloc can allocate "   \
-          "(for testing only)")                                             \
+          "If non-zero, maximum number of words that malloc/realloc can "   \
+          "allocate (for testing only)")                                    \
                                                                             \
   product(intx, TypeProfileWidth,     2,                                    \
-          "number of receiver types to record in call/cast profile")        \
+          "Number of receiver types to record in call/cast profile")        \
                                                                             \
   develop(intx, BciProfileWidth,      2,                                    \
-          "number of return bci's to record in ret profile")                \
+          "Number of return bci's to record in ret profile")                \
                                                                             \
   product(intx, PerMethodRecompilationCutoff, 400,                          \
           "After recompiling N times, stay in the interpreter (-1=>'Inf')") \
@@ -3067,7 +3099,7 @@
           "Percentage of Eden that can be wasted")                          \
                                                                             \
   product(uintx, TLABRefillWasteFraction,    64,                            \
-          "Max TLAB waste at a refill (internal fragmentation)")            \
+          "Maximum TLAB waste at a refill (internal fragmentation)")        \
                                                                             \
   product(uintx, TLABWasteIncrement,    4,                                  \
           "Increment allowed waste at slow allocation")                     \
@@ -3076,7 +3108,7 @@
           "Ratio of eden/survivor space size")                              \
                                                                             \
   product(uintx, NewRatio, 2,                                               \
-          "Ratio of new/old generation sizes")                              \
+          "Ratio of old/new generation sizes")                              \
                                                                             \
   product_pd(uintx, NewSizeThreadIncrease,                                  \
           "Additional size added to desired new generation size per "       \
@@ -3093,28 +3125,30 @@
           "class pointers are used")                                        \
                                                                             \
   product(uintx, MinHeapFreeRatio,    40,                                   \
-          "Min percentage of heap free after GC to avoid expansion")        \
+          "The minimum percentage of heap free after GC to avoid expansion")\
                                                                             \
   product(uintx, MaxHeapFreeRatio,    70,                                   \
-          "Max percentage of heap free after GC to avoid shrinking")        \
+          "The maximum percentage of heap free after GC to avoid shrinking")\
                                                                             \
   product(intx, SoftRefLRUPolicyMSPerMB, 1000,                              \
           "Number of milliseconds per MB of free space in the heap")        \
                                                                             \
   product(uintx, MinHeapDeltaBytes, ScaleForWordSize(128*K),                \
-          "Min change in heap space due to GC (in bytes)")                  \
+          "The minimum change in heap space due to GC (in bytes)")          \
                                                                             \
   product(uintx, MinMetaspaceExpansion, ScaleForWordSize(256*K),            \
-          "Min expansion of Metaspace (in bytes)")                          \
+          "The minimum expansion of Metaspace (in bytes)")                  \
                                                                             \
   product(uintx, MinMetaspaceFreeRatio,    40,                              \
-          "Min percentage of Metaspace free after GC to avoid expansion")   \
+          "The minimum percentage of Metaspace free after GC to avoid "     \
+          "expansion")                                                      \
                                                                             \
   product(uintx, MaxMetaspaceFreeRatio,    70,                              \
-          "Max percentage of Metaspace free after GC to avoid shrinking")   \
+          "The maximum percentage of Metaspace free after GC to avoid "     \
+          "shrinking")                                                      \
                                                                             \
   product(uintx, MaxMetaspaceExpansion, ScaleForWordSize(4*M),              \
-          "Max expansion of Metaspace without full GC (in bytes)")          \
+          "The maximum expansion of Metaspace without full GC (in bytes)")  \
                                                                             \
   product(uintx, QueuedAllocationWarningCount, 0,                           \
           "Number of times an allocation that queues behind a GC "          \
@@ -3136,13 +3170,14 @@
           "Desired percentage of survivor space used after scavenge")       \
                                                                             \
   product(uintx, MarkSweepDeadRatio,     5,                                 \
-          "Percentage (0-100) of the old gen allowed as dead wood."         \
-          "Serial mark sweep treats this as both the min and max value."    \
-          "CMS uses this value only if it falls back to mark sweep."        \
-          "Par compact uses a variable scale based on the density of the"   \
-          "generation and treats this as the max value when the heap is"    \
-          "either completely full or completely empty.  Par compact also"   \
-          "has a smaller default value; see arguments.cpp.")                \
+          "Percentage (0-100) of the old gen allowed as dead wood. "        \
+          "Serial mark sweep treats this as both the minimum and maximum "  \
+          "value. "                                                         \
+          "CMS uses this value only if it falls back to mark sweep. "       \
+          "Par compact uses a variable scale based on the density of the "  \
+          "generation and treats this as the maximum value when the heap "  \
+          "is either completely full or completely empty.  Par compact "    \
+          "also has a smaller default value; see arguments.cpp.")           \
                                                                             \
   product(uintx, MarkSweepAlwaysCompactCount,     4,                        \
           "How often should we fully compact the heap (ignoring the dead "  \
@@ -3161,27 +3196,27 @@
           "Census for CMS' FreeListSpace")                                  \
                                                                             \
   develop(uintx, GCExpandToAllocateDelayMillis, 0,                          \
-          "Delay in ms between expansion and allocation")                   \
+          "Delay between expansion and allocation (in milliseconds)")       \
                                                                             \
   develop(uintx, GCWorkerDelayMillis, 0,                                    \
-          "Delay in ms in scheduling GC workers")                           \
+          "Delay in scheduling GC workers (in milliseconds)")               \
                                                                             \
   product(intx, DeferThrSuspendLoopCount,     4000,                         \
           "(Unstable) Number of times to iterate in safepoint loop "        \
-          " before blocking VM threads ")                                   \
+          "before blocking VM threads ")                                    \
                                                                             \
   product(intx, DeferPollingPageLoopCount,     -1,                          \
           "(Unsafe,Unstable) Number of iterations in safepoint loop "       \
           "before changing safepoint polling page to RO ")                  \
                                                                             \
-  product(intx, SafepointSpinBeforeYield, 2000,  "(Unstable)")              \
+  product(intx, SafepointSpinBeforeYield, 2000, "(Unstable)")               \
                                                                             \
   product(bool, PSChunkLargeArrays, true,                                   \
-          "true: process large arrays in chunks")                           \
+          "Process large arrays in chunks")                                 \
                                                                             \
   product(uintx, GCDrainStackTargetSize, 64,                                \
-          "how many entries we'll try to leave on the stack during "        \
-          "parallel GC")                                                    \
+          "Number of entries we will try to leave on the stack "            \
+          "during parallel gc")                                             \
                                                                             \
   /* stack parameters */                                                    \
   product_pd(intx, StackYellowPages,                                        \
@@ -3191,8 +3226,8 @@
           "Number of red zone (unrecoverable overflows) pages")             \
                                                                             \
   product_pd(intx, StackShadowPages,                                        \
-          "Number of shadow zone (for overflow checking) pages"             \
-          " this should exceed the depth of the VM and native call stack")  \
+          "Number of shadow zone (for overflow checking) pages "            \
+          "this should exceed the depth of the VM and native call stack")   \
                                                                             \
   product_pd(intx, ThreadStackSize,                                         \
           "Thread Stack Size (in Kbytes)")                                  \
@@ -3232,16 +3267,16 @@
           "Reserved code cache size (in bytes) - maximum code cache size")  \
                                                                             \
   product(uintx, CodeCacheMinimumFreeSpace, 500*K,                          \
-          "When less than X space left, we stop compiling.")                \
+          "When less than X space left, we stop compiling")                 \
                                                                             \
   product_pd(uintx, CodeCacheExpansionSize,                                 \
           "Code cache expansion size (in bytes)")                           \
                                                                             \
   develop_pd(uintx, CodeCacheMinBlockLength,                                \
-          "Minimum number of segments in a code cache block.")              \
+          "Minimum number of segments in a code cache block")               \
                                                                             \
   notproduct(bool, ExitOnFullCodeCache, false,                              \
-          "Exit the VM if we fill the code cache.")                         \
+          "Exit the VM if we fill the code cache")                          \
                                                                             \
   product(bool, UseCodeCacheFlushing, true,                                 \
           "Attempt to clean the code cache before shutting off compiler")   \
@@ -3252,31 +3287,31 @@
           "switch")                                                         \
                                                                             \
   develop(intx, StopInterpreterAt, 0,                                       \
-          "Stops interpreter execution at specified bytecode number")       \
+          "Stop interpreter execution at specified bytecode number")        \
                                                                             \
   develop(intx, TraceBytecodesAt, 0,                                        \
-          "Traces bytecodes starting with specified bytecode number")       \
+          "Trace bytecodes starting with specified bytecode number")        \
                                                                             \
   /* compiler interface */                                                  \
   develop(intx, CIStart, 0,                                                 \
-          "the id of the first compilation to permit")                      \
+          "The id of the first compilation to permit")                      \
                                                                             \
   develop(intx, CIStop,    -1,                                              \
-          "the id of the last compilation to permit")                       \
+          "The id of the last compilation to permit")                       \
                                                                             \
   develop(intx, CIStartOSR,     0,                                          \
-          "the id of the first osr compilation to permit "                  \
+          "The id of the first osr compilation to permit "                  \
           "(CICountOSR must be on)")                                        \
                                                                             \
   develop(intx, CIStopOSR,    -1,                                           \
-          "the id of the last osr compilation to permit "                   \
+          "The id of the last osr compilation to permit "                   \
           "(CICountOSR must be on)")                                        \
                                                                             \
   develop(intx, CIBreakAtOSR,    -1,                                        \
-          "id of osr compilation to break at")                              \
+          "The id of osr compilation to break at")                          \
                                                                             \
   develop(intx, CIBreakAt,    -1,                                           \
-          "id of compilation to break at")                                  \
+          "The id of compilation to break at")                              \
                                                                             \
   product(ccstrlist, CompileOnly, "",                                       \
           "List of methods (pkg/class.name) to restrict compilation to")    \
@@ -3295,11 +3330,11 @@
           "[default: ./replay_pid%p.log] (%p replaced with pid)")           \
                                                                             \
   develop(intx, ReplaySuppressInitializers, 2,                              \
-          "Controls handling of class initialization during replay"         \
-          "0 - don't do anything special"                                   \
-          "1 - treat all class initializers as empty"                       \
-          "2 - treat class initializers for application classes as empty"   \
-          "3 - allow all class initializers to run during bootstrap but"    \
+          "Control handling of class initialization during replay: "        \
+          "0 - don't do anything special; "                                 \
+          "1 - treat all class initializers as empty; "                     \
+          "2 - treat class initializers for application classes as empty; " \
+          "3 - allow all class initializers to run during bootstrap but "   \
           "    pretend they are empty after starting replay")               \
                                                                             \
   develop(bool, ReplayIgnoreInitErrors, false,                              \
@@ -3328,14 +3363,15 @@
           "0 : Normal.                                                     "\
           "    VM chooses priorities that are appropriate for normal       "\
           "    applications. On Solaris NORM_PRIORITY and above are mapped "\
-          "    to normal native priority. Java priorities below NORM_PRIORITY"\
-          "    map to lower native priority values. On Windows applications"\
-          "    are allowed to use higher native priorities. However, with  "\
-          "    ThreadPriorityPolicy=0, VM will not use the highest possible"\
-          "    native priority, THREAD_PRIORITY_TIME_CRITICAL, as it may   "\
-          "    interfere with system threads. On Linux thread priorities   "\
-          "    are ignored because the OS does not support static priority "\
-          "    in SCHED_OTHER scheduling class which is the only choice for"\
+          "    to normal native priority. Java priorities below "           \
+          "    NORM_PRIORITY map to lower native priority values. On       "\
+          "    Windows applications are allowed to use higher native       "\
+          "    priorities. However, with ThreadPriorityPolicy=0, VM will   "\
+          "    not use the highest possible native priority,               "\
+          "    THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with     "\
+          "    system threads. On Linux thread priorities are ignored      "\
+          "    because the OS does not support static priority in          "\
+          "    SCHED_OTHER scheduling class which is the only choice for   "\
           "    non-root, non-realtime applications.                        "\
           "1 : Aggressive.                                                 "\
           "    Java thread priorities map over to the entire range of      "\
@@ -3366,16 +3402,35 @@
   product(bool, VMThreadHintNoPreempt, false,                               \
           "(Solaris only) Give VM thread an extra quanta")                  \
                                                                             \
-  product(intx, JavaPriority1_To_OSPriority, -1, "Map Java priorities to OS priorities") \
-  product(intx, JavaPriority2_To_OSPriority, -1, "Map Java priorities to OS priorities") \
-  product(intx, JavaPriority3_To_OSPriority, -1, "Map Java priorities to OS priorities") \
-  product(intx, JavaPriority4_To_OSPriority, -1, "Map Java priorities to OS priorities") \
-  product(intx, JavaPriority5_To_OSPriority, -1, "Map Java priorities to OS priorities") \
-  product(intx, JavaPriority6_To_OSPriority, -1, "Map Java priorities to OS priorities") \
-  product(intx, JavaPriority7_To_OSPriority, -1, "Map Java priorities to OS priorities") \
-  product(intx, JavaPriority8_To_OSPriority, -1, "Map Java priorities to OS priorities") \
-  product(intx, JavaPriority9_To_OSPriority, -1, "Map Java priorities to OS priorities") \
-  product(intx, JavaPriority10_To_OSPriority,-1, "Map Java priorities to OS priorities") \
+  product(intx, JavaPriority1_To_OSPriority, -1,                            \
+          "Map Java priorities to OS priorities")                           \
+                                                                            \
+  product(intx, JavaPriority2_To_OSPriority, -1,                            \
+          "Map Java priorities to OS priorities")                           \
+                                                                            \
+  product(intx, JavaPriority3_To_OSPriority, -1,                            \
+          "Map Java priorities to OS priorities")                           \
+                                                                            \
+  product(intx, JavaPriority4_To_OSPriority, -1,                            \
+          "Map Java priorities to OS priorities")                           \
+                                                                            \
+  product(intx, JavaPriority5_To_OSPriority, -1,                            \
+          "Map Java priorities to OS priorities")                           \
+                                                                            \
+  product(intx, JavaPriority6_To_OSPriority, -1,                            \
+          "Map Java priorities to OS priorities")                           \
+                                                                            \
+  product(intx, JavaPriority7_To_OSPriority, -1,                            \
+          "Map Java priorities to OS priorities")                           \
+                                                                            \
+  product(intx, JavaPriority8_To_OSPriority, -1,                            \
+          "Map Java priorities to OS priorities")                           \
+                                                                            \
+  product(intx, JavaPriority9_To_OSPriority, -1,                            \
+          "Map Java priorities to OS priorities")                           \
+                                                                            \
+  product(intx, JavaPriority10_To_OSPriority,-1,                            \
+          "Map Java priorities to OS priorities")                           \
                                                                             \
   experimental(bool, UseCriticalJavaThreadPriority, false,                  \
           "Java thread priority 10 maps to critical scheduling priority")   \
@@ -3406,37 +3461,38 @@
           "Used with +TraceLongCompiles")                                   \
                                                                             \
   product(intx, StarvationMonitorInterval,    200,                          \
-          "Pause between each check in ms")                                 \
+          "Pause between each check (in milliseconds)")                     \
                                                                             \
   /* recompilation */                                                       \
   product_pd(intx, CompileThreshold,                                        \
           "number of interpreted method invocations before (re-)compiling") \
                                                                             \
   product_pd(intx, BackEdgeThreshold,                                       \
-          "Interpreter Back edge threshold at which an OSR compilation is invoked")\
+          "Interpreter Back edge threshold at which an OSR compilation is " \
+          "invoked")                                                        \
                                                                             \
   product(intx, Tier0InvokeNotifyFreqLog, 7,                                \
-          "Interpreter (tier 0) invocation notification frequency.")        \
+          "Interpreter (tier 0) invocation notification frequency")         \
                                                                             \
   product(intx, Tier2InvokeNotifyFreqLog, 11,                               \
-          "C1 without MDO (tier 2) invocation notification frequency.")     \
+          "C1 without MDO (tier 2) invocation notification frequency")      \
                                                                             \
   product(intx, Tier3InvokeNotifyFreqLog, 10,                               \
           "C1 with MDO profiling (tier 3) invocation notification "         \
-          "frequency.")                                                     \
+          "frequency")                                                      \
                                                                             \
   product(intx, Tier23InlineeNotifyFreqLog, 20,                             \
           "Inlinee invocation (tiers 2 and 3) notification frequency")      \
                                                                             \
   product(intx, Tier0BackedgeNotifyFreqLog, 10,                             \
-          "Interpreter (tier 0) invocation notification frequency.")        \
+          "Interpreter (tier 0) invocation notification frequency")         \
                                                                             \
   product(intx, Tier2BackedgeNotifyFreqLog, 14,                             \
-          "C1 without MDO (tier 2) invocation notification frequency.")     \
+          "C1 without MDO (tier 2) invocation notification frequency")      \
                                                                             \
   product(intx, Tier3BackedgeNotifyFreqLog, 13,                             \
           "C1 with MDO profiling (tier 3) invocation notification "         \
-          "frequency.")                                                     \
+          "frequency")                                                      \
                                                                             \
   product(intx, Tier2CompileThreshold, 0,                                   \
           "threshold at which tier 2 compilation is invoked")               \
@@ -3453,7 +3509,7 @@
                                                                             \
   product(intx, Tier3CompileThreshold, 2000,                                \
           "Threshold at which tier 3 compilation is invoked (invocation "   \
-          "minimum must be satisfied.")                                     \
+          "minimum must be satisfied")                                      \
                                                                             \
   product(intx, Tier3BackEdgeThreshold,  60000,                             \
           "Back edge threshold at which tier 3 OSR compilation is invoked") \
@@ -3467,7 +3523,7 @@
                                                                             \
   product(intx, Tier4CompileThreshold, 15000,                               \
           "Threshold at which tier 4 compilation is invoked (invocation "   \
-          "minimum must be satisfied.")                                     \
+          "minimum must be satisfied")                                      \
                                                                             \
   product(intx, Tier4BackEdgeThreshold, 40000,                              \
           "Back edge threshold at which tier 4 OSR compilation is invoked") \
@@ -3496,12 +3552,12 @@
           "Stop at given compilation level")                                \
                                                                             \
   product(intx, Tier0ProfilingStartPercentage, 200,                         \
-          "Start profiling in interpreter if the counters exceed tier 3"    \
+          "Start profiling in interpreter if the counters exceed tier 3 "   \
           "thresholds by the specified percentage")                         \
                                                                             \
   product(uintx, IncreaseFirstTierCompileThresholdAt, 50,                   \
-          "Increase the compile threshold for C1 compilation if the code"   \
-          "cache is filled by the specified percentage.")                   \
+          "Increase the compile threshold for C1 compilation if the code "  \
+          "cache is filled by the specified percentage")                    \
                                                                             \
   product(intx, TieredRateUpdateMinTime, 1,                                 \
           "Minimum rate sampling interval (in milliseconds)")               \
@@ -3516,24 +3572,26 @@
           "Print tiered events notifications")                              \
                                                                             \
   product_pd(intx, OnStackReplacePercentage,                                \
-          "NON_TIERED number of method invocations/branches (expressed as %"\
-          "of CompileThreshold) before (re-)compiling OSR code")            \
+          "NON_TIERED number of method invocations/branches (expressed as " \
+          "% of CompileThreshold) before (re-)compiling OSR code")          \
                                                                             \
   product(intx, InterpreterProfilePercentage, 33,                           \
-          "NON_TIERED number of method invocations/branches (expressed as %"\
-          "of CompileThreshold) before profiling in the interpreter")       \
+          "NON_TIERED number of method invocations/branches (expressed as " \
+          "% of CompileThreshold) before profiling in the interpreter")     \
                                                                             \
   develop(intx, MaxRecompilationSearchLength,    10,                        \
-          "max. # frames to inspect searching for recompilee")              \
+          "The maximum number of frames to inspect when searching for "     \
+          "recompilee")                                                     \
                                                                             \
   develop(intx, MaxInterpretedSearchLength,     3,                          \
-          "max. # interp. frames to skip when searching for recompilee")    \
+          "The maximum number of interpreted frames to skip when searching "\
+          "for recompilee")                                                 \
                                                                             \
   develop(intx, DesiredMethodLimit,  8000,                                  \
-          "desired max. method size (in bytecodes) after inlining")         \
+          "The desired maximum method size (in bytecodes) after inlining")  \
                                                                             \
   develop(intx, HugeMethodLimit,  8000,                                     \
-          "don't compile methods larger than this if "                      \
+          "Don't compile methods larger than this if "                      \
           "+DontCompileHugeMethods")                                        \
                                                                             \
   /* New JDK 1.4 reflection implementation */                               \
@@ -3555,7 +3613,7 @@
           "in InvocationTargetException. See 6531596")                      \
                                                                             \
   develop(bool, VerifyLambdaBytecodes, false,                               \
-          "Force verification of jdk 8 lambda metafactory bytecodes.")      \
+          "Force verification of jdk 8 lambda metafactory bytecodes")       \
                                                                             \
   develop(intx, FastSuperclassLimit, 8,                                     \
           "Depth of hardwired instanceof accelerator array")                \
@@ -3579,18 +3637,19 @@
   /* flags for performance data collection */                               \
                                                                             \
   product(bool, UsePerfData, falseInEmbedded,                               \
-          "Flag to disable jvmstat instrumentation for performance testing" \
-          "and problem isolation purposes.")                                \
+          "Flag to disable jvmstat instrumentation for performance testing "\
+          "and problem isolation purposes")                                 \
                                                                             \
   product(bool, PerfDataSaveToFile, false,                                  \
           "Save PerfData memory to hsperfdata_<pid> file on exit")          \
                                                                             \
   product(ccstr, PerfDataSaveFile, NULL,                                    \
-          "Save PerfData memory to the specified absolute pathname,"        \
-           "%p in the file name if present will be replaced by pid")        \
-                                                                            \
-  product(intx, PerfDataSamplingInterval, 50 /*ms*/,                        \
-          "Data sampling interval in milliseconds")                         \
+          "Save PerfData memory to the specified absolute pathname. "       \
+          "The string %p in the file name (if present) "                    \
+          "will be replaced by pid")                                        \
+                                                                            \
+  product(intx, PerfDataSamplingInterval, 50,                               \
+          "Data sampling interval (in milliseconds)")                       \
                                                                             \
   develop(bool, PerfTraceDataCreation, false,                               \
           "Trace creation of Performance Data Entries")                     \
@@ -3615,7 +3674,7 @@
           "Bypass Win32 file system criteria checks (Windows Only)")        \
                                                                             \
   product(intx, UnguardOnExecutionViolation, 0,                             \
-          "Unguard page and retry on no-execute fault (Win32 only)"         \
+          "Unguard page and retry on no-execute fault (Win32 only) "        \
           "0=off, 1=conservative, 2=aggressive")                            \
                                                                             \
   /* Serviceability Support */                                              \
@@ -3624,7 +3683,7 @@
           "Create JMX Management Server")                                   \
                                                                             \
   product(bool, DisableAttachMechanism, false,                              \
-         "Disable mechanism that allows tools to attach to this VM")        \
+          "Disable mechanism that allows tools to attach to this VM")       \
                                                                             \
   product(bool, StartAttachListener, false,                                 \
           "Always start Attach Listener at VM startup")                     \
@@ -3647,9 +3706,9 @@
           "Require shared spaces for metadata")                             \
                                                                             \
   product(bool, DumpSharedSpaces, false,                                    \
-           "Special mode: JVM reads a class list, loads classes, builds "   \
-            "shared spaces, and dumps the shared spaces to a file to be "   \
-            "used in future JVM runs.")                                     \
+          "Special mode: JVM reads a class list, loads classes, builds "    \
+          "shared spaces, and dumps the shared spaces to a file to be "     \
+          "used in future JVM runs")                                        \
                                                                             \
   product(bool, PrintSharedSpaces, false,                                   \
           "Print usage of shared spaces")                                   \
@@ -3722,11 +3781,14 @@
           "Relax the access control checks in the verifier")                \
                                                                             \
   diagnostic(bool, PrintDTraceDOF, false,                                   \
-             "Print the DTrace DOF passed to the system for JSDT probes")   \
+          "Print the DTrace DOF passed to the system for JSDT probes")      \
                                                                             \
   product(uintx, StringTableSize, defaultStringTableSize,                   \
           "Number of buckets in the interned String table")                 \
                                                                             \
+  experimental(uintx, SymbolTableSize, defaultSymbolTableSize,              \
+          "Number of buckets in the JVM internal Symbol table")             \
+                                                                            \
   develop(bool, TraceDefaultMethods, false,                                 \
           "Trace the default method processing steps")                      \
                                                                             \
@@ -3735,8 +3797,8 @@
                                                                             \
   product(bool, UseVMInterruptibleIO, false,                                \
           "(Unstable, Solaris-specific) Thread interrupt before or with "   \
-          "EINTR for I/O operations results in OS_INTRPT. The default value"\
-          " of this flag is true for JDK 6 and earlier")                    \
+          "EINTR for I/O operations results in OS_INTRPT. The default "     \
+          "value of this flag is true for JDK 6 and earlier")               \
                                                                             \
   diagnostic(bool, WhiteBoxAPI, false,                                      \
           "Enable internal testing APIs")                                   \
@@ -3757,6 +3819,7 @@
                                                                             \
   product(bool, EnableTracing, false,                                       \
           "Enable event-based tracing")                                     \
+                                                                            \
   product(bool, UseLockedTracing, false,                                    \
           "Use locked-tracing when doing event-based tracing")
 
--- a/hotspot/src/share/vm/runtime/reflectionUtils.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/runtime/reflectionUtils.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, 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,8 +27,11 @@
 #include "memory/universe.inline.hpp"
 #include "runtime/reflectionUtils.hpp"
 
-KlassStream::KlassStream(instanceKlassHandle klass, bool local_only, bool classes_only) {
-  _klass = klass;
+KlassStream::KlassStream(instanceKlassHandle klass, bool local_only,
+                         bool classes_only, bool walk_defaults) {
+  _klass = _base_klass = klass;
+  _base_class_search_defaults = false;
+  _defaults_checked = false;
   if (classes_only) {
     _interfaces = Universe::the_empty_klass_array();
   } else {
@@ -37,6 +40,7 @@
   _interface_index = _interfaces->length();
   _local_only = local_only;
   _classes_only = classes_only;
+  _walk_defaults = walk_defaults;
 }
 
 bool KlassStream::eos() {
@@ -45,7 +49,13 @@
   if (!_klass->is_interface() && _klass->super() != NULL) {
     // go up superclass chain (not for interfaces)
     _klass = _klass->super();
+  // Next for method walks, walk default methods
+  } else if (_walk_defaults && (_defaults_checked == false)  && (_base_klass->default_methods() != NULL)) {
+      _base_class_search_defaults = true;
+      _klass = _base_klass;
+      _defaults_checked = true;
   } else {
+    // Next walk transitive interfaces
     if (_interface_index > 0) {
       _klass = _interfaces->at(--_interface_index);
     } else {
--- a/hotspot/src/share/vm/runtime/reflectionUtils.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/runtime/reflectionUtils.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -38,7 +38,7 @@
 // and (super)interfaces. Streaming is done in reverse order (subclasses first,
 // interfaces last).
 //
-//    for (KlassStream st(k, false, false); !st.eos(); st.next()) {
+//    for (KlassStream st(k, false, false, false); !st.eos(); st.next()) {
 //      Klass* k = st.klass();
 //      ...
 //    }
@@ -46,17 +46,21 @@
 class KlassStream VALUE_OBJ_CLASS_SPEC {
  protected:
   instanceKlassHandle _klass;           // current klass/interface iterated over
-  Array<Klass*>*    _interfaces;      // transitive interfaces for initial class
+  instanceKlassHandle _base_klass;      // initial klass/interface to iterate over
+  Array<Klass*>*      _interfaces;      // transitive interfaces for initial class
   int                 _interface_index; // current interface being processed
   bool                _local_only;      // process initial class/interface only
   bool                _classes_only;    // process classes only (no interfaces)
+  bool                _walk_defaults;   // process default methods
+  bool                _base_class_search_defaults; // time to process default methods
+  bool                _defaults_checked; // already checked for default methods
   int                 _index;
 
-  virtual int length() const = 0;
+  virtual int length() = 0;
 
  public:
   // constructor
-  KlassStream(instanceKlassHandle klass, bool local_only, bool classes_only);
+  KlassStream(instanceKlassHandle klass, bool local_only, bool classes_only, bool walk_defaults);
 
   // testing
   bool eos();
@@ -67,6 +71,8 @@
   // accessors
   instanceKlassHandle klass() const { return _klass; }
   int index() const                 { return _index; }
+  bool base_class_search_defaults() const { return _base_class_search_defaults; }
+  void base_class_search_defaults(bool b) { _base_class_search_defaults = b; }
 };
 
 
@@ -81,17 +87,24 @@
 
 class MethodStream : public KlassStream {
  private:
-  int length() const          { return methods()->length(); }
-  Array<Method*>* methods() const { return _klass->methods(); }
+  int length()                    { return methods()->length(); }
+  Array<Method*>* methods() {
+    if (base_class_search_defaults()) {
+      base_class_search_defaults(false);
+      return _klass->default_methods();
+    } else {
+      return _klass->methods();
+    }
+  }
  public:
   MethodStream(instanceKlassHandle klass, bool local_only, bool classes_only)
-    : KlassStream(klass, local_only, classes_only) {
+    : KlassStream(klass, local_only, classes_only, true) {
     _index = length();
     next();
   }
 
   void next() { _index--; }
-  Method* method() const { return methods()->at(index()); }
+  Method* method() { return methods()->at(index()); }
 };
 
 
@@ -107,13 +120,13 @@
 
 class FieldStream : public KlassStream {
  private:
-  int length() const                { return _klass->java_fields_count(); }
+  int length() { return _klass->java_fields_count(); }
 
   fieldDescriptor _fd_buf;
 
  public:
   FieldStream(instanceKlassHandle klass, bool local_only, bool classes_only)
-    : KlassStream(klass, local_only, classes_only) {
+    : KlassStream(klass, local_only, classes_only, false) {
     _index = length();
     next();
   }
--- a/hotspot/src/share/vm/runtime/virtualspace.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/runtime/virtualspace.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -368,8 +368,15 @@
 
 
 bool VirtualSpace::initialize(ReservedSpace rs, size_t committed_size) {
+  const size_t max_commit_granularity = os::page_size_for_region(rs.size(), rs.size(), 1);
+  return initialize_with_granularity(rs, committed_size, max_commit_granularity);
+}
+
+bool VirtualSpace::initialize_with_granularity(ReservedSpace rs, size_t committed_size, size_t max_commit_granularity) {
   if(!rs.is_reserved()) return false;  // allocation failed.
   assert(_low_boundary == NULL, "VirtualSpace already initialized");
+  assert(max_commit_granularity > 0, "Granularity must be non-zero.");
+
   _low_boundary  = rs.base();
   _high_boundary = low_boundary() + rs.size();
 
@@ -390,7 +397,7 @@
   // No attempt is made to force large page alignment at the very top and
   // bottom of the space if they are not aligned so already.
   _lower_alignment  = os::vm_page_size();
-  _middle_alignment = os::page_size_for_region(rs.size(), rs.size(), 1);
+  _middle_alignment = max_commit_granularity;
   _upper_alignment  = os::vm_page_size();
 
   // End of each region
@@ -966,17 +973,52 @@
 
 
 class TestVirtualSpace : AllStatic {
+  enum TestLargePages {
+    Default,
+    Disable,
+    Reserve,
+    Commit
+  };
+
+  static ReservedSpace reserve_memory(size_t reserve_size_aligned, TestLargePages mode) {
+    switch(mode) {
+    default:
+    case Default:
+    case Reserve:
+      return ReservedSpace(reserve_size_aligned);
+    case Disable:
+    case Commit:
+      return ReservedSpace(reserve_size_aligned,
+                           os::vm_allocation_granularity(),
+                           /* large */ false, /* exec */ false);
+    }
+  }
+
+  static bool initialize_virtual_space(VirtualSpace& vs, ReservedSpace rs, TestLargePages mode) {
+    switch(mode) {
+    default:
+    case Default:
+    case Reserve:
+      return vs.initialize(rs, 0);
+    case Disable:
+      return vs.initialize_with_granularity(rs, 0, os::vm_page_size());
+    case Commit:
+      return vs.initialize_with_granularity(rs, 0, os::page_size_for_region(rs.size(), rs.size(), 1));
+    }
+  }
+
  public:
-  static void test_virtual_space_actual_committed_space(size_t reserve_size, size_t commit_size) {
+  static void test_virtual_space_actual_committed_space(size_t reserve_size, size_t commit_size,
+                                                        TestLargePages mode = Default) {
     size_t granularity = os::vm_allocation_granularity();
     size_t reserve_size_aligned = align_size_up(reserve_size, granularity);
 
-    ReservedSpace reserved(reserve_size_aligned);
+    ReservedSpace reserved = reserve_memory(reserve_size_aligned, mode);
 
     assert(reserved.is_reserved(), "Must be");
 
     VirtualSpace vs;
-    bool initialized = vs.initialize(reserved, 0);
+    bool initialized = initialize_virtual_space(vs, reserved, mode);
     assert(initialized, "Failed to initialize VirtualSpace");
 
     vs.expand_by(commit_size, false);
@@ -986,7 +1028,10 @@
     } else {
       assert_ge(vs.actual_committed_size(), commit_size);
       // Approximate the commit granularity.
-      size_t commit_granularity = UseLargePages ? os::large_page_size() : os::vm_page_size();
+      // Make sure that we don't commit using large pages
+      // if large pages has been disabled for this VirtualSpace.
+      size_t commit_granularity = (mode == Disable || !UseLargePages) ?
+                                   os::vm_page_size() : os::large_page_size();
       assert_lt(vs.actual_committed_size(), commit_size + commit_granularity);
     }
 
@@ -1042,9 +1087,40 @@
     test_virtual_space_actual_committed_space(10 * M, 10 * M);
   }
 
+  static void test_virtual_space_disable_large_pages() {
+    if (!UseLargePages) {
+      return;
+    }
+    // These test cases verify that if we force VirtualSpace to disable large pages
+    test_virtual_space_actual_committed_space(10 * M, 0, Disable);
+    test_virtual_space_actual_committed_space(10 * M, 4 * K, Disable);
+    test_virtual_space_actual_committed_space(10 * M, 8 * K, Disable);
+    test_virtual_space_actual_committed_space(10 * M, 1 * M, Disable);
+    test_virtual_space_actual_committed_space(10 * M, 2 * M, Disable);
+    test_virtual_space_actual_committed_space(10 * M, 5 * M, Disable);
+    test_virtual_space_actual_committed_space(10 * M, 10 * M, Disable);
+
+    test_virtual_space_actual_committed_space(10 * M, 0, Reserve);
+    test_virtual_space_actual_committed_space(10 * M, 4 * K, Reserve);
+    test_virtual_space_actual_committed_space(10 * M, 8 * K, Reserve);
+    test_virtual_space_actual_committed_space(10 * M, 1 * M, Reserve);
+    test_virtual_space_actual_committed_space(10 * M, 2 * M, Reserve);
+    test_virtual_space_actual_committed_space(10 * M, 5 * M, Reserve);
+    test_virtual_space_actual_committed_space(10 * M, 10 * M, Reserve);
+
+    test_virtual_space_actual_committed_space(10 * M, 0, Commit);
+    test_virtual_space_actual_committed_space(10 * M, 4 * K, Commit);
+    test_virtual_space_actual_committed_space(10 * M, 8 * K, Commit);
+    test_virtual_space_actual_committed_space(10 * M, 1 * M, Commit);
+    test_virtual_space_actual_committed_space(10 * M, 2 * M, Commit);
+    test_virtual_space_actual_committed_space(10 * M, 5 * M, Commit);
+    test_virtual_space_actual_committed_space(10 * M, 10 * M, Commit);
+  }
+
   static void test_virtual_space() {
     test_virtual_space_actual_committed_space();
     test_virtual_space_actual_committed_space_one_large_page();
+    test_virtual_space_disable_large_pages();
   }
 };
 
--- a/hotspot/src/share/vm/runtime/virtualspace.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/runtime/virtualspace.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -178,6 +178,7 @@
  public:
   // Initialization
   VirtualSpace();
+  bool initialize_with_granularity(ReservedSpace rs, size_t committed_byte_size, size_t max_commit_ganularity);
   bool initialize(ReservedSpace rs, size_t committed_byte_size);
 
   // Destruction
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp	Wed Jul 05 19:15:55 2017 +0200
@@ -27,7 +27,6 @@
 #include "classfile/javaClasses.hpp"
 #include "classfile/loaderConstraints.hpp"
 #include "classfile/placeholders.hpp"
-#include "classfile/symbolTable.hpp"
 #include "classfile/systemDictionary.hpp"
 #include "ci/ciField.hpp"
 #include "ci/ciInstance.hpp"
@@ -289,6 +288,7 @@
   nonstatic_field(ConstantPoolCache,    _constant_pool,                                ConstantPool*)                         \
   nonstatic_field(InstanceKlass,               _array_klasses,                                Klass*)                                \
   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
+  nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<Klass*>*)                        \
   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<Klass*>*)                        \
   nonstatic_field(InstanceKlass,               _fields,                                       Array<u2>*)                            \
@@ -323,6 +323,7 @@
   nonstatic_field(nmethodBucket,               _count,                                        int)                                   \
   nonstatic_field(nmethodBucket,               _next,                                         nmethodBucket*)                        \
   nonstatic_field(InstanceKlass,               _method_ordering,                              Array<int>*)                           \
+  nonstatic_field(InstanceKlass,               _default_vtable_indices,                       Array<int>*)                           \
   nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
   nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
   nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
@@ -715,11 +716,17 @@
   nonstatic_field(PlaceholderEntry,            _loader_data,                                  ClassLoaderData*)                      \
                                                                                                                                      \
   /**************************/                                                                                                       \
-  /* ProctectionDomainEntry */                                                                                                       \
+  /* ProtectionDomainEntry  */                                                                                                       \
   /**************************/                                                                                                       \
                                                                                                                                      \
   nonstatic_field(ProtectionDomainEntry,       _next,                                         ProtectionDomainEntry*)                \
-  nonstatic_field(ProtectionDomainEntry,       _protection_domain,                            oop)                                   \
+  nonstatic_field(ProtectionDomainEntry,       _pd_cache,                                     ProtectionDomainCacheEntry*)           \
+                                                                                                                                     \
+  /*******************************/                                                                                                  \
+  /* ProtectionDomainCacheEntry  */                                                                                                  \
+  /*******************************/                                                                                                  \
+                                                                                                                                     \
+  nonstatic_field(ProtectionDomainCacheEntry,  _literal,                                      oop)                                   \
                                                                                                                                      \
   /*************************/                                                                                                        \
   /* LoaderConstraintEntry */                                                                                                        \
@@ -1562,6 +1569,7 @@
   declare_toplevel_type(SystemDictionary)                                 \
   declare_toplevel_type(vmSymbols)                                        \
   declare_toplevel_type(ProtectionDomainEntry)                            \
+  declare_toplevel_type(ProtectionDomainCacheEntry)                       \
                                                                           \
   declare_toplevel_type(GenericGrowableArray)                             \
   declare_toplevel_type(GrowableArray<int>)                               \
@@ -2247,12 +2255,6 @@
   declare_preprocessor_constant("PERFDATA_BIG_ENDIAN", PERFDATA_BIG_ENDIAN)       \
   declare_preprocessor_constant("PERFDATA_LITTLE_ENDIAN", PERFDATA_LITTLE_ENDIAN) \
                                                                           \
-  /***************/                                                       \
-  /* SymbolTable */                                                       \
-  /***************/                                                       \
-                                                                          \
-  declare_constant(SymbolTable::symbol_table_size)                        \
-                                                                          \
   /***********************************/                                   \
   /* LoaderConstraintTable constants */                                   \
   /***********************************/                                   \
--- a/hotspot/src/share/vm/services/memoryService.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/services/memoryService.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -148,6 +148,12 @@
   static void track_code_cache_memory_usage() {
     track_memory_pool_usage(_code_heap_pool);
   }
+  static void track_metaspace_memory_usage() {
+    track_memory_pool_usage(_metaspace_pool);
+  }
+  static void track_compressed_class_memory_usage() {
+    track_memory_pool_usage(_compressed_class_pool);
+  }
   static void track_memory_pool_usage(MemoryPool* pool);
 
   static void gc_begin(bool fullGC, bool recordGCBeginTime,
--- a/hotspot/src/share/vm/utilities/globalDefinitions.hpp	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/src/share/vm/utilities/globalDefinitions.hpp	Wed Jul 05 19:15:55 2017 +0200
@@ -326,12 +326,18 @@
 
 const int max_method_code_size = 64*K - 1;  // JVM spec, 2nd ed. section 4.8.1 (p.134)
 
+// Default ProtectionDomainCacheSize values
+
+const int defaultProtectionDomainCacheSize = NOT_LP64(137) LP64_ONLY(2017);
 
 //----------------------------------------------------------------------------------------------------
 // Default and minimum StringTableSize values
 
 const int defaultStringTableSize = NOT_LP64(1009) LP64_ONLY(60013);
-const int minimumStringTableSize=1009;
+const int minimumStringTableSize = 1009;
+
+const int defaultSymbolTableSize = 20011;
+const int minimumSymbolTableSize = 1009;
 
 
 //----------------------------------------------------------------------------------------------------
--- a/hotspot/test/TEST.groups	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/test/TEST.groups	Wed Jul 05 19:15:55 2017 +0200
@@ -65,7 +65,6 @@
   gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java \
   gc/metaspace/TestMetaspacePerfCounters.java \
   runtime/6819213/TestBootNativeLibraryPath.java \
-  runtime/6878713/Test6878713.sh \
   runtime/6925573/SortMethodsTest.java \
   runtime/7107135/Test7107135.sh \
   runtime/7158988/FieldMonitor.java \
@@ -85,7 +84,9 @@
   runtime/NMT/VirtualAllocTestType.java \
   runtime/RedefineObject/TestRedefineObject.java \
   runtime/XCheckJniJsig/XCheckJSig.java \
-  serviceability/attach/AttachWithStalePidFile.java
+  serviceability/attach/AttachWithStalePidFile.java \
+  serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java
+
 
 # JRE adds further tests to compact3
 #
--- a/hotspot/test/runtime/6888954/vmerrors.sh	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/test/runtime/6888954/vmerrors.sh	Wed Jul 05 19:15:55 2017 +0200
@@ -1,3 +1,25 @@
+# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
 # @test
 # @bug 6888954
 # @bug 8015884
@@ -63,6 +85,7 @@
     [ $i -lt 10 ] && i2=0$i
 
     "$TESTJAVA/bin/java" $TESTVMOPTS -XX:+IgnoreUnrecognizedVMOptions \
+        -XX:-TransmitErrorReport \
         -XX:ErrorHandlerTest=${i} -version > ${i2}.out 2>&1
 
     # If ErrorHandlerTest is ignored (product build), stop.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/runtime/memory/LargePages/TestLargePagesFlags.java	Wed Jul 05 19:15:55 2017 +0200
@@ -0,0 +1,389 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test TestLargePagesFlags
+ * @summary Tests how large pages are choosen depending on the given large pages flag combinations.
+ * @library /testlibrary
+ * @run main TestLargePagesFlags
+ */
+
+import com.oracle.java.testlibrary.OutputAnalyzer;
+import com.oracle.java.testlibrary.Platform;
+import com.oracle.java.testlibrary.ProcessTools;
+import java.util.ArrayList;
+
+public class TestLargePagesFlags {
+
+  public static void main(String [] args) throws Exception {
+    if (!Platform.isLinux()) {
+      System.out.println("Skipping. TestLargePagesFlags has only been implemented for Linux.");
+      return;
+    }
+
+    testUseTransparentHugePages();
+    testUseHugeTLBFS();
+    testUseSHM();
+    testCombinations();
+  }
+
+  public static void testUseTransparentHugePages() throws Exception {
+    if (!canUse(UseTransparentHugePages(true))) {
+      System.out.println("Skipping testUseTransparentHugePages");
+      return;
+    }
+
+    // -XX:-UseLargePages overrides all other flags.
+    new FlagTester()
+      .use(UseLargePages(false),
+           UseTransparentHugePages(true))
+      .expect(
+           UseLargePages(false),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+    // Explicitly turn on UseTransparentHugePages.
+    new FlagTester()
+      .use(UseTransparentHugePages(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(true),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseTransparentHugePages(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(true),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+    // Setting a specific large pages flag will turn
+    // off heuristics to choose large pages type.
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseTransparentHugePages(false))
+      .expect(
+           UseLargePages(false),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+    // Don't turn on UseTransparentHugePages
+    // unless the user explicitly asks for them.
+    new FlagTester()
+      .use(UseLargePages(true))
+      .expect(
+           UseTransparentHugePages(false));
+  }
+
+  public static void testUseHugeTLBFS() throws Exception {
+    if (!canUse(UseHugeTLBFS(true))) {
+      System.out.println("Skipping testUseHugeTLBFS");
+      return;
+    }
+
+    // -XX:-UseLargePages overrides all other flags.
+    new FlagTester()
+      .use(UseLargePages(false),
+           UseHugeTLBFS(true))
+      .expect(
+           UseLargePages(false),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+    // Explicitly turn on UseHugeTLBFS.
+    new FlagTester()
+      .use(UseHugeTLBFS(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(true),
+           UseSHM(false));
+
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseHugeTLBFS(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(true),
+           UseSHM(false));
+
+    // Setting a specific large pages flag will turn
+    // off heuristics to choose large pages type.
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseHugeTLBFS(false))
+      .expect(
+           UseLargePages(false),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+    // Using UseLargePages will default to UseHugeTLBFS large pages.
+    new FlagTester()
+      .use(UseLargePages(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(true),
+           UseSHM(false));
+  }
+
+  public static void testUseSHM() throws Exception {
+    if (!canUse(UseSHM(true))) {
+      System.out.println("Skipping testUseSHM");
+      return;
+    }
+
+    // -XX:-UseLargePages overrides all other flags.
+    new FlagTester()
+      .use(UseLargePages(false),
+           UseSHM(true))
+      .expect(
+           UseLargePages(false),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+    // Explicitly turn on UseSHM.
+    new FlagTester()
+      .use(UseSHM(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(true)) ;
+
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseSHM(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(true)) ;
+
+    // Setting a specific large pages flag will turn
+    // off heuristics to choose large pages type.
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseSHM(false))
+      .expect(
+           UseLargePages(false),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+    // Setting UseLargePages can allow the system to choose
+    // UseHugeTLBFS instead of UseSHM, but never UseTransparentHugePages.
+    new FlagTester()
+      .use(UseLargePages(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(false));
+  }
+
+  public static void testCombinations() throws Exception {
+    if (!canUse(UseSHM(true)) || !canUse(UseHugeTLBFS(true))) {
+      System.out.println("Skipping testUseHugeTLBFSAndUseSHMCombination");
+      return;
+    }
+
+    // UseHugeTLBFS takes precedence over SHM.
+
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseHugeTLBFS(true),
+           UseSHM(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(true),
+           UseSHM(false));
+
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseHugeTLBFS(false),
+           UseSHM(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(true));
+
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseHugeTLBFS(true),
+           UseSHM(false))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(true),
+           UseSHM(false));
+
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseHugeTLBFS(false),
+           UseSHM(false))
+      .expect(
+           UseLargePages(false),
+           UseTransparentHugePages(false),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+
+    if (!canUse(UseTransparentHugePages(true))) {
+      return;
+    }
+
+    // UseTransparentHugePages takes precedence.
+
+    new FlagTester()
+      .use(UseLargePages(true),
+           UseTransparentHugePages(true),
+           UseHugeTLBFS(true),
+           UseSHM(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(true),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+
+    new FlagTester()
+      .use(UseTransparentHugePages(true),
+           UseHugeTLBFS(true),
+           UseSHM(true))
+      .expect(
+           UseLargePages(true),
+           UseTransparentHugePages(true),
+           UseHugeTLBFS(false),
+           UseSHM(false));
+  }
+
+  private static class FlagTester {
+    private Flag [] useFlags;
+
+    public FlagTester use(Flag... useFlags) {
+      this.useFlags = useFlags;
+      return this;
+    }
+
+    public void expect(Flag... expectedFlags) throws Exception {
+      if (useFlags == null) {
+        throw new IllegalStateException("Must run use() before expect()");
+      }
+
+      OutputAnalyzer output = executeNewJVM(useFlags);
+
+      for (Flag flag : expectedFlags) {
+        System.out.println("Looking for: " + flag.flagString());
+        String strValue = output.firstMatch(".* " + flag.name() +  " .* :?= (\\S+).*", 1);
+
+        if (strValue == null) {
+          throw new RuntimeException("Flag " + flag.name() + " couldn't be found");
+        }
+
+        if (!flag.value().equals(strValue)) {
+          throw new RuntimeException("Wrong value for: " + flag.name()
+                                     + " expected: " + flag.value()
+                                     + " got: " + strValue);
+        }
+      }
+
+      output.shouldHaveExitValue(0);
+    }
+  }
+
+  private static OutputAnalyzer executeNewJVM(Flag... flags) throws Exception {
+    ArrayList<String> args = new ArrayList<>();
+    for (Flag flag : flags) {
+      args.add(flag.flagString());
+    }
+    args.add("-XX:+PrintFlagsFinal");
+    args.add("-version");
+
+    ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(args.toArray(new String[args.size()]));
+    OutputAnalyzer output = new OutputAnalyzer(pb.start());
+
+    return output;
+  }
+
+  private static boolean canUse(Flag flag) {
+    try {
+      new FlagTester().use(flag).expect(flag);
+    } catch (Exception e) {
+      return false;
+    }
+
+    return true;
+  }
+
+  private static Flag UseLargePages(boolean value) {
+    return new BooleanFlag("UseLargePages", value);
+  }
+
+  private static Flag UseTransparentHugePages(boolean value) {
+    return new BooleanFlag("UseTransparentHugePages", value);
+  }
+
+  private static Flag UseHugeTLBFS(boolean value) {
+    return new BooleanFlag("UseHugeTLBFS", value);
+  }
+
+  private static Flag UseSHM(boolean value) {
+    return new BooleanFlag("UseSHM", value);
+  }
+
+  private static class BooleanFlag implements Flag {
+    private String name;
+    private boolean value;
+
+    BooleanFlag(String name, boolean value) {
+      this.name = name;
+      this.value = value;
+    }
+
+    public String flagString() {
+      return "-XX:" + (value ? "+" : "-") + name;
+    }
+
+    public String name() {
+      return name;
+    }
+
+    public String value() {
+      return Boolean.toString(value);
+    }
+  }
+
+  private static interface Flag {
+    public String flagString();
+    public String name();
+    public String value();
+  }
+}
--- a/hotspot/test/runtime/memory/ReserveMemory.java	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/test/runtime/memory/ReserveMemory.java	Wed Jul 05 19:15:55 2017 +0200
@@ -56,6 +56,7 @@
           "-Xbootclasspath/a:.",
           "-XX:+UnlockDiagnosticVMOptions",
           "-XX:+WhiteBoxAPI",
+          "-XX:-TransmitErrorReport",
           "ReserveMemory",
           "test");
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapProc.java	Wed Jul 05 19:15:55 2017 +0200
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.lang.management.ManagementFactory;
+import java.lang.management.RuntimeMXBean;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import sun.management.VMManagement;
+
+public class JMapHProfLargeHeapProc {
+    private static final List<byte[]> heapGarbage = new ArrayList<>();
+
+    public static void main(String[] args) throws Exception {
+
+        buildLargeHeap(args);
+
+        // Print our pid on stdout
+        System.out.println("PID[" + getProcessId() + "]");
+
+        // Wait for input before termination
+        System.in.read();
+    }
+
+    private static void buildLargeHeap(String[] args) {
+        for (long i = 0; i < Integer.parseInt(args[0]); i++) {
+            heapGarbage.add(new byte[1024]);
+        }
+    }
+
+    public static int getProcessId() throws Exception {
+
+        // Get the current process id using a reflection hack
+        RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
+        Field jvm = runtime.getClass().getDeclaredField("jvm");
+
+        jvm.setAccessible(true);
+        VMManagement mgmt = (sun.management.VMManagement) jvm.get(runtime);
+
+        Method pid_method = mgmt.getClass().getDeclaredMethod("getProcessId");
+
+        pid_method.setAccessible(true);
+
+        int pid = (Integer) pid_method.invoke(mgmt);
+
+        return pid;
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java	Wed Jul 05 19:15:55 2017 +0200
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.nio.CharBuffer;
+import java.util.Arrays;
+import java.util.Scanner;
+
+import com.oracle.java.testlibrary.Asserts;
+import com.oracle.java.testlibrary.JDKToolFinder;
+import com.oracle.java.testlibrary.JDKToolLauncher;
+import com.oracle.java.testlibrary.OutputAnalyzer;
+import com.oracle.java.testlibrary.Platform;
+import com.oracle.java.testlibrary.ProcessTools;
+
+/*
+ * @test
+ * @bug 6313383
+ * @key regression
+ * @summary Regression test for hprof export issue due to large heaps (>2G)
+ * @library /testlibrary
+ * @compile JMapHProfLargeHeapProc.java
+ * @run main JMapHProfLargeHeapTest
+ */
+
+public class JMapHProfLargeHeapTest {
+    private static final String HEAP_DUMP_FILE_NAME = "heap.hprof";
+    private static final String HPROF_HEADER_1_0_1 = "JAVA PROFILE 1.0.1";
+    private static final String HPROF_HEADER_1_0_2 = "JAVA PROFILE 1.0.2";
+    private static final long M = 1024L;
+    private static final long G = 1024L * M;
+
+    public static void main(String[] args) throws Exception {
+        // If we are on MacOSX, test if JMap tool is signed, otherwise return
+        // since test will fail with privilege error.
+        if (Platform.isOSX()) {
+            String jmapToolPath = JDKToolFinder.getCurrentJDKTool("jmap");
+            ProcessBuilder codesignProcessBuilder = new ProcessBuilder(
+                    "codesign", "-v", jmapToolPath);
+            Process codesignProcess = codesignProcessBuilder.start();
+            OutputAnalyzer analyser = new OutputAnalyzer(codesignProcess);
+            try {
+                analyser.shouldNotContain("code object is not signed at all");
+                System.out.println("Signed jmap found at: " + jmapToolPath);
+            } catch (Exception e) {
+                // Abort since we can't know if the test will work
+                System.out
+                        .println("Test aborted since we are on MacOSX and the jmap tool is not signed.");
+                return;
+            }
+        }
+
+        // Small heap 22 megabytes, should create 1.0.1 file format
+        testHProfFileFormat("-Xmx1g", 22 * M, HPROF_HEADER_1_0_1);
+
+        /**
+         * This test was deliberately commented out since the test system lacks
+         * support to handle the requirements for this kind of heap size in a
+         * good way. If or when it becomes possible to run this kind of tests in
+         * the test environment the test should be enabled again.
+         * */
+        // Large heap 2,2 gigabytes, should create 1.0.2 file format
+        // testHProfFileFormat("-Xmx4g", 2 * G + 2 * M, HPROF_HEADER_1_0_2);
+    }
+
+    private static void testHProfFileFormat(String vmArgs, long heapSize,
+            String expectedFormat) throws Exception, IOException,
+            InterruptedException, FileNotFoundException {
+        ProcessBuilder procBuilder = ProcessTools.createJavaProcessBuilder(
+                vmArgs, "JMapHProfLargeHeapProc", String.valueOf(heapSize));
+        procBuilder.redirectError(ProcessBuilder.Redirect.INHERIT);
+        Process largeHeapProc = procBuilder.start();
+
+        try (Scanner largeHeapScanner = new Scanner(
+                largeHeapProc.getInputStream());) {
+            String pidstring = null;
+            while ((pidstring = largeHeapScanner.findInLine("PID\\[[0-9].*\\]")) == null) {
+                Thread.sleep(500);
+            }
+            int pid = Integer.parseInt(pidstring.substring(4,
+                    pidstring.length() - 1));
+            System.out.println("Extracted pid: " + pid);
+
+            JDKToolLauncher jMapLauncher = JDKToolLauncher
+                    .create("jmap", false);
+            jMapLauncher.addToolArg("-dump:format=b,file=" + pid + "-"
+                    + HEAP_DUMP_FILE_NAME);
+            jMapLauncher.addToolArg(String.valueOf(pid));
+
+            ProcessBuilder jMapProcessBuilder = new ProcessBuilder(
+                    jMapLauncher.getCommand());
+            System.out.println("jmap command: "
+                    + Arrays.toString(jMapLauncher.getCommand()));
+
+            Process jMapProcess = jMapProcessBuilder.start();
+            OutputAnalyzer analyzer = new OutputAnalyzer(jMapProcess);
+            analyzer.shouldHaveExitValue(0);
+            analyzer.shouldContain(pid + "-" + HEAP_DUMP_FILE_NAME);
+            analyzer.shouldContain("Heap dump file created");
+
+            largeHeapProc.getOutputStream().write('\n');
+
+            File dumpFile = new File(pid + "-" + HEAP_DUMP_FILE_NAME);
+            Asserts.assertTrue(dumpFile.exists(), "Heap dump file not found.");
+
+            try (Reader reader = new BufferedReader(new FileReader(dumpFile))) {
+                CharBuffer buf = CharBuffer.allocate(expectedFormat.length());
+                reader.read(buf);
+                buf.clear();
+                Asserts.assertEQ(buf.toString(), expectedFormat,
+                        "Wrong file format. Expected '" + expectedFormat
+                                + "', but found '" + buf.toString() + "'");
+            }
+
+            System.out.println("Success!");
+
+        } finally {
+            largeHeapProc.destroyForcibly();
+        }
+    }
+}
--- a/hotspot/test/testlibrary/com/oracle/java/testlibrary/JDKToolLauncher.java	Wed Oct 16 12:02:43 2013 -0700
+++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/JDKToolLauncher.java	Wed Jul 05 19:15:55 2017 +0200
@@ -23,20 +23,17 @@
 
 package com.oracle.java.testlibrary;
 
-import java.util.List;
 import java.util.ArrayList;
 import java.util.Arrays;
-
-import com.oracle.java.testlibrary.JDKToolFinder;
-import com.oracle.java.testlibrary.ProcessTools;
+import java.util.List;
 
 /**
  * A utility for constructing command lines for starting JDK tool processes.
  *
  * The JDKToolLauncher can in particular be combined with a
- * java.lang.ProcessBuilder to easily run a JDK tool. For example, the
- * following code run {@code jmap -heap} against a process with GC logging
- * turned on for the {@code jmap} process:
+ * java.lang.ProcessBuilder to easily run a JDK tool. For example, the following
+ * code run {@code jmap -heap} against a process with GC logging turned on for
+ * the {@code jmap} process:
  *
  * <pre>
  * {@code
@@ -55,19 +52,39 @@
     private final List<String> vmArgs = new ArrayList<String>();
     private final List<String> toolArgs = new ArrayList<String>();
 
-    private JDKToolLauncher(String tool) {
-        executable = JDKToolFinder.getJDKTool(tool);
+    private JDKToolLauncher(String tool, boolean useCompilerJDK) {
+        if (useCompilerJDK) {
+            executable = JDKToolFinder.getJDKTool(tool);
+        } else {
+            executable = JDKToolFinder.getCurrentJDKTool(tool);
+        }
         vmArgs.addAll(Arrays.asList(ProcessTools.getPlatformSpecificVMArgs()));
     }
 
     /**
+     * Creates a new JDKToolLauncher for the specified tool. Using tools path
+     * from the compiler JDK.
+     *
+     * @param tool
+     *            The name of the tool
+     * @return A new JDKToolLauncher
+     */
+    public static JDKToolLauncher create(String tool) {
+        return new JDKToolLauncher(tool, true);
+    }
+
+    /**
      * Creates a new JDKToolLauncher for the specified tool.
      *
-     * @param tool The name of the tool
+     * @param tool
+     *            The name of the tool
+     * @param useCompilerPath
+     *            If true use the compiler JDK path, otherwise use the tested
+     *            JDK path.
      * @return A new JDKToolLauncher
      */
-    public static JDKToolLauncher create(String tool) {
-        return new JDKToolLauncher(tool);
+    public static JDKToolLauncher create(String tool, boolean useCompilerJDK) {
+        return new JDKToolLauncher(tool, useCompilerJDK);
     }
 
     /**
@@ -80,7 +97,8 @@
      * automatically added.
      *
      *
-     * @param arg The argument to VM running the tool
+     * @param arg
+     *            The argument to VM running the tool
      * @return The JDKToolLauncher instance
      */
     public JDKToolLauncher addVMArg(String arg) {
@@ -91,7 +109,8 @@
     /**
      * Adds an argument to the tool.
      *
-     * @param arg The argument to the tool
+     * @param arg
+     *            The argument to the tool
      * @return The JDKToolLauncher instance
      */
     public JDKToolLauncher addToolArg(String arg) {
--- a/make/install-rules.gmk	Wed Oct 16 12:02:43 2013 -0700
+++ b/make/install-rules.gmk	Wed Jul 05 19:15:55 2017 +0200
@@ -96,7 +96,6 @@
 combo_build:
 	@$(ECHO) $@ installer combo build started: `$(DATE) '+%y-%m-%d %H:%M'`
 	$(CD) $(INSTALL_TOPDIR)/make/installer/bundles/windows/ishield/wrapper/wrapper.jreboth ; $(MAKE) all
-	$(CD) $(INSTALL_TOPDIR)/make/installer/bundles/windows/ishield/wrapper/wrapper.new64jre ; $(MAKE) all
 	$(CD) $(INSTALL_TOPDIR)/make/installer/bundles/windows/ishield/jre ; $(MAKE) au_combo
 	$(CD) $(INSTALL_TOPDIR)/make/installer/bundles/windows/xmlinffile ; $(MAKE) all