# HG changeset patch
# User duke
# Date 1499285709 -7200
# Node ID beab448904d307c2dbbdcd382aac7d9d680cfb34
# Parent b4b4c1119f39f3c2bbb3eeacf5e8a6e3ea61d61d# Parent de6f69208f8281195dedcabcf5379dccc8e27c89
Merge
diff -r b4b4c1119f39 -r beab448904d3 .hgtags-top-repo
--- a/.hgtags-top-repo Thu Sep 22 18:32:20 2016 +0000
+++ b/.hgtags-top-repo Wed Jul 05 22:15:09 2017 +0200
@@ -379,3 +379,4 @@
065724348690eda41fc69112278d8da6dcde548c jdk-9+134
82b94cb5f342319d2cda77f9fa59703ad7fde576 jdk-9+135
3ec350f5f32af249b59620d7e37b54bdcd77b233 jdk-9+136
+d7f519b004254b19e384131d9f0d0e40e31a0fd3 jdk-9+137
diff -r b4b4c1119f39 -r beab448904d3 Makefile
--- a/Makefile Thu Sep 22 18:32:20 2016 +0000
+++ b/Makefile Wed Jul 05 22:15:09 2017 +0200
@@ -28,8 +28,8 @@
### It also performs some sanity checks on make.
###
-# The shell code below will be executed on /usr/ccs/bin/make on Solaris, but not in GNU Make.
-# /usr/ccs/bin/make lacks basically every other flow control mechanism.
+# The shell code below will be executed on /usr/bin/make on Solaris, but not in GNU Make.
+# /usr/bin/make lacks basically every other flow control mechanism.
.TEST_FOR_NON_GNUMAKE:sh=echo You are not using GNU Make/gmake, this is a requirement. Check your path. 1>&2 && exit 1
# The .FEATURES variable is likely to be unique for GNU Make.
diff -r b4b4c1119f39 -r beab448904d3 README-builds.html
--- a/README-builds.html Thu Sep 22 18:32:20 2016 +0000
+++ b/README-builds.html Wed Jul 05 22:15:09 2017 +0200
@@ -626,8 +626,7 @@
The Common UNIX Printing System (CUPS) Headers are required for building the
OpenJDK on Solaris and Linux. The Solaris header files can be obtained by
- installing the package SFWcups from the Solaris Software Companion
- CD/DVD, these often will be installed into the directory /opt/sfw/cups
.
+ installing the package print/cups.
The CUPS header files can always be downloaded from
www.cups.org.
@@ -1111,8 +1110,7 @@
Place the location of the GNU make binary in the PATH
.
Solaris: Do NOT use /usr/bin/make
on Solaris. If your Solaris system
has the software from the Solaris Developer Companion CD installed, you
-should try and use gmake
which will be located in either the /usr/bin
,
-/opt/sfw/bin
or /usr/sfw/bin
directory.
+should try and use /usr/bin/gmake
or /usr/gnu/bin/make
.
Windows: Make sure you start your build inside a bash shell.
Mac OS X: The XCode "command line tools" must be installed on your Mac.
diff -r b4b4c1119f39 -r beab448904d3 README-builds.md
--- a/README-builds.md Thu Sep 22 18:32:20 2016 +0000
+++ b/README-builds.md Wed Jul 05 22:15:09 2017 +0200
@@ -560,8 +560,7 @@
> The Common UNIX Printing System (CUPS) Headers are required for building the
OpenJDK on Solaris and Linux. The Solaris header files can be obtained by
- installing the package **SFWcups** from the Solaris Software Companion
- CD/DVD, these often will be installed into the directory `/opt/sfw/cups`.
+ installing the package **print/cups**.
> The CUPS header files can always be downloaded from
[www.cups.org](http://www.cups.org).
@@ -1017,8 +1016,7 @@
* Place the location of the GNU make binary in the `PATH`.
* **Solaris:** Do NOT use `/usr/bin/make` on Solaris. If your Solaris system
has the software from the Solaris Developer Companion CD installed, you
- should try and use `gmake` which will be located in either the `/usr/bin`,
- `/opt/sfw/bin` or `/usr/sfw/bin` directory.
+ should try and use `/usr/bin/gmake` or `/usr/gnu/bin/make`.
* **Windows:** Make sure you start your build inside a bash shell.
* **Mac OS X:** The XCode "command line tools" must be installed on your Mac.
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/basics.m4
--- a/common/autoconf/basics.m4 Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/basics.m4 Wed Jul 05 22:15:09 2017 +0200
@@ -750,11 +750,6 @@
# Prepend the extra path to the global path
BASIC_PREPEND_TO_PATH([PATH],$EXTRA_PATH)
- if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
- # Add extra search paths on solaris for utilities like ar, as, dtrace etc...
- PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin:/usr/sbin"
- fi
-
AC_MSG_CHECKING([for sysroot])
AC_MSG_RESULT([$SYSROOT])
AC_MSG_CHECKING([for toolchain path])
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/flags.m4
--- a/common/autoconf/flags.m4 Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/flags.m4 Wed Jul 05 22:15:09 2017 +0200
@@ -88,8 +88,7 @@
# inlining of system functions and intrinsics.
$1SYSROOT_CFLAGS="-I-xbuiltin -I[$]$1SYSROOT/usr/include"
$1SYSROOT_LDFLAGS="-L[$]$1SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L[$]$1SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L[$]$1SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
+ -L[$]$1SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR"
fi
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
$1SYSROOT_CFLAGS="--sysroot=[$]$1SYSROOT"
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/generated-configure.sh
--- a/common/autoconf/generated-configure.sh Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/generated-configure.sh Wed Jul 05 22:15:09 2017 +0200
@@ -926,9 +926,7 @@
INCLUDE_SA
UNLIMITED_CRYPTO
CACERTS_FILE
-BUILD_HEADLESS
-SUPPORT_HEADFUL
-SUPPORT_HEADLESS
+ENABLE_HEADLESS_ONLY
DEFAULT_MAKE_TARGET
OS_VERSION_MICRO
OS_VERSION_MINOR
@@ -1153,7 +1151,7 @@
with_conf_name
with_output_sync
with_default_make_target
-enable_headful
+enable_headless_only
with_cacerts_file
enable_unlimited_crypto
with_copyright_year
@@ -1976,8 +1974,7 @@
[disabled]
--enable-debug set the debug level to fastdebug (shorthand for
--with-debug-level=fastdebug) [disabled]
- --disable-headful disable building headful support (graphical UI
- support) [enabled]
+ --enable-headless-only only build headless (no GUI) support [disabled]
--enable-unlimited-crypto
Enable unlimited crypto policy [disabled]
--disable-keep-packaged-modules
@@ -5095,7 +5092,7 @@
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1472718471
+DATE_WHEN_GENERATED=1474894604
###############################################################################
#
@@ -17213,11 +17210,6 @@
fi
- if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
- # Add extra search paths on solaris for utilities like ar, as, dtrace etc...
- PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin:/usr/sbin"
- fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
$as_echo_n "checking for sysroot... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYSROOT" >&5
@@ -24197,36 +24189,30 @@
# 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
-$as_echo_n "checking headful support... " >&6; }
- # Check whether --enable-headful was given.
-if test "${enable_headful+set}" = set; then :
- enableval=$enable_headful; SUPPORT_HEADFUL=${enable_headful}
-else
- SUPPORT_HEADFUL=yes
-fi
-
-
- 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
- # 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
-$as_echo "$headful_msg" >&6; }
-
-
+ # Should we build a JDK without a graphical UI?
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking headless only" >&5
+$as_echo_n "checking headless only... " >&6; }
+ # Check whether --enable-headless-only was given.
+if test "${enable_headless_only+set}" = set; then :
+ enableval=$enable_headless_only;
+fi
+
+
+ if test "x$enable_headless_only" = "xyes"; then
+ ENABLE_HEADLESS_ONLY="true"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ elif test "x$enable_headless_only" = "xno"; then
+ ENABLE_HEADLESS_ONLY="false"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ elif test "x$enable_headless_only" = "x"; then
+ ENABLE_HEADLESS_ONLY="false"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else
+ as_fn_error $? "--enable-headless-only can only take yes or no" "$LINENO" 5
+ fi
@@ -31475,8 +31461,7 @@
# inlining of system functions and intrinsics.
SYSROOT_CFLAGS="-I-xbuiltin -I$SYSROOT/usr/include"
SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
+ -L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR"
fi
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
SYSROOT_CFLAGS="--sysroot=$SYSROOT"
@@ -32992,14 +32977,6 @@
fi
- # For solaris we really need solaris tools, and not the GNU equivalent.
- # The build tools on Solaris reside in /usr/ccs (C Compilation System),
- # so add that to path before starting to probe.
- # FIXME: This was originally only done for AS,NM,GNM,STRIP,OBJCOPY,OBJDUMP.
- if test "x$OPENJDK_BUILD_OS" = xsolaris; then
- PATH="/usr/ccs/bin:$PATH"
- fi
-
# Finally add TOOLCHAIN_PATH at the beginning, to allow --with-tools-dir to
# override all other locations.
if test "x$TOOLCHAIN_PATH" != x; then
@@ -44000,8 +43977,7 @@
# inlining of system functions and intrinsics.
BUILD_SYSROOT_CFLAGS="-I-xbuiltin -I$BUILD_SYSROOT/usr/include"
BUILD_SYSROOT_LDFLAGS="-L$BUILD_SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$BUILD_SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$BUILD_SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
+ -L$BUILD_SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR"
fi
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
BUILD_SYSROOT_CFLAGS="--sysroot=$BUILD_SYSROOT"
@@ -53060,13 +53036,9 @@
# No X11 support on windows or macosx
NEEDS_LIB_X11=false
else
- if test "x$SUPPORT_HEADFUL" = xno; then
- # No X11 support if building headless-only
- NEEDS_LIB_X11=false
- else
- # All other instances need X11
- NEEDS_LIB_X11=true
- fi
+ # All other instances need X11, even if building headless only, libawt still
+ # needs X11 headers.
+ NEEDS_LIB_X11=true
fi
# Check if cups is needed
@@ -56730,9 +56702,7 @@
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
OPENWIN_HOME="/usr/openwin"
X_CFLAGS="-I$SYSROOT$OPENWIN_HOME/include -I$SYSROOT$OPENWIN_HOME/include/X11/extensions"
- X_LIBS="-L$SYSROOT$OPENWIN_HOME/sfw/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$SYSROOT$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR \
- -R$OPENWIN_HOME/sfw/lib$OPENJDK_TARGET_CPU_ISADIR \
+ X_LIBS="-L$SYSROOT$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR \
-R$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR"
fi
@@ -56911,23 +56881,6 @@
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 $SYSROOT/opt/sfw/cups/include/cups/cups.h; then
- # An SFW package seems to be installed!
- CUPS_FOUND=yes
- CUPS_CFLAGS="-I$SYSROOT/opt/sfw/cups/include"
- elif test -s $SYSROOT/opt/csw/include/cups/cups.h; then
- # A CSW package seems to be installed!
- CUPS_FOUND=yes
- CUPS_CFLAGS="-I$SYSROOT/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: freetype, cups, alsa etc
@@ -61167,346 +61120,6 @@
fi
if test "x$FOUND_FREETYPE" != xyes; then
- FREETYPE_BASE_DIR="$SYSROOT/usr/sfw"
-
- POTENTIAL_FREETYPE_INCLUDE_PATH="$FREETYPE_BASE_DIR/include"
- POTENTIAL_FREETYPE_LIB_PATH="$FREETYPE_BASE_DIR/lib"
- METHOD="well-known location"
-
- # Let's start with an optimistic view of the world :-)
- FOUND_FREETYPE=yes
-
- # First look for the canonical freetype main include file ft2build.h.
- if ! test -s "$POTENTIAL_FREETYPE_INCLUDE_PATH/ft2build.h"; then
- # Oh no! Let's try in the freetype2 directory. This is needed at least at Mac OS X Yosemite.
- POTENTIAL_FREETYPE_INCLUDE_PATH="$POTENTIAL_FREETYPE_INCLUDE_PATH/freetype2"
- if ! test -s "$POTENTIAL_FREETYPE_INCLUDE_PATH/ft2build.h"; then
- # Fail.
- FOUND_FREETYPE=no
- fi
- fi
-
- if test "x$FOUND_FREETYPE" = xyes; then
- # Include file found, let's continue the sanity check.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found freetype include files at $POTENTIAL_FREETYPE_INCLUDE_PATH using $METHOD" >&5
-$as_echo "$as_me: Found freetype include files at $POTENTIAL_FREETYPE_INCLUDE_PATH using $METHOD" >&6;}
-
- # Reset to default value
- FREETYPE_BASE_NAME=freetype
- FREETYPE_LIB_NAME="${LIBRARY_PREFIX}${FREETYPE_BASE_NAME}${SHARED_LIBRARY_SUFFIX}"
- if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME"; then
- if test "x$OPENJDK_TARGET_OS" = xmacosx \
- && test -s "$POTENTIAL_FREETYPE_LIB_PATH/${LIBRARY_PREFIX}freetype.6${SHARED_LIBRARY_SUFFIX}"; then
- # On Mac OS X Yosemite, the symlink from libfreetype.dylib to libfreetype.6.dylib disappeared. Check
- # for the .6 version explicitly.
- FREETYPE_BASE_NAME=freetype.6
- FREETYPE_LIB_NAME="${LIBRARY_PREFIX}${FREETYPE_BASE_NAME}${SHARED_LIBRARY_SUFFIX}"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Compensating for missing symlink by using version 6 explicitly" >&5
-$as_echo "$as_me: Compensating for missing symlink by using version 6 explicitly" >&6;}
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location." >&5
-$as_echo "$as_me: Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location." >&6;}
- FOUND_FREETYPE=no
- fi
- else
- if test "x$OPENJDK_TARGET_OS" = xwindows; then
- # On Windows, we will need both .lib and .dll file.
- if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/${FREETYPE_BASE_NAME}.lib"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $POTENTIAL_FREETYPE_LIB_PATH/${FREETYPE_BASE_NAME}.lib. Ignoring location." >&5
-$as_echo "$as_me: Could not find $POTENTIAL_FREETYPE_LIB_PATH/${FREETYPE_BASE_NAME}.lib. Ignoring location." >&6;}
- FOUND_FREETYPE=no
- fi
- elif test "x$OPENJDK_TARGET_OS" = xsolaris \
- && test -s "$POTENTIAL_FREETYPE_LIB_PATH$OPENJDK_TARGET_CPU_ISADIR/$FREETYPE_LIB_NAME"; then
- # Found lib in isa dir, use that instead.
- POTENTIAL_FREETYPE_LIB_PATH="$POTENTIAL_FREETYPE_LIB_PATH$OPENJDK_TARGET_CPU_ISADIR"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting to use $POTENTIAL_FREETYPE_LIB_PATH instead" >&5
-$as_echo "$as_me: Rewriting to use $POTENTIAL_FREETYPE_LIB_PATH instead" >&6;}
- fi
- fi
- fi
-
- if test "x$FOUND_FREETYPE" = xyes; then
-
- # Only process if variable expands to non-empty
-
- if test "x$POTENTIAL_FREETYPE_INCLUDE_PATH" != x; then
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- path="$POTENTIAL_FREETYPE_INCLUDE_PATH"
- new_path=`$CYGPATH -u "$path"`
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file precense.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Cannot locate the the path of POTENTIAL_FREETYPE_INCLUDE_PATH" "$LINENO" 5
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-style (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
-
- if test "x$path" != "x$new_path"; then
- POTENTIAL_FREETYPE_INCLUDE_PATH="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting POTENTIAL_FREETYPE_INCLUDE_PATH to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting POTENTIAL_FREETYPE_INCLUDE_PATH to \"$new_path\"" >&6;}
- fi
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- path="$POTENTIAL_FREETYPE_INCLUDE_PATH"
- has_colon=`$ECHO $path | $GREP ^.:`
- new_path="$path"
- if test "x$has_colon" = x; then
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $path`
- fi
-
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- if test "x$path" != "x$new_path"; then
- POTENTIAL_FREETYPE_INCLUDE_PATH="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting POTENTIAL_FREETYPE_INCLUDE_PATH to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting POTENTIAL_FREETYPE_INCLUDE_PATH to \"$new_path\"" >&6;}
- fi
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
-
- else
- # We're on a unix platform. Hooray! :)
- path="$POTENTIAL_FREETYPE_INCLUDE_PATH"
- has_space=`$ECHO "$path" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
- fi
-
- # Use eval to expand a potential ~
- eval path="$path"
- if test ! -f "$path" && test ! -d "$path"; then
- as_fn_error $? "The path of POTENTIAL_FREETYPE_INCLUDE_PATH, which resolves as \"$path\", is not found." "$LINENO" 5
- fi
-
- if test -d "$path"; then
- POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$path"; $THEPWDCMD -L`"
- else
- dir="`$DIRNAME "$path"`"
- base="`$BASENAME "$path"`"
- POTENTIAL_FREETYPE_INCLUDE_PATH="`cd "$dir"; $THEPWDCMD -L`/$base"
- fi
- fi
- fi
-
-
- # Only process if variable expands to non-empty
-
- if test "x$POTENTIAL_FREETYPE_LIB_PATH" != x; then
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- path="$POTENTIAL_FREETYPE_LIB_PATH"
- new_path=`$CYGPATH -u "$path"`
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file precense.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Cannot locate the the path of POTENTIAL_FREETYPE_LIB_PATH" "$LINENO" 5
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-style (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
-
- if test "x$path" != "x$new_path"; then
- POTENTIAL_FREETYPE_LIB_PATH="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting POTENTIAL_FREETYPE_LIB_PATH to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting POTENTIAL_FREETYPE_LIB_PATH to \"$new_path\"" >&6;}
- fi
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- path="$POTENTIAL_FREETYPE_LIB_PATH"
- has_colon=`$ECHO $path | $GREP ^.:`
- new_path="$path"
- if test "x$has_colon" = x; then
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $path`
- fi
-
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- if test "x$path" != "x$new_path"; then
- POTENTIAL_FREETYPE_LIB_PATH="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting POTENTIAL_FREETYPE_LIB_PATH to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting POTENTIAL_FREETYPE_LIB_PATH to \"$new_path\"" >&6;}
- fi
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
-
- else
- # We're on a unix platform. Hooray! :)
- path="$POTENTIAL_FREETYPE_LIB_PATH"
- has_space=`$ECHO "$path" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
- fi
-
- # Use eval to expand a potential ~
- eval path="$path"
- if test ! -f "$path" && test ! -d "$path"; then
- as_fn_error $? "The path of POTENTIAL_FREETYPE_LIB_PATH, which resolves as \"$path\", is not found." "$LINENO" 5
- fi
-
- if test -d "$path"; then
- POTENTIAL_FREETYPE_LIB_PATH="`cd "$path"; $THEPWDCMD -L`"
- else
- dir="`$DIRNAME "$path"`"
- base="`$BASENAME "$path"`"
- POTENTIAL_FREETYPE_LIB_PATH="`cd "$dir"; $THEPWDCMD -L`/$base"
- fi
- fi
- fi
-
-
- FREETYPE_INCLUDE_PATH="$POTENTIAL_FREETYPE_INCLUDE_PATH"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype includes" >&5
-$as_echo_n "checking for freetype includes... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_INCLUDE_PATH" >&5
-$as_echo "$FREETYPE_INCLUDE_PATH" >&6; }
- FREETYPE_LIB_PATH="$POTENTIAL_FREETYPE_LIB_PATH"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype libraries" >&5
-$as_echo_n "checking for freetype libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_LIB_PATH" >&5
-$as_echo "$FREETYPE_LIB_PATH" >&6; }
- fi
-
- fi
-
- if test "x$FOUND_FREETYPE" != xyes; then
FREETYPE_BASE_DIR="$SYSROOT/usr"
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/jdk-options.m4
--- a/common/autoconf/jdk-options.m4 Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/jdk-options.m4 Wed Jul 05 22:15:09 2017 +0200
@@ -134,32 +134,25 @@
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 without a graphical UI?
+ AC_MSG_CHECKING([headless only])
+ AC_ARG_ENABLE([headless-only], [AS_HELP_STRING([--enable-headless-only],
+ [only build headless (no GUI) support @<:@disabled@:>@])])
- 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"
+ if test "x$enable_headless_only" = "xyes"; then
+ ENABLE_HEADLESS_ONLY="true"
+ AC_MSG_RESULT([yes])
+ elif test "x$enable_headless_only" = "xno"; then
+ ENABLE_HEADLESS_ONLY="false"
+ AC_MSG_RESULT([no])
+ elif test "x$enable_headless_only" = "x"; then
+ ENABLE_HEADLESS_ONLY="false"
+ AC_MSG_RESULT([no])
+ else
+ AC_MSG_ERROR([--enable-headless-only can only take yes or no])
fi
- if test "x$SUPPORT_HEADFUL" = xno; then
- # Thus we are building headless only.
- BUILD_HEADLESS="BUILD_HEADLESS:=true"
- headful_msg="headless only"
- fi
-
- AC_MSG_RESULT([$headful_msg])
-
- AC_SUBST(SUPPORT_HEADLESS)
- AC_SUBST(SUPPORT_HEADFUL)
- AC_SUBST(BUILD_HEADLESS)
+ AC_SUBST(ENABLE_HEADLESS_ONLY)
# Choose cacerts source file
AC_ARG_WITH(cacerts-file, [AS_HELP_STRING([--with-cacerts-file],
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/lib-cups.m4
--- a/common/autoconf/lib-cups.m4 Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/lib-cups.m4 Wed Jul 05 22:15:09 2017 +0200
@@ -76,21 +76,6 @@
])
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 $SYSROOT/opt/sfw/cups/include/cups/cups.h; then
- # An SFW package seems to be installed!
- CUPS_FOUND=yes
- CUPS_CFLAGS="-I$SYSROOT/opt/sfw/cups/include"
- elif test -s $SYSROOT/opt/csw/include/cups/cups.h; then
- # A CSW package seems to be installed!
- CUPS_FOUND=yes
- CUPS_CFLAGS="-I$SYSROOT/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
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/lib-freetype.m4
--- a/common/autoconf/lib-freetype.m4 Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/lib-freetype.m4 Wed Jul 05 22:15:09 2017 +0200
@@ -358,11 +358,6 @@
fi
if test "x$FOUND_FREETYPE" != xyes; then
- FREETYPE_BASE_DIR="$SYSROOT/usr/sfw"
- LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
- fi
-
- if test "x$FOUND_FREETYPE" != xyes; then
FREETYPE_BASE_DIR="$SYSROOT/usr"
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib/x86_64-linux-gnu], [well-known location])
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/lib-x11.m4
--- a/common/autoconf/lib-x11.m4 Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/lib-x11.m4 Wed Jul 05 22:15:09 2017 +0200
@@ -91,9 +91,7 @@
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
OPENWIN_HOME="/usr/openwin"
X_CFLAGS="-I$SYSROOT$OPENWIN_HOME/include -I$SYSROOT$OPENWIN_HOME/include/X11/extensions"
- X_LIBS="-L$SYSROOT$OPENWIN_HOME/sfw/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$SYSROOT$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR \
- -R$OPENWIN_HOME/sfw/lib$OPENJDK_TARGET_CPU_ISADIR \
+ X_LIBS="-L$SYSROOT$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR \
-R$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR"
fi
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/libraries.m4
--- a/common/autoconf/libraries.m4 Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/libraries.m4 Wed Jul 05 22:15:09 2017 +0200
@@ -42,13 +42,9 @@
# No X11 support on windows or macosx
NEEDS_LIB_X11=false
else
- if test "x$SUPPORT_HEADFUL" = xno; then
- # No X11 support if building headless-only
- NEEDS_LIB_X11=false
- else
- # All other instances need X11
- NEEDS_LIB_X11=true
- fi
+ # All other instances need X11, even if building headless only, libawt still
+ # needs X11 headers.
+ NEEDS_LIB_X11=true
fi
# Check if cups is needed
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/spec.gmk.in
--- a/common/autoconf/spec.gmk.in Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/spec.gmk.in Wed Jul 05 22:15:09 2017 +0200
@@ -241,12 +241,8 @@
# Control use of precompiled header in hotspot libjvm build
USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
-# Should we compile support for running with a graphical UI? (ie headful)
-# Should we compile support for running without? (ie headless)
-SUPPORT_HEADFUL:=@SUPPORT_HEADFUL@
-SUPPORT_HEADLESS:=@SUPPORT_HEADLESS@
-# Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options.
-@BUILD_HEADLESS@
+# Only build headless support or not
+ENABLE_HEADLESS_ONLY := @ENABLE_HEADLESS_ONLY@
# Legacy support
USE_NEW_HOTSPOT_BUILD:=@USE_NEW_HOTSPOT_BUILD@
diff -r b4b4c1119f39 -r beab448904d3 common/autoconf/toolchain.m4
--- a/common/autoconf/toolchain.m4 Thu Sep 22 18:32:20 2016 +0000
+++ b/common/autoconf/toolchain.m4 Wed Jul 05 22:15:09 2017 +0200
@@ -294,14 +294,6 @@
fi
AC_SUBST(TOOLCHAIN_VERSION)
- # For solaris we really need solaris tools, and not the GNU equivalent.
- # The build tools on Solaris reside in /usr/ccs (C Compilation System),
- # so add that to path before starting to probe.
- # FIXME: This was originally only done for AS,NM,GNM,STRIP,OBJCOPY,OBJDUMP.
- if test "x$OPENJDK_BUILD_OS" = xsolaris; then
- PATH="/usr/ccs/bin:$PATH"
- fi
-
# Finally add TOOLCHAIN_PATH at the beginning, to allow --with-tools-dir to
# override all other locations.
if test "x$TOOLCHAIN_PATH" != x; then
diff -r b4b4c1119f39 -r beab448904d3 common/conf/jib-profiles.js
--- a/common/conf/jib-profiles.js Thu Sep 22 18:32:20 2016 +0000
+++ b/common/conf/jib-profiles.js Wed Jul 05 22:15:09 2017 +0200
@@ -224,6 +224,23 @@
common.configure_args_slowdebug = ["--with-debug-level=slowdebug"],
common.organization = "jpg.infra.builddeps"
+ var boot_jdk_revision = "8";
+ var boot_jdk_subdirpart = "1.8.0";
+ // JDK 8 does not work on sparc M7 cpus, need a newer update when building
+ // on such hardware.
+ if (input.build_cpu == "sparcv9") {
+ var cpu_brand = $EXEC("bash -c \"kstat -m cpu_info | grep brand | head -n1 | awk '{ print \$2 }'\"");
+ if (cpu_brand.trim() == 'SPARC-M7') {
+ boot_jdk_revision = "8u20";
+ boot_jdk_subdirpart = "1.8.0_20";
+ }
+ }
+ common.boot_jdk_revision = boot_jdk_revision;
+ common.boot_jdk_subdirpart = boot_jdk_subdirpart;
+ common.boot_jdk_home = input.get("boot_jdk", "home_path") + "/jdk"
+ + common.boot_jdk_subdirpart
+ + (input.build_os == "macosx" ? ".jdk/Contents/Home" : "");
+
return common;
};
@@ -333,8 +350,11 @@
"run-test": {
target_os: input.build_os,
target_cpu: input.build_cpu,
- dependencies: [ "jtreg", "gnumake" ],
- labels: "test"
+ dependencies: [ "jtreg", "gnumake", "boot_jdk" ],
+ labels: "test",
+ environment: {
+ "JT_JAVA": common.boot_jdk_home
+ }
}
};
profiles = concatObjects(profiles, testOnlyProfiles);
@@ -357,18 +377,6 @@
var boot_jdk_platform = input.build_os + "-"
+ (input.build_cpu == "x86" ? "i586" : input.build_cpu);
- var boot_jdk_revision = "8";
- var boot_jdk_subdirpart = "1.8.0";
- // JDK 8 does not work on sparc M7 cpus, need a newer update when building
- // on such hardware.
- if (input.build_cpu == "sparcv9") {
- var cpu_brand = $EXEC("bash -c \"kstat -m cpu_info | grep brand | head -n1 | awk '{ print \$2 }'\"");
- if (cpu_brand.trim() == 'SPARC-M7') {
- boot_jdk_revision = "8u20";
- boot_jdk_subdirpart = "1.8.0_20";
- }
- }
-
var devkit_platform_revisions = {
linux_x64: "gcc4.9.2-OEL6.4+1.0",
macosx_x64: "Xcode6.3-MacOSX10.9+1.0",
@@ -386,12 +394,12 @@
boot_jdk: {
server: "javare",
module: "jdk",
- revision: boot_jdk_revision,
+ revision: common.boot_jdk_revision,
checksum_file: boot_jdk_platform + "/MD5_VALUES",
- file: boot_jdk_platform + "/jdk-" + boot_jdk_revision + "-" + boot_jdk_platform + ".tar.gz",
- configure_args: (input.build_os == "macosx"
- ? "--with-boot-jdk=" + input.get("boot_jdk", "install_path") + "/jdk" + boot_jdk_subdirpart + ".jdk/Contents/Home"
- : "--with-boot-jdk=" + input.get("boot_jdk", "install_path") + "/jdk" + boot_jdk_subdirpart)
+ file: boot_jdk_platform + "/jdk-" + common.boot_jdk_revision
+ + "-" + boot_jdk_platform + ".tar.gz",
+ configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
+ environment_path: common.boot_jdk_home
},
devkit: {
@@ -420,7 +428,8 @@
build_number: "b03",
checksum_file: "MD5_VALUES",
file: "jtreg_bin-4.2.zip",
- environment_name: "JT_HOME"
+ environment_name: "JT_HOME",
+ environment_path: input.get("jtreg", "install_path") + "/jtreg/bin"
},
gnumake: {
diff -r b4b4c1119f39 -r beab448904d3 make/MainSupport.gmk
--- a/make/MainSupport.gmk Thu Sep 22 18:32:20 2016 +0000
+++ b/make/MainSupport.gmk Wed Jul 05 22:15:09 2017 +0200
@@ -31,11 +31,13 @@
_MAINSUPPORT_GMK := 1
# Run the tests specified by $1, with PRODUCT_HOME specified by $2
+# JT_JAVA is picked up by the jtreg launcher and used to run Jtreg itself.
define RunTests
($(CD) $(SRC_ROOT)/test && $(MAKE) $(MAKE_ARGS) -j1 -k MAKEFLAGS= \
JT_HOME=$(JT_HOME) PRODUCT_HOME=$(strip $2) \
TEST_IMAGE_DIR=$(TEST_IMAGE_DIR) \
ALT_OUTPUTDIR=$(OUTPUT_ROOT) TEST_JOBS=$(TEST_JOBS) \
+ JT_JAVA=$(BOOT_JDK) \
JOBS=$(JOBS) $1) || true
endef
diff -r b4b4c1119f39 -r beab448904d3 test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/GatherDiagnosticInfoObserver.java
--- a/test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/GatherDiagnosticInfoObserver.java Thu Sep 22 18:32:20 2016 +0000
+++ b/test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/GatherDiagnosticInfoObserver.java Wed Jul 05 22:15:09 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, 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
@@ -26,8 +26,7 @@
import com.sun.javatest.Harness;
import com.sun.javatest.Parameters;
import com.sun.javatest.TestResult;
-import com.sun.javatest.regtest.RegressionParameters;
-import com.sun.javatest.regtest.OS;
+import com.sun.javatest.InterviewParameters;
import jdk.test.failurehandler.*;
import java.io.File;
@@ -119,7 +118,7 @@
@Override
public void startingTestRun(Parameters params) {
// TODO find a better way to get JDKs
- RegressionParameters rp = (RegressionParameters) params;
+ InterviewParameters rp = (InterviewParameters) params;
Map,?> map = new HashMap<>();
rp.save(map);
compileJdk = (String) map.get("regtest.compilejdk");
diff -r b4b4c1119f39 -r beab448904d3 test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/GatherProcessInfoTimeoutHandler.java
--- a/test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/GatherProcessInfoTimeoutHandler.java Thu Sep 22 18:32:20 2016 +0000
+++ b/test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/GatherProcessInfoTimeoutHandler.java Wed Jul 05 22:15:09 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,6 @@
package jdk.test.failurehandler.jtreg;
-import com.sun.javatest.regtest.OS;
import com.sun.javatest.regtest.TimeoutHandler;
import jdk.test.failurehandler.*;
diff -r b4b4c1119f39 -r beab448904d3 test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/OS.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/failure_handler/src/share/classes/jdk/test/failurehandler/jtreg/OS.java Wed Jul 05 22:15:09 2017 +0200
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2016, 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 jdk.test.failurehandler.jtreg;
+
+// Stripped down version of jtreg internal class com.sun.javatest.regtest.config.OS
+class OS {
+ public final String family;
+
+ private static OS current;
+
+ public static OS current() {
+ if (current == null) {
+ String name = System.getProperty("os.name");
+ current = new OS(name);
+ }
+ return current;
+ }
+
+ private OS(String name) {
+ if (name.startsWith("Linux")) {
+ family = "linux";
+ } else if (name.startsWith("Mac") || name.startsWith("Darwin")) {
+ family = "mac";
+ } else if (name.startsWith("SunOS") || name.startsWith("Solaris")) {
+ family = "solaris";
+ } else if (name.startsWith("Windows")) {
+ family = "windows";
+ } else {
+ // use first word of name
+ family = name.replaceFirst("^([^ ]+).*", "$1");
+ }
+ }
+}
+
+
diff -r b4b4c1119f39 -r beab448904d3 test/lib/jdk/test/lib/Platform.java
--- a/test/lib/jdk/test/lib/Platform.java Thu Sep 22 18:32:20 2016 +0000
+++ b/test/lib/jdk/test/lib/Platform.java Wed Jul 05 22:15:09 2017 +0200
@@ -116,6 +116,14 @@
return (jdkDebug.toLowerCase().contains("debug"));
}
+ public static boolean isSlowDebugBuild() {
+ return (jdkDebug.toLowerCase().equals("slowdebug"));
+ }
+
+ public static boolean isFastDebugBuild() {
+ return (jdkDebug.toLowerCase().equals("fastdebug"));
+ }
+
public static String getVMVersion() {
return vmVersion;
}
diff -r b4b4c1119f39 -r beab448904d3 test/lib/jdk/test/lib/unsafe/UnsafeHelper.java
--- a/test/lib/jdk/test/lib/unsafe/UnsafeHelper.java Thu Sep 22 18:32:20 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2016, 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 jdk.test.lib.unsafe;
-
-import jdk.internal.misc.Unsafe;
-import java.lang.reflect.Field;
-
-
-/**
- * Helper class for accessing the jdk.internal.misc.Unsafe functionality
- */
-public final class UnsafeHelper {
- private static Unsafe unsafe = null;
-
- /**
- * @return Unsafe instance.
- */
- public static synchronized Unsafe getUnsafe() {
- if (unsafe == null) {
- try {
- Field f = Unsafe.class.getDeclaredField("theUnsafe");
- f.setAccessible(true);
- unsafe = (Unsafe) f.get(null);
- } catch (NoSuchFieldException | IllegalAccessException e) {
- throw new RuntimeException("Unable to get Unsafe instance.", e);
- }
- }
- return unsafe;
- }
-}
-