Merge
This commit is contained in:
commit
efb03507e3
.hgtags.hgtags-top-repo
common
autoconf
basics.m4build-performance.m4compare.sh.inconfigureconfigure.acflags.m4generated-configure.shhelp.m4hotspot.m4jdk-options.m4lib-freetype.m4spec.gmk.intoolchain.m4
bin
corba
hotspot
jaxp
.hgtags
src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize
BaseMarkupSerializer.javaDOMSerializer.javaDOMSerializerImpl.javaElementState.javaEncodingInfo.javaEncodings.javaHTMLdtd.javaIndentPrinter.javaLineSeparator.javaMethod.javaOutputFormat.javaPrinter.javaSerializer.javaSerializerFactory.javaSerializerFactoryImpl.javaTextSerializer.javaXML11Serializer.javaXMLSerializer.java
jaxws
jdk
.hgtags
make
data
gensrc
launcher
lib
src/classes/build/tools
src
java.base
aix
classes/sun/nio
ch
fs
native/libnio
share
classes
java
jdk/internal
logger
misc
ref
vm/annotation
sun
misc
net/www/http
nio/ch
util/resources
native/libjimage
java.desktop
1
.hgtags
1
.hgtags
@ -347,3 +347,4 @@ f9bcdce2df26678c3fe468130b535c0342c69b89 jdk-9+99
|
||||
2dc4c11fe48831854916d53c3913bdb7d49023ea jdk-9+102
|
||||
4a652e4ca9523422149958673033e0ac740d5e1e jdk-9+103
|
||||
086c682bd8c5f195c324f61e2c61fbcd0226d63b jdk-9+104
|
||||
db483b34fa7148d257a429acddbde9c13687dcae jdk-9+105
|
||||
|
@ -347,3 +347,4 @@ c4d72a1620835b5d657b7b6792c2879367d0154f jdk-9+101
|
||||
6406ecf5d39482623225bb1b3098c2cac6f7d450 jdk-9+102
|
||||
47d6462e514b2097663305a57d9c844c15d5b609 jdk-9+103
|
||||
9a38f8b4ba220708db198d08d82fd2144a64777d jdk-9+104
|
||||
be58b02c11f90b88c67e4d0e2cb5e4cf2d9b3c57 jdk-9+105
|
||||
|
@ -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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -36,11 +36,11 @@
|
||||
# "ARG_FOO".
|
||||
#
|
||||
# The generated function can be called like this:
|
||||
# MYFUNC(FOO: [foo-val], BAR:
|
||||
# [
|
||||
# MYFUNC(FOO: [foo-val],
|
||||
# BAR: [
|
||||
# $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 2: List of legal named arguments, with a * prefix for required arguments
|
||||
|
@ -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.
|
||||
#
|
||||
# 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
|
||||
elif test -x /usr/sbin/prtconf; then
|
||||
# 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
|
||||
elif test -x /usr/sbin/sysctl; then
|
||||
# Looks like a MacOSX system
|
||||
@ -260,8 +260,8 @@ AC_DEFUN([BPERF_SETUP_CCACHE_USAGE],
|
||||
#
|
||||
AC_DEFUN([BPERF_RUN_ICECC_CREATE_ENV],
|
||||
[
|
||||
cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
|
||||
&& ${ICECC_CREATE_ENV} $1 > $2 2>&1
|
||||
( cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
|
||||
&& ${ICECC_CREATE_ENV} $1 > $2 2>&1 )
|
||||
if test "$?" != "0"; then
|
||||
AC_MSG_NOTICE([icecc-create-env output:])
|
||||
cat $2
|
||||
|
@ -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_CPU="@OPENJDK_TARGET_CPU@"
|
||||
export OPENJDK_TARGET_CPU_LIBDIR="@OPENJDK_TARGET_CPU_LIBDIR@"
|
||||
|
||||
export AWK="@AWK@"
|
||||
export BASH="@BASH@"
|
||||
|
7
common/autoconf/configure
vendored
7
common/autoconf/configure
vendored
@ -1,6 +1,6 @@
|
||||
#!/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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -283,8 +283,9 @@ Additional (non-autoconf) OpenJDK Options:
|
||||
|
||||
EOT
|
||||
|
||||
# Print list of toolchains. This must be done by the autoconf script.
|
||||
( CONFIGURE_PRINT_TOOLCHAIN_LIST=true . $conf_script_to_run PRINTF=printf )
|
||||
# Print additional help, e.g. a list of toolchains.
|
||||
# This must be done by the autoconf script.
|
||||
( CONFIGURE_PRINT_ADDITIONAL_HELP=true . $conf_script_to_run PRINTF=printf )
|
||||
|
||||
cat <<EOT
|
||||
|
||||
|
@ -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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -189,8 +189,6 @@ TOOLCHAIN_SETUP_JTREG
|
||||
|
||||
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.
|
||||
PLATFORM_SETUP_OPENJDK_TARGET_BITS
|
||||
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
|
||||
|
@ -206,7 +206,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
|
||||
# On Windows, we need to set RC flags.
|
||||
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
RC_FLAGS="-nologo -l0x409"
|
||||
if test "x$VARIANT" = xOPT; then
|
||||
if test "x$DEBUG_LEVEL" = xrelease; then
|
||||
RC_FLAGS="$RC_FLAGS -DNDEBUG"
|
||||
fi
|
||||
|
||||
@ -254,7 +254,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS],
|
||||
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.'
|
||||
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
|
||||
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
|
||||
SET_SHARED_LIBRARY_MAPFILE=''
|
||||
SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,[$]1'
|
||||
else
|
||||
# Default works for linux, might work on other platforms as well.
|
||||
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_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
|
||||
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
|
||||
SET_SHARED_LIBRARY_MAPFILE=''
|
||||
SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,[$]1'
|
||||
else
|
||||
# Default works for linux, might work on other platforms as well.
|
||||
PICFLAG='-fPIC'
|
||||
@ -310,7 +310,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS],
|
||||
SET_EXECUTABLE_ORIGIN=''
|
||||
SET_SHARED_LIBRARY_ORIGIN=''
|
||||
SET_SHARED_LIBRARY_NAME=''
|
||||
SET_SHARED_LIBRARY_MAPFILE=''
|
||||
SET_SHARED_LIBRARY_MAPFILE='-def:[$]1'
|
||||
fi
|
||||
|
||||
AC_SUBST(C_FLAG_REORDER)
|
||||
@ -423,6 +423,10 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
|
||||
# no adjustment
|
||||
;;
|
||||
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.
|
||||
# Not all versions of gcc support -fstack-protector
|
||||
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_HI="-xO4 -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=""
|
||||
fi
|
||||
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
|
||||
# studio.
|
||||
if test "x$TOOLCHAIN_VERSION" = "x2010"; then
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \
|
||||
-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB"
|
||||
STATIC_CPPLIB_FLAGS="-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB"
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK $STATIC_CPPLIB_FLAGS"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -715,9 +719,6 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
|
||||
# Set some additional per-OS defines.
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
|
||||
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
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE"
|
||||
fi
|
||||
@ -775,36 +776,34 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
|
||||
# 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
|
||||
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
|
||||
LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
|
||||
LDFLAGS_SAFESH="-safeseh"
|
||||
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SAFESH"
|
||||
fi
|
||||
# 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
|
||||
# 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
|
||||
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
|
||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
# And since we now know that the linker is gnu, then add -z defs, to forbid
|
||||
# undefined symbols in object files.
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} -Wl,-z,defs"
|
||||
LDFLAGS_NO_UNDEF_SYM="-Wl,-z,defs"
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_NO_UNDEF_SYM"
|
||||
case $DEBUG_LEVEL in
|
||||
release )
|
||||
# tell linker to optimize libraries.
|
||||
# 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 )
|
||||
if test "x$HAS_LINKER_NOW" = "xtrue"; then
|
||||
@ -831,10 +830,13 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
|
||||
esac
|
||||
fi
|
||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,defs -xildoff -ztext"
|
||||
LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
|
||||
LDFLAGS_SOLSTUDIO="-Wl,-z,defs"
|
||||
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
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} -brtl -bnolibpath -bexpall -bernotok"
|
||||
LDFLAGS_XLC="-brtl -bnolibpath -bexpall -bernotok"
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_XLC"
|
||||
fi
|
||||
|
||||
# Customize LDFLAGS for executables
|
||||
@ -1048,6 +1050,10 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_MISC],
|
||||
DISABLE_WARNING_PREFIX="-Wno-"
|
||||
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
|
||||
;;
|
||||
xlc)
|
||||
DISABLE_WARNING_PREFIX="-qsuppress="
|
||||
CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w"
|
||||
;;
|
||||
esac
|
||||
AC_SUBST(DISABLE_WARNING_PREFIX)
|
||||
AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
|
||||
|
@ -784,6 +784,8 @@ LDCXX
|
||||
LD
|
||||
CXXCPP
|
||||
CPP
|
||||
CXX_VERSION_NUMBER
|
||||
CC_VERSION_NUMBER
|
||||
ac_ct_CXX
|
||||
CXXFLAGS
|
||||
CXX
|
||||
@ -860,6 +862,7 @@ LAUNCHER_NAME
|
||||
TEST_IN_BUILD
|
||||
COPYRIGHT_YEAR
|
||||
COMPRESS_JARS
|
||||
INCLUDE_SA
|
||||
UNLIMITED_CRYPTO
|
||||
CACERTS_FILE
|
||||
BUILD_HEADLESS
|
||||
@ -906,7 +909,6 @@ FASTDEBUG
|
||||
VARIANT
|
||||
DEBUG_LEVEL
|
||||
MACOSX_UNIVERSAL
|
||||
INCLUDE_SA
|
||||
JVM_VARIANT_CORE
|
||||
JVM_VARIANT_ZEROSHARK
|
||||
JVM_VARIANT_ZERO
|
||||
@ -1926,7 +1928,7 @@ Optional Packages:
|
||||
--with-jvm-variants JVM variants (separated by commas) to build (server,
|
||||
client, minimal1, zero, zeroshark, core) [server]
|
||||
--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-sys-root alias for --with-sysroot for backwards compatability
|
||||
--with-sysroot use this directory as sysroot
|
||||
@ -2008,7 +2010,7 @@ Optional Packages:
|
||||
--with-jtreg Regression Test Harness [probed]
|
||||
--with-native-debug-symbols
|
||||
set the native debug symbol configuration (none,
|
||||
internal, external, zipped) [zipped]
|
||||
internal, external, zipped) [varying]
|
||||
--with-stdc++lib=<static>,<dynamic>,<default>
|
||||
force linking of the C++ runtime on Linux to either
|
||||
static or dynamic, default is static with dynamic as
|
||||
@ -3424,7 +3426,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
||||
|
||||
# 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.
|
||||
#
|
||||
# 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".
|
||||
#
|
||||
# The generated function can be called like this:
|
||||
# MYFUNC(FOO: [foo-val], BAR:
|
||||
# [
|
||||
# MYFUNC(FOO: [foo-val],
|
||||
# BAR: [
|
||||
# $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 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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_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
|
||||
# named on this platform/toolchain.
|
||||
|
||||
@ -4836,7 +4860,7 @@ VS_SDK_PLATFORM_NAME_2013=
|
||||
#CUSTOM_AUTOCONF_INCLUDE
|
||||
|
||||
# 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.
|
||||
# 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 "Which are valid to use depends on the build platform.\n"
|
||||
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
|
||||
MACOSX_UNIVERSAL="true"
|
||||
fi
|
||||
@ -15880,7 +15891,7 @@ $as_echo "$DEBUG_LEVEL" >&6; }
|
||||
test "x$DEBUG_LEVEL" != xoptimized && \
|
||||
test "x$DEBUG_LEVEL" != xfastdebug && \
|
||||
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
|
||||
|
||||
|
||||
@ -23244,6 +23255,22 @@ 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=false
|
||||
|
||||
@ -29850,6 +29877,8 @@ $as_echo "$as_me: Valid toolchains: $VALID_TOOLCHAINS." >&6;}
|
||||
# Use indirect variable referencing
|
||||
toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
|
||||
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_CC_BINARY=${!toolchain_var_name}
|
||||
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 LIB="$VS_LIB"
|
||||
else
|
||||
# Currently we do not define this for other toolchains. This might change as the need arise.
|
||||
TOOLCHAIN_VERSION=
|
||||
if test "x$XCODE_VERSION_OUTPUT" != x; then
|
||||
# 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
|
||||
|
||||
|
||||
@ -32191,7 +32226,7 @@ $as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSIO
|
||||
# Collapse compiler output into a single line
|
||||
COMPILER_VERSION_STRING=`$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
|
||||
as_fn_error $? "Unknown toolchain type $TOOLCHAIN_TYPE." "$LINENO" 5
|
||||
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
|
||||
COMPILER_VERSION_STRING=`$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
|
||||
as_fn_error $? "Unknown toolchain type $TOOLCHAIN_TYPE." "$LINENO" 5
|
||||
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
|
||||
|
||||
|
||||
# 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)
|
||||
#
|
||||
@ -45332,7 +45477,7 @@ $as_echo "no" >&6; }
|
||||
# On Windows, we need to set RC flags.
|
||||
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
RC_FLAGS="-nologo -l0x409"
|
||||
if test "x$VARIANT" = xOPT; then
|
||||
if test "x$DEBUG_LEVEL" = xrelease; then
|
||||
RC_FLAGS="$RC_FLAGS -DNDEBUG"
|
||||
fi
|
||||
|
||||
@ -45358,8 +45503,6 @@ $as_echo "no" >&6; }
|
||||
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.
|
||||
|
||||
{ $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_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
|
||||
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/$1'
|
||||
SET_SHARED_LIBRARY_MAPFILE=''
|
||||
SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,$1'
|
||||
else
|
||||
# Default works for linux, might work on other platforms as well.
|
||||
SHARED_LIBRARY_FLAGS='-shared'
|
||||
@ -46035,7 +46178,7 @@ $as_echo "$ac_cv_c_bigendian" >&6; }
|
||||
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path/.'
|
||||
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
|
||||
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/$1'
|
||||
SET_SHARED_LIBRARY_MAPFILE=''
|
||||
SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,$1'
|
||||
else
|
||||
# Default works for linux, might work on other platforms as well.
|
||||
PICFLAG='-fPIC'
|
||||
@ -46071,7 +46214,7 @@ $as_echo "$ac_cv_c_bigendian" >&6; }
|
||||
SET_EXECUTABLE_ORIGIN=''
|
||||
SET_SHARED_LIBRARY_ORIGIN=''
|
||||
SET_SHARED_LIBRARY_NAME=''
|
||||
SET_SHARED_LIBRARY_MAPFILE=''
|
||||
SET_SHARED_LIBRARY_MAPFILE='-def:$1'
|
||||
fi
|
||||
|
||||
|
||||
@ -46151,6 +46294,10 @@ $as_echo "$ac_cv_c_bigendian" >&6; }
|
||||
# no adjustment
|
||||
;;
|
||||
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.
|
||||
# Not all versions of gcc support -fstack-protector
|
||||
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_HI="-xO4 -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=""
|
||||
fi
|
||||
else
|
||||
@ -46492,8 +46639,8 @@ $as_echo "$supports" >&6; }
|
||||
# avoid bundling msvcpNNN.dll. Doesn't work with newer versions of visual
|
||||
# studio.
|
||||
if test "x$TOOLCHAIN_VERSION" = "x2010"; then
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \
|
||||
-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB"
|
||||
STATIC_CPPLIB_FLAGS="-D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB"
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK $STATIC_CPPLIB_FLAGS"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -46561,9 +46708,6 @@ $as_echo "$supports" >&6; }
|
||||
# Set some additional per-OS defines.
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
|
||||
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
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE"
|
||||
fi
|
||||
@ -46621,36 +46765,34 @@ $as_echo "$supports" >&6; }
|
||||
# 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
|
||||
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
|
||||
LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
|
||||
LDFLAGS_SAFESH="-safeseh"
|
||||
LDFLAGS_JDK="$LDFLAGS_JDK $LDFLAGS_SAFESH"
|
||||
fi
|
||||
# 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
|
||||
# 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
|
||||
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
|
||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
# And since we now know that the linker is gnu, then add -z defs, to forbid
|
||||
# undefined symbols in object files.
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} -Wl,-z,defs"
|
||||
LDFLAGS_NO_UNDEF_SYM="-Wl,-z,defs"
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_NO_UNDEF_SYM"
|
||||
case $DEBUG_LEVEL in
|
||||
release )
|
||||
# tell linker to optimize libraries.
|
||||
# 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 )
|
||||
if test "x$HAS_LINKER_NOW" = "xtrue"; then
|
||||
@ -46677,10 +46819,13 @@ $as_echo "$supports" >&6; }
|
||||
esac
|
||||
fi
|
||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,defs -xildoff -ztext"
|
||||
LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
|
||||
LDFLAGS_SOLSTUDIO="-Wl,-z,defs"
|
||||
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
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} -brtl -bnolibpath -bexpall -bernotok"
|
||||
LDFLAGS_XLC="-brtl -bnolibpath -bexpall -bernotok"
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} $LDFLAGS_XLC"
|
||||
fi
|
||||
|
||||
# Customize LDFLAGS for executables
|
||||
@ -47324,6 +47469,10 @@ $as_echo "$supports" >&6; }
|
||||
DISABLE_WARNING_PREFIX="-Wno-"
|
||||
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
|
||||
;;
|
||||
xlc)
|
||||
DISABLE_WARNING_PREFIX="-qsuppress="
|
||||
CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@ -47353,7 +47502,11 @@ else
|
||||
# AIX doesn't support 'zipped' so use 'internal' as default
|
||||
with_native_debug_symbols="internal"
|
||||
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
|
||||
@ -55353,6 +55506,349 @@ $as_echo "$FREETYPE_LIB_PATH" >&6; }
|
||||
|
||||
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
|
||||
FREETYPE_BASE_DIR="$SYSROOT/usr/sfw"
|
||||
|
||||
@ -58396,7 +58892,7 @@ $as_echo_n "checking for memory size... " >&6; }
|
||||
FOUND_MEM=yes
|
||||
elif test -x /usr/sbin/prtconf; then
|
||||
# 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
|
||||
elif test -x /usr/sbin/sysctl; then
|
||||
# Looks like a MacOSX system
|
||||
@ -59224,9 +59720,9 @@ $as_echo "$tool_specified" >&6; }
|
||||
fi
|
||||
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_log} 2>&1
|
||||
${icecc_create_env_log} 2>&1 )
|
||||
if test "$?" != "0"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5
|
||||
$as_echo "$as_me: icecc-create-env output:" >&6;}
|
||||
@ -59443,8 +59939,8 @@ $as_echo "$tool_specified" >&6; }
|
||||
|
||||
|
||||
|
||||
cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
|
||||
&& ${ICECC_CREATE_ENV} --clang ${CC} ${ICECC_WRAPPER} > ${icecc_create_env_log} 2>&1
|
||||
( cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
|
||||
&& ${ICECC_CREATE_ENV} --clang ${CC} ${ICECC_WRAPPER} > ${icecc_create_env_log} 2>&1 )
|
||||
if test "$?" != "0"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5
|
||||
$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"
|
||||
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_log_build} 2>&1
|
||||
${icecc_create_env_log_build} 2>&1 )
|
||||
if test "$?" != "0"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5
|
||||
$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
|
||||
|
||||
cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
|
||||
&& ${ICECC_CREATE_ENV} --clang ${BUILD_CC} ${ICECC_WRAPPER} > ${icecc_create_env_log_build} 2>&1
|
||||
( cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \
|
||||
&& ${ICECC_CREATE_ENV} --clang ${BUILD_CC} ${ICECC_WRAPPER} > ${icecc_create_env_log_build} 2>&1 )
|
||||
if test "$?" != "0"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5
|
||||
$as_echo "$as_me: icecc-create-env output:" >&6;}
|
||||
|
@ -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.
|
||||
#
|
||||
# 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.
|
||||
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 "Which are valid to use depends on the build platform.\n"
|
||||
for toolchain in $VALID_TOOLCHAINS_all; do
|
||||
|
@ -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.
|
||||
#
|
||||
# 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_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
|
||||
MACOSX_UNIVERSAL="true"
|
||||
fi
|
||||
|
@ -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.
|
||||
#
|
||||
# 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"])
|
||||
|
||||
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}"
|
||||
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" != xfastdebug && \
|
||||
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
|
||||
])
|
||||
|
||||
@ -176,6 +176,22 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
||||
fi
|
||||
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=false
|
||||
|
||||
@ -222,7 +238,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
AC_MSG_CHECKING([what type of native debug symbols to use])
|
||||
AC_ARG_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$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
|
||||
with_native_debug_symbols="internal"
|
||||
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
|
||||
])
|
||||
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
|
||||
DEBUG_BINARIES=false
|
||||
STRIP_POLICY=min_strip
|
||||
|
||||
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
|
||||
COMPILE_WITH_DEBUG_SYMBOLS=false
|
||||
COPY_DEBUG_SYMBOLS=false
|
||||
@ -275,7 +295,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
DEBUG_BINARIES=true
|
||||
STRIP_POLICY=no_strip
|
||||
STRIP=""
|
||||
|
||||
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; 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.
|
||||
#
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],
|
||||
|
@ -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])
|
||||
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
|
||||
FREETYPE_BASE_DIR="$SYSROOT/usr/sfw"
|
||||
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
|
||||
|
@ -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.
|
||||
#
|
||||
# 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.
|
||||
SPEC:=@SPEC@
|
||||
|
||||
# SPACE is defined in MakeBase.gmk, but it is also used in := rules here for some
|
||||
# toolchains, and is needed if MakeBase.gmk is not included before this file.
|
||||
# SPACE and COMMA are defined in MakeBase.gmk, but they are also used in
|
||||
# some definitions here, and are needed if MakeBase.gmk is not included before
|
||||
# this file.
|
||||
X:=
|
||||
SPACE:=$(X) $(X)
|
||||
COMMA:=,
|
||||
|
||||
# What make to use for main processing, after bootstrapping top-level Makefile.
|
||||
MAKE := @MAKE@
|
||||
@ -350,10 +352,8 @@ CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@
|
||||
CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
|
||||
|
||||
CXX:=@FIXPATH@ @CCACHE@ @ICECC@ @CXX@
|
||||
#CXXFLAGS:=@CXXFLAGS@
|
||||
|
||||
CPP:=@FIXPATH@ @CPP@
|
||||
#CPPFLAGS:=@CPPFLAGS@
|
||||
|
||||
# The linker can be gcc or ld on unix systems, or link.exe on windows systems.
|
||||
LD:=@FIXPATH@ @LD@
|
||||
@ -501,7 +501,7 @@ JAVAC_FLAGS?=@JAVAC_FLAGS@
|
||||
INTERIM_LANGTOOLS_JAR = $(BUILDTOOLS_OUTPUTDIR)/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_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) jdk.javadoc.internal.tool.Main
|
||||
NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) jdk.javadoc.internal.tool.Main
|
||||
|
||||
# Base flags for RC
|
||||
# Guarding this against resetting value. Legacy make files include spec multiple
|
||||
|
@ -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.
|
||||
#
|
||||
# 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_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
|
||||
# named on this platform/toolchain.
|
||||
AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
|
||||
@ -175,6 +236,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
|
||||
# Use indirect variable referencing
|
||||
toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
|
||||
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_CC_BINARY=${!toolchain_var_name}
|
||||
toolchain_var_name=TOOLCHAIN_CXX_BINARY_$TOOLCHAIN_TYPE
|
||||
@ -217,8 +280,14 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
|
||||
export INCLUDE="$VS_INCLUDE"
|
||||
export LIB="$VS_LIB"
|
||||
else
|
||||
# Currently we do not define this for other toolchains. This might change as the need arise.
|
||||
TOOLCHAIN_VERSION=
|
||||
if test "x$XCODE_VERSION_OUTPUT" != x; then
|
||||
# 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
|
||||
AC_SUBST(TOOLCHAIN_VERSION)
|
||||
|
||||
@ -257,7 +326,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
|
||||
#
|
||||
# $1 = compiler to test (CC or CXX)
|
||||
# $2 = human readable name of compiler (C or C++)
|
||||
AC_DEFUN([TOOLCHAIN_CHECK_COMPILER_VERSION],
|
||||
AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
|
||||
[
|
||||
COMPILER=[$]$1
|
||||
COMPILER_NAME=$2
|
||||
@ -354,7 +423,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_COMPILER_VERSION],
|
||||
# Collapse compiler output into a single line
|
||||
COMPILER_VERSION_STRING=`$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
|
||||
AC_MSG_ERROR([Unknown toolchain type $TOOLCHAIN_TYPE.])
|
||||
fi
|
||||
@ -451,7 +520,7 @@ AC_DEFUN([TOOLCHAIN_FIND_COMPILER],
|
||||
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),
|
||||
@ -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
|
||||
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)
|
||||
#
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/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.
|
||||
#
|
||||
# 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
|
||||
# To improve performance when large diffs are found, do a rough filtering of classes
|
||||
# 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\}' \
|
||||
-e '[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}' \
|
||||
if $GREP -R -e '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}' \
|
||||
-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 "${THIS_FILE}" > ${THIS_FILE}.javap
|
||||
TMP=$($DIFF ${OTHER_FILE}.javap ${THIS_FILE}.javap | \
|
||||
$GREP '^[<>]' | \
|
||||
$SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
|
||||
-e '/[0-9]\{2\}\/[0-9]\{2\}\/[0-9]\{4\}/d' \
|
||||
$SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d' \
|
||||
-e '/[<>].*lambda\$[a-zA-Z0-9]*\$[0-9]*/d')
|
||||
fi
|
||||
fi
|
||||
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.
|
||||
TMP=$(LC_ALL=C $DIFF $OTHER_FILE.cleaned $THIS_FILE | \
|
||||
TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
|
||||
$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
|
||||
if test "x$SUFFIX" = "xhtml"; then
|
||||
# Some javadoc versions do not put quotes around font size
|
||||
@ -306,7 +295,8 @@ compare_general_files() {
|
||||
! -name "*.lib" ! -name "*.war" ! -name "JavaControlPanel" \
|
||||
! -name "*.obj" ! -name "*.o" ! -name "JavaControlPanelHelper" \
|
||||
! -name "JavaUpdater" ! -name "JavaWSApplicationStub" \
|
||||
! -name "jspawnhelper" ! -name "*.a" \
|
||||
! -name "jspawnhelper" ! -name "JavawsLauncher" ! -name "*.a" \
|
||||
! -name "finish_installation" ! -name "Sparkle" \
|
||||
| $GREP -v "./bin/" | $SORT | $FILTER)
|
||||
|
||||
echo Other files with binary differences...
|
||||
@ -320,29 +310,28 @@ compare_general_files() {
|
||||
THIS_FILE=$WORK_DIR/$f.this
|
||||
$MKDIR -p $(dirname $OTHER_FILE)
|
||||
$MKDIR -p $(dirname $THIS_FILE)
|
||||
$CAT $OTHER_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $OTHER_FILE
|
||||
$CAT $THIS_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $THIS_FILE
|
||||
RELEASE_FILTER="$SED \
|
||||
-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
|
||||
# Ignore time stamps in docs files
|
||||
OTHER_FILE=$WORK_DIR/$f.other
|
||||
THIS_FILE=$WORK_DIR/$f.this
|
||||
$MKDIR -p $(dirname $OTHER_FILE)
|
||||
$MKDIR -p $(dirname $THIS_FILE)
|
||||
$MKDIR -p $(dirname $OTHER_FILE) $(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.
|
||||
$CAT $OTHER_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)/' \
|
||||
> $OTHER_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
|
||||
HTML_FILTER="$SED \
|
||||
-e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}/<DATE>/g' \
|
||||
-e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
|
||||
-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>/'
|
||||
"
|
||||
$CAT $OTHER_DIR/$f | eval "$HTML_FILTER" > $OTHER_FILE
|
||||
$CAT $THIS_DIR/$f | eval "$HTML_FILTER" > $THIS_FILE
|
||||
else
|
||||
OTHER_FILE=$OTHER_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/.cpl/}
|
||||
DIZ_NAME=$(basename $OTHER_FILE_BASE).diz
|
||||
# java.exe and java.dll diz files will have the same name. Have to
|
||||
# make sure java.exe gets the right one. This is only needed for
|
||||
# OTHER since in the new build, all pdb files are left around.
|
||||
if [ "$NAME" = "java.exe" ] && [ -f "$OTHER/tmp/java/java/obj64/java.diz" ]; then
|
||||
OTHER_DIZ_FILE="$OTHER/tmp/java/java/obj64/java.diz"
|
||||
# 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 "$OTHER/support/native/java.base/java_objs/java.diz" ]; then
|
||||
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
|
||||
OTHER_DIZ_FILE=${OTHER_FILE_BASE}.diz
|
||||
else
|
||||
@ -627,9 +622,22 @@ compare_bin_file() {
|
||||
(cd $FILE_WORK_DIR/other ; $UNARCHIVE -o $OTHER_DIZ_FILE)
|
||||
export _NT_SYMBOL_PATH="$FILE_WORK_DIR/other"
|
||||
fi
|
||||
|
||||
THIS_FILE_BASE=${THIS_FILE/.dll/}
|
||||
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
|
||||
else
|
||||
THIS_DIZ_FILE="$($FIND $THIS_DIR -name $DIZ_NAME | $SED 1q)"
|
||||
@ -738,6 +746,9 @@ compare_bin_file() {
|
||||
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_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
|
||||
$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
|
||||
@ -856,8 +867,15 @@ compare_bin_file() {
|
||||
if [ -z "$DIS_DIFF_FILTER" ]; then
|
||||
DIS_DIFF_FILTER="$GREP -v ' # .* <.*>$' | $SED -r -e 's/(\b|x)([0-9a-fA-F]+)(\b|:|>)/X/g'"
|
||||
fi
|
||||
$DIS_CMD $OTHER_FILE | $GREP -v $NAME | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.other 2>&1
|
||||
$DIS_CMD $THIS_FILE | $GREP -v $NAME | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1
|
||||
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
||||
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
|
||||
|
||||
@ -974,6 +992,15 @@ compare_all_execs() {
|
||||
-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 '*.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)
|
||||
fi
|
||||
|
||||
@ -996,14 +1023,6 @@ compare_all_execs() {
|
||||
################################################################################
|
||||
# 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"
|
||||
echo "$THIS"
|
||||
THIS_SCRIPT="$0"
|
||||
@ -1026,6 +1045,7 @@ if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "-?" ] || [ "$1" = "/h" ] || [ "$1
|
||||
echo ""
|
||||
echo "--sort-symbols Sort all symbols before comparing"
|
||||
echo "--strip Strip all binaries before comparing"
|
||||
echo "--clean Clean all previous comparison results first"
|
||||
echo ""
|
||||
echo "[FILTER] List filenames in the image to compare, works for jars, zips, libs and execs"
|
||||
echo "Example:"
|
||||
@ -1125,6 +1145,9 @@ while [ -n "$1" ]; do
|
||||
--strip)
|
||||
STRIP_ALL=true
|
||||
;;
|
||||
--clean)
|
||||
CLEAN_OUTPUT=true
|
||||
;;
|
||||
*)
|
||||
CMP_NAMES=false
|
||||
CMP_PERMS=false
|
||||
@ -1143,6 +1166,23 @@ while [ -n "$1" ]; do
|
||||
shift
|
||||
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
|
||||
THIS_DIR="$(dirname $THIS_FILE)"
|
||||
THIS_DIR="$(cd "$THIS_DIR" > /dev/null && pwd )"
|
||||
@ -1278,6 +1318,15 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
|
||||
echo " $OTHER_DEPLOY_APPLET_PLUGIN_DIR"
|
||||
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
|
||||
OTHER_SEC_DIR="$OTHER/images"
|
||||
else
|
||||
@ -1298,9 +1347,9 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
|
||||
THIS_JGSS_WINDOWS_BIN="$THIS_SEC_DIR/$JGSS_WINDOWS_BIN"
|
||||
fi
|
||||
|
||||
if [ -d "$THIS/docs" ] && [ -d "$OTHER/docs" ]; then
|
||||
THIS_DOCS="$THIS/docs"
|
||||
OTHER_DOCS="$OTHER/docs"
|
||||
if [ -d "$THIS/images/docs" ] && [ -d "$OTHER/images/docs" ]; then
|
||||
THIS_DOCS="$THIS/images/docs"
|
||||
OTHER_DOCS="$OTHER/images/docs"
|
||||
echo "Also comparing docs"
|
||||
else
|
||||
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
|
||||
echo -n "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
|
||||
|
||||
echo -n "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
|
||||
fi
|
||||
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
|
||||
echo -n "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
|
||||
|
||||
echo -n "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
|
||||
fi
|
||||
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
|
||||
@ -1349,13 +1398,19 @@ if [ "$CMP_NAMES" = "true" ]; then
|
||||
echo -n "JavaAppletPlugin "
|
||||
compare_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
|
||||
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
|
||||
|
||||
if [ "$CMP_PERMS" = "true" ]; then
|
||||
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
|
||||
echo -n "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
|
||||
fi
|
||||
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
|
||||
@ -1365,19 +1420,23 @@ if [ "$CMP_PERMS" = "true" ]; then
|
||||
echo -n "JavaAppletPlugin "
|
||||
compare_permissions $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
|
||||
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
|
||||
|
||||
if [ "$CMP_TYPES" = "true" ]; then
|
||||
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
|
||||
echo -n "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
|
||||
fi
|
||||
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
|
||||
echo -n "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
|
||||
fi
|
||||
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
|
||||
@ -1387,19 +1446,23 @@ if [ "$CMP_TYPES" = "true" ]; then
|
||||
echo -n "JavaAppletPlugin "
|
||||
compare_file_types $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
|
||||
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
|
||||
|
||||
if [ "$CMP_GENERAL" = "true" ]; then
|
||||
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
|
||||
echo -n "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
|
||||
fi
|
||||
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
|
||||
echo -n "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
|
||||
fi
|
||||
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
|
||||
@ -1413,6 +1476,10 @@ if [ "$CMP_GENERAL" = "true" ]; then
|
||||
echo -n "JavaAppletPlugin "
|
||||
compare_general_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
|
||||
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
|
||||
|
||||
if [ "$CMP_ZIPS" = "true" ]; then
|
||||
@ -1465,7 +1532,7 @@ if [ "$CMP_LIBS" = "true" ]; then
|
||||
echo -n "JDK "
|
||||
compare_all_libs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
|
||||
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
|
||||
echo -n "JRE "
|
||||
echo -n "JRE "
|
||||
compare_all_libs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
|
||||
fi
|
||||
fi
|
||||
@ -1476,13 +1543,17 @@ if [ "$CMP_LIBS" = "true" ]; then
|
||||
echo -n "JavaAppletPlugin "
|
||||
compare_all_libs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
|
||||
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
|
||||
|
||||
if [ "$CMP_EXECS" = "true" ]; then
|
||||
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
|
||||
compare_all_execs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
|
||||
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
|
||||
echo -n "JRE "
|
||||
echo -n "JRE "
|
||||
compare_all_execs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
|
||||
fi
|
||||
fi
|
||||
@ -1493,6 +1564,10 @@ if [ "$CMP_EXECS" = "true" ]; then
|
||||
echo -n "JavaAppletPlugin "
|
||||
compare_all_execs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
|
||||
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
|
||||
|
||||
echo
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -347,3 +347,4 @@ ea285530245cf4e0edf0479121a41347d3030eba jdk-9+98
|
||||
9c4662334d933d299928d1f599d02ff50777cbf8 jdk-9+102
|
||||
0680fb7dae4da1ee6cf783c4b74184e3e08d3179 jdk-9+103
|
||||
e385e95e6101711d5c63e7b1a827e99b6ec7a1cc jdk-9+104
|
||||
64006ae915b3aa85ac7e6fac679024d2da7fe526 jdk-9+105
|
||||
|
@ -507,3 +507,4 @@ bdb0acafc63c42e84d9d8195bf2e2b25ee9c3306 jdk-9+100
|
||||
d5239fc1b69749ae50793c61b899fcdacf3df857 jdk-9+102
|
||||
c5f55130b1b69510d9a6f4a3105b58e21cd7ffe1 jdk-9+103
|
||||
534c50395957c6025fb6627e93b35756f8d48a08 jdk-9+104
|
||||
266fa9bb5297bf02cb2a7b038b10a109817d2b48 jdk-9+105
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -29,6 +29,10 @@ $(eval $(call IncludeCustomExtension, hotspot, lib/Lib-jdk.hotspot.agent.gmk))
|
||||
|
||||
################################################################################
|
||||
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx windows), )
|
||||
DISABLE_MAPFILES := true
|
||||
endif
|
||||
|
||||
SA_TOPDIR := $(HOTSPOT_TOPDIR)/src/jdk.hotspot.agent
|
||||
|
||||
# Defaults for most platforms
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
// Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
//
|
||||
// This code is free software; you can redistribute it and/or modify it
|
||||
@ -19,7 +19,7 @@
|
||||
// Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
// or visit www.oracle.com if you need additional information or have any
|
||||
// questions.
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
#include "winresrc.h"
|
||||
@ -36,7 +36,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION HS_VER
|
||||
FILEVERSION JDK_VER
|
||||
PRODUCTVERSION JDK_VER
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
@ -56,7 +56,7 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", XSTR(HS_COMPANY) "\0"
|
||||
VALUE "FileDescription", XSTR(HS_FILEDESC) "\0"
|
||||
VALUE "FileVersion", XSTR(HS_DOTVER) "\0"
|
||||
VALUE "FileVersion", XSTR(JDK_DOTVER) "\0"
|
||||
VALUE "Full Version", XSTR(HS_BUILD_ID) "\0"
|
||||
VALUE "InternalName", XSTR(HS_INTERNAL_NAME) "\0"
|
||||
VALUE "LegalCopyright", XSTR(HS_COPYRIGHT) "\0"
|
||||
|
@ -347,3 +347,4 @@ d3e834ff74e724a2b92a558e18e8cbf81c6dbc59 jdk-9+101
|
||||
9dcf193c0b6cf22c0e89e2dc705a2c0f520ae064 jdk-9+102
|
||||
bdbf2342b21bd8ecad1b4e6499a0dfb314952bd7 jdk-9+103
|
||||
58448465334e1d8bf1cfc09052783937b1cc21c0 jdk-9+104
|
||||
5acf6071d4d610068a19c79e004ba8e59cf1b087 jdk-9+105
|
||||
|
2
jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java
2
jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java
@ -123,7 +123,7 @@ import org.xml.sax.ext.LexicalHandler;
|
||||
* @see Serializer
|
||||
* @see org.w3c.dom.ls.LSSerializer
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -37,7 +37,7 @@ import org.w3c.dom.DocumentFragment;
|
||||
* @author <a href="mailto:Scott_Boag/CAM/Lotus@lotus.com">Scott Boag</a>
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -72,7 +72,7 @@ import org.w3c.dom.ls.LSSerializerFilter;
|
||||
* @author Arun Yadav, Sun Microsystems
|
||||
* @author Sunitha Reddy, Sun Microsystems
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, replaced by
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, replaced by
|
||||
* {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}
|
||||
*/
|
||||
public class DOMSerializerImpl implements LSSerializer, DOMConfiguration {
|
||||
|
@ -31,7 +31,7 @@ import java.util.Map;
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
* @see BaseMarkupSerializer
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -32,7 +32,7 @@ import java.nio.charset.CharsetEncoder;
|
||||
/**
|
||||
* This class represents an encoding.
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -37,7 +37,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
*
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -46,7 +46,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -34,7 +34,7 @@ import java.io.IOException;
|
||||
*
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -27,7 +27,7 @@ package com.sun.org.apache.xml.internal.serialize;
|
||||
* @author <a href="mailto:arkin@intalio..com">Assaf Arkin</a>
|
||||
* @see OutputFormat
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -27,7 +27,7 @@ package com.sun.org.apache.xml.internal.serialize;
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
* @see OutputFormat
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -60,7 +60,7 @@ import org.w3c.dom.Node;
|
||||
* @see Method
|
||||
* @see LineSeparator
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -42,7 +42,7 @@ import java.io.IOException;
|
||||
*
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -62,7 +62,7 @@ import org.xml.sax.DocumentHandler;
|
||||
* @see OutputFormat
|
||||
* @see DOMSerializer
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -37,7 +37,7 @@ import java.util.StringTokenizer;
|
||||
* @author <a href="mailto:Scott_Boag/CAM/Lotus@lotus.com">Scott Boag</a>
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
2
jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/SerializerFactoryImpl.java
2
jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/SerializerFactoryImpl.java
@ -36,7 +36,7 @@ import com.sun.org.apache.xerces.internal.dom.DOMMessageFormatter;
|
||||
* @author <a href="mailto:Scott_Boag/CAM/Lotus@lotus.com">Scott Boag</a>
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -60,7 +60,7 @@ import org.xml.sax.SAXException;
|
||||
* @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a>
|
||||
* @see Serializer
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -79,7 +79,7 @@ import org.xml.sax.SAXException;
|
||||
* @author Elena Litani IBM
|
||||
* @see Serializer
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -90,7 +90,7 @@ import org.xml.sax.helpers.AttributesImpl;
|
||||
* @author Elena Litani IBM
|
||||
* @see Serializer
|
||||
*
|
||||
* @deprecated As of JDK 1.9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* @deprecated As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation
|
||||
* is replaced by that of Xalan. Main class
|
||||
* {@link com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl} is replaced
|
||||
* by {@link com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl}.
|
||||
|
@ -350,3 +350,4 @@ d0a97e57d2336238edf6a4cd60aafe67deb7258d jdk-9+100
|
||||
0868b93587cc99df3a4f4d3817a1aa756bea60ab jdk-9+102
|
||||
eb5e005a17e50d7d8340daaf21a5c3c5ae358d68 jdk-9+103
|
||||
0f557aa096e2a5c9733d406d8cf0c2e6b1f8ca60 jdk-9+104
|
||||
45a666c58e4c7d07638878684ad09decb3229dc9 jdk-9+105
|
||||
|
@ -28,62 +28,97 @@ package com.sun.xml.internal.ws.api.pipe;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
|
||||
/**
|
||||
* Simple utility class to instantiate correct Thread instance
|
||||
* depending on runtime context (jdk/non-jdk usage)
|
||||
* depending on runtime context (jdk/non-jdk usage) and Java version.
|
||||
*
|
||||
* @author miroslav.kos@oracle.com
|
||||
*/
|
||||
final class ThreadHelper {
|
||||
|
||||
private static final String SAFE_THREAD_NAME = "sun.misc.ManagedLocalsThread";
|
||||
private static final Constructor THREAD_CONSTRUCTOR;
|
||||
|
||||
private static final ThreadFactory threadFactory;
|
||||
|
||||
// no instantiating wanted
|
||||
private ThreadHelper() {
|
||||
}
|
||||
|
||||
static {
|
||||
THREAD_CONSTRUCTOR = AccessController.doPrivileged(
|
||||
new PrivilegedAction<Constructor> () {
|
||||
threadFactory = AccessController.doPrivileged(
|
||||
new PrivilegedAction<ThreadFactory> () {
|
||||
@Override
|
||||
public Constructor run() {
|
||||
public ThreadFactory run() {
|
||||
// In order of preference
|
||||
try {
|
||||
Class cls = Class.forName(SAFE_THREAD_NAME);
|
||||
if (cls != null) {
|
||||
return cls.getConstructor(Runnable.class);
|
||||
try {
|
||||
Class<Thread> cls = Thread.class;
|
||||
Constructor<Thread> ctr = cls.getConstructor(
|
||||
ThreadGroup.class,
|
||||
Runnable.class,
|
||||
String.class,
|
||||
long.class,
|
||||
boolean.class);
|
||||
return new JDK9ThreadFactory(ctr);
|
||||
} catch (NoSuchMethodException ignored) {
|
||||
// constructor newly added in Java SE 9
|
||||
}
|
||||
Class<?> cls = Class.forName(SAFE_THREAD_NAME);
|
||||
Constructor<?> ctr = cls.getConstructor(Runnable.class);
|
||||
return new SunMiscThreadFactory(ctr);
|
||||
} catch (ClassNotFoundException ignored) {
|
||||
} catch (NoSuchMethodException ignored) {
|
||||
}
|
||||
return null;
|
||||
return new LegacyThreadFactory();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
static Thread createNewThread(final Runnable r) {
|
||||
if (isJDKInternal()) {
|
||||
return AccessController.doPrivileged(
|
||||
new PrivilegedAction<Thread>() {
|
||||
@Override
|
||||
public Thread run() {
|
||||
try {
|
||||
return (Thread) THREAD_CONSTRUCTOR.newInstance(r);
|
||||
} catch (Exception e) {
|
||||
return new Thread(r);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
} else {
|
||||
return new Thread(r);
|
||||
return threadFactory.newThread(r);
|
||||
}
|
||||
|
||||
// A Thread factory backed by the Thread constructor that
|
||||
// suppresses inheriting of inheritable thread-locals.
|
||||
private static class JDK9ThreadFactory implements ThreadFactory {
|
||||
final Constructor<Thread> ctr;
|
||||
JDK9ThreadFactory(Constructor<Thread> ctr) { this.ctr = ctr; }
|
||||
@Override public Thread newThread(Runnable r) {
|
||||
try {
|
||||
return ctr.newInstance(null, r, "toBeReplaced", 0, false);
|
||||
} catch (ReflectiveOperationException x) {
|
||||
throw new InternalError(x);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isJDKInternal() {
|
||||
String className = ThreadHelper.class.getName();
|
||||
return className.contains(".internal.");
|
||||
// A Thread factory backed by sun.misc.ManagedLocalsThread
|
||||
private static class SunMiscThreadFactory implements ThreadFactory {
|
||||
final Constructor<?> ctr;
|
||||
SunMiscThreadFactory(Constructor<?> ctr) { this.ctr = ctr; }
|
||||
@Override public Thread newThread(Runnable r) {
|
||||
return AccessController.doPrivileged(
|
||||
new PrivilegedAction<Thread>() {
|
||||
@Override
|
||||
public Thread run() {
|
||||
try {
|
||||
return (Thread) ctr.newInstance(r);
|
||||
} catch (Exception e) {
|
||||
return new Thread(r);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// A Thread factory backed by new Thread(Runnable)
|
||||
private static class LegacyThreadFactory implements ThreadFactory {
|
||||
@Override public Thread newThread(Runnable r) {
|
||||
return new Thread(r);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -347,3 +347,4 @@ e1a789be1535741274c9779f4d4ca3495196b5c3 jdk-9+99
|
||||
6eb3c8132e489dab81adde4ce29844904ce15482 jdk-9+102
|
||||
eee1ced1d8e78293f2a004af818ca474387dbebf jdk-9+103
|
||||
8faf1aec77a9517c69d2f4d8dd146429852ace7f jdk-9+104
|
||||
55518739e399a1066c8613e19100d51b38d9f223 jdk-9+105
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
#
|
||||
# Copyright 2013 SAP AG. All rights reserved.
|
||||
# Copyright (c) 2013 SAP SE. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -21,4 +21,4 @@
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
tzdata2015g
|
||||
tzdata2016a
|
||||
|
@ -897,6 +897,15 @@ Zone Asia/Dili 8:22:20 - LMT 1912 Jan 1
|
||||
9:00 - TLT
|
||||
|
||||
# India
|
||||
|
||||
# From Ian P. Beacock, in "A brief history of (modern) time", The Atlantic
|
||||
# http://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/
|
||||
# (2015-12-22):
|
||||
# In January 1906, several thousand cotton-mill workers rioted on the
|
||||
# outskirts of Bombay.... They were protesting the proposed abolition of
|
||||
# local time in favor of Indian Standard Time.... Journalists called this
|
||||
# dispute the "Battle of the Clocks." It lasted nearly half a century.
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Kolkata 5:53:28 - LMT 1880 # Kolkata
|
||||
5:53:20 - HMT 1941 Oct # Howrah Mean Time?
|
||||
@ -1107,8 +1116,15 @@ Rule Iran 2032 2033 - Mar 21 0:00 1:00 D
|
||||
Rule Iran 2032 2033 - Sep 21 0:00 0 S
|
||||
Rule Iran 2034 2035 - Mar 22 0:00 1:00 D
|
||||
Rule Iran 2034 2035 - Sep 22 0:00 0 S
|
||||
Rule Iran 2036 2037 - Mar 21 0:00 1:00 D
|
||||
Rule Iran 2036 2037 - Sep 21 0:00 0 S
|
||||
#
|
||||
# The following rules are approximations starting in the year 2038.
|
||||
# These are the best post-2037 approximations available, given the
|
||||
# restrictions of a single rule using a Gregorian-based data format.
|
||||
# At some point this table will need to be extended, though quite
|
||||
# possibly Iran will change the rules first.
|
||||
Rule Iran 2036 max - Mar 21 0:00 1:00 D
|
||||
Rule Iran 2036 max - Sep 21 0:00 0 S
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Asia/Tehran 3:25:44 - LMT 1916
|
||||
3:25:44 - TMT 1946 # Tehran Mean Time
|
||||
@ -2134,8 +2150,8 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920
|
||||
# http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Pakistan 2002 only - Apr Sun>=2 0:01 1:00 S
|
||||
Rule Pakistan 2002 only - Oct Sun>=2 0:01 0 -
|
||||
Rule Pakistan 2002 only - Apr Sun>=2 0:00 1:00 S
|
||||
Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
|
||||
Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
|
||||
Rule Pakistan 2008 2009 - Nov 1 0:00 0 -
|
||||
Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
|
||||
|
@ -46,6 +46,7 @@ Link America/Argentina/Mendoza America/Mendoza
|
||||
Link America/Toronto America/Montreal
|
||||
Link America/Rio_Branco America/Porto_Acre
|
||||
Link America/Argentina/Cordoba America/Rosario
|
||||
Link America/Tijuana America/Santa_Isabel
|
||||
Link America/Denver America/Shiprock
|
||||
Link America/Port_of_Spain America/Virgin
|
||||
Link Pacific/Auckland Antarctica/South_Pole
|
||||
|
@ -2616,13 +2616,20 @@ Zone Asia/Irkutsk 6:57:05 - LMT 1880
|
||||
# Note: Effective 2008-03-01, (75) Chita Oblast and (80) Agin-Buryat
|
||||
# Autonomous Okrug merged to form (92, RU-ZAB) Zabaykalsky Krai.
|
||||
|
||||
# From Alexander Krivenyshev (2016-01-02):
|
||||
# [The] time zone in the Trans-Baikal Territory (Zabaykalsky Krai) -
|
||||
# Asia/Chita [is changing] from UTC+8 to UTC+9. Effective date will
|
||||
# be March 27, 2016 at 2:00am....
|
||||
# http://publication.pravo.gov.ru/Document/View/000120151230010
|
||||
|
||||
Zone Asia/Chita 7:33:52 - LMT 1919 Dec 15
|
||||
8:00 - YAKT 1930 Jun 21 # Yakutsk Time
|
||||
9:00 Russia YAK%sT 1991 Mar 31 2:00s
|
||||
8:00 Russia YAK%sT 1992 Jan 19 2:00s
|
||||
9:00 Russia YAK%sT 2011 Mar 27 2:00s
|
||||
10:00 - YAKT 2014 Oct 26 2:00s
|
||||
8:00 - IRKT
|
||||
8:00 - IRKT 2016 Mar 27 2:00
|
||||
9:00 - YAKT
|
||||
|
||||
|
||||
# From Tim Parenti (2014-07-03), per Oscar van Vlijmen (2009-11-29):
|
||||
@ -3177,6 +3184,12 @@ Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment.
|
||||
# It's officially announced now by the Ministry of Energy.
|
||||
# Turkey delays winter time to 8th of November 04:00
|
||||
# http://www.aa.com.tr/tr/turkiye/yaz-saati-uygulamasi-8-kasimda-sona-erecek/362217
|
||||
#
|
||||
# From BBC News (2015-10-25):
|
||||
# Confused Turks are asking "what's the time?" after automatic clocks defied a
|
||||
# government decision ... "For the next two weeks #Turkey is on EEST... Erdogan
|
||||
# Engineered Standard Time," said Twitter user @aysekarahasan.
|
||||
# http://www.bbc.com/news/world-europe-34631326
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Turkey 1916 only - May 1 0:00 1:00 S
|
||||
|
@ -348,6 +348,16 @@ Zone America/New_York -4:56:02 - LMT 1883 Nov 18 12:03:58
|
||||
# Statue 175 closer in synch with the US Congress' intent....
|
||||
# http://www.legis.state.wi.us/2007/data/acts/07Act3.pdf
|
||||
|
||||
# From an email administrator of the City of Fort Pierre, SD (2015-12-21):
|
||||
# Fort Pierre is technically located in the Mountain time zone as is
|
||||
# the rest of Stanley County. Most of Stanley County and Fort Pierre
|
||||
# uses the Central time zone due to doing most of their business in
|
||||
# Pierre so it simplifies schedules. I have lived in Stanley County
|
||||
# all my life and it has been that way since I can remember. (43 years!)
|
||||
#
|
||||
# From Paul Eggert (2015-12-25):
|
||||
# Assume this practice predates 1970, so Fort Pierre can use America/Chicago.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
|
||||
Rule Chicago 1920 only - Jun 13 2:00 1:00 D
|
||||
Rule Chicago 1920 1921 - Oct lastSun 2:00 0 S
|
||||
@ -504,6 +514,12 @@ Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
|
||||
# For lack of better information, assume that Metlakatla's
|
||||
# abandonment of use of daylight saving resulted from the 1983 vote.
|
||||
|
||||
# From Steffen Thorsen (2015-11-09):
|
||||
# It seems Metlakatla did go off PST on Sunday, November 1, changing
|
||||
# their time to AKST and are going to follow Alaska's DST, switching
|
||||
# between AKST and AKDT from now on....
|
||||
# http://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone America/Juneau 15:02:19 - LMT 1867 Oct 18
|
||||
-8:57:41 - LMT 1900 Aug 20 12:00
|
||||
@ -529,7 +545,8 @@ Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 18
|
||||
-8:00 US P%sT 1946
|
||||
-8:00 - PST 1969
|
||||
-8:00 US P%sT 1983 Oct 30 2:00
|
||||
-8:00 - PST
|
||||
-8:00 - PST 2015 Nov 1 2:00
|
||||
-9:00 US AK%sT
|
||||
Zone America/Yakutat 14:41:05 - LMT 1867 Oct 18
|
||||
-9:18:55 - LMT 1900 Aug 20 12:00
|
||||
-9:00 - YST 1942
|
||||
@ -2610,25 +2627,6 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
|
||||
-8:00 US P%sT 2002 Feb 20
|
||||
-8:00 Mexico P%sT 2010
|
||||
-8:00 US P%sT
|
||||
# Baja California (away from US border)
|
||||
Zone America/Santa_Isabel -7:39:28 - LMT 1922 Jan 1 0:20:32
|
||||
-7:00 - MST 1924
|
||||
-8:00 - PST 1927 Jun 10 23:00
|
||||
-7:00 - MST 1930 Nov 15
|
||||
-8:00 - PST 1931 Apr 1
|
||||
-8:00 1:00 PDT 1931 Sep 30
|
||||
-8:00 - PST 1942 Apr 24
|
||||
-8:00 1:00 PWT 1945 Aug 14 23:00u
|
||||
-8:00 1:00 PPT 1945 Nov 12 # Peace
|
||||
-8:00 - PST 1948 Apr 5
|
||||
-8:00 1:00 PDT 1949 Jan 14
|
||||
-8:00 - PST 1954
|
||||
-8:00 CA P%sT 1961
|
||||
-8:00 - PST 1976
|
||||
-8:00 US P%sT 1996
|
||||
-8:00 Mexico P%sT 2001
|
||||
-8:00 US P%sT 2002 Feb 20
|
||||
-8:00 Mexico P%sT
|
||||
# From Paul Eggert (2006-03-22):
|
||||
# Formerly there was an America/Ensenada zone, which differed from
|
||||
# America/Tijuana only in that it did not observe DST from 1976
|
||||
@ -2641,6 +2639,13 @@ Zone America/Santa_Isabel -7:39:28 - LMT 1922 Jan 1 0:20:32
|
||||
# other than America/Tijuana for Baja, but it's not clear yet what its
|
||||
# name or contents should be.
|
||||
#
|
||||
# From Paul Eggert (2015-10-08):
|
||||
# Formerly there was an America/Santa_Isabel zone, but this appears to
|
||||
# have come from a misreading of
|
||||
# http://dof.gob.mx/nota_detalle.php?codigo=5127480&fecha=06/01/2010
|
||||
# It has been moved to the 'backward' file.
|
||||
#
|
||||
#
|
||||
# Revillagigedo Is
|
||||
# no information
|
||||
|
||||
@ -2715,17 +2720,7 @@ Zone Atlantic/Bermuda -4:19:18 - LMT 1930 Jan 1 2:00 # Hamilton
|
||||
-4:00 US A%sT
|
||||
|
||||
# Cayman Is
|
||||
|
||||
# From Paul Eggert (2015-05-15):
|
||||
# The Cayman government has decided to introduce DST in 2016, the idea being
|
||||
# to keep in sync with New York. The legislation hasn't passed but the change
|
||||
# seems quite likely. See: Meade B. Cayman 27.
|
||||
# http://www.cayman27.com.ky/2015/05/15/clock-ticks-toward-daylight-saving-time-in-cayman
|
||||
|
||||
Zone America/Cayman -5:25:32 - LMT 1890 # Georgetown
|
||||
-5:07:11 - KMT 1912 Feb # Kingston Mean Time
|
||||
-5:00 - EST 2016
|
||||
-5:00 US E%sT
|
||||
# See America/Panama.
|
||||
|
||||
# Costa Rica
|
||||
|
||||
@ -3248,6 +3243,7 @@ Zone America/Managua -5:45:08 - LMT 1890
|
||||
Zone America/Panama -5:18:08 - LMT 1890
|
||||
-5:19:36 - CMT 1908 Apr 22 # Colón Mean Time
|
||||
-5:00 - EST
|
||||
Link America/Panama America/Cayman
|
||||
|
||||
# Puerto Rico
|
||||
# There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'.
|
||||
|
@ -306,8 +306,7 @@ MX +2313-10625 America/Mazatlan Mountain Time - S Baja, Nayarit, Sinaloa
|
||||
MX +2838-10605 America/Chihuahua Mexican Mountain Time - Chihuahua away from US border
|
||||
MX +2934-10425 America/Ojinaga US Mountain Time - Chihuahua near US border
|
||||
MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora
|
||||
MX +3232-11701 America/Tijuana US Pacific Time - Baja California near US border
|
||||
MX +3018-11452 America/Santa_Isabel Mexican Pacific Time - Baja California away from US border
|
||||
MX +3232-11701 America/Tijuana US Pacific Time - Baja California state
|
||||
MX +2048-10515 America/Bahia_Banderas Mexican Central Time - Bahia de Banderas
|
||||
MY +0310+10142 Asia/Kuala_Lumpur peninsular Malaysia
|
||||
MY +0133+11020 Asia/Kuching Sabah & Sarawak
|
||||
@ -437,10 +436,10 @@ US +394421-1045903 America/Denver Mountain Time
|
||||
US +433649-1161209 America/Boise Mountain Time - south Idaho & east Oregon
|
||||
US +332654-1120424 America/Phoenix Mountain Standard Time - Arizona (except Navajo)
|
||||
US +340308-1181434 America/Los_Angeles Pacific Time
|
||||
US +550737-1313435 America/Metlakatla Pacific Standard Time - Annette Island, Alaska
|
||||
US +611305-1495401 America/Anchorage Alaska Time
|
||||
US +581807-1342511 America/Juneau Alaska Time - Alaska panhandle
|
||||
US +571035-1351807 America/Sitka Alaska Time - southeast Alaska panhandle
|
||||
US +550737-1313435 America/Metlakatla Alaska Time - Annette Island
|
||||
US +593249-1394338 America/Yakutat Alaska Time - Alaska panhandle neck
|
||||
US +643004-1652423 America/Nome Alaska Time - west Alaska
|
||||
US +515248-1763929 America/Adak Aleutian Islands
|
||||
|
@ -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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -78,11 +78,9 @@ $(SUPPORT_OUTPUTDIR)/gensrc/jdk.hotspot.agent/META-INF/services/com.sun.jdi.conn
|
||||
$(install-file)
|
||||
|
||||
# Some platforms don't have the serviceability agent
|
||||
ifeq (, $(filter $(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), aix-ppc64))
|
||||
ifneq ($(JVM_VARIANT_ZERO), true)
|
||||
GENSRC_JDK_JDI += $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/META-INF/services/com.sun.jdi.connect.Connector \
|
||||
$(SUPPORT_OUTPUTDIR)/gensrc/jdk.hotspot.agent/META-INF/services/com.sun.jdi.connect.Connector
|
||||
endif
|
||||
ifeq ($(INCLUDE_SA), true)
|
||||
GENSRC_JDK_JDI += $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/META-INF/services/com.sun.jdi.connect.Connector \
|
||||
$(SUPPORT_OUTPUTDIR)/gensrc/jdk.hotspot.agent/META-INF/services/com.sun.jdi.connect.Connector
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
@ -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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -26,8 +26,12 @@
|
||||
include NativeCompilation.gmk
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
DISABLE_MAPFILES := true
|
||||
ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN)
|
||||
else
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
DISABLE_MAPFILES := true
|
||||
endif
|
||||
ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN,/../lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli)
|
||||
|
||||
# Applications expect to be able to link against libjawt without invoking
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2014, 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.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -36,6 +36,10 @@ GLOBAL_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/commo
|
||||
# elegant solution to this.
|
||||
WIN_JAVA_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
|
||||
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx windows), )
|
||||
DISABLE_MAPFILES := true
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Find the default set of src dirs for a native library.
|
||||
# Param 1 - module name
|
||||
|
@ -14,13 +14,14 @@ public class CharacterName {
|
||||
System.err.println("Usage: java CharacterName UnicodeData.txt uniName.dat");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
reader = new FileReader(args[0]);
|
||||
BufferedReader bfr = new BufferedReader(reader);
|
||||
String line = null;
|
||||
|
||||
StringBuilder namePool = new StringBuilder();
|
||||
byte[] cpPoolBytes = new byte[0x100000];
|
||||
boolean[] cpBlocks = new boolean[(Character.MAX_CODE_POINT + 1) >> 8];
|
||||
int bkNum = 0;
|
||||
ByteBuffer cpBB = ByteBuffer.wrap(cpPoolBytes);
|
||||
int lastCp = 0;
|
||||
int cpNum = 0;
|
||||
@ -32,10 +33,26 @@ public class CharacterName {
|
||||
if (spec != null) {
|
||||
int cp = spec.getCodePoint();
|
||||
String name = spec.getName();
|
||||
cpNum++;
|
||||
if (name.equals("<control>") && spec.getOldName() != null) {
|
||||
if (spec.getOldName().length() != 0)
|
||||
if (cp == 0x7) // <control>BELL -> BEL; u+1f514 <-> BELL
|
||||
name = "BEL";
|
||||
else if (spec.getOldName().length() != 0)
|
||||
name = spec.getOldName();
|
||||
/*
|
||||
3 "figment" characters from NameAliases.txt
|
||||
Several documented labels for C1 control code points which
|
||||
were never actually approved in any standard...but were
|
||||
implemented in Perl regex.
|
||||
0080;PADDING CHARACTER;figment
|
||||
0081;HIGH OCTET PRESET;figment
|
||||
0099;SINGLE GRAPHIC CHARACTER INTRODUCER;figment
|
||||
*/
|
||||
else if (cp == 0x80)
|
||||
name = "PADDING CHARACTER";
|
||||
else if (cp == 0x81)
|
||||
name = "HIGH OCTET PRESET";
|
||||
else if (cp == 0x99)
|
||||
name = "SINGLE GRAPHIC CHARACTER INTRODUCER";
|
||||
else
|
||||
continue;
|
||||
} else if (name.startsWith("<")) {
|
||||
@ -61,7 +78,11 @@ public class CharacterName {
|
||||
*/
|
||||
continue;
|
||||
}
|
||||
|
||||
cpNum++;
|
||||
if (!cpBlocks[cp >> 8]) {
|
||||
cpBlocks[cp >> 8] = true;
|
||||
bkNum++;
|
||||
}
|
||||
if (cp == lastCp + 1) {
|
||||
cpBB.put((byte)name.length());
|
||||
} else {
|
||||
@ -76,11 +97,12 @@ public class CharacterName {
|
||||
byte[] namePoolBytes = namePool.toString().getBytes("ASCII");
|
||||
int cpLen = cpBB.position();
|
||||
int total = cpLen + namePoolBytes.length;
|
||||
|
||||
DataOutputStream dos = new DataOutputStream(
|
||||
new DeflaterOutputStream(
|
||||
new FileOutputStream(args[1])));
|
||||
dos.writeInt(total); // total
|
||||
dos.writeInt(bkNum); // bkNum;
|
||||
dos.writeInt(cpNum); // cpNum
|
||||
dos.writeInt(cpLen); // nameOff
|
||||
dos.write(cpPoolBytes, 0, cpLen);
|
||||
dos.write(namePoolBytes);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2013, 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.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -232,7 +232,7 @@ final class ZoneRules {
|
||||
static void writeRule(ZoneOffsetTransitionRule rule, DataOutput out) throws IOException {
|
||||
int month = rule.getMonth().getValue();
|
||||
byte dom = (byte)rule.getDayOfMonthIndicator();
|
||||
int dow = rule.getDayOfWeek().getValue();
|
||||
int dow = (rule.getDayOfWeek() == null ? -1 : rule.getDayOfWeek().getValue());
|
||||
LocalTime time = rule.getLocalTime();
|
||||
boolean timeEndOfDay = rule.isMidnightEndOfDay();
|
||||
TimeDefinition timeDefinition = rule.getTimeDefinition();
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2012 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2012 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2012 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2012 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2013 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2013 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2013 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2013 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2013 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2013 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2013 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2013 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2012 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2012 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2013 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2013 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -3144,7 +3144,15 @@ public class ObjectInputStream
|
||||
* utflen bytes.
|
||||
*/
|
||||
private String readUTFBody(long utflen) throws IOException {
|
||||
StringBuilder sbuf = new StringBuilder();
|
||||
StringBuilder sbuf;
|
||||
if (utflen > 0 && utflen < Integer.MAX_VALUE) {
|
||||
// a reasonable initial capacity based on the UTF length
|
||||
int initialCapacity = Math.min((int)utflen, 0xFFFF);
|
||||
sbuf = new StringBuilder(initialCapacity);
|
||||
} else {
|
||||
sbuf = new StringBuilder();
|
||||
}
|
||||
|
||||
if (!blkmode) {
|
||||
end = pos = 0;
|
||||
}
|
||||
|
@ -10126,7 +10126,7 @@ class Character implements java.io.Serializable, Comparable<Character> {
|
||||
* <blockquote>{@code
|
||||
* Character.UnicodeBlock.of(codePoint).toString().replace('_', ' ')
|
||||
* + " "
|
||||
* + Integer.toHexString(codePoint).toUpperCase(Locale.ENGLISH);
|
||||
* + Integer.toHexString(codePoint).toUpperCase(Locale.ROOT);
|
||||
*
|
||||
* }</blockquote>
|
||||
*
|
||||
@ -10145,7 +10145,7 @@ class Character implements java.io.Serializable, Comparable<Character> {
|
||||
if (!isValidCodePoint(codePoint)) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
String name = CharacterName.get(codePoint);
|
||||
String name = CharacterName.getInstance().getName(codePoint);
|
||||
if (name != null)
|
||||
return name;
|
||||
if (getType(codePoint) == UNASSIGNED)
|
||||
@ -10153,8 +10153,52 @@ class Character implements java.io.Serializable, Comparable<Character> {
|
||||
UnicodeBlock block = UnicodeBlock.of(codePoint);
|
||||
if (block != null)
|
||||
return block.toString().replace('_', ' ') + " "
|
||||
+ Integer.toHexString(codePoint).toUpperCase(Locale.ENGLISH);
|
||||
+ Integer.toHexString(codePoint).toUpperCase(Locale.ROOT);
|
||||
// should never come here
|
||||
return Integer.toHexString(codePoint).toUpperCase(Locale.ENGLISH);
|
||||
return Integer.toHexString(codePoint).toUpperCase(Locale.ROOT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the code point value of the Unicode character specified by
|
||||
* the given Unicode character name.
|
||||
* <p>
|
||||
* Note: if a character is not assigned a name by the <i>UnicodeData</i>
|
||||
* file (part of the Unicode Character Database maintained by the Unicode
|
||||
* Consortium), its name is defined as the result of expression
|
||||
*
|
||||
* <blockquote>{@code
|
||||
* Character.UnicodeBlock.of(codePoint).toString().replace('_', ' ')
|
||||
* + " "
|
||||
* + Integer.toHexString(codePoint).toUpperCase(Locale.ROOT);
|
||||
*
|
||||
* }</blockquote>
|
||||
* <p>
|
||||
* The {@code name} matching is case insensitive, with any leading and
|
||||
* trailing whitespace character removed.
|
||||
*
|
||||
* @param name the Unicode character name
|
||||
*
|
||||
* @return the code point value of the character specified by its name.
|
||||
*
|
||||
* @throws IllegalArgumentException if the specified {@code name}
|
||||
* is not a valid Unicode character name.
|
||||
* @throws NullPointerException if {@code name} is {@code null}
|
||||
*
|
||||
* @since 9
|
||||
*/
|
||||
public static int codePointOf(String name) {
|
||||
name = name.trim().toUpperCase(Locale.ROOT);
|
||||
int cp = CharacterName.getInstance().getCodePoint(name);
|
||||
if (cp != -1)
|
||||
return cp;
|
||||
try {
|
||||
int off = name.lastIndexOf(' ');
|
||||
if (off != -1) {
|
||||
cp = Integer.parseInt(name, off + 1, name.length(), 16);
|
||||
if (isValidCodePoint(cp) && name.equals(getName(cp)))
|
||||
return cp;
|
||||
}
|
||||
} catch (Exception x) {}
|
||||
throw new IllegalArgumentException("Unrecognized character name :" + name);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -29,38 +29,56 @@ import java.io.DataInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.lang.ref.SoftReference;
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
import java.util.zip.InflaterInputStream;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
|
||||
class CharacterName {
|
||||
|
||||
private static SoftReference<byte[]> refStrPool;
|
||||
private static int[][] lookup;
|
||||
private static SoftReference<CharacterName> refCharName;
|
||||
|
||||
private static synchronized byte[] initNamePool() {
|
||||
byte[] strPool = null;
|
||||
if (refStrPool != null && (strPool = refStrPool.get()) != null)
|
||||
return strPool;
|
||||
DataInputStream dis = null;
|
||||
try {
|
||||
dis = new DataInputStream(new InflaterInputStream(
|
||||
AccessController.doPrivileged(new PrivilegedAction<>()
|
||||
{
|
||||
public InputStream run() {
|
||||
return getClass().getResourceAsStream("uniName.dat");
|
||||
}
|
||||
})));
|
||||
// codepoint -> bkIndex -> lookup -> offset/len
|
||||
private final byte[] strPool;
|
||||
private final int[] lookup; // code point -> offset/len in strPool
|
||||
private final int[] bkIndices; // code point -> lookup index
|
||||
|
||||
// name -> hash -> hsIndices -> cpEntries -> code point
|
||||
private final int[] cpEntries; // code points that have name in strPool
|
||||
private final int[] hsIndices; // chain heads, hash indices into "cps"
|
||||
|
||||
private CharacterName() {
|
||||
try (DataInputStream dis = new DataInputStream(new InflaterInputStream(
|
||||
AccessController.doPrivileged(new PrivilegedAction<>() {
|
||||
public InputStream run() {
|
||||
return getClass().getResourceAsStream("uniName.dat");
|
||||
}
|
||||
})))) {
|
||||
|
||||
lookup = new int[(Character.MAX_CODE_POINT + 1) >> 8][];
|
||||
int total = dis.readInt();
|
||||
int bkNum = dis.readInt();
|
||||
int cpNum = dis.readInt();
|
||||
int cpEnd = dis.readInt();
|
||||
byte ba[] = new byte[cpEnd];
|
||||
lookup = new int[bkNum * 256];
|
||||
bkIndices = new int[(Character.MAX_CODE_POINT + 1) >> 8];
|
||||
strPool = new byte[total - cpEnd];
|
||||
cpEntries = new int[cpNum * 3];
|
||||
hsIndices = new int[(cpNum / 2) | 1];
|
||||
Arrays.fill(bkIndices, -1);
|
||||
Arrays.fill(hsIndices, -1);
|
||||
dis.readFully(ba);
|
||||
dis.readFully(strPool);
|
||||
|
||||
int nameOff = 0;
|
||||
int cpOff = 0;
|
||||
int cp = 0;
|
||||
int bk = -1;
|
||||
int prevBk = -1; // prev bkNo;
|
||||
int idx = 0;
|
||||
int next = -1;
|
||||
int hash = 0;
|
||||
int hsh = 0;
|
||||
do {
|
||||
int len = ba[cpOff++] & 0xff;
|
||||
if (len == 0) {
|
||||
@ -72,37 +90,91 @@ class CharacterName {
|
||||
} else {
|
||||
cp++;
|
||||
}
|
||||
// cp -> name
|
||||
int hi = cp >> 8;
|
||||
if (lookup[hi] == null) {
|
||||
lookup[hi] = new int[0x100];
|
||||
if (prevBk != hi) {
|
||||
bk++;
|
||||
bkIndices[hi] = bk;
|
||||
prevBk = hi;
|
||||
}
|
||||
lookup[hi][cp&0xff] = (nameOff << 8) | len;
|
||||
lookup[(bk << 8) + (cp & 0xff)] = (nameOff << 8) | len;
|
||||
// name -> cp
|
||||
hash = hashN(strPool, nameOff, len);
|
||||
hsh = (hash & 0x7fffffff) % hsIndices.length;
|
||||
next = hsIndices[hsh];
|
||||
hsIndices[hsh] = idx;
|
||||
idx = addCp(idx, hash, next, cp);
|
||||
nameOff += len;
|
||||
} while (cpOff < cpEnd);
|
||||
strPool = new byte[total - cpEnd];
|
||||
dis.readFully(strPool);
|
||||
refStrPool = new SoftReference<>(strPool);
|
||||
} catch (Exception x) {
|
||||
throw new InternalError(x.getMessage(), x);
|
||||
} finally {
|
||||
try {
|
||||
if (dis != null)
|
||||
dis.close();
|
||||
} catch (Exception xx) {}
|
||||
}
|
||||
return strPool;
|
||||
}
|
||||
|
||||
public static String get(int cp) {
|
||||
byte[] strPool = null;
|
||||
if (refStrPool == null || (strPool = refStrPool.get()) == null)
|
||||
strPool = initNamePool();
|
||||
private static final int hashN(byte[] a, int off, int len) {
|
||||
int h = 1;
|
||||
while (len-- > 0) {
|
||||
h = 31 * h + a[off++];
|
||||
}
|
||||
return h;
|
||||
}
|
||||
|
||||
private int addCp(int idx, int hash, int next, int cp) {
|
||||
cpEntries[idx++] = hash;
|
||||
cpEntries[idx++] = next;
|
||||
cpEntries[idx++] = cp;
|
||||
return idx;
|
||||
}
|
||||
|
||||
private int getCpHash(int idx) { return cpEntries[idx]; }
|
||||
private int getCpNext(int idx) { return cpEntries[idx + 1]; }
|
||||
private int getCp(int idx) { return cpEntries[idx + 2]; }
|
||||
|
||||
public static CharacterName getInstance() {
|
||||
SoftReference<CharacterName> ref = refCharName;
|
||||
CharacterName cname = null;
|
||||
if (ref == null || (cname = ref.get()) == null) {
|
||||
cname = new CharacterName();
|
||||
refCharName = new SoftReference<>(cname);
|
||||
}
|
||||
return cname;
|
||||
}
|
||||
|
||||
public String getName(int cp) {
|
||||
int off = 0;
|
||||
if (lookup[cp>>8] == null ||
|
||||
(off = lookup[cp>>8][cp&0xff]) == 0)
|
||||
int bk = bkIndices[cp >> 8];
|
||||
if (bk == -1 || (off = lookup[(bk << 8) + (cp & 0xff)]) == 0)
|
||||
return null;
|
||||
@SuppressWarnings("deprecation")
|
||||
String result = new String(strPool, 0, off >>> 8, off & 0xff); // ASCII
|
||||
return result;
|
||||
}
|
||||
|
||||
public int getCodePoint(String name) {
|
||||
byte[] bname = name.getBytes(java.nio.charset.StandardCharsets.ISO_8859_1);
|
||||
int hsh = hashN(bname, 0, bname.length);
|
||||
int idx = hsIndices[(hsh & 0x7fffffff) % hsIndices.length];
|
||||
while (idx != -1) {
|
||||
if (getCpHash(idx) == hsh) {
|
||||
int cp = getCp(idx);
|
||||
int off = -1;
|
||||
int bk = bkIndices[cp >> 8];
|
||||
if (bk != -1 && (off = lookup[(bk << 8) + (cp & 0xff)]) != 0) {
|
||||
int len = off & 0xff;
|
||||
off = off >>> 8;
|
||||
if (bname.length == len) {
|
||||
int i = 0;
|
||||
while (i < len && bname[i] == strPool[off++]) {
|
||||
i++;
|
||||
}
|
||||
if (i == len) {
|
||||
return cp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
idx = getCpNext(idx);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
@ -42,8 +42,6 @@ import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.IntStream;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import sun.misc.InnocuousThread;
|
||||
|
||||
import static java.security.AccessController.doPrivileged;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -305,9 +305,7 @@ class Invokers {
|
||||
/** Static definition of MethodHandle.invokeExact checking code. */
|
||||
/*non-public*/ static
|
||||
@ForceInline
|
||||
void checkExactType(Object mhObj, Object expectedObj) {
|
||||
MethodHandle mh = (MethodHandle) mhObj;
|
||||
MethodType expected = (MethodType) expectedObj;
|
||||
void checkExactType(MethodHandle mh, MethodType expected) {
|
||||
MethodType actual = mh.type();
|
||||
if (actual != expected)
|
||||
throw newWrongMethodTypeException(expected, actual);
|
||||
@ -319,9 +317,7 @@ class Invokers {
|
||||
*/
|
||||
/*non-public*/ static
|
||||
@ForceInline
|
||||
Object checkGenericType(Object mhObj, Object expectedObj) {
|
||||
MethodHandle mh = (MethodHandle) mhObj;
|
||||
MethodType expected = (MethodType) expectedObj;
|
||||
MethodHandle checkGenericType(MethodHandle mh, MethodType expected) {
|
||||
return mh.asType(expected);
|
||||
/* Maybe add more paths here. Possible optimizations:
|
||||
* for (R)MH.invoke(a*),
|
||||
@ -390,14 +386,13 @@ class Invokers {
|
||||
/** Static definition of MethodHandle.invokeGeneric checking code. */
|
||||
/*non-public*/ static
|
||||
@ForceInline
|
||||
Object getCallSiteTarget(Object site) {
|
||||
return ((CallSite)site).getTarget();
|
||||
MethodHandle getCallSiteTarget(CallSite site) {
|
||||
return site.getTarget();
|
||||
}
|
||||
|
||||
/*non-public*/ static
|
||||
@ForceInline
|
||||
void checkCustomized(Object o) {
|
||||
MethodHandle mh = (MethodHandle)o;
|
||||
void checkCustomized(MethodHandle mh) {
|
||||
if (MethodHandleImpl.isCompileConstant(mh)) return;
|
||||
if (mh.form.customized == null) {
|
||||
maybeCustomize(mh);
|
||||
@ -425,13 +420,13 @@ class Invokers {
|
||||
try {
|
||||
NamedFunction nfs[] = {
|
||||
NF_checkExactType = new NamedFunction(Invokers.class
|
||||
.getDeclaredMethod("checkExactType", Object.class, Object.class)),
|
||||
.getDeclaredMethod("checkExactType", MethodHandle.class, MethodType.class)),
|
||||
NF_checkGenericType = new NamedFunction(Invokers.class
|
||||
.getDeclaredMethod("checkGenericType", Object.class, Object.class)),
|
||||
.getDeclaredMethod("checkGenericType", MethodHandle.class, MethodType.class)),
|
||||
NF_getCallSiteTarget = new NamedFunction(Invokers.class
|
||||
.getDeclaredMethod("getCallSiteTarget", Object.class)),
|
||||
.getDeclaredMethod("getCallSiteTarget", CallSite.class)),
|
||||
NF_checkCustomized = new NamedFunction(Invokers.class
|
||||
.getDeclaredMethod("checkCustomized", Object.class))
|
||||
.getDeclaredMethod("checkCustomized", MethodHandle.class))
|
||||
};
|
||||
// Each nf must be statically invocable or we get tied up in our bootstraps.
|
||||
assert(InvokerBytecodeGenerator.isStaticallyInvocable(nfs));
|
||||
|
@ -856,7 +856,8 @@ assertEquals("", (String) MH_newString.invokeExact());
|
||||
* @return the desired method handle
|
||||
* @throws NoSuchMethodException if the method does not exist
|
||||
* @throws IllegalAccessException if access checking fails,
|
||||
* or if the method is {@code static}
|
||||
* or if the method is {@code static},
|
||||
* or if the method is {@code private} method of interface,
|
||||
* or if the method's variable arity modifier bit
|
||||
* is set and {@code asVarargsCollector} fails
|
||||
* @exception SecurityException if a security manager is present and it
|
||||
|
@ -182,22 +182,30 @@ public final class StringConcatFactory {
|
||||
|
||||
private static final ConcurrentMap<Key, MethodHandle> CACHE;
|
||||
|
||||
/**
|
||||
* Dump generated classes to disk, for debugging purposes.
|
||||
*/
|
||||
private static final ProxyClassesDumper DUMPER;
|
||||
|
||||
static {
|
||||
// Poke the privileged block once, taking everything we need:
|
||||
final Object[] values = new Object[3];
|
||||
final Object[] values = new Object[4];
|
||||
AccessController.doPrivileged((PrivilegedAction<Object>) () -> {
|
||||
values[0] = System.getProperty("java.lang.invoke.stringConcat");
|
||||
values[1] = Boolean.getBoolean("java.lang.invoke.stringConcat.cache");
|
||||
values[2] = Boolean.getBoolean("java.lang.invoke.stringConcat.debug");
|
||||
values[3] = System.getProperty("java.lang.invoke.stringConcat.dumpClasses");
|
||||
return null;
|
||||
});
|
||||
|
||||
final String strategy = (String) values[0];
|
||||
CACHE_ENABLE = (Boolean) values[1];
|
||||
DEBUG = (Boolean) values[2];
|
||||
final String dumpPath = (String) values[3];
|
||||
|
||||
STRATEGY = (strategy == null) ? DEFAULT_STRATEGY : Strategy.valueOf(strategy);
|
||||
CACHE = CACHE_ENABLE ? new ConcurrentHashMap<>() : null;
|
||||
DUMPER = (dumpPath == null) ? null : ProxyClassesDumper.getInstance(dumpPath);
|
||||
}
|
||||
|
||||
private static final class Key {
|
||||
@ -552,6 +560,12 @@ public final class StringConcatFactory {
|
||||
Objects.requireNonNull(o, "Cannot accept null constants");
|
||||
}
|
||||
|
||||
if ((lookup.lookupModes() & MethodHandles.Lookup.PRIVATE) == 0) {
|
||||
throw new StringConcatException(String.format(
|
||||
"Invalid caller: %s",
|
||||
lookup.lookupClass().getName()));
|
||||
}
|
||||
|
||||
int cCount = 0;
|
||||
int oCount = 0;
|
||||
if (generateRecipe) {
|
||||
@ -1035,6 +1049,10 @@ public final class StringConcatFactory {
|
||||
final byte[] classBytes = cw.toByteArray();
|
||||
final Class<?> innerClass = UNSAFE.defineAnonymousClass(targetClass, classBytes, null);
|
||||
|
||||
if (DUMPER != null) {
|
||||
DUMPER.dumpClass(innerClass.getName(), classBytes);
|
||||
}
|
||||
|
||||
try {
|
||||
UNSAFE.ensureClassInitialized(innerClass);
|
||||
return lookup.findStatic(innerClass, NAME_FACTORY, args);
|
||||
|
@ -150,7 +150,7 @@ public final class ZoneOffset
|
||||
*/
|
||||
public static final ZoneOffset UTC = ZoneOffset.ofTotalSeconds(0);
|
||||
/**
|
||||
* Constant for the maximum supported offset.
|
||||
* Constant for the minimum supported offset.
|
||||
*/
|
||||
public static final ZoneOffset MIN = ZoneOffset.ofTotalSeconds(-MAX_SECONDS);
|
||||
/**
|
||||
|
@ -1707,13 +1707,18 @@ public final class ZonedDateTime
|
||||
* Note that this is a different approach to that used by days, months and years,
|
||||
* thus adding one day is not the same as adding 24 hours.
|
||||
* <p>
|
||||
* For example, consider a time-zone where the spring DST cutover means that the
|
||||
* local times 01:00 to 01:59 occur twice changing from offset +02:00 to +01:00.
|
||||
* For example, consider a time-zone, such as 'Europe/Paris', where the
|
||||
* Autumn DST cutover means that the local times 02:00 to 02:59 occur twice
|
||||
* changing from offset +02:00 in summer to +01:00 in winter.
|
||||
* <ul>
|
||||
* <li>Adding one hour to 00:30+02:00 will result in 01:30+02:00
|
||||
* <li>Adding one hour to 01:30+02:00 will result in 01:30+01:00
|
||||
* <li>Adding one hour to 01:30+01:00 will result in 02:30+01:00
|
||||
* <li>Adding three hours to 00:30+02:00 will result in 02:30+01:00
|
||||
* <li>Adding one hour to 01:30+02:00 will result in 02:30+02:00
|
||||
* (both in summer time)
|
||||
* <li>Adding one hour to 02:30+02:00 will result in 02:30+01:00
|
||||
* (moving from summer to winter time)
|
||||
* <li>Adding one hour to 02:30+01:00 will result in 03:30+01:00
|
||||
* (both in winter time)
|
||||
* <li>Adding three hours to 01:30+02:00 will result in 03:30+01:00
|
||||
* (moving from summer to winter time)
|
||||
* </ul>
|
||||
* <p>
|
||||
* This instance is immutable and unaffected by this method call.
|
||||
@ -1948,13 +1953,18 @@ public final class ZonedDateTime
|
||||
* Note that this is a different approach to that used by days, months and years,
|
||||
* thus subtracting one day is not the same as adding 24 hours.
|
||||
* <p>
|
||||
* For example, consider a time-zone where the spring DST cutover means that the
|
||||
* local times 01:00 to 01:59 occur twice changing from offset +02:00 to +01:00.
|
||||
* For example, consider a time-zone, such as 'Europe/Paris', where the
|
||||
* Autumn DST cutover means that the local times 02:00 to 02:59 occur twice
|
||||
* changing from offset +02:00 in summer to +01:00 in winter.
|
||||
* <ul>
|
||||
* <li>Subtracting one hour from 02:30+01:00 will result in 01:30+02:00
|
||||
* <li>Subtracting one hour from 01:30+01:00 will result in 01:30+02:00
|
||||
* <li>Subtracting one hour from 01:30+02:00 will result in 00:30+01:00
|
||||
* <li>Subtracting three hours from 02:30+01:00 will result in 00:30+02:00
|
||||
* <li>Subtracting one hour from 03:30+01:00 will result in 02:30+01:00
|
||||
* (both in winter time)
|
||||
* <li>Subtracting one hour from 02:30+01:00 will result in 02:30+02:00
|
||||
* (moving from winter to summer time)
|
||||
* <li>Subtracting one hour from 02:30+02:00 will result in 01:30+02:00
|
||||
* (both in summer time)
|
||||
* <li>Subtracting three hours from 03:30+01:00 will result in 01:30+02:00
|
||||
* (moving from winter to summer time)
|
||||
* </ul>
|
||||
* <p>
|
||||
* This instance is immutable and unaffected by this method call.
|
||||
|
@ -184,8 +184,8 @@ public enum ChronoUnit implements TemporalUnit {
|
||||
* Artificial unit that represents the concept of forever.
|
||||
* This is primarily used with {@link TemporalField} to represent unbounded fields
|
||||
* such as the year or era.
|
||||
* The estimated duration of the era is artificially defined as the largest duration
|
||||
* supported by {@code Duration}.
|
||||
* The estimated duration of this unit is artificially defined as the largest duration
|
||||
* supported by {@link Duration}.
|
||||
*/
|
||||
FOREVER("Forever", Duration.ofSeconds(Long.MAX_VALUE, 999_999_999));
|
||||
|
||||
|
@ -38,8 +38,6 @@ import java.util.regex.*;
|
||||
import java.util.stream.Stream;
|
||||
import java.util.stream.StreamSupport;
|
||||
|
||||
import sun.misc.LRUCache;
|
||||
|
||||
/**
|
||||
* A simple text scanner which can parse primitive types and strings using
|
||||
* regular expressions.
|
||||
@ -366,15 +364,7 @@ public final class Scanner implements Iterator<String>, Closeable {
|
||||
private Locale locale = null;
|
||||
|
||||
// A cache of the last few recently used Patterns
|
||||
private LRUCache<String,Pattern> patternCache =
|
||||
new LRUCache<String,Pattern>(7) {
|
||||
protected Pattern create(String s) {
|
||||
return Pattern.compile(s);
|
||||
}
|
||||
protected boolean hasName(Pattern p, String s) {
|
||||
return p.pattern().equals(s);
|
||||
}
|
||||
};
|
||||
private PatternLRUCache patternCache = new PatternLRUCache(7);
|
||||
|
||||
// A holder of the last IOException encountered
|
||||
private IOException lastException;
|
||||
@ -2838,4 +2828,50 @@ public final class Scanner implements Iterator<String>, Closeable {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Small LRU cache of Patterns. */
|
||||
private static class PatternLRUCache {
|
||||
|
||||
private Pattern[] oa = null;
|
||||
private final int size;
|
||||
|
||||
PatternLRUCache(int size) {
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
boolean hasName(Pattern p, String s) {
|
||||
return p.pattern().equals(s);
|
||||
}
|
||||
|
||||
void moveToFront(Object[] oa, int i) {
|
||||
Object ob = oa[i];
|
||||
for (int j = i; j > 0; j--)
|
||||
oa[j] = oa[j - 1];
|
||||
oa[0] = ob;
|
||||
}
|
||||
|
||||
Pattern forName(String name) {
|
||||
if (oa == null) {
|
||||
Pattern[] temp = new Pattern[size];
|
||||
oa = temp;
|
||||
} else {
|
||||
for (int i = 0; i < oa.length; i++) {
|
||||
Pattern ob = oa[i];
|
||||
if (ob == null)
|
||||
continue;
|
||||
if (hasName(ob, name)) {
|
||||
if (i > 0)
|
||||
moveToFront(oa, i);
|
||||
return ob;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Create a new object
|
||||
Pattern ob = Pattern.compile(name);
|
||||
oa[oa.length - 1] = ob;
|
||||
moveToFront(oa, oa.length - 1);
|
||||
return ob;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
205
jdk/src/java.base/share/classes/java/util/regex/Grapheme.java
Normal file
205
jdk/src/java.base/share/classes/java/util/regex/Grapheme.java
Normal file
@ -0,0 +1,205 @@
|
||||
/*
|
||||
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package java.util.regex;
|
||||
|
||||
final class Grapheme {
|
||||
|
||||
/**
|
||||
* Determines if there is an extended grapheme cluster boundary between two
|
||||
* continuing characters {@code cp1} and {@code cp2}.
|
||||
* <p>
|
||||
* See Unicode Standard Annex #29 Unicode Text Segmentation for the specification
|
||||
* for the extended grapheme cluster boundary rules
|
||||
*/
|
||||
static boolean isBoundary(int cp1, int cp2) {
|
||||
return rules[getType(cp1)][getType(cp2)];
|
||||
}
|
||||
|
||||
// types
|
||||
private static final int OTHER = 0;
|
||||
private static final int CR = 1;
|
||||
private static final int LF = 2;
|
||||
private static final int CONTROL = 3;
|
||||
private static final int EXTEND = 4;
|
||||
private static final int RI = 5;
|
||||
private static final int PREPEND = 6;
|
||||
private static final int SPACINGMARK = 7;
|
||||
private static final int L = 8;
|
||||
private static final int V = 9;
|
||||
private static final int T = 10;
|
||||
private static final int LV = 11;
|
||||
private static final int LVT = 12;
|
||||
|
||||
private static final int FIRST_TYPE = 0;
|
||||
private static final int LAST_TYPE = 12;
|
||||
|
||||
private static boolean[][] rules;
|
||||
static {
|
||||
rules = new boolean[LAST_TYPE + 1][LAST_TYPE + 1];
|
||||
// default, any + any
|
||||
for (int i = FIRST_TYPE; i <= LAST_TYPE; i++)
|
||||
for (int j = FIRST_TYPE; j <= LAST_TYPE; j++)
|
||||
rules[i][j] = true;
|
||||
// GB 6 L x (L | V | LV | VT)
|
||||
rules[L][L] = false;
|
||||
rules[L][V] = false;
|
||||
rules[L][LV] = false;
|
||||
rules[L][LVT] = false;
|
||||
// GB 7 (LV | V) x (V | T)
|
||||
rules[LV][V] = false;
|
||||
rules[LV][T] = false;
|
||||
rules[V][V] = false;
|
||||
rules[V][T] = false;
|
||||
// GB 8 (LVT | T) x T
|
||||
rules[LVT][T] = false;
|
||||
rules[T][T] = false;
|
||||
// GB 8a RI x RI
|
||||
rules[RI][RI] = false;
|
||||
// GB 9 x Extend
|
||||
// GB 9a x Spacing Mark
|
||||
// GB 9b Prepend x
|
||||
for (int i = FIRST_TYPE; i <= LAST_TYPE; i++) {
|
||||
rules[i][EXTEND] = false;
|
||||
rules[i][SPACINGMARK] = false;
|
||||
rules[PREPEND][i] = false;
|
||||
}
|
||||
// GB 4 (Control | CR | LF) +
|
||||
// GB 5 + (Control | CR | LF)
|
||||
for (int i = FIRST_TYPE; i <= LAST_TYPE; i++)
|
||||
for (int j = CR; j <= CONTROL; j++) {
|
||||
rules[i][j] = true;
|
||||
rules[j][i] = true;
|
||||
}
|
||||
// GB 3 CR x LF
|
||||
rules[CR][LF] = false;
|
||||
// GB 10 Any + Any -> default
|
||||
}
|
||||
|
||||
// Hangul syllables
|
||||
private static final int SYLLABLE_BASE = 0xAC00;
|
||||
private static final int LCOUNT = 19;
|
||||
private static final int VCOUNT = 21;
|
||||
private static final int TCOUNT = 28;
|
||||
private static final int NCOUNT = VCOUNT * TCOUNT; // 588
|
||||
private static final int SCOUNT = LCOUNT * NCOUNT; // 11172
|
||||
|
||||
// #tr29: SpacingMark exceptions: The following (which have
|
||||
// General_Category = Spacing_Mark and would otherwise be included)
|
||||
// are specifically excluded
|
||||
private static boolean isExcludedSpacingMark(int cp) {
|
||||
return cp == 0x102B || cp == 0x102C || cp == 0x1038 ||
|
||||
cp >= 0x1062 && cp <= 0x1064 ||
|
||||
cp >= 0x1062 && cp <= 0x106D ||
|
||||
cp == 0x1083 ||
|
||||
cp >= 0x1087 && cp <= 0x108C ||
|
||||
cp == 0x108F ||
|
||||
cp >= 0x109A && cp <= 0x109C ||
|
||||
cp == 0x1A61 || cp == 0x1A63 || cp == 0x1A64 ||
|
||||
cp == 0xAA7B || cp == 0xAA7D;
|
||||
}
|
||||
|
||||
@SuppressWarnings("fallthrough")
|
||||
private static int getType(int cp) {
|
||||
int type = Character.getType(cp);
|
||||
switch(type) {
|
||||
case Character.CONTROL:
|
||||
if (cp == 0x000D)
|
||||
return CR;
|
||||
if (cp == 0x000A)
|
||||
return LF;
|
||||
return CONTROL;
|
||||
case Character.UNASSIGNED:
|
||||
// NOTE: #tr29 lists "Unassigned and Default_Ignorable_Code_Point" as Control
|
||||
// but GraphemeBreakTest.txt lists u+0378/reserved-0378 as "Other"
|
||||
// so type it as "Other" to make the test happy
|
||||
if (cp == 0x0378)
|
||||
return OTHER;
|
||||
|
||||
case Character.LINE_SEPARATOR:
|
||||
case Character.PARAGRAPH_SEPARATOR:
|
||||
case Character.SURROGATE:
|
||||
return CONTROL;
|
||||
case Character.FORMAT:
|
||||
if (cp == 0x200C || cp == 0x200D)
|
||||
return EXTEND;
|
||||
return CONTROL;
|
||||
case Character.NON_SPACING_MARK:
|
||||
case Character.ENCLOSING_MARK:
|
||||
// NOTE:
|
||||
// #tr29 "plus a few General_Category = Spacing_Mark needed for
|
||||
// canonical equivalence."
|
||||
// but for "extended grapheme clusters" support, there is no
|
||||
// need actually to diff "extend" and "spackmark" given GB9, GB9a
|
||||
return EXTEND;
|
||||
case Character.COMBINING_SPACING_MARK:
|
||||
if (isExcludedSpacingMark(cp))
|
||||
return OTHER;
|
||||
// NOTE:
|
||||
// 0x11720 and 0x11721 are mentioned in #tr29 as
|
||||
// OTHER_LETTER but it appears their category has been updated to
|
||||
// COMBING_SPACING_MARK already (verified in ver.8)
|
||||
return SPACINGMARK;
|
||||
case Character.OTHER_SYMBOL:
|
||||
if (cp >= 0x1F1E6 && cp <= 0x1F1FF)
|
||||
return RI;
|
||||
return OTHER;
|
||||
case Character.MODIFIER_LETTER:
|
||||
// WARNING:
|
||||
// not mentioned in #tr29 but listed in GraphemeBreakProperty.txt
|
||||
if (cp == 0xFF9E || cp == 0xFF9F)
|
||||
return EXTEND;
|
||||
return OTHER;
|
||||
case Character.OTHER_LETTER:
|
||||
if (cp == 0x0E33 || cp == 0x0EB3)
|
||||
return SPACINGMARK;
|
||||
// hangul jamo
|
||||
if (cp >= 0x1100 && cp <= 0x11FF) {
|
||||
if (cp <= 0x115F)
|
||||
return L;
|
||||
if (cp <= 0x11A7)
|
||||
return V;
|
||||
return T;
|
||||
}
|
||||
// hangul syllables
|
||||
int sindex = cp - SYLLABLE_BASE;
|
||||
if (sindex >= 0 && sindex < SCOUNT) {
|
||||
|
||||
if (sindex % TCOUNT == 0)
|
||||
return LV;
|
||||
return LVT;
|
||||
}
|
||||
// hangul jamo_extended A
|
||||
if (cp >= 0xA960 && cp <= 0xA97C)
|
||||
return L;
|
||||
// hangul jamo_extended B
|
||||
if (cp >= 0xD7B0 && cp <= 0xD7C6)
|
||||
return V;
|
||||
if (cp >= 0xD7CB && cp <= 0xD7FB)
|
||||
return T;
|
||||
}
|
||||
return OTHER;
|
||||
}
|
||||
}
|
@ -109,6 +109,8 @@ import java.util.stream.StreamSupport;
|
||||
* ({@link java.lang.Character#MIN_CODE_POINT Character.MIN_CODE_POINT}
|
||||
* <= {@code 0x}<i>h...h</i> <=
|
||||
* {@link java.lang.Character#MAX_CODE_POINT Character.MAX_CODE_POINT})</td></tr>
|
||||
* <tr><td valign="top" headers="construct characters"><code>\N{</code><i>name</i><code>}</code></td>
|
||||
* <td headers="matches">The character with Unicode character name <i>'name'</i></td></tr>
|
||||
* <tr><td valign="top" headers="matches">{@code \t}</td>
|
||||
* <td headers="matches">The tab character (<code>'\u0009'</code>)</td></tr>
|
||||
* <tr><td valign="top" headers="construct characters">{@code \n}</td>
|
||||
@ -243,6 +245,8 @@ import java.util.stream.StreamSupport;
|
||||
* <td headers="matches">The end of a line</td></tr>
|
||||
* <tr><td valign="top" headers="construct bounds">{@code \b}</td>
|
||||
* <td headers="matches">A word boundary</td></tr>
|
||||
* <tr><td valign="top" headers="construct bounds">{@code \b{g}}</td>
|
||||
* <td headers="matches">A Unicode extended grapheme cluster boundary</td></tr>
|
||||
* <tr><td valign="top" headers="construct bounds">{@code \B}</td>
|
||||
* <td headers="matches">A non-word boundary</td></tr>
|
||||
* <tr><td valign="top" headers="construct bounds">{@code \A}</td>
|
||||
@ -263,6 +267,11 @@ import java.util.stream.StreamSupport;
|
||||
* </code></td></tr>
|
||||
*
|
||||
* <tr><th> </th></tr>
|
||||
* <tr align="left"><th colspan="2" id="grapheme">Unicode Extended Grapheme matcher</th></tr>
|
||||
* <tr><td valign="top" headers="construct grapheme">{@code \X}</td>
|
||||
* <td headers="matches">Any Unicode extended grapheme cluster</td></tr>
|
||||
*
|
||||
* <tr><th> </th></tr>
|
||||
* <tr align="left"><th colspan="2" id="greedy">Greedy quantifiers</th></tr>
|
||||
*
|
||||
* <tr><td valign="top" headers="construct greedy"><i>X</i>{@code ?}</td>
|
||||
@ -546,12 +555,21 @@ import java.util.stream.StreamSupport;
|
||||
* {@code "\\u2014"}, while not equal, compile into the same pattern, which
|
||||
* matches the character with hexadecimal value {@code 0x2014}.
|
||||
* <p>
|
||||
* A Unicode character can also be represented in a regular-expression by
|
||||
* using its <b>Hex notation</b>(hexadecimal code point value) directly as described in construct
|
||||
* <code>\x{...}</code>, for example a supplementary character U+2011F
|
||||
* can be specified as <code>\x{2011F}</code>, instead of two consecutive
|
||||
* Unicode escape sequences of the surrogate pair
|
||||
* <code>\uD840</code><code>\uDD1F</code>.
|
||||
* A Unicode character can also be represented by using its <b>Hex notation</b>
|
||||
* (hexadecimal code point value) directly as described in construct
|
||||
* <code>\x{...}</code>, for example a supplementary character U+2011F can be
|
||||
* specified as <code>\x{2011F}</code>, instead of two consecutive Unicode escape
|
||||
* sequences of the surrogate pair <code>\uD840</code><code>\uDD1F</code>.
|
||||
* <p>
|
||||
* <b>Unicode character names</b> are supported by the named character construct
|
||||
* <code>\N{</code>...<code>}</code>, for example, <code>\N{WHITE SMILING FACE}</code>
|
||||
* specifies character <code>\u263A</code>. The character names supported
|
||||
* by this class are the valid Unicode character names matched by
|
||||
* {@link java.lang.Character#codePointOf(String) Character.codePointOf(name)}.
|
||||
* <p>
|
||||
* <a href="http://www.unicode.org/reports/tr18/#Default_Grapheme_Clusters">
|
||||
* <b>Unicode extended grapheme clusters</b></a> are supported by the grapheme
|
||||
* cluster matcher {@code \X} and the corresponding boundary matcher {@code \b{g}}.
|
||||
* <p>
|
||||
* Unicode scripts, blocks, categories and binary properties are written with
|
||||
* the {@code \p} and {@code \P} constructs as in Perl.
|
||||
@ -679,22 +697,12 @@ import java.util.stream.StreamSupport;
|
||||
* <p> Perl constructs not supported by this class: </p>
|
||||
*
|
||||
* <ul>
|
||||
* <li><p> Predefined character classes (Unicode character)
|
||||
* <p><code>\X </code>Match Unicode
|
||||
* <a href="http://www.unicode.org/reports/tr18/#Default_Grapheme_Clusters">
|
||||
* <i>extended grapheme cluster</i></a>
|
||||
* </p></li>
|
||||
*
|
||||
* <li><p> The backreference constructs, <code>\g{</code><i>n</i><code>}</code> for
|
||||
* the <i>n</i><sup>th</sup><a href="#cg">capturing group</a> and
|
||||
* <code>\g{</code><i>name</i><code>}</code> for
|
||||
* <a href="#groupname">named-capturing group</a>.
|
||||
* </p></li>
|
||||
*
|
||||
* <li><p> The named character construct, <code>\N{</code><i>name</i><code>}</code>
|
||||
* for a Unicode character by its name.
|
||||
* </p></li>
|
||||
*
|
||||
* <li><p> The conditional constructs
|
||||
* {@code (?(}<i>condition</i>{@code )}<i>X</i>{@code )} and
|
||||
* {@code (?(}<i>condition</i>{@code )}<i>X</i>{@code |}<i>Y</i>{@code )},
|
||||
@ -2357,7 +2365,9 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
|
||||
case 'K':
|
||||
case 'L':
|
||||
case 'M':
|
||||
break;
|
||||
case 'N':
|
||||
return N();
|
||||
case 'O':
|
||||
case 'P':
|
||||
case 'Q':
|
||||
@ -2383,6 +2393,11 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
|
||||
: new Ctype(ASCII.WORD).complement();
|
||||
return -1;
|
||||
case 'X':
|
||||
if (inclass) break;
|
||||
if (create) {
|
||||
root = new XGrapheme();
|
||||
}
|
||||
return -1;
|
||||
case 'Y':
|
||||
break;
|
||||
case 'Z':
|
||||
@ -2398,7 +2413,19 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
|
||||
return '\007';
|
||||
case 'b':
|
||||
if (inclass) break;
|
||||
if (create) root = new Bound(Bound.BOTH, has(UNICODE_CHARACTER_CLASS));
|
||||
if (create) {
|
||||
if (peek() == '{') {
|
||||
if (skip() == 'g') {
|
||||
if (read() == '}') {
|
||||
root = new GraphemeBound();
|
||||
return -1;
|
||||
}
|
||||
break; // error missing trailing }
|
||||
}
|
||||
unread(); unread();
|
||||
}
|
||||
root = new Bound(Bound.BOTH, has(UNICODE_CHARACTER_CLASS));
|
||||
}
|
||||
return -1;
|
||||
case 'c':
|
||||
return c();
|
||||
@ -3275,10 +3302,25 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
|
||||
return n;
|
||||
}
|
||||
|
||||
private int N() {
|
||||
if (read() == '{') {
|
||||
int i = cursor;
|
||||
while (cursor < patternLength && read() != '}') {}
|
||||
if (cursor > patternLength)
|
||||
throw error("Unclosed character name escape sequence");
|
||||
String name = new String(temp, i, cursor - i - 1);
|
||||
try {
|
||||
return Character.codePointOf(name);
|
||||
} catch (IllegalArgumentException x) {
|
||||
throw error("Unknown character name [" + name + "]");
|
||||
}
|
||||
}
|
||||
throw error("Illegal character name escape sequence");
|
||||
}
|
||||
|
||||
//
|
||||
// Utility methods for code point support
|
||||
//
|
||||
|
||||
private static final int countChars(CharSequence seq, int index,
|
||||
int lengthInCodePoints) {
|
||||
// optimization
|
||||
@ -3957,6 +3999,62 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Node class that matches an unicode extended grapheme cluster
|
||||
*/
|
||||
static class XGrapheme extends Node {
|
||||
boolean match(Matcher matcher, int i, CharSequence seq) {
|
||||
if (i < matcher.to) {
|
||||
int ch0 = Character.codePointAt(seq, i);
|
||||
i += Character.charCount(ch0);
|
||||
while (i < matcher.to) {
|
||||
int ch1 = Character.codePointAt(seq, i);
|
||||
if (Grapheme.isBoundary(ch0, ch1))
|
||||
break;
|
||||
ch0 = ch1;
|
||||
i += Character.charCount(ch1);
|
||||
}
|
||||
return next.match(matcher, i, seq);
|
||||
}
|
||||
matcher.hitEnd = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean study(TreeInfo info) {
|
||||
info.minLength++;
|
||||
info.deterministic = false;
|
||||
return next.study(info);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Node class that handles grapheme boundaries
|
||||
*/
|
||||
static class GraphemeBound extends Node {
|
||||
boolean match(Matcher matcher, int i, CharSequence seq) {
|
||||
int startIndex = matcher.from;
|
||||
int endIndex = matcher.to;
|
||||
if (matcher.transparentBounds) {
|
||||
startIndex = 0;
|
||||
endIndex = matcher.getTextLength();
|
||||
}
|
||||
if (i == startIndex) {
|
||||
return next.match(matcher, i, seq);
|
||||
}
|
||||
if (i < endIndex) {
|
||||
if (Character.isSurrogatePair(seq.charAt(i-1), seq.charAt(i)) ||
|
||||
!Grapheme.isBoundary(Character.codePointBefore(seq, i),
|
||||
Character.codePointAt(seq, i))) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
matcher.hitEnd = true;
|
||||
matcher.requireEnd = true;
|
||||
}
|
||||
return next.match(matcher, i, seq);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Base class for all Slice nodes
|
||||
*/
|
||||
|
@ -47,7 +47,7 @@ import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import sun.misc.InnocuousThread;
|
||||
import jdk.internal.misc.InnocuousThread;
|
||||
import jdk.internal.misc.VM;
|
||||
import sun.util.logging.PlatformLogger;
|
||||
import jdk.internal.logger.LazyLoggers.LazyLoggerAccessor;
|
||||
|
@ -23,7 +23,7 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.misc;
|
||||
package jdk.internal.misc;
|
||||
|
||||
import java.security.AccessControlContext;
|
||||
import java.security.AccessController;
|
@ -33,7 +33,7 @@ import java.security.PrivilegedAction;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
import java.util.function.Function;
|
||||
|
||||
import sun.misc.InnocuousThread;
|
||||
import jdk.internal.misc.InnocuousThread;
|
||||
|
||||
/**
|
||||
* CleanerImpl manages a set of object references and corresponding cleaning actions.
|
||||
|
@ -45,7 +45,7 @@ import java.lang.annotation.Target;
|
||||
* throw a delayed StackOverflowError when the thread exits the annotated
|
||||
* method.
|
||||
*
|
||||
* @since 1.9
|
||||
* @since 9
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
|
||||
|
@ -1,78 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.misc;
|
||||
|
||||
/**
|
||||
* Utility class for small LRU caches.
|
||||
*
|
||||
* @author Mark Reinhold
|
||||
*/
|
||||
public abstract class LRUCache<N,V> {
|
||||
|
||||
private V[] oa = null;
|
||||
private final int size;
|
||||
|
||||
public LRUCache(int size) {
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
protected abstract V create(N name);
|
||||
|
||||
protected abstract boolean hasName(V ob, N name);
|
||||
|
||||
public static void moveToFront(Object[] oa, int i) {
|
||||
Object ob = oa[i];
|
||||
for (int j = i; j > 0; j--)
|
||||
oa[j] = oa[j - 1];
|
||||
oa[0] = ob;
|
||||
}
|
||||
|
||||
public V forName(N name) {
|
||||
if (oa == null) {
|
||||
@SuppressWarnings("unchecked")
|
||||
V[] temp = (V[])new Object[size];
|
||||
oa = temp;
|
||||
} else {
|
||||
for (int i = 0; i < oa.length; i++) {
|
||||
V ob = oa[i];
|
||||
if (ob == null)
|
||||
continue;
|
||||
if (hasName(ob, name)) {
|
||||
if (i > 0)
|
||||
moveToFront(oa, i);
|
||||
return ob;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Create a new object
|
||||
V ob = create(name);
|
||||
oa[oa.length - 1] = ob;
|
||||
moveToFront(oa, oa.length - 1);
|
||||
return ob;
|
||||
}
|
||||
|
||||
}
|
@ -30,7 +30,7 @@ import java.io.NotSerializableException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.net.URL;
|
||||
import sun.misc.InnocuousThread;
|
||||
import jdk.internal.misc.InnocuousThread;
|
||||
|
||||
/**
|
||||
* A class that implements a cache of idle Http connections for keep-alive
|
||||
|
@ -27,9 +27,9 @@ package sun.net.www.http;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
import sun.misc.InnocuousThread;
|
||||
import sun.net.ProgressSource;
|
||||
import sun.net.www.MeteredStream;
|
||||
import jdk.internal.misc.InnocuousThread;
|
||||
|
||||
/**
|
||||
* A stream that has the property of being able to be kept alive for
|
||||
|
@ -29,6 +29,7 @@ import java.nio.channels.*;
|
||||
import java.util.concurrent.*;
|
||||
import java.security.AccessController;
|
||||
import sun.security.action.GetIntegerAction;
|
||||
import jdk.internal.misc.InnocuousThread;
|
||||
|
||||
/**
|
||||
* Defines static methods to invoke a completion handler or arbitrary task.
|
||||
@ -134,9 +135,9 @@ class Invoker {
|
||||
// clear thread locals when in default thread pool
|
||||
if (System.getSecurityManager() != null) {
|
||||
Thread me = Thread.currentThread();
|
||||
if (me instanceof sun.misc.InnocuousThread) {
|
||||
if (me instanceof InnocuousThread) {
|
||||
GroupAndInvokeCount thisGroupAndInvokeCount = myGroupAndInvokeCount.get();
|
||||
((sun.misc.InnocuousThread)me).eraseThreadLocals();
|
||||
((InnocuousThread)me).eraseThreadLocals();
|
||||
if (thisGroupAndInvokeCount != null) {
|
||||
myGroupAndInvokeCount.set(thisGroupAndInvokeCount);
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import sun.security.action.GetPropertyAction;
|
||||
import sun.security.action.GetIntegerAction;
|
||||
import jdk.internal.misc.InnocuousThread;
|
||||
|
||||
/**
|
||||
* Encapsulates a thread pool associated with a channel group.
|
||||
@ -81,7 +82,7 @@ public class ThreadPool {
|
||||
} else {
|
||||
return (Runnable r) -> {
|
||||
PrivilegedAction<Thread> action = () -> {
|
||||
Thread t = new sun.misc.InnocuousThread(r);
|
||||
Thread t = new InnocuousThread(r);
|
||||
t.setDaemon(true);
|
||||
return t;
|
||||
};
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -275,6 +275,9 @@ public final class TimeZoneNames extends TimeZoneNamesBundle {
|
||||
String XJT[] = new String[] {"Xinjiang Standard Time", "XJT",
|
||||
"Xinjiang Daylight Time", "XJDT",
|
||||
"Xinjiang Time", "XJT"};
|
||||
String YAKT[] = new String[] {"Yakutsk Time", "YAKT",
|
||||
"Yakutsk Summer Time", "YAKST",
|
||||
"Yakutsk Time", "YAKT"};
|
||||
|
||||
return new Object[][] {
|
||||
{"America/Los_Angeles", PST},
|
||||
@ -486,7 +489,7 @@ public final class TimeZoneNames extends TimeZoneNamesBundle {
|
||||
{"America/Mendoza", AGT},
|
||||
{"America/Menominee", CST},
|
||||
{"America/Merida", CST},
|
||||
{"America/Metlakatla", PST},
|
||||
{"America/Metlakatla", AKST},
|
||||
{"America/Mexico_City", CST},
|
||||
{"America/Miquelon", new String[] {"Pierre & Miquelon Standard Time", "PMST",
|
||||
"Pierre & Miquelon Daylight Time", "PMDT",
|
||||
@ -607,7 +610,7 @@ public final class TimeZoneNames extends TimeZoneNamesBundle {
|
||||
"Brunei Summer Time", "BNST",
|
||||
"Brunei Time", "BNT"}},
|
||||
{"Asia/Calcutta", IST},
|
||||
{"Asia/Chita", IRKT},
|
||||
{"Asia/Chita", YAKT},
|
||||
{"Asia/Choibalsan", new String[] {"Choibalsan Time", "CHOT",
|
||||
"Choibalsan Summer Time", "CHOST",
|
||||
"Choibalsan Time", "CHOT"}},
|
||||
@ -648,10 +651,7 @@ public final class TimeZoneNames extends TimeZoneNamesBundle {
|
||||
{"Asia/Kashgar", XJT},
|
||||
{"Asia/Kathmandu", NPT},
|
||||
{"Asia/Katmandu", NPT},
|
||||
{"Asia/Khandyga", new String[] {"Khandyga Time", "YAKT",
|
||||
"Khandyga Summer Time", "YAKST",
|
||||
"Khandyga Time", "YAKT"}},
|
||||
|
||||
{"Asia/Khandyga", YAKT},
|
||||
{"Asia/Kolkata", IST},
|
||||
{"Asia/Krasnoyarsk", KRAT},
|
||||
{"Asia/Kuala_Lumpur", MYT},
|
||||
@ -717,9 +717,7 @@ public final class TimeZoneNames extends TimeZoneNamesBundle {
|
||||
{"Asia/Vladivostok", new String[] {"Vladivostok Time", "VLAT",
|
||||
"Vladivostok Summer Time", "VLAST",
|
||||
"Vladivostok Time", "VLAT"}},
|
||||
{"Asia/Yakutsk", new String[] {"Yakutsk Time", "YAKT",
|
||||
"Yakutsk Summer Time", "YAKST",
|
||||
"Yakutsk Time", "YAKT"}},
|
||||
{"Asia/Yakutsk", YAKT},
|
||||
{"Asia/Yekaterinburg", new String[] {"Yekaterinburg Time", "YEKT",
|
||||
"Yekaterinburg Summer Time", "YEKST",
|
||||
"Yekaterinburg Time", "YEKT"}},
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "endian.hpp"
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef LIBJIMAGE_ENDIAN_HPP
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "jni.h"
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef LIBJIMAGE_IMAGEDECOMPRESSOR_HPP
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef LIBJIMAGE_IMAGEFILE_HPP
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef LIBJIMAGE_INTTYPES_HPP
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "jni.h"
|
||||
|
@ -1,26 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
* - Neither the name of Oracle nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef LIBJIMAGE_OSSUPPORT_HPP
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012, 2013 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012, 2013 SAP AG. All rights reserved.
|
||||
* Copyright (c) 2012, 2013 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -55,7 +55,6 @@ import java.util.prefs.BackingStoreException;
|
||||
import java.util.prefs.Preferences;
|
||||
import sun.awt.InputMethodSupport;
|
||||
import sun.awt.SunToolkit;
|
||||
import sun.misc.InnocuousThread;
|
||||
import sun.misc.ManagedLocalsThread;
|
||||
|
||||
/**
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user