This commit is contained in:
J. Duke 2017-07-05 21:19:53 +02:00
commit b654fe7ca0
24 changed files with 1546 additions and 882 deletions

View File

@ -347,3 +347,4 @@ c4d72a1620835b5d657b7b6792c2879367d0154f jdk-9+101
6406ecf5d39482623225bb1b3098c2cac6f7d450 jdk-9+102 6406ecf5d39482623225bb1b3098c2cac6f7d450 jdk-9+102
47d6462e514b2097663305a57d9c844c15d5b609 jdk-9+103 47d6462e514b2097663305a57d9c844c15d5b609 jdk-9+103
9a38f8b4ba220708db198d08d82fd2144a64777d jdk-9+104 9a38f8b4ba220708db198d08d82fd2144a64777d jdk-9+104
be58b02c11f90b88c67e4d0e2cb5e4cf2d9b3c57 jdk-9+105

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -36,11 +36,11 @@
# "ARG_FOO". # "ARG_FOO".
# #
# The generated function can be called like this: # The generated function can be called like this:
# MYFUNC(FOO: [foo-val], BAR: # MYFUNC(FOO: [foo-val],
# [ # BAR: [
# $ECHO hello world # $ECHO hello world
# ]) # ])
# # Note that the argument value must start on the same line as the argument name.
# #
# Argument 1: Name of the function to define # Argument 1: Name of the function to define
# Argument 2: List of legal named arguments, with a * prefix for required arguments # Argument 2: List of legal named arguments, with a * prefix for required arguments

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -72,7 +72,7 @@ AC_DEFUN([BPERF_CHECK_MEMORY_SIZE],
FOUND_MEM=yes FOUND_MEM=yes
elif test -x /usr/sbin/prtconf; then elif test -x /usr/sbin/prtconf; then
# Looks like a Solaris or AIX system # Looks like a Solaris or AIX system
MEMORY_SIZE=`/usr/sbin/prtconf | grep "^Memory [[Ss]]ize" | awk '{ print [$]3 }'` MEMORY_SIZE=`/usr/sbin/prtconf 2> /dev/null | grep "^Memory [[Ss]]ize" | awk '{ print [$]3 }'`
FOUND_MEM=yes FOUND_MEM=yes
elif test -x /usr/sbin/sysctl; then elif test -x /usr/sbin/sysctl; then
# Looks like a MacOSX system # Looks like a MacOSX system
@ -260,8 +260,8 @@ AC_DEFUN([BPERF_SETUP_CCACHE_USAGE],
# #
AC_DEFUN([BPERF_RUN_ICECC_CREATE_ENV], AC_DEFUN([BPERF_RUN_ICECC_CREATE_ENV],
[ [
cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ ( cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
&& ${ICECC_CREATE_ENV} $1 > $2 2>&1 && ${ICECC_CREATE_ENV} $1 > $2 2>&1 )
if test "$?" != "0"; then if test "$?" != "0"; then
AC_MSG_NOTICE([icecc-create-env output:]) AC_MSG_NOTICE([icecc-create-env output:])
cat $2 cat $2

View File

@ -33,6 +33,7 @@ export LEGACY_BUILD_DIR=@OPENJDK_TARGET_OS@-@OPENJDK_TARGET_CPU_LEGACY@
export OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@" export OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@"
export OPENJDK_TARGET_CPU="@OPENJDK_TARGET_CPU@" export OPENJDK_TARGET_CPU="@OPENJDK_TARGET_CPU@"
export OPENJDK_TARGET_CPU_LIBDIR="@OPENJDK_TARGET_CPU_LIBDIR@"
export AWK="@AWK@" export AWK="@AWK@"
export BASH="@BASH@" export BASH="@BASH@"

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# #
# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -283,8 +283,9 @@ Additional (non-autoconf) OpenJDK Options:
EOT EOT
# Print list of toolchains. This must be done by the autoconf script. # Print additional help, e.g. a list of toolchains.
( CONFIGURE_PRINT_TOOLCHAIN_LIST=true . $conf_script_to_run PRINTF=printf ) # This must be done by the autoconf script.
( CONFIGURE_PRINT_ADDITIONAL_HELP=true . $conf_script_to_run PRINTF=printf )
cat <<EOT cat <<EOT

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -189,8 +189,6 @@ TOOLCHAIN_SETUP_JTREG
FLAGS_SETUP_INIT_FLAGS FLAGS_SETUP_INIT_FLAGS
# FIXME: Currently we must test this after toolchain but before flags. Fix!
# Now we can test some aspects on the target using configure macros. # Now we can test some aspects on the target using configure macros.
PLATFORM_SETUP_OPENJDK_TARGET_BITS PLATFORM_SETUP_OPENJDK_TARGET_BITS
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS

View File

@ -206,7 +206,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
# On Windows, we need to set RC flags. # On Windows, we need to set RC flags.
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
RC_FLAGS="-nologo -l0x409" RC_FLAGS="-nologo -l0x409"
if test "x$VARIANT" = xOPT; then if test "x$DEBUG_LEVEL" = xrelease; then
RC_FLAGS="$RC_FLAGS -DNDEBUG" RC_FLAGS="$RC_FLAGS -DNDEBUG"
fi fi
@ -254,7 +254,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS],
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.' SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.'
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1' SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
SET_SHARED_LIBRARY_MAPFILE='' SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,[$]1'
else else
# Default works for linux, might work on other platforms as well. # Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared' SHARED_LIBRARY_FLAGS='-shared'
@ -274,7 +274,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS],
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.' SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.'
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1' SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
SET_SHARED_LIBRARY_MAPFILE='' SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,[$]1'
else else
# Default works for linux, might work on other platforms as well. # Default works for linux, might work on other platforms as well.
PICFLAG='-fPIC' PICFLAG='-fPIC'
@ -310,7 +310,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS],
SET_EXECUTABLE_ORIGIN='' SET_EXECUTABLE_ORIGIN=''
SET_SHARED_LIBRARY_ORIGIN='' SET_SHARED_LIBRARY_ORIGIN=''
SET_SHARED_LIBRARY_NAME='' SET_SHARED_LIBRARY_NAME=''
SET_SHARED_LIBRARY_MAPFILE='' SET_SHARED_LIBRARY_MAPFILE='-def:[$]1'
fi fi
AC_SUBST(C_FLAG_REORDER) AC_SUBST(C_FLAG_REORDER)
@ -423,6 +423,10 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
# no adjustment # no adjustment
;; ;;
slowdebug ) slowdebug )
# FIXME: By adding this to C(XX)FLAGS_DEBUG_OPTIONS it
# get's added conditionally on whether we produce debug symbols or not.
# This is most likely not really correct.
# Add runtime stack smashing and undefined behavior checks. # Add runtime stack smashing and undefined behavior checks.
# Not all versions of gcc support -fstack-protector # Not all versions of gcc support -fstack-protector
STACK_PROTECTOR_CFLAG="-fstack-protector-all" STACK_PROTECTOR_CFLAG="-fstack-protector-all"
@ -463,7 +467,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra" 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_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_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
C_O_FLAG_DEBUG="" CXX_O_FLAG_DEBUG=""
CXX_O_FLAG_NONE="" CXX_O_FLAG_NONE=""
fi fi
else else
@ -646,8 +650,8 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
# avoid bundling msvcpNNN.dll. Doesn't work with newer versions of visual # avoid bundling msvcpNNN.dll. Doesn't work with newer versions of visual
# studio. # studio.
if test "x$TOOLCHAIN_VERSION" = "x2010"; then if test "x$TOOLCHAIN_VERSION" = "x2010"; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \ STATIC_CPPLIB_FLAGS="-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB"
-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB" COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK $STATIC_CPPLIB_FLAGS"
fi fi
fi fi
@ -715,9 +719,6 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
# Set some additional per-OS defines. # Set some additional per-OS defines.
if test "x$OPENJDK_TARGET_OS" = xmacosx; then if test "x$OPENJDK_TARGET_OS" = xmacosx; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
elif test "x$OPENJDK_TARGET_OS" = xaix; then
# FIXME: PPC64 should not be here.
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DPPC64"
elif test "x$OPENJDK_TARGET_OS" = xbsd; then elif test "x$OPENJDK_TARGET_OS" = xbsd; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE" COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE"
fi fi
@ -775,36 +776,34 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
# Setup LDFLAGS et al. # Setup LDFLAGS et al.
# #
# 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$TOOLCHAIN_TYPE" = xmicrosoft; then if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
LDFLAGS_JDK="$LDFLAGS_JDK -nologo -opt:ref -incremental:no" LDFLAGS_MICROSOFT="-nologo -opt:ref"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_MICROSOFT -incremental:no"
if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
LDFLAGS_JDK="$LDFLAGS_JDK -safeseh" LDFLAGS_SAFESH="-safeseh"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SAFESH"
fi fi
# TODO: make -debug optional "--disable-full-debug-symbols" # TODO: make -debug optional "--disable-full-debug-symbols"
LDFLAGS_JDK="$LDFLAGS_JDK -debug" LDFLAGS_MICROSOFT_DEBUG="-debug"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_MICROSOFT_DEBUG"
elif test "x$TOOLCHAIN_TYPE" = xgcc; then elif test "x$TOOLCHAIN_TYPE" = xgcc; then
# If this is a --hash-style=gnu system, use --hash-style=both, why? # If this is a --hash-style=gnu system, use --hash-style=both, why?
# We have previously set HAS_GNU_HASH if this is the case # We have previously set HAS_GNU_HASH if this is the case
if test -n "$HAS_GNU_HASH"; then if test -n "$HAS_GNU_HASH"; then
LDFLAGS_JDK="${LDFLAGS_JDK} -Wl,--hash-style=both" LDFLAGS_HASH_STYLE="-Wl,--hash-style=both"
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_HASH_STYLE"
fi fi
if test "x$OPENJDK_TARGET_OS" = xlinux; then if test "x$OPENJDK_TARGET_OS" = xlinux; then
# And since we now know that the linker is gnu, then add -z defs, to forbid # And since we now know that the linker is gnu, then add -z defs, to forbid
# undefined symbols in object files. # undefined symbols in object files.
LDFLAGS_JDK="${LDFLAGS_JDK} -Wl,-z,defs" LDFLAGS_NO_UNDEF_SYM="-Wl,-z,defs"
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_NO_UNDEF_SYM"
case $DEBUG_LEVEL in case $DEBUG_LEVEL in
release ) release )
# tell linker to optimize libraries. # tell linker to optimize libraries.
# Should this be supplied to the OSS linker as well? # Should this be supplied to the OSS linker as well?
LDFLAGS_JDK="${LDFLAGS_JDK} -Wl,-O1" LDFLAGS_DEBUGLEVEL_release="-Wl,-O1"
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_DEBUGLEVEL_release"
;; ;;
slowdebug ) slowdebug )
if test "x$HAS_LINKER_NOW" = "xtrue"; then if test "x$HAS_LINKER_NOW" = "xtrue"; then
@ -831,10 +830,13 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
esac esac
fi fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,defs -xildoff -ztext" LDFLAGS_SOLSTUDIO="-Wl,-z,defs"
LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib" LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SOLSTUDIO -xildoff -ztext"
LDFLAGS_CXX_SOLSTUDIO="-norunpath"
LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK $LDFLAGS_CXX_SOLSTUDIO -xnolib"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then elif test "x$TOOLCHAIN_TYPE" = xxlc; then
LDFLAGS_JDK="${LDFLAGS_JDK} -brtl -bnolibpath -bexpall -bernotok" LDFLAGS_XLC="-brtl -bnolibpath -bexpall -bernotok"
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_XLC"
fi fi
# Customize LDFLAGS for executables # Customize LDFLAGS for executables
@ -1048,6 +1050,10 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_MISC],
DISABLE_WARNING_PREFIX="-Wno-" DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror" CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
;; ;;
xlc)
DISABLE_WARNING_PREFIX="-qsuppress="
CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w"
;;
esac esac
AC_SUBST(DISABLE_WARNING_PREFIX) AC_SUBST(DISABLE_WARNING_PREFIX)
AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS) AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)

View File

@ -784,6 +784,8 @@ LDCXX
LD LD
CXXCPP CXXCPP
CPP CPP
CXX_VERSION_NUMBER
CC_VERSION_NUMBER
ac_ct_CXX ac_ct_CXX
CXXFLAGS CXXFLAGS
CXX CXX
@ -860,6 +862,7 @@ LAUNCHER_NAME
TEST_IN_BUILD TEST_IN_BUILD
COPYRIGHT_YEAR COPYRIGHT_YEAR
COMPRESS_JARS COMPRESS_JARS
INCLUDE_SA
UNLIMITED_CRYPTO UNLIMITED_CRYPTO
CACERTS_FILE CACERTS_FILE
BUILD_HEADLESS BUILD_HEADLESS
@ -906,7 +909,6 @@ FASTDEBUG
VARIANT VARIANT
DEBUG_LEVEL DEBUG_LEVEL
MACOSX_UNIVERSAL MACOSX_UNIVERSAL
INCLUDE_SA
JVM_VARIANT_CORE JVM_VARIANT_CORE
JVM_VARIANT_ZEROSHARK JVM_VARIANT_ZEROSHARK
JVM_VARIANT_ZERO JVM_VARIANT_ZERO
@ -1926,7 +1928,7 @@ Optional Packages:
--with-jvm-variants JVM variants (separated by commas) to build (server, --with-jvm-variants JVM variants (separated by commas) to build (server,
client, minimal1, zero, zeroshark, core) [server] client, minimal1, zero, zeroshark, core) [server]
--with-debug-level set the debug level (release, fastdebug, slowdebug, --with-debug-level set the debug level (release, fastdebug, slowdebug,
optimized (HotSpot build only)) [release] optimized) [release]
--with-devkit use this devkit for compilers, tools and resources --with-devkit use this devkit for compilers, tools and resources
--with-sys-root alias for --with-sysroot for backwards compatability --with-sys-root alias for --with-sysroot for backwards compatability
--with-sysroot use this directory as sysroot --with-sysroot use this directory as sysroot
@ -2008,7 +2010,7 @@ Optional Packages:
--with-jtreg Regression Test Harness [probed] --with-jtreg Regression Test Harness [probed]
--with-native-debug-symbols --with-native-debug-symbols
set the native debug symbol configuration (none, set the native debug symbol configuration (none,
internal, external, zipped) [zipped] internal, external, zipped) [varying]
--with-stdc++lib=<static>,<dynamic>,<default> --with-stdc++lib=<static>,<dynamic>,<default>
force linking of the C++ runtime on Linux to either force linking of the C++ runtime on Linux to either
static or dynamic, default is static with dynamic as static or dynamic, default is static with dynamic as
@ -3424,7 +3426,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Include these first... # Include these first...
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -3461,11 +3463,11 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# "ARG_FOO". # "ARG_FOO".
# #
# The generated function can be called like this: # The generated function can be called like this:
# MYFUNC(FOO: [foo-val], BAR: # MYFUNC(FOO: [foo-val],
# [ # BAR: [
# $ECHO hello world # $ECHO hello world
# ]) # ])
# # Note that the argument value must start on the same line as the argument name.
# #
# Argument 1: Name of the function to define # Argument 1: Name of the function to define
# Argument 2: List of legal named arguments, with a * prefix for required arguments # Argument 2: List of legal named arguments, with a * prefix for required arguments
@ -3774,7 +3776,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -3927,7 +3929,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -4059,7 +4061,7 @@ pkgadd_help() {
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -4117,7 +4119,7 @@ pkgadd_help() {
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -4625,7 +4627,7 @@ pkgadd_help() {
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -4676,6 +4678,28 @@ TOOLCHAIN_DESCRIPTION_microsoft="Microsoft Visual Studio"
TOOLCHAIN_DESCRIPTION_solstudio="Oracle Solaris Studio" TOOLCHAIN_DESCRIPTION_solstudio="Oracle Solaris Studio"
TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++" TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
# Minimum supported versions, empty means unspecified
TOOLCHAIN_MINIMUM_VERSION_clang="3.2"
TOOLCHAIN_MINIMUM_VERSION_gcc="4.3"
TOOLCHAIN_MINIMUM_VERSION_microsoft=""
TOOLCHAIN_MINIMUM_VERSION_solstudio="5.12"
TOOLCHAIN_MINIMUM_VERSION_xlc=""
# Prepare the system so that TOOLCHAIN_CHECK_COMPILER_VERSION can be called.
# Must have CC_VERSION_NUMBER and CXX_VERSION_NUMBER.
# Check if the configured compiler (C and C++) is of a specific version or
# newer. TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS must have been called before.
#
# Arguments:
# VERSION: The version string to check against the found version
# IF_AT_LEAST: block to run if the compiler is at least this version (>=)
# IF_OLDER_THAN: block to run if the compiler is older than this version (<)
# Setup a number of variables describing how native output files are # Setup a number of variables describing how native output files are
# named on this platform/toolchain. # named on this platform/toolchain.
@ -4836,7 +4860,7 @@ VS_SDK_PLATFORM_NAME_2013=
#CUSTOM_AUTOCONF_INCLUDE #CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks: # Do not change or remove the following line, it is needed for consistency checks:
DATE_WHEN_GENERATED=1454926898 DATE_WHEN_GENERATED=1455271513
############################################################################### ###############################################################################
# #
@ -4850,7 +4874,9 @@ DATE_WHEN_GENERATED=1454926898
# If we are requested to print additional help, do that and then exit. # If we are requested to print additional help, do that and then exit.
# This must be the very first call. # This must be the very first call.
if test "x$CONFIGURE_PRINT_TOOLCHAIN_LIST" != x; then if test "x$CONFIGURE_PRINT_ADDITIONAL_HELP" != x; then
# Print available toolchains
$PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n" $PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
$PRINTF "Which are valid to use depends on the build platform.\n" $PRINTF "Which are valid to use depends on the build platform.\n"
for toolchain in $VALID_TOOLCHAINS_all; do for toolchain in $VALID_TOOLCHAINS_all; do
@ -15826,21 +15852,6 @@ $as_echo "$with_jvm_variants" >&6; }
INCLUDE_SA=true
if test "x$JVM_VARIANT_ZERO" = xtrue ; then
INCLUDE_SA=false
fi
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_OS" = xaix ; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
MACOSX_UNIVERSAL="true" MACOSX_UNIVERSAL="true"
fi fi
@ -15880,7 +15891,7 @@ $as_echo "$DEBUG_LEVEL" >&6; }
test "x$DEBUG_LEVEL" != xoptimized && \ test "x$DEBUG_LEVEL" != xoptimized && \
test "x$DEBUG_LEVEL" != xfastdebug && \ test "x$DEBUG_LEVEL" != xfastdebug && \
test "x$DEBUG_LEVEL" != xslowdebug; then test "x$DEBUG_LEVEL" != xslowdebug; then
as_fn_error $? "Allowed debug levels are: release, fastdebug and slowdebug" "$LINENO" 5 as_fn_error $? "Allowed debug levels are: release, fastdebug, slowdebug and optimized" "$LINENO" 5
fi fi
@ -23244,6 +23255,22 @@ fi
fi fi
# Should we build the serviceability agent (SA)?
INCLUDE_SA=true
if test "x$JVM_VARIANT_ZERO" = xtrue ; then
INCLUDE_SA=false
fi
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_OS" = xaix ; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
INCLUDE_SA=false
fi
# Compress jars # Compress jars
COMPRESS_JARS=false COMPRESS_JARS=false
@ -29850,6 +29877,8 @@ $as_echo "$as_me: Valid toolchains: $VALID_TOOLCHAINS." >&6;}
# Use indirect variable referencing # Use indirect variable referencing
toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
TOOLCHAIN_DESCRIPTION=${!toolchain_var_name} TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
toolchain_var_name=TOOLCHAIN_MINIMUM_VERSION_$TOOLCHAIN_TYPE
TOOLCHAIN_MINIMUM_VERSION=${!toolchain_var_name}
toolchain_var_name=TOOLCHAIN_CC_BINARY_$TOOLCHAIN_TYPE toolchain_var_name=TOOLCHAIN_CC_BINARY_$TOOLCHAIN_TYPE
TOOLCHAIN_CC_BINARY=${!toolchain_var_name} TOOLCHAIN_CC_BINARY=${!toolchain_var_name}
toolchain_var_name=TOOLCHAIN_CXX_BINARY_$TOOLCHAIN_TYPE toolchain_var_name=TOOLCHAIN_CXX_BINARY_$TOOLCHAIN_TYPE
@ -31483,8 +31512,14 @@ $as_echo "$as_me: or run \"bash.exe -l\" from a VS command prompt and then run c
export INCLUDE="$VS_INCLUDE" export INCLUDE="$VS_INCLUDE"
export LIB="$VS_LIB" export LIB="$VS_LIB"
else else
# Currently we do not define this for other toolchains. This might change as the need arise. if test "x$XCODE_VERSION_OUTPUT" != x; then
TOOLCHAIN_VERSION= # For Xcode, we set the Xcode version as TOOLCHAIN_VERSION
TOOLCHAIN_VERSION=`$ECHO $XCODE_VERSION_OUTPUT | $CUT -f 2 -d ' '`
TOOLCHAIN_DESCRIPTION="$TOOLCHAIN_DESCRIPTION from Xcode"
else
# Currently we do not define this for other toolchains. This might change as the need arise.
TOOLCHAIN_VERSION=
fi
fi fi
@ -32191,7 +32226,7 @@ $as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSIO
# Collapse compiler output into a single line # Collapse compiler output into a single line
COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT` COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
$SED -e 's/^.*clang version \([1-9][0-9.]*\).*$/\1/'` $SED -e 's/^.* version \([1-9][0-9.]*\).*$/\1/'`
else else
as_fn_error $? "Unknown toolchain type $TOOLCHAIN_TYPE." "$LINENO" 5 as_fn_error $? "Unknown toolchain type $TOOLCHAIN_TYPE." "$LINENO" 5
fi fi
@ -33488,7 +33523,7 @@ $as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSIO
# Collapse compiler output into a single line # Collapse compiler output into a single line
COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT` COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
$SED -e 's/^.*clang version \([1-9][0-9.]*\).*$/\1/'` $SED -e 's/^.* version \([1-9][0-9.]*\).*$/\1/'`
else else
as_fn_error $? "Unknown toolchain type $TOOLCHAIN_TYPE." "$LINENO" 5 as_fn_error $? "Unknown toolchain type $TOOLCHAIN_TYPE." "$LINENO" 5
fi fi
@ -33760,6 +33795,116 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# This is the compiler version number on the form X.Y[.Z]
if test "x$CC_VERSION_NUMBER" != "x$CXX_VERSION_NUMBER"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C and C++ compiler has different version numbers, $CC_VERSION_NUMBER vs $CXX_VERSION_NUMBER." >&5
$as_echo "$as_me: WARNING: C and C++ compiler has different version numbers, $CC_VERSION_NUMBER vs $CXX_VERSION_NUMBER." >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This typically indicates a broken setup, and is not supported" >&5
$as_echo "$as_me: WARNING: This typically indicates a broken setup, and is not supported" >&2;}
fi
# We only check CC_VERSION_NUMBER since we assume CXX_VERSION_NUMBER is equal.
if [[ "$CC_VERSION_NUMBER" =~ (.*\.){3} ]] ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C compiler version number has more than three parts (X.Y.Z): $CC_VERSION_NUMBER. Comparisons might be wrong." >&5
$as_echo "$as_me: WARNING: C compiler version number has more than three parts (X.Y.Z): $CC_VERSION_NUMBER. Comparisons might be wrong." >&2;}
fi
if [[ "$CC_VERSION_NUMBER" =~ [0-9]{6} ]] ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: C compiler version number has a part larger than 99999: $CC_VERSION_NUMBER. Comparisons might be wrong." >&5
$as_echo "$as_me: WARNING: C compiler version number has a part larger than 99999: $CC_VERSION_NUMBER. Comparisons might be wrong." >&2;}
fi
COMPARABLE_ACTUAL_VERSION=`$AWK -F. '{ printf("%05d%05d%05d\n", $1, $2, $3) }' <<< "$CC_VERSION_NUMBER"`
if test "x$TOOLCHAIN_MINIMUM_VERSION" != x; then
# Execute function body
# Need to assign to a variable since m4 is blocked from modifying parts in [].
REFERENCE_VERSION=$TOOLCHAIN_MINIMUM_VERSION
if [[ "$REFERENCE_VERSION" =~ (.*\.){3} ]] ; then
as_fn_error $? "Internal errror: Cannot compare to $TOOLCHAIN_MINIMUM_VERSION, only three parts (X.Y.Z) is supported" "$LINENO" 5
fi
if [[ "$REFERENCE_VERSION" =~ [0-9]{6} ]] ; then
as_fn_error $? "Internal errror: Cannot compare to $TOOLCHAIN_MINIMUM_VERSION, only parts < 99999 is supported" "$LINENO" 5
fi
# Version comparison method inspired by http://stackoverflow.com/a/24067243
COMPARABLE_REFERENCE_VERSION=`$AWK -F. '{ printf("%05d%05d%05d\n", $1, $2, $3) }' <<< "$REFERENCE_VERSION"`
if test $COMPARABLE_ACTUAL_VERSION -ge $COMPARABLE_REFERENCE_VERSION ; then
:
else
:
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You are using $TOOLCHAIN_TYPE older than $TOOLCHAIN_MINIMUM_VERSION. This is not a supported configuration." >&5
$as_echo "$as_me: WARNING: You are using $TOOLCHAIN_TYPE older than $TOOLCHAIN_MINIMUM_VERSION. This is not a supported configuration." >&2;}
fi
fi
# #
# Setup the preprocessor (CPP and CXXCPP) # Setup the preprocessor (CPP and CXXCPP)
# #
@ -45332,7 +45477,7 @@ $as_echo "no" >&6; }
# On Windows, we need to set RC flags. # On Windows, we need to set RC flags.
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
RC_FLAGS="-nologo -l0x409" RC_FLAGS="-nologo -l0x409"
if test "x$VARIANT" = xOPT; then if test "x$DEBUG_LEVEL" = xrelease; then
RC_FLAGS="$RC_FLAGS -DNDEBUG" RC_FLAGS="$RC_FLAGS -DNDEBUG"
fi fi
@ -45358,8 +45503,6 @@ $as_echo "no" >&6; }
fi fi
# FIXME: Currently we must test this after toolchain but before flags. Fix!
# Now we can test some aspects on the target using configure macros. # Now we can test some aspects on the target using configure macros.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
@ -46015,7 +46158,7 @@ $as_echo "$ac_cv_c_bigendian" >&6; }
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.' SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.'
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/$1' SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/$1'
SET_SHARED_LIBRARY_MAPFILE='' SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,$1'
else else
# Default works for linux, might work on other platforms as well. # Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared' SHARED_LIBRARY_FLAGS='-shared'
@ -46035,7 +46178,7 @@ $as_echo "$ac_cv_c_bigendian" >&6; }
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.' SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.'
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/$1' SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/$1'
SET_SHARED_LIBRARY_MAPFILE='' SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,$1'
else else
# Default works for linux, might work on other platforms as well. # Default works for linux, might work on other platforms as well.
PICFLAG='-fPIC' PICFLAG='-fPIC'
@ -46071,7 +46214,7 @@ $as_echo "$ac_cv_c_bigendian" >&6; }
SET_EXECUTABLE_ORIGIN='' SET_EXECUTABLE_ORIGIN=''
SET_SHARED_LIBRARY_ORIGIN='' SET_SHARED_LIBRARY_ORIGIN=''
SET_SHARED_LIBRARY_NAME='' SET_SHARED_LIBRARY_NAME=''
SET_SHARED_LIBRARY_MAPFILE='' SET_SHARED_LIBRARY_MAPFILE='-def:$1'
fi fi
@ -46151,6 +46294,10 @@ $as_echo "$ac_cv_c_bigendian" >&6; }
# no adjustment # no adjustment
;; ;;
slowdebug ) slowdebug )
# FIXME: By adding this to C(XX)FLAGS_DEBUG_OPTIONS it
# get's added conditionally on whether we produce debug symbols or not.
# This is most likely not really correct.
# Add runtime stack smashing and undefined behavior checks. # Add runtime stack smashing and undefined behavior checks.
# Not all versions of gcc support -fstack-protector # Not all versions of gcc support -fstack-protector
STACK_PROTECTOR_CFLAG="-fstack-protector-all" STACK_PROTECTOR_CFLAG="-fstack-protector-all"
@ -46311,7 +46458,7 @@ $as_echo "$supports" >&6; }
CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra" 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_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_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
C_O_FLAG_DEBUG="" CXX_O_FLAG_DEBUG=""
CXX_O_FLAG_NONE="" CXX_O_FLAG_NONE=""
fi fi
else else
@ -46492,8 +46639,8 @@ $as_echo "$supports" >&6; }
# avoid bundling msvcpNNN.dll. Doesn't work with newer versions of visual # avoid bundling msvcpNNN.dll. Doesn't work with newer versions of visual
# studio. # studio.
if test "x$TOOLCHAIN_VERSION" = "x2010"; then if test "x$TOOLCHAIN_VERSION" = "x2010"; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \ STATIC_CPPLIB_FLAGS="-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB"
-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB" COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK $STATIC_CPPLIB_FLAGS"
fi fi
fi fi
@ -46561,9 +46708,6 @@ $as_echo "$supports" >&6; }
# Set some additional per-OS defines. # Set some additional per-OS defines.
if test "x$OPENJDK_TARGET_OS" = xmacosx; then if test "x$OPENJDK_TARGET_OS" = xmacosx; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
elif test "x$OPENJDK_TARGET_OS" = xaix; then
# FIXME: PPC64 should not be here.
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DPPC64"
elif test "x$OPENJDK_TARGET_OS" = xbsd; then elif test "x$OPENJDK_TARGET_OS" = xbsd; then
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE" COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE"
fi fi
@ -46621,36 +46765,34 @@ $as_echo "$supports" >&6; }
# Setup LDFLAGS et al. # Setup LDFLAGS et al.
# #
# 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$TOOLCHAIN_TYPE" = xmicrosoft; then if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
LDFLAGS_JDK="$LDFLAGS_JDK -nologo -opt:ref -incremental:no" LDFLAGS_MICROSOFT="-nologo -opt:ref"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_MICROSOFT -incremental:no"
if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
LDFLAGS_JDK="$LDFLAGS_JDK -safeseh" LDFLAGS_SAFESH="-safeseh"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SAFESH"
fi fi
# TODO: make -debug optional "--disable-full-debug-symbols" # TODO: make -debug optional "--disable-full-debug-symbols"
LDFLAGS_JDK="$LDFLAGS_JDK -debug" LDFLAGS_MICROSOFT_DEBUG="-debug"
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_MICROSOFT_DEBUG"
elif test "x$TOOLCHAIN_TYPE" = xgcc; then elif test "x$TOOLCHAIN_TYPE" = xgcc; then
# If this is a --hash-style=gnu system, use --hash-style=both, why? # If this is a --hash-style=gnu system, use --hash-style=both, why?
# We have previously set HAS_GNU_HASH if this is the case # We have previously set HAS_GNU_HASH if this is the case
if test -n "$HAS_GNU_HASH"; then if test -n "$HAS_GNU_HASH"; then
LDFLAGS_JDK="${LDFLAGS_JDK} -Wl,--hash-style=both" LDFLAGS_HASH_STYLE="-Wl,--hash-style=both"
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_HASH_STYLE"
fi fi
if test "x$OPENJDK_TARGET_OS" = xlinux; then if test "x$OPENJDK_TARGET_OS" = xlinux; then
# And since we now know that the linker is gnu, then add -z defs, to forbid # And since we now know that the linker is gnu, then add -z defs, to forbid
# undefined symbols in object files. # undefined symbols in object files.
LDFLAGS_JDK="${LDFLAGS_JDK} -Wl,-z,defs" LDFLAGS_NO_UNDEF_SYM="-Wl,-z,defs"
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_NO_UNDEF_SYM"
case $DEBUG_LEVEL in case $DEBUG_LEVEL in
release ) release )
# tell linker to optimize libraries. # tell linker to optimize libraries.
# Should this be supplied to the OSS linker as well? # Should this be supplied to the OSS linker as well?
LDFLAGS_JDK="${LDFLAGS_JDK} -Wl,-O1" LDFLAGS_DEBUGLEVEL_release="-Wl,-O1"
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_DEBUGLEVEL_release"
;; ;;
slowdebug ) slowdebug )
if test "x$HAS_LINKER_NOW" = "xtrue"; then if test "x$HAS_LINKER_NOW" = "xtrue"; then
@ -46677,10 +46819,13 @@ $as_echo "$supports" >&6; }
esac esac
fi fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,defs -xildoff -ztext" LDFLAGS_SOLSTUDIO="-Wl,-z,defs"
LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib" LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SOLSTUDIO -xildoff -ztext"
LDFLAGS_CXX_SOLSTUDIO="-norunpath"
LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK $LDFLAGS_CXX_SOLSTUDIO -xnolib"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then elif test "x$TOOLCHAIN_TYPE" = xxlc; then
LDFLAGS_JDK="${LDFLAGS_JDK} -brtl -bnolibpath -bexpall -bernotok" LDFLAGS_XLC="-brtl -bnolibpath -bexpall -bernotok"
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_XLC"
fi fi
# Customize LDFLAGS for executables # Customize LDFLAGS for executables
@ -47324,6 +47469,10 @@ $as_echo "$supports" >&6; }
DISABLE_WARNING_PREFIX="-Wno-" DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror" CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
;; ;;
xlc)
DISABLE_WARNING_PREFIX="-qsuppress="
CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w"
;;
esac esac
@ -47353,7 +47502,11 @@ else
# AIX doesn't support 'zipped' so use 'internal' as default # AIX doesn't support 'zipped' so use 'internal' as default
with_native_debug_symbols="internal" with_native_debug_symbols="internal"
else else
with_native_debug_symbols="zipped" if test "x$STATIC_BUILD" = xtrue; then
with_native_debug_symbols="none"
else
with_native_debug_symbols="zipped"
fi
fi fi
fi fi
@ -55353,6 +55506,349 @@ $as_echo "$FREETYPE_LIB_PATH" >&6; }
fi fi
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
if test "x$FOUND_FREETYPE" != xyes; then
# Due to changes in OSX 10.11 XQuartz now installs to /opt/X11
FREETYPE_BASE_DIR="$SYSROOT/opt/X11"
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
fi
if test "x$FOUND_FREETYPE" != xyes; then if test "x$FOUND_FREETYPE" != xyes; then
FREETYPE_BASE_DIR="$SYSROOT/usr/sfw" FREETYPE_BASE_DIR="$SYSROOT/usr/sfw"
@ -58396,7 +58892,7 @@ $as_echo_n "checking for memory size... " >&6; }
FOUND_MEM=yes FOUND_MEM=yes
elif test -x /usr/sbin/prtconf; then elif test -x /usr/sbin/prtconf; then
# Looks like a Solaris or AIX system # Looks like a Solaris or AIX system
MEMORY_SIZE=`/usr/sbin/prtconf | grep "^Memory [Ss]ize" | awk '{ print $3 }'` MEMORY_SIZE=`/usr/sbin/prtconf 2> /dev/null | grep "^Memory [Ss]ize" | awk '{ print $3 }'`
FOUND_MEM=yes FOUND_MEM=yes
elif test -x /usr/sbin/sysctl; then elif test -x /usr/sbin/sysctl; then
# Looks like a MacOSX system # Looks like a MacOSX system
@ -59224,9 +59720,9 @@ $as_echo "$tool_specified" >&6; }
fi fi
if test "x${TOOLCHAIN_TYPE}" = "xgcc"; then if test "x${TOOLCHAIN_TYPE}" = "xgcc"; then
cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ ( cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
&& ${ICECC_CREATE_ENV} ${icecc_gcc_arg} ${CC} ${CXX} > \ && ${ICECC_CREATE_ENV} ${icecc_gcc_arg} ${CC} ${CXX} > \
${icecc_create_env_log} 2>&1 ${icecc_create_env_log} 2>&1 )
if test "$?" != "0"; then if test "$?" != "0"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5
$as_echo "$as_me: icecc-create-env output:" >&6;} $as_echo "$as_me: icecc-create-env output:" >&6;}
@ -59443,8 +59939,8 @@ $as_echo "$tool_specified" >&6; }
cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ ( cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
&& ${ICECC_CREATE_ENV} --clang ${CC} ${ICECC_WRAPPER} > ${icecc_create_env_log} 2>&1 && ${ICECC_CREATE_ENV} --clang ${CC} ${ICECC_WRAPPER} > ${icecc_create_env_log} 2>&1 )
if test "$?" != "0"; then if test "$?" != "0"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5
$as_echo "$as_me: icecc-create-env output:" >&6;} $as_echo "$as_me: icecc-create-env output:" >&6;}
@ -59475,9 +59971,9 @@ $as_echo "${ICECC_ENV_BUNDLE}" >&6; }
icecc_create_env_log_build="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env_build.log" icecc_create_env_log_build="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env_build.log"
if test "x${BUILD_CC##*/}" = "xgcc" || test "x${BUILD_CC##*/}" = "xcc"; then if test "x${BUILD_CC##*/}" = "xgcc" || test "x${BUILD_CC##*/}" = "xcc"; then
cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ ( cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
&& ${ICECC_CREATE_ENV} ${icecc_gcc_arg} ${BUILD_CC} ${BUILD_CXX} > \ && ${ICECC_CREATE_ENV} ${icecc_gcc_arg} ${BUILD_CC} ${BUILD_CXX} > \
${icecc_create_env_log_build} 2>&1 ${icecc_create_env_log_build} 2>&1 )
if test "$?" != "0"; then if test "$?" != "0"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5
$as_echo "$as_me: icecc-create-env output:" >&6;} $as_echo "$as_me: icecc-create-env output:" >&6;}
@ -59488,8 +59984,8 @@ $as_echo "$as_me: icecc-create-env output:" >&6;}
elif test "x${BUILD_CC##*/}" = "xclang"; then elif test "x${BUILD_CC##*/}" = "xclang"; then
cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ ( cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
&& ${ICECC_CREATE_ENV} --clang ${BUILD_CC} ${ICECC_WRAPPER} > ${icecc_create_env_log_build} 2>&1 && ${ICECC_CREATE_ENV} --clang ${BUILD_CC} ${ICECC_WRAPPER} > ${icecc_create_env_log_build} 2>&1 )
if test "$?" != "0"; then if test "$?" != "0"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5
$as_echo "$as_me: icecc-create-env output:" >&6;} $as_echo "$as_me: icecc-create-env output:" >&6;}

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -159,7 +159,9 @@ pkgadd_help() {
# called at the very beginning in configure.ac. # called at the very beginning in configure.ac.
AC_DEFUN_ONCE([HELP_PRINT_ADDITIONAL_HELP_AND_EXIT], AC_DEFUN_ONCE([HELP_PRINT_ADDITIONAL_HELP_AND_EXIT],
[ [
if test "x$CONFIGURE_PRINT_TOOLCHAIN_LIST" != x; then if test "x$CONFIGURE_PRINT_ADDITIONAL_HELP" != x; then
# Print available toolchains
$PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n" $PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
$PRINTF "Which are valid to use depends on the build platform.\n" $PRINTF "Which are valid to use depends on the build platform.\n"
for toolchain in $VALID_TOOLCHAINS_all; do for toolchain in $VALID_TOOLCHAINS_all; do

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -114,21 +114,6 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
AC_SUBST(JVM_VARIANT_ZEROSHARK) AC_SUBST(JVM_VARIANT_ZEROSHARK)
AC_SUBST(JVM_VARIANT_CORE) AC_SUBST(JVM_VARIANT_CORE)
INCLUDE_SA=true
if test "x$JVM_VARIANT_ZERO" = xtrue ; then
INCLUDE_SA=false
fi
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_OS" = xaix ; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
INCLUDE_SA=false
fi
AC_SUBST(INCLUDE_SA)
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
MACOSX_UNIVERSAL="true" MACOSX_UNIVERSAL="true"
fi fi

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -66,7 +66,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],
], [ENABLE_DEBUG="no"]) ], [ENABLE_DEBUG="no"])
AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level], AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level],
[set the debug level (release, fastdebug, slowdebug, optimized (HotSpot build only)) @<:@release@:>@])], [set the debug level (release, fastdebug, slowdebug, optimized) @<:@release@:>@])],
[ [
DEBUG_LEVEL="${withval}" DEBUG_LEVEL="${withval}"
if test "x$ENABLE_DEBUG" = xyes; then if test "x$ENABLE_DEBUG" = xyes; then
@ -79,7 +79,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],
test "x$DEBUG_LEVEL" != xoptimized && \ test "x$DEBUG_LEVEL" != xoptimized && \
test "x$DEBUG_LEVEL" != xfastdebug && \ test "x$DEBUG_LEVEL" != xfastdebug && \
test "x$DEBUG_LEVEL" != xslowdebug; then test "x$DEBUG_LEVEL" != xslowdebug; then
AC_MSG_ERROR([Allowed debug levels are: release, fastdebug and slowdebug]) AC_MSG_ERROR([Allowed debug levels are: release, fastdebug, slowdebug and optimized])
fi fi
]) ])
@ -176,6 +176,22 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
fi fi
AC_SUBST(UNLIMITED_CRYPTO) AC_SUBST(UNLIMITED_CRYPTO)
# Should we build the serviceability agent (SA)?
INCLUDE_SA=true
if test "x$JVM_VARIANT_ZERO" = xtrue ; then
INCLUDE_SA=false
fi
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_OS" = xaix ; then
INCLUDE_SA=false
fi
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
INCLUDE_SA=false
fi
AC_SUBST(INCLUDE_SA)
# Compress jars # Compress jars
COMPRESS_JARS=false COMPRESS_JARS=false
@ -222,7 +238,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
AC_MSG_CHECKING([what type of native debug symbols to use]) AC_MSG_CHECKING([what type of native debug symbols to use])
AC_ARG_WITH([native-debug-symbols], AC_ARG_WITH([native-debug-symbols],
[AS_HELP_STRING([--with-native-debug-symbols], [AS_HELP_STRING([--with-native-debug-symbols],
[set the native debug symbol configuration (none, internal, external, zipped) @<:@zipped@:>@])], [set the native debug symbol configuration (none, internal, external, zipped) @<:@varying@:>@])],
[ [
if test "x$OPENJDK_TARGET_OS" = xaix; then if test "x$OPENJDK_TARGET_OS" = xaix; then
if test "x$withval" = xexternal || test "x$withval" = xzipped; then if test "x$withval" = xexternal || test "x$withval" = xzipped; then
@ -235,7 +251,11 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
# AIX doesn't support 'zipped' so use 'internal' as default # AIX doesn't support 'zipped' so use 'internal' as default
with_native_debug_symbols="internal" with_native_debug_symbols="internal"
else else
with_native_debug_symbols="zipped" if test "x$STATIC_BUILD" = xtrue; then
with_native_debug_symbols="none"
else
with_native_debug_symbols="zipped"
fi
fi fi
]) ])
NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols
@ -258,7 +278,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
# Hotspot legacy support, not relevant with COPY_DEBUG_SYMBOLS=true # Hotspot legacy support, not relevant with COPY_DEBUG_SYMBOLS=true
DEBUG_BINARIES=false DEBUG_BINARIES=false
STRIP_POLICY=min_strip STRIP_POLICY=min_strip
elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
COMPILE_WITH_DEBUG_SYMBOLS=false COMPILE_WITH_DEBUG_SYMBOLS=false
COPY_DEBUG_SYMBOLS=false COPY_DEBUG_SYMBOLS=false
@ -275,7 +295,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
DEBUG_BINARIES=true DEBUG_BINARIES=true
STRIP_POLICY=no_strip STRIP_POLICY=no_strip
STRIP="" STRIP=""
elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
@ -356,7 +376,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
################################################################################ ################################################################################
# #
# Static build support. When enabled will generate static # Static build support. When enabled will generate static
# libraries instead of shared libraries for all JDK libs. # libraries instead of shared libraries for all JDK libs.
# #
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD], AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],

View File

@ -349,6 +349,14 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location]) LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
fi fi
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
if test "x$FOUND_FREETYPE" != xyes; then
# Due to changes in OSX 10.11 XQuartz now installs to /opt/X11
FREETYPE_BASE_DIR="$SYSROOT/opt/X11"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
fi
fi
if test "x$FOUND_FREETYPE" != xyes; then if test "x$FOUND_FREETYPE" != xyes; then
FREETYPE_BASE_DIR="$SYSROOT/usr/sfw" FREETYPE_BASE_DIR="$SYSROOT/usr/sfw"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location]) LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -36,10 +36,12 @@ CONFIGURE_COMMAND_LINE:=@CONFIGURE_COMMAND_LINE@
# A self-referential reference to this file. # A self-referential reference to this file.
SPEC:=@SPEC@ SPEC:=@SPEC@
# SPACE is defined in MakeBase.gmk, but it is also used in := rules here for some # SPACE and COMMA are defined in MakeBase.gmk, but they are also used in
# toolchains, and is needed if MakeBase.gmk is not included before this file. # some definitions here, and are needed if MakeBase.gmk is not included before
# this file.
X:= X:=
SPACE:=$(X) $(X) SPACE:=$(X) $(X)
COMMA:=,
# What make to use for main processing, after bootstrapping top-level Makefile. # What make to use for main processing, after bootstrapping top-level Makefile.
MAKE := @MAKE@ MAKE := @MAKE@
@ -350,10 +352,8 @@ CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@
CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@ CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
CXX:=@FIXPATH@ @CCACHE@ @ICECC@ @CXX@ CXX:=@FIXPATH@ @CCACHE@ @ICECC@ @CXX@
#CXXFLAGS:=@CXXFLAGS@
CPP:=@FIXPATH@ @CPP@ CPP:=@FIXPATH@ @CPP@
#CPPFLAGS:=@CPPFLAGS@
# The linker can be gcc or ld on unix systems, or link.exe on windows systems. # The linker can be gcc or ld on unix systems, or link.exe on windows systems.
LD:=@FIXPATH@ @LD@ LD:=@FIXPATH@ @LD@
@ -501,7 +501,7 @@ JAVAC_FLAGS?=@JAVAC_FLAGS@
INTERIM_LANGTOOLS_JAR = $(BUILDTOOLS_OUTPUTDIR)/interim_langtools.jar INTERIM_LANGTOOLS_JAR = $(BUILDTOOLS_OUTPUTDIR)/interim_langtools.jar
INTERIM_LANGTOOLS_ARGS = "-Xbootclasspath/p:$(INTERIM_LANGTOOLS_JAR)" -cp $(INTERIM_LANGTOOLS_JAR) INTERIM_LANGTOOLS_ARGS = "-Xbootclasspath/p:$(INTERIM_LANGTOOLS_JAR)" -cp $(INTERIM_LANGTOOLS_JAR)
NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javac.Main NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javac.Main
NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) jdk.javadoc.internal.tool.Main NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) jdk.javadoc.internal.tool.Main
# Base flags for RC # Base flags for RC
# Guarding this against resetting value. Legacy make files include spec multiple # Guarding this against resetting value. Legacy make files include spec multiple

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -50,6 +50,67 @@ TOOLCHAIN_DESCRIPTION_microsoft="Microsoft Visual Studio"
TOOLCHAIN_DESCRIPTION_solstudio="Oracle Solaris Studio" TOOLCHAIN_DESCRIPTION_solstudio="Oracle Solaris Studio"
TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++" TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
# Minimum supported versions, empty means unspecified
TOOLCHAIN_MINIMUM_VERSION_clang="3.2"
TOOLCHAIN_MINIMUM_VERSION_gcc="4.3"
TOOLCHAIN_MINIMUM_VERSION_microsoft=""
TOOLCHAIN_MINIMUM_VERSION_solstudio="5.12"
TOOLCHAIN_MINIMUM_VERSION_xlc=""
# Prepare the system so that TOOLCHAIN_CHECK_COMPILER_VERSION can be called.
# Must have CC_VERSION_NUMBER and CXX_VERSION_NUMBER.
AC_DEFUN([TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS],
[
if test "x$CC_VERSION_NUMBER" != "x$CXX_VERSION_NUMBER"; then
AC_MSG_WARN([C and C++ compiler has different version numbers, $CC_VERSION_NUMBER vs $CXX_VERSION_NUMBER.])
AC_MSG_WARN([This typically indicates a broken setup, and is not supported])
fi
# We only check CC_VERSION_NUMBER since we assume CXX_VERSION_NUMBER is equal.
if [ [[ "$CC_VERSION_NUMBER" =~ (.*\.){3} ]] ]; then
AC_MSG_WARN([C compiler version number has more than three parts (X.Y.Z): $CC_VERSION_NUMBER. Comparisons might be wrong.])
fi
if [ [[ "$CC_VERSION_NUMBER" =~ [0-9]{6} ]] ]; then
AC_MSG_WARN([C compiler version number has a part larger than 99999: $CC_VERSION_NUMBER. Comparisons might be wrong.])
fi
COMPARABLE_ACTUAL_VERSION=`$AWK -F. '{ printf("%05d%05d%05d\n", [$]1, [$]2, [$]3) }' <<< "$CC_VERSION_NUMBER"`
])
# Check if the configured compiler (C and C++) is of a specific version or
# newer. TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS must have been called before.
#
# Arguments:
# VERSION: The version string to check against the found version
# IF_AT_LEAST: block to run if the compiler is at least this version (>=)
# IF_OLDER_THAN: block to run if the compiler is older than this version (<)
BASIC_DEFUN_NAMED([TOOLCHAIN_CHECK_COMPILER_VERSION],
[*VERSION IF_AT_LEAST IF_OLDER_THAN], [$@],
[
# Need to assign to a variable since m4 is blocked from modifying parts in [].
REFERENCE_VERSION=ARG_VERSION
if [ [[ "$REFERENCE_VERSION" =~ (.*\.){3} ]] ]; then
AC_MSG_ERROR([Internal errror: Cannot compare to ARG_VERSION, only three parts (X.Y.Z) is supported])
fi
if [ [[ "$REFERENCE_VERSION" =~ [0-9]{6} ]] ]; then
AC_MSG_ERROR([Internal errror: Cannot compare to ARG_VERSION, only parts < 99999 is supported])
fi
# Version comparison method inspired by http://stackoverflow.com/a/24067243
COMPARABLE_REFERENCE_VERSION=`$AWK -F. '{ printf("%05d%05d%05d\n", [$]1, [$]2, [$]3) }' <<< "$REFERENCE_VERSION"`
if test $COMPARABLE_ACTUAL_VERSION -ge $COMPARABLE_REFERENCE_VERSION ; then
:
ARG_IF_AT_LEAST
else
:
ARG_IF_OLDER_THAN
fi
])
# Setup a number of variables describing how native output files are # Setup a number of variables describing how native output files are
# named on this platform/toolchain. # named on this platform/toolchain.
AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS], AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
@ -175,6 +236,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
# Use indirect variable referencing # Use indirect variable referencing
toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
TOOLCHAIN_DESCRIPTION=${!toolchain_var_name} TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
toolchain_var_name=TOOLCHAIN_MINIMUM_VERSION_$TOOLCHAIN_TYPE
TOOLCHAIN_MINIMUM_VERSION=${!toolchain_var_name}
toolchain_var_name=TOOLCHAIN_CC_BINARY_$TOOLCHAIN_TYPE toolchain_var_name=TOOLCHAIN_CC_BINARY_$TOOLCHAIN_TYPE
TOOLCHAIN_CC_BINARY=${!toolchain_var_name} TOOLCHAIN_CC_BINARY=${!toolchain_var_name}
toolchain_var_name=TOOLCHAIN_CXX_BINARY_$TOOLCHAIN_TYPE toolchain_var_name=TOOLCHAIN_CXX_BINARY_$TOOLCHAIN_TYPE
@ -217,8 +280,14 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
export INCLUDE="$VS_INCLUDE" export INCLUDE="$VS_INCLUDE"
export LIB="$VS_LIB" export LIB="$VS_LIB"
else else
# Currently we do not define this for other toolchains. This might change as the need arise. if test "x$XCODE_VERSION_OUTPUT" != x; then
TOOLCHAIN_VERSION= # For Xcode, we set the Xcode version as TOOLCHAIN_VERSION
TOOLCHAIN_VERSION=`$ECHO $XCODE_VERSION_OUTPUT | $CUT -f 2 -d ' '`
TOOLCHAIN_DESCRIPTION="$TOOLCHAIN_DESCRIPTION from Xcode"
else
# Currently we do not define this for other toolchains. This might change as the need arise.
TOOLCHAIN_VERSION=
fi
fi fi
AC_SUBST(TOOLCHAIN_VERSION) AC_SUBST(TOOLCHAIN_VERSION)
@ -257,7 +326,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
# #
# $1 = compiler to test (CC or CXX) # $1 = compiler to test (CC or CXX)
# $2 = human readable name of compiler (C or C++) # $2 = human readable name of compiler (C or C++)
AC_DEFUN([TOOLCHAIN_CHECK_COMPILER_VERSION], AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
[ [
COMPILER=[$]$1 COMPILER=[$]$1
COMPILER_NAME=$2 COMPILER_NAME=$2
@ -354,7 +423,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_COMPILER_VERSION],
# Collapse compiler output into a single line # Collapse compiler output into a single line
COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT` COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
$SED -e 's/^.*clang version \(@<:@1-9@:>@@<:@0-9.@:>@*\).*$/\1/'` $SED -e 's/^.* version \(@<:@1-9@:>@@<:@0-9.@:>@*\).*$/\1/'`
else else
AC_MSG_ERROR([Unknown toolchain type $TOOLCHAIN_TYPE.]) AC_MSG_ERROR([Unknown toolchain type $TOOLCHAIN_TYPE.])
fi fi
@ -451,7 +520,7 @@ AC_DEFUN([TOOLCHAIN_FIND_COMPILER],
fi fi
fi fi
TOOLCHAIN_CHECK_COMPILER_VERSION([$1], [$COMPILER_NAME]) TOOLCHAIN_EXTRACT_COMPILER_VERSION([$1], [$COMPILER_NAME])
]) ])
# Detect the core components of the toolchain, i.e. the compilers (CC and CXX), # Detect the core components of the toolchain, i.e. the compilers (CC and CXX),
@ -471,6 +540,20 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
# Now that we have resolved CXX ourself, let autoconf have its go at it # Now that we have resolved CXX ourself, let autoconf have its go at it
AC_PROG_CXX([$CXX]) AC_PROG_CXX([$CXX])
# This is the compiler version number on the form X.Y[.Z]
AC_SUBST(CC_VERSION_NUMBER)
AC_SUBST(CXX_VERSION_NUMBER)
TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS
if test "x$TOOLCHAIN_MINIMUM_VERSION" != x; then
TOOLCHAIN_CHECK_COMPILER_VERSION(VERSION: $TOOLCHAIN_MINIMUM_VERSION,
IF_OLDER_THAN: [
AC_MSG_WARN([You are using $TOOLCHAIN_TYPE older than $TOOLCHAIN_MINIMUM_VERSION. This is not a supported configuration.])
]
)
fi
# #
# Setup the preprocessor (CPP and CXXCPP) # Setup the preprocessor (CPP and CXXCPP)
# #

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# #
# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -102,32 +102,21 @@ diff_text() {
if test "x$SUFFIX" = "xclass"; then if test "x$SUFFIX" = "xclass"; then
# To improve performance when large diffs are found, do a rough filtering of classes # To improve performance when large diffs are found, do a rough filtering of classes
# elibeble for these exceptions # elibeble for these exceptions
if $GREP -R -e '[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}' \ if $GREP -R -e '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}' \
-e '[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}' \
-e 'lambda\$[a-zA-Z0-9]*\$[0-9]' ${THIS_FILE} > /dev/null; then -e 'lambda\$[a-zA-Z0-9]*\$[0-9]' ${THIS_FILE} > /dev/null; then
$JAVAP -c -constants -l -p "${OTHER_FILE}" > ${OTHER_FILE}.javap $JAVAP -c -constants -l -p "${OTHER_FILE}" > ${OTHER_FILE}.javap
$JAVAP -c -constants -l -p "${THIS_FILE}" > ${THIS_FILE}.javap $JAVAP -c -constants -l -p "${THIS_FILE}" > ${THIS_FILE}.javap
TMP=$($DIFF ${OTHER_FILE}.javap ${THIS_FILE}.javap | \ TMP=$($DIFF ${OTHER_FILE}.javap ${THIS_FILE}.javap | \
$GREP '^[<>]' | \ $GREP '^[<>]' | \
$SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \ $SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d' \
-e '/[0-9]\{2\}\/[0-9]\{2\}\/[0-9]\{4\}/d' \
-e '/[<>].*lambda\$[a-zA-Z0-9]*\$[0-9]*/d') -e '/[<>].*lambda\$[a-zA-Z0-9]*\$[0-9]*/d')
fi fi
fi fi
if test "x$SUFFIX" = "xproperties"; then if test "x$SUFFIX" = "xproperties"; then
# Run through nawk to add possibly missing newline at end of file.
$CAT $OTHER_FILE | $NAWK '{ print }' | LC_ALL=C $SORT > $OTHER_FILE.cleaned
# Disable this exception since we aren't changing the properties cleaning method yet.
# $CAT $OTHER_FILE | $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/\\=/=/' | LC_ALL=C $SORT > $OTHER_FILE.cleaned
# Filter out date string differences. # Filter out date string differences.
TMP=$(LC_ALL=C $DIFF $OTHER_FILE.cleaned $THIS_FILE | \ TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
$GREP '^[<>]' | \ $GREP '^[<>]' | \
$SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d') $SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d')
fi fi
if test "x$SUFFIX" = "xhtml"; then if test "x$SUFFIX" = "xhtml"; then
# Some javadoc versions do not put quotes around font size # Some javadoc versions do not put quotes around font size
@ -306,7 +295,8 @@ compare_general_files() {
! -name "*.lib" ! -name "*.war" ! -name "JavaControlPanel" \ ! -name "*.lib" ! -name "*.war" ! -name "JavaControlPanel" \
! -name "*.obj" ! -name "*.o" ! -name "JavaControlPanelHelper" \ ! -name "*.obj" ! -name "*.o" ! -name "JavaControlPanelHelper" \
! -name "JavaUpdater" ! -name "JavaWSApplicationStub" \ ! -name "JavaUpdater" ! -name "JavaWSApplicationStub" \
! -name "jspawnhelper" ! -name "*.a" \ ! -name "jspawnhelper" ! -name "JavawsLauncher" ! -name "*.a" \
! -name "finish_installation" ! -name "Sparkle" \
| $GREP -v "./bin/" | $SORT | $FILTER) | $GREP -v "./bin/" | $SORT | $FILTER)
echo Other files with binary differences... echo Other files with binary differences...
@ -320,29 +310,28 @@ compare_general_files() {
THIS_FILE=$WORK_DIR/$f.this THIS_FILE=$WORK_DIR/$f.this
$MKDIR -p $(dirname $OTHER_FILE) $MKDIR -p $(dirname $OTHER_FILE)
$MKDIR -p $(dirname $THIS_FILE) $MKDIR -p $(dirname $THIS_FILE)
$CAT $OTHER_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $OTHER_FILE RELEASE_FILTER="$SED \
$CAT $THIS_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $THIS_FILE -e 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' \
-e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}/<DATE>/g'
"
$CAT $OTHER_DIR/$f | eval "$RELEASE_FILTER" > $OTHER_FILE
$CAT $THIS_DIR/$f | eval "$RELEASE_FILTER" > $THIS_FILE
elif [ "x$SUFFIX" = "xhtml" ]; then elif [ "x$SUFFIX" = "xhtml" ]; then
# Ignore time stamps in docs files # Ignore time stamps in docs files
OTHER_FILE=$WORK_DIR/$f.other OTHER_FILE=$WORK_DIR/$f.other
THIS_FILE=$WORK_DIR/$f.this THIS_FILE=$WORK_DIR/$f.this
$MKDIR -p $(dirname $OTHER_FILE) $MKDIR -p $(dirname $OTHER_FILE) $(dirname $THIS_FILE)
$MKDIR -p $(dirname $THIS_FILE) # Older versions of compare might have left soft links with
# these names.
$RM $OTHER_FILE $THIS_FILE
#Note that | doesn't work on mac sed. #Note that | doesn't work on mac sed.
$CAT $OTHER_DIR/$f | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \ HTML_FILTER="$SED \
-e 's/\(<meta name="date" content="\).*\(">\)/\1(removed)\2/' \ -e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}/<DATE>/g' \
-e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/(removed)/' \ -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
-e 's/[A-Z][a-z]* [A-Z][a-z]* [0-9][0-9] [0-9][0-9:]* [A-Z][A-Z]* [12][0-9]*/(removed)/' \ -e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [0-9]\{4\} [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/<DATE>/'
-e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \ "
-e 's/^\(.*\)\( o'"'"'clock \)\([A-Z][A-Z][A-Z]\)/(removed)\2(removed)/' \ $CAT $OTHER_DIR/$f | eval "$HTML_FILTER" > $OTHER_FILE
> $OTHER_FILE $CAT $THIS_DIR/$f | eval "$HTML_FILTER" > $THIS_FILE
$CAT $THIS_DIR/$f | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
-e 's/\(<meta name="date" content="\).*\(">\)/\1(removed)\2/' \
-e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/(removed)/' \
-e 's/[A-Z][a-z]* [A-Z][a-z]* [0-9][0-9] [0-9][0-9:]* [A-Z][A-Z]* [12][0-9]*/(removed)/' \
-e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \
-e 's/^\(.*\)\( o'"'"'clock \)\([A-Z][A-Z][A-Z]\)/(removed)\2(removed)/' \
> $THIS_FILE
else else
OTHER_FILE=$OTHER_DIR/$f OTHER_FILE=$OTHER_DIR/$f
THIS_FILE=$THIS_DIR/$f THIS_FILE=$THIS_DIR/$f
@ -605,11 +594,17 @@ compare_bin_file() {
OTHER_FILE_BASE=${OTHER_FILE_BASE/.exe/} OTHER_FILE_BASE=${OTHER_FILE_BASE/.exe/}
OTHER_FILE_BASE=${OTHER_FILE_BASE/.cpl/} OTHER_FILE_BASE=${OTHER_FILE_BASE/.cpl/}
DIZ_NAME=$(basename $OTHER_FILE_BASE).diz DIZ_NAME=$(basename $OTHER_FILE_BASE).diz
# java.exe and java.dll diz files will have the same name. Have to # Some .exe files have the same name as a .dll file. Make sure the exe
# make sure java.exe gets the right one. This is only needed for # files get the right debug symbols.
# OTHER since in the new build, all pdb files are left around. if [ "$NAME" = "java.exe" ] \
if [ "$NAME" = "java.exe" ] && [ -f "$OTHER/tmp/java/java/obj64/java.diz" ]; then && [ -f "$OTHER/support/native/java.base/java_objs/java.diz" ]; then
OTHER_DIZ_FILE="$OTHER/tmp/java/java/obj64/java.diz" OTHER_DIZ_FILE="$OTHER/support/native/java.base/java_objs/java.diz"
elif [ "$NAME" = "jimage.exe" ] \
&& [ -f "$OTHER/support/native/jdk.dev/jimage_objs/jimage.diz" ]; then
OTHER_DIZ_FILE="$OTHER/support/native/jdk.dev/jimage_objs/jimage.diz"
elif [ "$NAME" = "javacpl.exe" ] \
&& [ -f "$OTHER/support/native/jdk.plugin/javacpl/javacpl.diz" ]; then
OTHER_DIZ_FILE="$OTHER/support/native/jdk.plugin/javacpl/javacpl.diz"
elif [ -f "${OTHER_FILE_BASE}.diz" ]; then elif [ -f "${OTHER_FILE_BASE}.diz" ]; then
OTHER_DIZ_FILE=${OTHER_FILE_BASE}.diz OTHER_DIZ_FILE=${OTHER_FILE_BASE}.diz
else else
@ -627,9 +622,22 @@ compare_bin_file() {
(cd $FILE_WORK_DIR/other ; $UNARCHIVE -o $OTHER_DIZ_FILE) (cd $FILE_WORK_DIR/other ; $UNARCHIVE -o $OTHER_DIZ_FILE)
export _NT_SYMBOL_PATH="$FILE_WORK_DIR/other" export _NT_SYMBOL_PATH="$FILE_WORK_DIR/other"
fi fi
THIS_FILE_BASE=${THIS_FILE/.dll/} THIS_FILE_BASE=${THIS_FILE/.dll/}
THIS_FILE_BASE=${THIS_FILE_BASE/.exe/} THIS_FILE_BASE=${THIS_FILE_BASE/.exe/}
if [ -f "${THIS_FILE/.dll/}.diz" ]; then THIS_FILE_BASE=${THIS_FILE_BASE/.cpl/}
# Some .exe files have the same name as a .dll file. Make sure the exe
# files get the right debug symbols.
if [ "$NAME" = "java.exe" ] \
&& [ -f "$THIS/support/native/java.base/java_objs/java.diz" ]; then
THIS_DIZ_FILE="$THIS/support/native/java.base/java_objs/java.diz"
elif [ "$NAME" = "jimage.exe" ] \
&& [ -f "$THIS/support/native/jdk.dev/jimage_objs/jimage.diz" ]; then
THIS_DIZ_FILE="$THIS/support/native/jdk.dev/jimage_objs/jimage.diz"
elif [ "$NAME" = "javacpl.exe" ] \
&& [ -f "$THIS/support/native/jdk.plugin/javacpl/javacpl.diz" ]; then
THIS_DIZ_FILE="$THIS/support/native/jdk.plugin/javacpl/javacpl.diz"
elif [ -f "${THIS_FILE_BASE}.diz" ]; then
THIS_DIZ_FILE=${THIS_FILE/.dll/}.diz THIS_DIZ_FILE=${THIS_FILE/.dll/}.diz
else else
THIS_DIZ_FILE="$($FIND $THIS_DIR -name $DIZ_NAME | $SED 1q)" THIS_DIZ_FILE="$($FIND $THIS_DIR -name $DIZ_NAME | $SED 1q)"
@ -738,6 +746,9 @@ compare_bin_file() {
elif [ "$OPENJDK_TARGET_OS" = "aix" ]; then elif [ "$OPENJDK_TARGET_OS" = "aix" ]; then
$OBJDUMP -T $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other $OBJDUMP -T $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
$OBJDUMP -T $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this $OBJDUMP -T $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
elif [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
$NM -j $ORIG_OTHER_FILE 2> /dev/null | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
$NM -j $ORIG_THIS_FILE 2> /dev/null | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
else else
$NM -a $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other $NM -a $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
$NM -a $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this $NM -a $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
@ -856,8 +867,15 @@ compare_bin_file() {
if [ -z "$DIS_DIFF_FILTER" ]; then if [ -z "$DIS_DIFF_FILTER" ]; then
DIS_DIFF_FILTER="$GREP -v ' # .* <.*>$' | $SED -r -e 's/(\b|x)([0-9a-fA-F]+)(\b|:|>)/X/g'" DIS_DIFF_FILTER="$GREP -v ' # .* <.*>$' | $SED -r -e 's/(\b|x)([0-9a-fA-F]+)(\b|:|>)/X/g'"
fi fi
$DIS_CMD $OTHER_FILE | $GREP -v $NAME | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.other 2>&1 if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
$DIS_CMD $THIS_FILE | $GREP -v $NAME | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1 DIS_GREP_ARG=-a
else
DIS_GREP_ARG=
fi
$DIS_CMD $OTHER_FILE | $GREP $DIS_GREP_ARG -v $NAME \
| eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.other 2>&1
$DIS_CMD $THIS_FILE | $GREP $DIS_GREP_ARG -v $NAME \
| eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1
LC_ALL=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff LC_ALL=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
@ -974,6 +992,15 @@ compare_all_execs() {
-o -name '*.jar' -o -name '*.diz' -o -name 'jcontrol' -o -name '*.properties' \ -o -name '*.jar' -o -name '*.diz' -o -name 'jcontrol' -o -name '*.properties' \
-o -name '*.data' -o -name '*.bfc' -o -name '*.src' -o -name '*.txt' \ -o -name '*.data' -o -name '*.bfc' -o -name '*.src' -o -name '*.txt' \
-o -name '*.cfg' -o -name 'meta-index' -o -name '*.properties.ja' \ -o -name '*.cfg' -o -name 'meta-index' -o -name '*.properties.ja' \
-o -name '*.xml' -o -name '*.html' -o -name '*.png' -o -name 'README' \
-o -name '*.zip' -o -name '*.jimage' -o -name '*.java' -o -name '*.mf' \
-o -name '*.jpg' -o -name '*.wsdl' -o -name '*.js' -o -name '*.sh' \
-o -name '*.bat' -o -name '*LICENSE' -o -name '*.d' -o -name '*store' \
-o -name 'blacklist' -o -name '*certs' -o -name '*.ttf' \
-o -name '*.jfc' -o -name '*.dat' -o -name 'release' -o -name '*.dir'\
-o -name '*.sym' -o -name '*.idl' -o -name '*.h' -o -name '*.access' \
-o -name '*.template' -o -name '*.policy' -o -name '*.security' \
-o -name 'COPYRIGHT' -o -name '*.1' \
-o -name 'classlist' \) | $SORT | $FILTER) -o -name 'classlist' \) | $SORT | $FILTER)
fi fi
@ -996,14 +1023,6 @@ compare_all_execs() {
################################################################################ ################################################################################
# Initiate configuration # Initiate configuration
COMPARE_ROOT=/tmp/cimages.$USER
$MKDIR -p $COMPARE_ROOT
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
if [ "$(uname -o)" = "Cygwin" ]; then
COMPARE_ROOT=$(cygpath -msa $COMPARE_ROOT)
fi
fi
THIS="$SCRIPT_DIR" THIS="$SCRIPT_DIR"
echo "$THIS" echo "$THIS"
THIS_SCRIPT="$0" THIS_SCRIPT="$0"
@ -1026,6 +1045,7 @@ if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "-?" ] || [ "$1" = "/h" ] || [ "$1
echo "" echo ""
echo "--sort-symbols Sort all symbols before comparing" echo "--sort-symbols Sort all symbols before comparing"
echo "--strip Strip all binaries before comparing" echo "--strip Strip all binaries before comparing"
echo "--clean Clean all previous comparison results first"
echo "" echo ""
echo "[FILTER] List filenames in the image to compare, works for jars, zips, libs and execs" echo "[FILTER] List filenames in the image to compare, works for jars, zips, libs and execs"
echo "Example:" echo "Example:"
@ -1125,6 +1145,9 @@ while [ -n "$1" ]; do
--strip) --strip)
STRIP_ALL=true STRIP_ALL=true
;; ;;
--clean)
CLEAN_OUTPUT=true
;;
*) *)
CMP_NAMES=false CMP_NAMES=false
CMP_PERMS=false CMP_PERMS=false
@ -1143,6 +1166,23 @@ while [ -n "$1" ]; do
shift shift
done done
if [ "$STRIP_ALL" = "true" ] && [ -z "$STRIP" ]; then
echo Warning: Not stripping even with --strip, since strip is missing on this platform
STRIP_ALL=false
fi
COMPARE_ROOT=/tmp/cimages.$USER
if [ "$CLEAN_OUTPUT" = "true" ]; then
echo Cleaning old output in $COMPARE_ROOT.
$RM -rf $COMPARE_ROOT
fi
$MKDIR -p $COMPARE_ROOT
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
if [ "$(uname -o)" = "Cygwin" ]; then
COMPARE_ROOT=$(cygpath -msa $COMPARE_ROOT)
fi
fi
if [ "$CMP_2_ZIPS" = "true" ]; then if [ "$CMP_2_ZIPS" = "true" ]; then
THIS_DIR="$(dirname $THIS_FILE)" THIS_DIR="$(dirname $THIS_FILE)"
THIS_DIR="$(cd "$THIS_DIR" > /dev/null && pwd )" THIS_DIR="$(cd "$THIS_DIR" > /dev/null && pwd )"
@ -1278,6 +1318,15 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
echo " $OTHER_DEPLOY_APPLET_PLUGIN_DIR" echo " $OTHER_DEPLOY_APPLET_PLUGIN_DIR"
fi fi
if [ -d "$THIS/install/sparkle/Sparkle.framework" ] \
&& [ -d "$OTHER/install/sparkle/Sparkle.framework" ]; then
THIS_SPARKLE_DIR="$THIS/install/sparkle/Sparkle.framework"
OTHER_SPARKLE_DIR="$OTHER/install/sparkle/Sparkle.framework"
echo "Also comparing install sparkle framework"
echo " $THIS_SPARKLE_DIR"
echo " $OTHER_SPARKLE_DIR"
fi
if [ -d "$OTHER/images" ]; then if [ -d "$OTHER/images" ]; then
OTHER_SEC_DIR="$OTHER/images" OTHER_SEC_DIR="$OTHER/images"
else else
@ -1298,9 +1347,9 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
THIS_JGSS_WINDOWS_BIN="$THIS_SEC_DIR/$JGSS_WINDOWS_BIN" THIS_JGSS_WINDOWS_BIN="$THIS_SEC_DIR/$JGSS_WINDOWS_BIN"
fi fi
if [ -d "$THIS/docs" ] && [ -d "$OTHER/docs" ]; then if [ -d "$THIS/images/docs" ] && [ -d "$OTHER/images/docs" ]; then
THIS_DOCS="$THIS/docs" THIS_DOCS="$THIS/images/docs"
OTHER_DOCS="$OTHER/docs" OTHER_DOCS="$OTHER/images/docs"
echo "Also comparing docs" echo "Also comparing docs"
else else
echo "WARNING! Docs haven't been built and won't be compared." echo "WARNING! Docs haven't been built and won't be compared."
@ -1314,23 +1363,23 @@ if [ "$CMP_NAMES" = "true" ]; then
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
echo -n "JDK " echo -n "JDK "
compare_dirs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_dirs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE " echo -n "JRE "
compare_dirs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre compare_dirs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
echo -n "JDK " echo -n "JDK "
compare_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE " echo -n "JRE "
compare_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre compare_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi fi
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
echo -n "JDK Bundle " echo -n "JDK Bundle "
compare_dirs $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle compare_dirs $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle " echo -n "JRE Bundle "
compare_dirs $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle compare_dirs $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
echo -n "JDK Bundle " echo -n "JDK Bundle "
compare_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle compare_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle " echo -n "JRE Bundle "
compare_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle compare_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
fi fi
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
@ -1349,13 +1398,19 @@ if [ "$CMP_NAMES" = "true" ]; then
echo -n "JavaAppletPlugin " echo -n "JavaAppletPlugin "
compare_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin compare_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_dirs $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
echo -n "Sparkle.framework "
compare_files $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi fi
if [ "$CMP_PERMS" = "true" ]; then if [ "$CMP_PERMS" = "true" ]; then
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
echo -n "JDK " echo -n "JDK "
compare_permissions $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_permissions $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE " echo -n "JRE "
compare_permissions $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre compare_permissions $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi fi
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
@ -1365,19 +1420,23 @@ if [ "$CMP_PERMS" = "true" ]; then
echo -n "JavaAppletPlugin " echo -n "JavaAppletPlugin "
compare_permissions $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin compare_permissions $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_permissions $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi fi
if [ "$CMP_TYPES" = "true" ]; then if [ "$CMP_TYPES" = "true" ]; then
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
echo -n "JDK " echo -n "JDK "
compare_file_types $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_file_types $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE " echo -n "JRE "
compare_file_types $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre compare_file_types $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi fi
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
echo -n "JDK Bundle " echo -n "JDK Bundle "
compare_file_types $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle compare_file_types $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle " echo -n "JRE Bundle "
compare_file_types $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle compare_file_types $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
fi fi
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
@ -1387,19 +1446,23 @@ if [ "$CMP_TYPES" = "true" ]; then
echo -n "JavaAppletPlugin " echo -n "JavaAppletPlugin "
compare_file_types $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin compare_file_types $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_file_types $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi fi
if [ "$CMP_GENERAL" = "true" ]; then if [ "$CMP_GENERAL" = "true" ]; then
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
echo -n "JDK " echo -n "JDK "
compare_general_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_general_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
echo -n "JRE " echo -n "JRE "
compare_general_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre compare_general_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi fi
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
echo -n "JDK Bundle " echo -n "JDK Bundle "
compare_general_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle compare_general_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle " echo -n "JRE Bundle "
compare_general_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle compare_general_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
fi fi
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
@ -1413,6 +1476,10 @@ if [ "$CMP_GENERAL" = "true" ]; then
echo -n "JavaAppletPlugin " echo -n "JavaAppletPlugin "
compare_general_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin compare_general_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_general_files $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi fi
if [ "$CMP_ZIPS" = "true" ]; then if [ "$CMP_ZIPS" = "true" ]; then
@ -1465,7 +1532,7 @@ if [ "$CMP_LIBS" = "true" ]; then
echo -n "JDK " echo -n "JDK "
compare_all_libs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_all_libs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
echo -n "JRE " echo -n "JRE "
compare_all_libs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre compare_all_libs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi fi
fi fi
@ -1476,13 +1543,17 @@ if [ "$CMP_LIBS" = "true" ]; then
echo -n "JavaAppletPlugin " echo -n "JavaAppletPlugin "
compare_all_libs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin compare_all_libs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_all_libs $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi fi
if [ "$CMP_EXECS" = "true" ]; then if [ "$CMP_EXECS" = "true" ]; then
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
compare_all_execs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_all_execs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
echo -n "JRE " echo -n "JRE "
compare_all_execs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre compare_all_execs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi fi
fi fi
@ -1493,6 +1564,10 @@ if [ "$CMP_EXECS" = "true" ]; then
echo -n "JavaAppletPlugin " echo -n "JavaAppletPlugin "
compare_all_execs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin compare_all_execs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_all_execs $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi fi
echo echo

File diff suppressed because it is too large Load Diff

View File

@ -319,6 +319,7 @@ else # HAS_SPEC=true
$(call PrepareCompareBuild) $(call PrepareCompareBuild)
post-compare-build: post-compare-build:
$(call WaitForSmartJavacFinish)
$(call CleanupCompareBuild) $(call CleanupCompareBuild)
$(call CompareBuildDoComparison) $(call CompareBuildDoComparison)

View File

@ -353,14 +353,17 @@ else # $(HAS_SPEC)=true
# Parse COMPARE_BUILD into COMPARE_BUILD_* # Parse COMPARE_BUILD into COMPARE_BUILD_*
# Syntax: COMPARE_BUILD=CONF=<configure options>:PATCH=<patch file>: # Syntax: COMPARE_BUILD=CONF=<configure options>:PATCH=<patch file>:
# MAKE=<make targets>:COMP_OPTS=<compare script options>: # MAKE=<make targets>:COMP_OPTS=<compare script options>:
# COMP_DIR=<compare script base dir>|<default> # COMP_DIR=<compare script base dir>|<default>:
# FAIL=<bool>
# If neither CONF or PATCH is given, assume <default> means CONF if it # If neither CONF or PATCH is given, assume <default> means CONF if it
# begins with "--", otherwise assume it means PATCH. # begins with "--", otherwise assume it means PATCH.
# MAKE and COMP_OPTS can only be used with CONF and/or PATCH specified. # MAKE and COMP_OPTS can only be used with CONF and/or PATCH specified.
# If any value contains "+", it will be replaced by space. # If any value contains "+", it will be replaced by space.
# FAIL can be set to false to have the return value of compare be ignored.
define ParseCompareBuild define ParseCompareBuild
ifneq ($$(COMPARE_BUILD), ) ifneq ($$(COMPARE_BUILD), )
COMPARE_BUILD_OUTPUT_ROOT := $(TOPDIR)/build/compare-build/$(CONF_NAME) COMPARE_BUILD_OUTPUT_ROOT := $(TOPDIR)/build/compare-build/$(CONF_NAME)
COMPARE_BUILD_FAIL := true
ifneq ($$(findstring :, $$(COMPARE_BUILD)), ) ifneq ($$(findstring :, $$(COMPARE_BUILD)), )
$$(foreach part, $$(subst :, , $$(COMPARE_BUILD)), \ $$(foreach part, $$(subst :, , $$(COMPARE_BUILD)), \
@ -379,6 +382,9 @@ else # $(HAS_SPEC)=true
$$(if $$(filter COMP_DIR=%, $$(part)), \ $$(if $$(filter COMP_DIR=%, $$(part)), \
$$(eval COMPARE_BUILD_COMP_DIR=$$(strip $$(subst +, , $$(patsubst COMP_DIR=%, %, $$(part))))) \ $$(eval COMPARE_BUILD_COMP_DIR=$$(strip $$(subst +, , $$(patsubst COMP_DIR=%, %, $$(part))))) \
) \ ) \
$$(if $$(filter FAIL=%, $$(part)), \
$$(eval COMPARE_BUILD_FAIL=$$(strip $$(subst +, , $$(patsubst FAIL=%, %, $$(part))))) \
) \
) )
else else
# Separate handling for single field case, to allow for spaces in values. # Separate handling for single field case, to allow for spaces in values.
@ -402,6 +408,9 @@ else # $(HAS_SPEC)=true
$$(error Patch file $$(COMPARE_BUILD_PATCH) does not exist) $$(error Patch file $$(COMPARE_BUILD_PATCH) does not exist)
endif endif
endif endif
ifneq ($$(COMPARE_BUILD_FAIL), true)
COMPARE_BUILD_IGNORE_RESULT := || true
endif
endif endif
endef endef
@ -443,9 +452,10 @@ else # $(HAS_SPEC)=true
$(ECHO) "Comparing between comparison rebuild (this/new) and baseline (other/old)" $(ECHO) "Comparing between comparison rebuild (this/new) and baseline (other/old)"
$(if $(COMPARE_BUILD_COMP_DIR), \ $(if $(COMPARE_BUILD_COMP_DIR), \
+(cd $(COMPARE_BUILD_OUTPUT_ROOT) && ./compare.sh $(COMPARE_BUILD_COMP_OPTS) \ +(cd $(COMPARE_BUILD_OUTPUT_ROOT) && ./compare.sh $(COMPARE_BUILD_COMP_OPTS) \
-2dirs $(COMPARE_BUILD_OUTPUT_ROOT)/$(COMPARE_BUILD_COMP_DIR) $(OUTPUT_ROOT)/$(COMPARE_BUILD_COMP_DIR) || true), \ -2dirs $(COMPARE_BUILD_OUTPUT_ROOT)/$(COMPARE_BUILD_COMP_DIR) \
$(OUTPUT_ROOT)/$(COMPARE_BUILD_COMP_DIR) $(COMPARE_BUILD_IGNORE_RESULT)), \
+(cd $(COMPARE_BUILD_OUTPUT_ROOT) && ./compare.sh $(COMPARE_BUILD_COMP_OPTS) \ +(cd $(COMPARE_BUILD_OUTPUT_ROOT) && ./compare.sh $(COMPARE_BUILD_COMP_OPTS) \
-o $(OUTPUT_ROOT) || true) \ -o $(OUTPUT_ROOT) $(COMPARE_BUILD_IGNORE_RESULT)) \
) )
endef endef

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -431,7 +431,7 @@ else
# The annotation processing for jdk.vm.ci needs java.base classes from the # The annotation processing for jdk.vm.ci needs java.base classes from the
# current JDK. # current JDK.
jdk.vm.ci-gensrc-hotspot: java.base-java jdk.vm.ci-gensrc-hotspot: java.base-java
# Explicitly add dependencies for special targets # Explicitly add dependencies for special targets
java.base-java: unpack-sec java.base-java: unpack-sec

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -57,8 +57,12 @@ endif
NO_STRIP_CMDS_FILTER += %.cgi NO_STRIP_CMDS_FILTER += %.cgi
# Don't include debug info for executables. # Don't include debug info for executables.
# OS X stores symbol information in a .dylib file inside a .dSYM directory -
# that file should not be stripped, so we prune the tree at the .dSYM directory.
ALL_CMDS_SRC := $(filter-out %.bc %.debuginfo %.diz %.map %.pdb, \ ALL_CMDS_SRC := $(filter-out %.bc %.debuginfo %.diz %.map %.pdb, \
$(shell $(FIND) $(SUPPORT_OUTPUTDIR)/modules_cmds -type f -o -type l)) $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/modules_cmds \( -type f -o -type l \) \
-print -o -name "*.dSYM" -prune))
COPY_CMDS_SRC := $(filter $(NO_STRIP_CMDS_FILTER), $(ALL_CMDS_SRC)) COPY_CMDS_SRC := $(filter $(NO_STRIP_CMDS_FILTER), $(ALL_CMDS_SRC))
STRIP_CMDS_SRC := $(filter-out $(NO_STRIP_CMDS_FILTER), $(ALL_CMDS_SRC)) STRIP_CMDS_SRC := $(filter-out $(NO_STRIP_CMDS_FILTER), $(ALL_CMDS_SRC))

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -187,25 +187,30 @@ define add_native_source
# param 6 = the c++ flags to the compiler # param 6 = the c++ flags to the compiler
# param 7 = the c++ compiler # param 7 = the c++ compiler
# param 8 = the flags to the assembler # param 8 = the flags to the assembler
# param 9 = set to disable THIS_FILE
ifeq ($9, )
$1_$2_THIS_FILE = -DTHIS_FILE='"$$(<F)"'
endif
ifneq (,$$(filter %.c,$2)) ifneq (,$$(filter %.c,$2))
# Compile as a C file # Compile as a C file
$1_$2_FLAGS=$(CFLAGS_CCACHE) $4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c $1_$2_FLAGS=$(CFLAGS_CCACHE) $4 $$($1_$(notdir $2)_CFLAGS) $$($1_$2_THIS_FILE) -c
$1_$2_COMP=$5 $1_$2_COMP=$5
$1_$2_DEP_FLAG:=$(C_FLAG_DEPS) $1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
else ifneq (,$$(filter %.m,$2)) else ifneq (,$$(filter %.m,$2))
# Compile as an Objective-C file # Compile as an Objective-C file
$1_$2_FLAGS=-x objective-c $(CFLAGS_CCACHE) $4 $$($1_$(notdir $2)_CFLAGS) -DTHIS_FILE='"$$(<F)"' -c $1_$2_FLAGS=-x objective-c $(CFLAGS_CCACHE) $4 $$($1_$(notdir $2)_CFLAGS) $$($1_$2_THIS_FILE) -c
$1_$2_COMP=$5 $1_$2_COMP=$5
$1_$2_DEP_FLAG:=$(C_FLAG_DEPS) $1_$2_DEP_FLAG:=$(C_FLAG_DEPS)
else ifneq (,$$(filter %.s %.S,$2)) else ifneq (,$$(filter %.s %.S,$2))
# Compile as assembler file # Compile as assembler file
$1_$2_FLAGS=$8 -DTHIS_FILE='"$$(<F)"' $1_$2_FLAGS=$8
$1_$2_COMP=$(AS) $1_$2_COMP=$(AS)
$1_$2_DEP_FLAG:= $1_$2_DEP_FLAG:=
else ifneq (,$$(filter %.cpp,$2)$$(filter %.cc,$2)$$(filter %.mm,$2)) else ifneq (,$$(filter %.cpp,$2)$$(filter %.cc,$2)$$(filter %.mm,$2))
# Compile as a C++ or Objective-C++ file # Compile as a C++ or Objective-C++ file
$1_$2_FLAGS=$(CFLAGS_CCACHE) $6 $$($1_$(notdir $2)_CXXFLAGS) -DTHIS_FILE='"$$(<F)"' -c $1_$2_FLAGS=$(CFLAGS_CCACHE) $6 $$($1_$(notdir $2)_CXXFLAGS) $$($1_$2_THIS_FILE) -c
$1_$2_COMP=$7 $1_$2_COMP=$7
$1_$2_DEP_FLAG:=$(CXX_FLAG_DEPS) $1_$2_DEP_FLAG:=$(CXX_FLAG_DEPS)
else else
@ -304,8 +309,11 @@ endef
# EXTRA_OBJECT_FILES List of extra object files to include when linking # EXTRA_OBJECT_FILES List of extra object files to include when linking
# VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run # VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run
# RC_FLAGS flags for RC. # RC_FLAGS flags for RC.
# EMBED_MANIFEST if true, embed manifest on Windows.
# MAPFILE mapfile # MAPFILE mapfile
# REORDER reorder file # REORDER reorder file
# USE_MAPFILE_FOR_SYMBOLS if true and this is a STATIC_BUILD, just copy the
# mapfile for the output symbols file
# CC the compiler to use, default is $(CC) # CC the compiler to use, default is $(CC)
# LD the linker to use, default is $(LD) # LD the linker to use, default is $(LD)
# OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST # OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
@ -643,8 +651,9 @@ define SetupNativeCompilationBody
$$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE) $$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE)
$$(call LogInfo, Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))) $$(call LogInfo, Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET))))
$$($1_RC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \ $$(call ExecuteWithLog, $$@, \
$$($1_VERSIONINFO_RESOURCE) $$($1_RC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
$$($1_VERSIONINFO_RESOURCE))
# Windows RC compiler does not support -showIncludes, so we mis-use CL for this. # Windows RC compiler does not support -showIncludes, so we mis-use CL for this.
$$($1_CC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \ $$($1_CC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \
$(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || true ; \ $(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || true ; \
@ -654,12 +663,11 @@ define SetupNativeCompilationBody
endif endif
endif endif
# mapfile doesnt seem to be implemented on macosx (yet??) ifneq ($(DISABLE_MAPFILES),true)
ifneq ($(OPENJDK_TARGET_OS),macosx) $1_REAL_MAPFILE := $$($1_MAPFILE)
ifneq ($(OPENJDK_TARGET_OS),windows) ifneq ($(OPENJDK_TARGET_OS),windows)
$1_REAL_MAPFILE:=$$($1_MAPFILE)
ifneq (,$$($1_REORDER)) ifneq (,$$($1_REORDER))
$1_REAL_MAPFILE:=$$($1_OBJECT_DIR)/mapfile $1_REAL_MAPFILE := $$($1_OBJECT_DIR)/mapfile
$$($1_REAL_MAPFILE) : $$($1_MAPFILE) $$($1_REORDER) $$($1_REAL_MAPFILE) : $$($1_MAPFILE) $$($1_REORDER)
$$(MKDIR) -p $$(@D) $$(MKDIR) -p $$(@D)
@ -689,7 +697,8 @@ define SetupNativeCompilationBody
# The dependency on TARGET is needed on windows for debuginfo files # The dependency on TARGET is needed on windows for debuginfo files
# to be rebuilt properly. # to be rebuilt properly.
$$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/% $$($1_TARGET) $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/% $$($1_TARGET)
$(CP) $$< $$@ # Use cp -r since on macosx, the dSYM is a directory
$(CP) -r $$< $$@
endif endif
# Generate debuginfo files. # Generate debuginfo files.
@ -815,13 +824,23 @@ define SetupNativeCompilationBody
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps) $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
# Generating a static library, ie object file archive. # Generating a static library, ie object file archive.
$$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_VARDEPS_FILE) ifeq ($(STATIC_BUILD), true)
ifeq ($$($1_USE_MAPFILE_FOR_SYMBOLS), true)
STATIC_MAPFILE_DEP := $$($1_MAPFILE)
endif
endif
$$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_VARDEPS_FILE) $$(STATIC_MAPFILE_DEP)
$$(call LogInfo, Archiving $$($1_STATIC_LIBRARY)) $$(call LogInfo, Archiving $$($1_STATIC_LIBRARY))
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \ $$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
$$($1_AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_ALL_OBJS) \ $$($1_AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_ALL_OBJS) \
$$($1_RES)) $$($1_RES))
ifeq ($(STATIC_BUILD), true) ifeq ($(STATIC_BUILD), true)
$(GetSymbols) ifeq ($$($1_USE_MAPFILE_FOR_SYMBOLS), true)
$(CP) $$($1_MAPFILE) $$(@D)/$$(basename $$(@F)).symbols
else
$(GetSymbols)
endif
endif endif
endif endif
@ -836,6 +855,12 @@ define SetupNativeCompilationBody
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \ $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps) $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($$($1_EMBED_MANIFEST), true)
$1_EXTRA_LDFLAGS += -manifest:embed
endif
endif
$$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_MANIFEST) \ $$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_MANIFEST) \
$$($1_VARDEPS_FILE) $$($1_VARDEPS_FILE)
$$(call LogInfo, Linking executable $$($1_BASENAME)) $$(call LogInfo, Linking executable $$($1_BASENAME))

View File

@ -42,13 +42,63 @@ jprt.bundle.exclude.src.dirs=build dist webrev
# Use configure when building # Use configure when building
jprt.build.use.configure=true jprt.build.use.configure=true
jprt.build.use.jib=true
jprt.test.use.jib=true
jprt.jib.launcher=common/bin/jib.sh
# Disable the need for preinstalled Xcode # Clear out all the build needs as JIB handles this
jprt.jdk9.build.needs=
jprt.macosx.jdk9.build.needs=
jprt.windows_i586.jdk9.build.needs=
jprt.windows_x64.jdk9.build.needs=
jprt.solaris.jdk9.build.needs=
jprt.linux_i586.jdk9.build.needs=
jprt.linux_x64.jdk9.build.needs=
jprt.linux_armv6.jdk9.build.needs=
jprt.linux_armvh.jdk9.build.needs=
jprt.linux_arm64.jdk9.build.needs=
jprt.linux_armsflt.jdk9.build.needs=
jprt.linux_armvfpsflt.jdk9.build.needs=
jprt.linux_armvfphflt.jdk9.build.needs=
jprt.linux_armv6vfphflt.jdk9.build.needs=
jprt.solaris.client.build.needs=
jprt.linux.client.build.needs=
jprt.solaris.jdk9.compiler=
jprt.linux.jdk9.compiler=
jprt.jdk9.test.needs=
# Disable the need for preinstalled Visual Studio and Xcode
jprt.windows.jdk9.compiler=
jprt.windows.6.2.jdk9.compiler=
jprt.windows.6.3.jdk9.compiler=
jprt.windows.jdk9.target.attribute.compilerVS2013.appliesTo.builds=none
jprt.macosx.jdk9.target.attribute.compilerXcode511.appliesTo.builds=none jprt.macosx.jdk9.target.attribute.compilerXcode511.appliesTo.builds=none
# Set up the run flavors (jvm variants) # Set up the run flavors (jvm variants)
jprt.run.flavors=c1,c2,default,${my.additional.run.flavors} jprt.run.flavors=c1,c2,default,${my.additional.run.flavors}
# Setup jib profiles
jprt.linux_i586.product.build.jib.profile=linux-x86
jprt.linux_x64.build.jib.profile=linux-x64
jprt.macosx_x64.build.jib.profile=macosx-x64
jprt.solaris_sparcv9.build.jib.profile=solaris-sparcv9
jprt.solaris_x64.build.jib.profile=solaris-x64
jprt.windows_i586.build.jib.profile=windows-x86
jprt.windows_x64.build.jib.profile=windows-x64
jprt.linux_i586.fastdebug.build.jib.profile=linux-x86-debug
jprt.linux_x64.fastdebug.build.jib.profile=linux-x64-debug
jprt.macosx_x64.fastdebug.build.jib.profile=macosx-x64-debug
jprt.solaris_sparcv9.fastdebug.build.jib.profile=solaris-sparcv9-debug
jprt.solaris_x64.fastdebug.build.jib.profile=solaris-x64-debug
jprt.windows_i586.fastdebug.build.jib.profile=windows-x86-debug
jprt.windows_x64.fastdebug.build.jib.profile=windows-x64-debug
jprt.solaris_x64.debugOpen.build.jib.profile=solaris-x64-open-debug
jprt.linux_x64.productOpen.build.jib.profile=linux-x64-open
jprt.test.jib.profile=run-test
# Set make target to use for different build flavors # Set make target to use for different build flavors
jprt.build.flavor.debugOpen.target=jprt_bundle jprt.build.flavor.debugOpen.target=jprt_bundle
jprt.build.flavor.fastdebug.target=jprt_bundle jprt.build.flavor.fastdebug.target=jprt_bundle
@ -58,14 +108,14 @@ jprt.build.flavor.optimized.target=jprt_bundle
jprt.build.flavor.optimizedOpen.target=jprt_bundle jprt.build.flavor.optimizedOpen.target=jprt_bundle
# Use these configure args to define debug level # Use these configure args to define debug level
jprt.debug.build.configure.args=--with-debug-level=slowdebug jprt.debug.build.configure.args=
jprt.fastdebug.build.configure.args=--with-debug-level=fastdebug --disable-precompiled-headers jprt.fastdebug.build.configure.args=--disable-precompiled-headers
jprt.product.build.configure.args=--with-debug-level=release jprt.product.build.configure.args=
jprt.optimized.build.configure.args=--with-debug-level=optimized jprt.optimized.build.configure.args=--with-debug-level=optimized
jprt.debugOpen.build.configure.args=${jprt.debug.build.configure.args} --enable-openjdk-only jprt.debugOpen.build.configure.args=${jprt.debug.build.configure.args}
jprt.fastdebugOpen.build.configure.args=${jprt.fastdebug.build.configure.args} --enable-openjdk-only jprt.fastdebugOpen.build.configure.args=${jprt.fastdebug.build.configure.args}
jprt.productOpen.build.configure.args=${jprt.product.build.configure.args} --enable-openjdk-only jprt.productOpen.build.configure.args=${jprt.product.build.configure.args}
jprt.optimizedOpen.build.configure.args=${jprt.product.build.configure.args} --enable-openjdk-only jprt.optimizedOpen.build.configure.args=${jprt.product.build.configure.args}
# hotspot testset has custom build flavors and build targets # hotspot testset has custom build flavors and build targets
@ -100,54 +150,11 @@ jprt.jbb.options=-Djava.awt.headless=true
# Also allows for additional, testset specific configure arguments to be set # Also allows for additional, testset specific configure arguments to be set
jprt.build.configure.args= \ jprt.build.configure.args= \
--with-output-sync=recurse \ --with-output-sync=recurse \
--with-boot-jdk=$ALT_BOOTDIR \
--with-jobs=$ALT_PARALLEL_COMPILE_JOBS \ --with-jobs=$ALT_PARALLEL_COMPILE_JOBS \
--with-version-opt=$JPRT_JOB_ID \ --with-version-opt=$JPRT_JOB_ID \
MAKE=$JPRT_MAKE \
${my.additional.build.configure.args.${jprt.test.set}} \ ${my.additional.build.configure.args.${jprt.test.set}} \
${my.custom.build.configure.args} ${my.custom.build.configure.args}
# i586 is often cross-compiled from 64-bit machines, so need to set target bits explicitly
jprt.i586.build.configure.args= \
--with-target-bits=32
# i586 platforms have both client and server, but to allow for overriding the exact configuration
# on a per-build flavor basis the value is set for the individual build flavors
my.i586.default.build.configure.args= \
--with-jvm-variants=client,server
jprt.i586.debug.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.debug.build.configure.args}
jprt.i586.fastdebug.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.fastdebug.build.configure.args}
jprt.i586.product.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.product.build.configure.args}
jprt.i586.debugOpen.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.debugOpen.build.configure.args}
jprt.i586.fastdebugOpen.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.fastdebugOpen.build.configure.args}
jprt.i586.productOpen.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.productOpen.build.configure.args}
jprt.linux_i586.build.configure.args= \
--with-devkit=$GCC492_OEL64_HOME \
${jprt.i586.build.configure.args}
jprt.linux_x64.build.configure.args= \
--with-devkit=$GCC492_OEL64_HOME
jprt.macosx_x64.build.configure.args= \
--with-devkit=$XCODE63_MACOSX109_HOME
jprt.solaris.build.configure.args= \
--with-devkit=$SS124_11u1_HOME
jprt.windows_i586.build.configure.args= \
--with-devkit=$VS2013SP4_HOME \
${jprt.i586.build.configure.args}
jprt.windows_x64.build.configure.args= \
--with-devkit=$VS2013SP4_HOME
######## ########
# #
# Build targets and options (default/jdk) # Build targets and options (default/jdk)

View File

@ -297,7 +297,6 @@
<to>java.security.jgss</to> <to>java.security.jgss</to>
<to>java.security.sasl</to> <to>java.security.sasl</to>
<to>java.xml</to> <to>java.xml</to>
<to>java.xml.ws</to>
<to>jdk.charsets</to> <to>jdk.charsets</to>
<to>jdk.crypto.pkcs11</to> <to>jdk.crypto.pkcs11</to>
<to>jdk.deploy.osx</to> <to>jdk.deploy.osx</to>

View File

@ -40,8 +40,7 @@ HOTSPOT_DIR=$(TOPDIR)/hotspot
define SUBDIR_TEST # subdirectory target define SUBDIR_TEST # subdirectory target
if [ -d $1 ] ; then \ if [ -d $1 ] ; then \
if [ -r $1/test/Makefile ] ; then \ if [ -r $1/test/Makefile ] ; then \
echo "$(MAKE) -k -C $1/test $2" ; \ $(MAKE) --no-print-directory -k -C $1/test $2 ; \
$(MAKE) -k -C $1/test $2 ; \
else \ else \
echo "ERROR: File does not exist: $1/test/Makefile"; \ echo "ERROR: File does not exist: $1/test/Makefile"; \
exit 1; \ exit 1; \