author | duke |
Wed, 05 Jul 2017 22:29:32 +0200 | |
changeset 42147 | a7437999820e |
parent 42146 | ef1c0c184790 (current diff) |
parent 42141 | 06c697759688 (diff) |
child 42233 | ea12637a9de9 |
make/common/CORE_PKGS.gmk | file | annotate | diff | comparison | revisions | |
make/common/NON_CORE_PKGS.gmk | file | annotate | diff | comparison | revisions |
--- a/.hgtags-top-repo Wed Nov 23 19:15:01 2016 +0000 +++ b/.hgtags-top-repo Wed Jul 05 22:29:32 2017 +0200 @@ -388,3 +388,4 @@ 1fc62b1c629fb80fdaa639d3b59452a184f0d705 jdk-9+143 8d337fd6333e28c48aa87880144b840aad82baaf jdk-9+144 ff98aa9ec9fae991e426ce5926fc9036d25f5562 jdk-9+145 +a22e2671d88f6b22a4aa82e3966986542ed2a381 jdk-9+146
--- a/common/autoconf/basics.m4 Wed Nov 23 19:15:01 2016 +0000 +++ b/common/autoconf/basics.m4 Wed Jul 05 22:29:32 2017 +0200 @@ -1048,7 +1048,9 @@ # These tools might not be installed by default, # need hint on how to install them. BASIC_REQUIRE_PROGS(UNZIP, unzip) - BASIC_REQUIRE_PROGS(ZIP, zip) + # Since zip uses "ZIP" as a environment variable for passing options, we need + # to name our variable differently, hence ZIPEXE. + BASIC_REQUIRE_PROGS(ZIPEXE, zip) # Non-required basic tools
--- a/common/autoconf/flags.m4 Wed Nov 23 19:15:01 2016 +0000 +++ b/common/autoconf/flags.m4 Wed Jul 05 22:29:32 2017 +0200 @@ -311,7 +311,11 @@ SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1' fi elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - PICFLAG="-KPIC" + if test "x$OPENJDK_TARGET_CPU" = xsparcv9; then + PICFLAG="-xcode=pic32" + else + PICFLAG="-KPIC" + fi C_FLAG_REORDER='-xF' CXX_FLAG_REORDER='-xF' SHARED_LIBRARY_FLAGS="-G" @@ -838,7 +842,6 @@ fastdebug | slowdebug ) $2CFLAGS_JDK="[$]$2CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS $CFLAGS_DEBUG_OPTIONS" $2CXXFLAGS_JDK="[$]$2CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS $CXXFLAGS_DEBUG_OPTIONS" - JAVAC_FLAGS="$JAVAC_FLAGS -g" ;; release ) ;; @@ -894,12 +897,12 @@ # Set some additional per-OS defines. if test "x$OPENJDK_$1_OS" = xlinux; then $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DLINUX" - $2JVM_CFLAGS="[$]$2JVM_CFLAGS -pipe -fPIC -fno-rtti -fno-exceptions \ + $2JVM_CFLAGS="[$]$2JVM_CFLAGS -pipe $PICFLAG -fno-rtti -fno-exceptions \ -fvisibility=hidden -fno-strict-aliasing -fno-omit-frame-pointer" elif test "x$OPENJDK_$1_OS" = xsolaris; then $2JVM_CFLAGS="[$]$2JVM_CFLAGS -DSOLARIS" $2JVM_CFLAGS="[$]$2JVM_CFLAGS -template=no%extdef -features=no%split_init \ - -D_Crun_inline_placement -library=%none -KPIC -mt -features=no%except" + -D_Crun_inline_placement -library=%none $PICFLAG -mt -features=no%except" elif test "x$OPENJDK_$1_OS" = xmacosx; then $2COMMON_CCXXFLAGS_JDK="[$]$2COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" $2JVM_CFLAGS="[$]$2JVM_CFLAGS -D_ALLBSD_SOURCE" @@ -1310,7 +1313,7 @@ AC_MSG_CHECKING([if both compilers support "ARG_ARGUMENT"]) supports=no if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi - + AC_MSG_RESULT([$supports]) if test "x$supports" = "xyes" ; then :
--- a/common/autoconf/generated-configure.sh Wed Nov 23 19:15:01 2016 +0000 +++ b/common/autoconf/generated-configure.sh Wed Jul 05 22:29:32 2017 +0200 @@ -945,7 +945,7 @@ READELF OTOOL LDD -ZIP +ZIPEXE UNZIP TAR_SUPPORTS_TRANSFORM TAR_INCLUDE_PARAM @@ -1292,7 +1292,7 @@ NICE MAKE UNZIP -ZIP +ZIPEXE LDD OTOOL READELF @@ -2236,7 +2236,7 @@ NICE Override default value for NICE MAKE Override default value for MAKE UNZIP Override default value for UNZIP - ZIP Override default value for ZIP + ZIPEXE Override default value for ZIPEXE LDD Override default value for LDD OTOOL Override default value for OTOOL READELF Override default value for READELF @@ -5093,7 +5093,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1479120453 +DATE_WHEN_GENERATED=1479997904 ############################################################################### # @@ -21373,13 +21373,15 @@ fi - - - - # Publish this variable in the help. - - - if [ -z "${ZIP+x}" ]; then + # Since zip uses "ZIP" as a environment variable for passing options, we need + # to name our variable differently, hence ZIPEXE. + + + + # Publish this variable in the help. + + + if [ -z "${ZIPEXE+x}" ]; then # The variable is not set by user, try to locate tool using the code snippet for ac_prog in zip do @@ -21387,56 +21389,56 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ZIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ZIP in - [\\/]* | ?:[\\/]*) - ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ZIP=$ac_cv_path_ZIP -if test -n "$ZIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 -$as_echo "$ZIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ZIP" && break -done - - else - # The variable is set, but is it from the command line or the environment? - - # Try to remove the string !ZIP! from our list. - try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!ZIP!/} - if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then - # If it failed, the variable was not from the command line. Ignore it, - # but warn the user (except for BASH, which is always set by the calling BASH). - if test "xZIP" != xBASH; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of ZIP from the environment. Use command line variables instead." >&5 -$as_echo "$as_me: WARNING: Ignoring value of ZIP from the environment. Use command line variables instead." >&2;} +if ${ac_cv_path_ZIPEXE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ZIPEXE in + [\\/]* | ?:[\\/]*) + ac_cv_path_ZIPEXE="$ZIPEXE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ZIPEXE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ZIPEXE=$ac_cv_path_ZIPEXE +if test -n "$ZIPEXE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIPEXE" >&5 +$as_echo "$ZIPEXE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ZIPEXE" && break +done + + else + # The variable is set, but is it from the command line or the environment? + + # Try to remove the string !ZIPEXE! from our list. + try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!ZIPEXE!/} + if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then + # If it failed, the variable was not from the command line. Ignore it, + # but warn the user (except for BASH, which is always set by the calling BASH). + if test "xZIPEXE" != xBASH; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of ZIPEXE from the environment. Use command line variables instead." >&5 +$as_echo "$as_me: WARNING: Ignoring value of ZIPEXE from the environment. Use command line variables instead." >&2;} fi # Try to locate tool using the code snippet for ac_prog in zip @@ -21445,135 +21447,135 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ZIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ZIP in - [\\/]* | ?:[\\/]*) - ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ZIP=$ac_cv_path_ZIP -if test -n "$ZIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 -$as_echo "$ZIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ZIP" && break -done - - else - # If it succeeded, then it was overridden by the user. We will use it - # for the tool. - - # First remove it from the list of overridden variables, so we can test - # for unknown variables in the end. - CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var" - - # Check if we try to supply an empty value - if test "x$ZIP" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool ZIP= (no value)" >&5 -$as_echo "$as_me: Setting user supplied tool ZIP= (no value)" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZIP" >&5 -$as_echo_n "checking for ZIP... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5 -$as_echo "disabled" >&6; } - else - # Check if the provided tool contains a complete path. - tool_specified="$ZIP" - tool_basename="${tool_specified##*/}" - if test "x$tool_basename" = "x$tool_specified"; then - # A command without a complete path is provided, search $PATH. - { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool ZIP=$tool_basename" >&5 -$as_echo "$as_me: Will search for user supplied tool ZIP=$tool_basename" >&6;} - # Extract the first word of "$tool_basename", so it can be a program name with args. -set dummy $tool_basename; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ZIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ZIP in - [\\/]* | ?:[\\/]*) - ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ZIP=$ac_cv_path_ZIP -if test -n "$ZIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 -$as_echo "$ZIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "x$ZIP" = x; then - as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5 - fi - else - # Otherwise we believe it is a complete path. Use it as it is. - { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool ZIP=$tool_specified" >&5 -$as_echo "$as_me: Will use user supplied tool ZIP=$tool_specified" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZIP" >&5 -$as_echo_n "checking for ZIP... " >&6; } - if test ! -x "$tool_specified"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } - as_fn_error $? "User supplied tool ZIP=$tool_specified does not exist or is not executable" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5 -$as_echo "$tool_specified" >&6; } - fi - fi - fi - - fi - - - - if test "x$ZIP" = x; then - as_fn_error $? "Could not find required tool for ZIP" "$LINENO" 5 +if ${ac_cv_path_ZIPEXE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ZIPEXE in + [\\/]* | ?:[\\/]*) + ac_cv_path_ZIPEXE="$ZIPEXE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ZIPEXE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ZIPEXE=$ac_cv_path_ZIPEXE +if test -n "$ZIPEXE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIPEXE" >&5 +$as_echo "$ZIPEXE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ZIPEXE" && break +done + + else + # If it succeeded, then it was overridden by the user. We will use it + # for the tool. + + # First remove it from the list of overridden variables, so we can test + # for unknown variables in the end. + CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var" + + # Check if we try to supply an empty value + if test "x$ZIPEXE" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool ZIPEXE= (no value)" >&5 +$as_echo "$as_me: Setting user supplied tool ZIPEXE= (no value)" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZIPEXE" >&5 +$as_echo_n "checking for ZIPEXE... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5 +$as_echo "disabled" >&6; } + else + # Check if the provided tool contains a complete path. + tool_specified="$ZIPEXE" + tool_basename="${tool_specified##*/}" + if test "x$tool_basename" = "x$tool_specified"; then + # A command without a complete path is provided, search $PATH. + { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool ZIPEXE=$tool_basename" >&5 +$as_echo "$as_me: Will search for user supplied tool ZIPEXE=$tool_basename" >&6;} + # Extract the first word of "$tool_basename", so it can be a program name with args. +set dummy $tool_basename; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ZIPEXE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ZIPEXE in + [\\/]* | ?:[\\/]*) + ac_cv_path_ZIPEXE="$ZIPEXE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ZIPEXE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ZIPEXE=$ac_cv_path_ZIPEXE +if test -n "$ZIPEXE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIPEXE" >&5 +$as_echo "$ZIPEXE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$ZIPEXE" = x; then + as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5 + fi + else + # Otherwise we believe it is a complete path. Use it as it is. + { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool ZIPEXE=$tool_specified" >&5 +$as_echo "$as_me: Will use user supplied tool ZIPEXE=$tool_specified" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZIPEXE" >&5 +$as_echo_n "checking for ZIPEXE... " >&6; } + if test ! -x "$tool_specified"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } + as_fn_error $? "User supplied tool ZIPEXE=$tool_specified does not exist or is not executable" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5 +$as_echo "$tool_specified" >&6; } + fi + fi + fi + + fi + + + + if test "x$ZIPEXE" = x; then + as_fn_error $? "Could not find required tool for ZIPEXE" "$LINENO" 5 fi @@ -49101,7 +49103,11 @@ SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=$1' fi elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then - PICFLAG="-KPIC" + if test "x$OPENJDK_TARGET_CPU" = xsparcv9; then + PICFLAG="-xcode=pic32" + else + PICFLAG="-KPIC" + fi C_FLAG_REORDER='-xF' CXX_FLAG_REORDER='-xF' SHARED_LIBRARY_FLAGS="-G" @@ -50020,7 +50026,6 @@ fastdebug | slowdebug ) CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS $CFLAGS_DEBUG_OPTIONS" CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS $CXXFLAGS_DEBUG_OPTIONS" - JAVAC_FLAGS="$JAVAC_FLAGS -g" ;; release ) ;; @@ -50076,12 +50081,12 @@ # Set some additional per-OS defines. if test "x$OPENJDK_TARGET_OS" = xlinux; then JVM_CFLAGS="$JVM_CFLAGS -DLINUX" - JVM_CFLAGS="$JVM_CFLAGS -pipe -fPIC -fno-rtti -fno-exceptions \ + JVM_CFLAGS="$JVM_CFLAGS -pipe $PICFLAG -fno-rtti -fno-exceptions \ -fvisibility=hidden -fno-strict-aliasing -fno-omit-frame-pointer" elif test "x$OPENJDK_TARGET_OS" = xsolaris; then JVM_CFLAGS="$JVM_CFLAGS -DSOLARIS" JVM_CFLAGS="$JVM_CFLAGS -template=no%extdef -features=no%split_init \ - -D_Crun_inline_placement -library=%none -KPIC -mt -features=no%except" + -D_Crun_inline_placement -library=%none $PICFLAG -mt -features=no%except" elif test "x$OPENJDK_TARGET_OS" = xmacosx; then COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" JVM_CFLAGS="$JVM_CFLAGS -D_ALLBSD_SOURCE" @@ -50844,7 +50849,6 @@ fastdebug | slowdebug ) OPENJDK_BUILD_CFLAGS_JDK="$OPENJDK_BUILD_CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS $CFLAGS_DEBUG_OPTIONS" OPENJDK_BUILD_CXXFLAGS_JDK="$OPENJDK_BUILD_CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS $CXXFLAGS_DEBUG_OPTIONS" - JAVAC_FLAGS="$JAVAC_FLAGS -g" ;; release ) ;; @@ -50900,12 +50904,12 @@ # Set some additional per-OS defines. if test "x$OPENJDK_BUILD_OS" = xlinux; then OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS -DLINUX" - OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS -pipe -fPIC -fno-rtti -fno-exceptions \ + OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS -pipe $PICFLAG -fno-rtti -fno-exceptions \ -fvisibility=hidden -fno-strict-aliasing -fno-omit-frame-pointer" elif test "x$OPENJDK_BUILD_OS" = xsolaris; then OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS -DSOLARIS" OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS -template=no%extdef -features=no%split_init \ - -D_Crun_inline_placement -library=%none -KPIC -mt -features=no%except" + -D_Crun_inline_placement -library=%none $PICFLAG -mt -features=no%except" elif test "x$OPENJDK_BUILD_OS" = xmacosx; then OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK="$OPENJDK_BUILD_COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT" OPENJDK_BUILD_JVM_CFLAGS="$OPENJDK_BUILD_JVM_CFLAGS -D_ALLBSD_SOURCE"
--- a/common/autoconf/spec.gmk.in Wed Nov 23 19:15:01 2016 +0000 +++ b/common/autoconf/spec.gmk.in Wed Jul 05 22:29:32 2017 +0200 @@ -657,8 +657,7 @@ UNIQ:=@UNIQ@ WC:=@WC@ XARGS:=@XARGS@ -ZIPEXE:=@ZIP@ -ZIP:=@ZIP@ +ZIPEXE:=@ZIPEXE@ UNZIP:=@UNZIP@ MT:=@FIXPATH@ @MT@ RC:=@FIXPATH@ @RC@
--- a/make/Bundles.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/Bundles.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -101,7 +101,7 @@ ( $(TAR) cf - $(TAR_CREATE_EXTRA_PARAM) $$($1_SUBDIR) $(TAR_IGNORE_EXIT_VALUE) ) \ | $(GZIP) > $$@ else ifeq ($$($1_TYPE), zip) - $(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1 && $(ZIP) -qr $$@ . + $(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1 && $(ZIPEXE) -qr $$@ . endif endif else @@ -113,7 +113,7 @@ | $(GZIP) > $$@ else ifeq ($$($1_TYPE), zip) $(CD) $$($1_BASE_DIR) \ - && $(ZIP) -qr $$@ . -i@$(SUPPORT_OUTPUTDIR)/bundles/_$1_files + && $(ZIPEXE) -qr $$@ . -i@$(SUPPORT_OUTPUTDIR)/bundles/_$1_files endif endif
--- a/make/CompileJavaModules.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/CompileJavaModules.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -95,7 +95,7 @@ ################################################################################ java.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference \ - '-Xdoclint/package:java.*,javax.*' -Xlint:-deprecation,exports + '-Xdoclint/package:java.*,javax.*' -Xlint:exports java.desktop_COPY := .gif .png .wav .txt .xml .css .pf java.desktop_CLEAN := iio-plugin.properties cursors.properties
--- a/make/Images.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/Images.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -131,7 +131,7 @@ $(JLINK_JLI_CLASSES) \ # -JLINK_JRE_EXTRA_OPTS := --no-man-pages --no-header-files +JLINK_JRE_EXTRA_OPTS := --no-man-pages --no-header-files --strip-debug ifeq ($(JLINK_KEEP_PACKAGED_MODULES), true) JLINK_JDK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods
--- a/make/Javadoc.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/Javadoc.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -50,17 +50,6 @@ # Should we use -Xdocrootparent? Allow custom to overwrite. DOCROOTPARENT_FLAG = TRUE -# The core api index file is the target for the core api javadocs rule -# and needs to be defined early so that all other javadoc rules may -# depend on it. -CORE_INDEX_FILE := $(JAVADOC_OUTPUTDIR)/api/index.html - -# Symbols -TRADEMARK := ™ -COPYRIGHT_SYMBOL := &$(HASH)x00a9; -COPYRIGHT_TEXT := Copyright -ALL_RIGHTS_RESERVED := All rights reserved. - # URLs JAVADOC_BASE_URL := http://docs.oracle.com/javase/$(VERSION_SPECIFICATION)/docs BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/ @@ -69,79 +58,131 @@ # Text snippets FULL_COMPANY_NAME := Oracle and/or its affiliates -COMPANY_ADDRESS := 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA. +COMPANY_ADDRESS := 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA BUG_SUBMIT_LINE := <a href="$(BUG_SUBMIT_URL)">Submit a bug or feature</a> -JAVA_TRADEMARK_LINE := Java is a trademark or registered trademark of \ - $(FULL_COMPANY_NAME) in the US and other countries. -COMMON_BOTTOM_ADDRESS := $(COMPANY_ADDRESS) -COMMON_BOTTOM_TEXT := $(BUG_SUBMIT_LINE)<br>$(JAVA_TRADEMARK_LINE) +COMMON_BOTTOM_TEXT := $(BUG_SUBMIT_LINE)<br> Java is a trademark or registered \ + trademark of $(FULL_COMPANY_NAME) in the US and other countries. CORE_BOTTOM_COPYRIGHT_URL := {@docroot}/../legal/cpyr.html -CORE_BOTTOM_TEXT := $(BUG_SUBMIT_LINE)\ -<br>For further API reference and developer documentation, \ -see <a href="$(JAVADOC_BASE_URL)/index.html" target="_blank">Java SE \ -Documentation</a>. That documentation contains more detailed, \ -developer-targeted descriptions, with conceptual overviews, definitions of \ -terms, workarounds, and working code examples. +CORE_BOTTOM_TEXT := \ + $(BUG_SUBMIT_LINE) \ + <br>For further API reference and developer documentation, see \ + <a href="$(JAVADOC_BASE_URL)/index.html" target="_blank">Java SE \ + Documentation</a>. That documentation contains more detailed, \ + developer-targeted descriptions, with conceptual overviews, definitions of \ + terms, workarounds, and working code examples. ifeq ($(VERSION_IS_GA), true) - DRAFT_HEADER := - DRAFT_BOTTOM := - DRAFT_WINTITLE := - CORE_TOP_EARLYACCESS := + DRAFT_MARKER := + DRAFT_WINDOW_TITLE_MARKER := + EARLYACCESS_TOP := else # We need a draft format when not building the GA version. - DRAFT_HEADER := <br><strong>DRAFT $(VERSION_STRING)</strong> - DRAFT_BOTTOM := <br><strong>DRAFT $(VERSION_STRING)</strong> - DRAFT_WINTITLE := $(VERSION_BUILD) - CORE_TOP_EARLYACCESS := \ -<div style="background-color: $$(HASH)EEEEEE"> \ -<div style="padding: 6px; margin-top: 2px; margin-bottom: 6px; \ -margin-left: 6px; margin-right: 6px; text-align: justify; \ -font-size: 80%; font-family: Helvetica, Arial, sans-serif; \ -font-weight: normal;"> \ -Please note that the specifications and other information \ -contained herein are not final and are subject to change. \ -The information is being made available to you solely for purpose of \ -evaluation. \ -</div> </div> + DRAFT_MARKER := <br><strong>DRAFT $(VERSION_STRING)</strong> + ifeq ($(VERSION_BUILD), 0) + DRAFT_WINDOW_TITLE_MARKER := $(SPACE)[ad-hoc build] + else + DRAFT_WINDOW_TITLE_MARKER := $(SPACE)[build $(VERSION_BUILD)] + endif + EARLYACCESS_TOP := \ + <div style="background-color: $$(HASH)EEEEEE"><div style="padding: 6px; \ + margin-top: 2px; margin-bottom: 6px; margin-left: 6px; margin-right: \ + 6px; text-align: justify; font-size: 80%; font-family: Helvetica, Arial, \ + sans-serif; font-weight: normal;">Please note that the specifications \ + and other information contained herein are not final and are subject to \ + change. The information is being made available to you solely for \ + purpose of evaluation.</div></div> endif ################################################################################ +# Special treatment for the core package list. All separate "small" javadoc +# invocation needs to be able to see the core package list. + +ALL_PKG_DIRS := $(dir $(filter %.java, $(call CacheFind, \ + $(wildcard $(JAVADOC_SOURCE_DIRS))))) +ALL_SRC_PREFIXES := $(addsuffix /%, $(wildcard $(JAVADOC_SOURCE_DIRS))) +ALL_PKG_DIRNAMES := $(foreach prefix, $(ALL_SRC_PREFIXES), \ + $(patsubst $(prefix),%, $(filter $(prefix), $(ALL_PKG_DIRS)))) +ALL_PACKAGES := $(sort $(subst /,., $(patsubst %/, %, $(ALL_PKG_DIRNAMES)))) + +# Core packages are all packages beginning with java, javax or org, except a few +# excludes. +JAVA_PACKAGES := $(filter java.%, $(ALL_PACKAGES)) +JAVAX_PACKAGES := $(filter javax.%, $(ALL_PACKAGES)) +ORG_PACKAGES := $(filter org.%, $(ALL_PACKAGES)) + +# Allow custom makefile to add more excluded packages +CORE_EXCLUDED_PACKAGES += \ + java.awt.dnd.peer \ + java.awt.peer \ + javax.smartcardio \ + org.jcp.xml.dsig.internal% \ + org.w3c.dom.css \ + org.w3c.dom.html \ + org.w3c.dom.stylesheets \ + org.w3c.dom.xpath \ + # + +CORE_PACKAGES := $(filter-out $(CORE_EXCLUDED_PACKAGES), \ + $(JAVA_PACKAGES) $(JAVAX_PACKAGES) $(ORG_PACKAGES)) + +CORE_PACKAGES_LIST_DIR := $(SUPPORT_OUTPUTDIR)/docs/core-packages +CORE_PACKAGES_LIST_FILE := $(CORE_PACKAGES_LIST_DIR)/package-list + +CORE_PACKAGES_VARDEPS_FILE := $(call DependOnVariable, CORE_PACKAGES, \ + $(CORE_PACKAGES_LIST_FILE).vardeps) + +$(CORE_PACKAGES_LIST_FILE): $(CORE_PACKAGES_VARDEPS_FILE) + $(call MakeDir, $(@D)) + $(eval $(call ListPathsSafely, CORE_PACKAGES, $@)) + +################################################################################ # Support functions for SetupJavadocGeneration -# Print an option line to the target file -# Arguments: -# arg 1: the option name -# arg 2-3: optional arguments to the option -define AddOption - $(PRINTF) "%s$(if $(strip $2), '%s',)$(if $(strip $3), '%s',)\n" \ - "$(strip $1)"$(if $(strip $2), '$(strip $2)',)$(if $(strip $3), \ - '$(strip $3)',) >> $@ -endef - -# This function goes to great pains to exactly mimic the old behavior -# in all details, including whitespace. +# Generate the text used in the -bottom argument. # Note that COPYRIGHT_YEAR is the current year (from spec.gmk) # Arguments: # arg 1: first copyright year # arg 2: copyright url (optional) -# arg 3: company address (optional) -# arg 4: free-form text snippet (optional) +# arg 3: free-form text snippet (optional) define GenerateBottom - <font size="-1">$(if $(strip $4), $(strip $4))<br> $(if \ - $(strip $2),<a href="$(strip $2)">$(COPYRIGHT_TEXT)</a>,$(COPYRIGHT_TEXT)) \ - $(COPYRIGHT_SYMBOL) $(strip $1), $(COPYRIGHT_YEAR), \ - $(FULL_COMPANY_NAME). $(strip $3) \ - $(ALL_RIGHTS_RESERVED)$(if $(strip $4), )</font> + <font size="-1">$(if $(strip $3), $(strip $3))<br> $(if \ + $(strip $2),<a href="$(strip $2)">Copyright</a>,Copyright) \ + © $(strip $1), $(COPYRIGHT_YEAR), $(FULL_COMPANY_NAME). \ + $(COMPANY_ADDRESS). All rights reserved.</font> endef # Speed up finding by filling cache $(eval $(call FillCacheFind, $(wildcard $(JAVADOC_SOURCE_DIRS)))) -# Prevent # from expanding -EscapeHash = $(subst $(HASH),{hash},$(strip $1)) +# In order to get a specific ordering it's necessary to specify the total +# ordering of tags as the tags are otherwise ordered in order of definition. +DEFAULT_JAVADOC_TAGS := \ + -tag beaninfo:X \ + -tag revised:X \ + -tag since.unbundled:X \ + -tag spec:X \ + -tag specdefault:X \ + -tag Note:X \ + -tag ToDo:X \ + -tag 'apiNote:a:API Note:' \ + -tag 'implSpec:a:Implementation Requirements:' \ + -tag 'implNote:a:Implementation Note:' \ + -tag param \ + -tag return \ + -tag throws \ + -tag since \ + -tag version \ + -tag serialData \ + -tag factory \ + -tag see \ + -tag 'jvms:a:See <cite>The Java™ Virtual Machine Specification</cite>:' \ + -tag 'jls:a:See <cite>The Java™ Language Specification</cite>:' \ + # + +DEFAULT_JAVADOC_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \ + -serialwarn -encoding ISO-8859-1 -breakiterator --system none ################################################################################ # Setup make rules for running javadoc. @@ -154,7 +195,6 @@ # Remaining parameters are named arguments. These include: # MODULES - Modules to include # PACKAGES - Packages to include -# PACKAGE_FILTER - Filter for packages # IS_CORE - Set to TRUE for the Core API package which needs special treatment # API_ROOT - Where to base the documentation (jre or jdk) # DEST_DIR - A directory relative to the API root @@ -164,15 +204,10 @@ # HEADER_TITLE - Title to use in -header. Computed from TITLE if empty. # DOC_TITLE - Title to use in -doctitle. Computed from TITLE if empty. # FIRST_COPYRIGHT_YEAR - First year this bundle was introduced -# DOCLINT - Doclint level. Defaults to "all". +# DISABLED_DOCLINT - Doclint warnings to exclude. # DOCLINT_PACKAGES - Optional -Xdoclint/package value -# ENCODING - Change character encoding (defaults to 'ascii') -# SPLIT_INDEX - Enable -splitIndex -# BREAKITERATOR - Enable -breakiterator -# NODEPRECATEDLIST - Enable nodeprecatedlist -# NOINDEX - Enable -noindex and -nonavbar +# SPLIT_INDEX - Enable -splitIndex (split index-all.html if it is too large) # BOTTOM_COPYRIGHT_URL - Copyright URL to use in -bottom -# BOTTOM_ADDRESS - Company address to use in -bottom # BOTTOM_TEXT - Extra text to use in -bottom # EXTRA_TOP - Additional -top data # @@ -185,181 +220,104 @@ $1_JAVA := $$(JAVA_SMALL) $1_OUTPUT_DIRNAME := $$($1_API_ROOT)/api/$$($1_DEST_DIR) - ifeq ($$($1_RELATIVE_CORE_DIR),) - # Compute a relative path to core root. - # The non-core api javadocs need to be able to access the root of the core - # api directory, so for jdk/api or jre/api to get to the core api/ - # directory we would use this - # NOTE: Need to be able to override for broken old code in JShell - $1_RELATIVE_CORE_DIR := $$(strip $$(subst $$(call DirToDotDot, \ - $$(JAVADOC_OUTPUTDIR))/,, $$(call DirToDotDot, \ - $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME)))) - endif + # Compute a relative path to core root. + # The non-core api javadocs need to be able to access the root of the core + # api directory, so for jdk/api or jre/api to get to the core api/ + # directory we would use this + $1_RELATIVE_CORE_DIR := $$(call DirToDotDot, $$($1_OUTPUT_DIRNAME))/api - $1_DEPS += $(CORE_INDEX_FILE) + # We need to tell javadoc the directory in which to find the core package-list + $1_OPTIONS += -linkoffline $$($1_RELATIVE_CORE_DIR) $$(CORE_PACKAGES_LIST_DIR) + + $1_DEPS += $(CORE_PACKAGES_LIST_FILE) endif - ifneq ($$($1_OVERVIEW), ) - $1_DEPS += $$($1_OVERVIEW) + $1_OPTIONS += --add-modules $$(call CommaList, $$($1_MODULES)) + + ifneq ($$(LOG_LEVEL), trace) + $1_OPTIONS += -quiet endif - ifeq ($$($1_ENCODING), ) - $1_ENCODING := ascii + ifneq ($$($1_DISABLED_DOCLINT), ) + # Create a string like ",-syntax,-html" + $1_DOCLINT_EXCEPTIONS := ,$$(call CommaList, $$(addprefix -, $$($1_DISABLED_DOCLINT))) endif + $1_OPTIONS += -Xdoclint:all$$($1_DOCLINT_EXCEPTIONS) - ifeq ($$($1_DOCLINT), ) - $1_DOCLINT := all + ifneq ($$($1_DOCLINT_PACKAGES), ) + $1_OPTIONS += -Xdoclint/package:$$(call CommaList, $$($1_DOCLINT_PACKAGES)) endif ifeq ($$($1_DOC_TITLE), ) $1_DOC_TITLE := $$($1_TITLE) endif + $1_OPTIONS += -doctitle '$$($1_DOC_TITLE)' ifeq ($$($1_WINDOW_TITLE), ) - $1_WINDOW_TITLE := $$(strip $$(subst $$(TRADEMARK),, $$($1_TITLE))) + $1_WINDOW_TITLE := $$(strip $$(subst ™,, $$($1_TITLE))) endif + $1_OPTIONS += -windowtitle '$$($1_WINDOW_TITLE)$$(DRAFT_WINDOW_TITLE_MARKER)' ifeq ($$($1_HEADER_TITLE), ) - $1_HEADER_TITLE := $$(strip $$(subst $$(TRADEMARK),, $$($1_TITLE))) + $1_HEADER_TITLE := $$(strip $$(subst ™,, $$($1_TITLE))) endif - $1_HEADER := <strong>$$($1_HEADER_TITLE)</strong> - - $1_BOTTOM := $$(call GenerateBottom, $$($1_FIRST_COPYRIGHT_YEAR), \ - $$($1_BOTTOM_COPYRIGHT_URL), $$($1_BOTTOM_ADDRESS), $$($1_BOTTOM_TEXT)) - - # The index.html, options, and packages files - $1_INDEX_FILE := $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME)/index.html - $1_OPTIONS_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.options - $1_PACKAGES_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.packages - - $1_PACKAGES_VARDEPS := $$($1_PACKAGES) $$($1_PACKAGES_SINGLE_CLASS) - $1_PACKAGES_VARDEPS_FILE := $$(call DependOnVariable, $1_PACKAGES_VARDEPS, \ - $$($1_PACKAGES_FILE).vardeps) + $1_OPTIONS += -header '<strong>$$($1_HEADER_TITLE)</strong>$$(DRAFT_MARKER)' - # Rule for creating a file with the package names in it - $$($1_PACKAGES_FILE): $$($1_PACKAGES_VARDEPS_FILE) - $$(call LogInfo, Creating Javadoc package file for $1) - $$(call MakeDir, $$(@D)) - ifeq ($$($1_PACKAGES_SINGLE_CLASS), ) - $$(ECHO) $$($1_PACKAGES) | $$(TR) ' ' '\n' > $$@ - else - # NOTE: This is for backwards compatibility for taglet - $$(ECHO) $$($1_PACKAGES_SINGLE_CLASS) > $$@ - endif + ifneq ($$($1_EXTRA_TOP), ) + $1_OPTIONS += -top '$$($1_EXTRA_TOP)' + endif - # NOTE: Not including $$($1_EXTRA_TOP) due to $$(HASH) - $1_OPTIONS_VARDEPS := $$(call EscapeHash, \ - $$($DOCROOTPARENT_FLAG) $$(JAVADOC_BASE_URL) $$($1_NO_COMMON_TAGS) \ - $$($1_DOCLINT) $$($1_DOCLINT_PACKAGES) $$(JAVADOC_SOURCE_DIRS) \ - $$($1_MODULES) $$($1_ENCODING) $$($1_NODEPRECATEDLIST) \ - $$($1_BREAKITERATOR) $$($1_SPLIT_INDEX) $$($1_OVERVIEW) \ - $$($1_DOC_TITLE) $$($1_WINDOW_TITLE) $$(DRAFT_WINTITLE) \ - $$($1_HEADER) $$(DRAFT_HEADER) $$($1_NOINDEX) $$($1_EXTRA_TOP_2) \ - $$($1_BOTTOM) $$(DRAFT_BOTTOM)) $$($1_PACKAGE_FILTER) $$($1_RELATIVE_CORE_DIR) \ - $$(JAVADOC_OUTPUTDIR) \ - ) - $1_OPTIONS_VARDEPS_FILE := $$(call DependOnVariable, $1_OPTIONS_VARDEPS, \ - $$($1_OPTIONS_FILE).vardeps) + ifeq ($$($1_BOTTOM_TEXT), ) + $1_BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT) + endif + $1_BOTTOM := $$(call GenerateBottom, $$($1_FIRST_COPYRIGHT_YEAR), \ + $$($1_BOTTOM_COPYRIGHT_URL), $$($1_BOTTOM_TEXT)) + $1_OPTIONS += -bottom '$$($1_BOTTOM)$$(DRAFT_MARKER)' - # Rule for creating a file with javadoc options in it - $$($1_OPTIONS_FILE): $$($1_OPTIONS_VARDEPS_FILE) - $$(call LogInfo, Creating Javadoc options file for $1) - $$(call MakeDir, $$(@D)) - $$(RM) $$@ - $$(call AddOption, -XDignore.symbol.file=true) - ifneq ($$(LOG_LEVEL), trace) - $$(call AddOption, -quiet) - endif - $$(call AddOption, -use) - $$(call AddOption, -keywords) - ifneq ($$($DOCROOTPARENT_FLAG), ) - # NOTE: Argument to -Xdocrootparent is not quoted to keep backwards compatibility. - $$(call AddOption, -Xdocrootparent $(JAVADOC_BASE_URL)) - endif - ifneq ($$($1_NO_COMMON_TAGS), TRUE) - # In order to get a specific ordering it's necessary to specify the total - # ordering of tags as the tags are otherwise ordered in order of definition. - $$(call AddOption, -tag, beaninfo:X) - $$(call AddOption, -tag, revised:X) - $$(call AddOption, -tag, since.unbundled:X) - $$(call AddOption, -tag, spec:X) - $$(call AddOption, -tag, specdefault:X) - $$(call AddOption, -tag, Note:X) - $$(call AddOption, -tag, ToDo:X) - $$(call AddOption, -tag, apiNote:a:API Note:) - $$(call AddOption, -tag, implSpec:a:Implementation Requirements:) - $$(call AddOption, -tag, implNote:a:Implementation Note:) - $$(call AddOption, -tag, param) - $$(call AddOption, -tag, return) - $$(call AddOption, -tag, throws) - $$(call AddOption, -tag, since) - $$(call AddOption, -tag, version) - $$(call AddOption, -tag, serialData) - $$(call AddOption, -tag, factory) - $$(call AddOption, -tag, see) - $$(call AddOption, -tag, \ - jvms:a:See <cite> The Java™ Virtual Machine Specification</cite>:) - $$(call AddOption, -tag, \ - jls:a:See <cite> The Java™ Language Specification</cite>:) - endif - $$(call AddOption, -Xdoclint:$$($1_DOCLINT)) - ifneq ($$($1_DOCLINT_PACKAGES), ) - $$(call AddOption, -Xdoclint/package:$$(call CommaList, $$($1_DOCLINT_PACKAGES))) - endif - $$(call AddOption, --system, none) - $$(call AddOption, --module-source-path, $$(subst ",, $$(call PathList, $$(JAVADOC_SOURCE_DIRS)))) - $$(call AddOption, --add-modules, $$(call CommaList, $$($1_MODULES))) - $$(call AddOption, -encoding, $$($1_ENCODING)) - ifneq ($$($1_NODEPRECATEDLIST), ) - $$(call AddOption, -nodeprecatedlist) - endif - ifneq ($$($1_BREAKITERATOR), ) - $$(call AddOption, -breakiterator) - endif - ifneq ($$($1_SPLIT_INDEX), ) - $$(call AddOption, -splitIndex) - endif - ifneq ($$($1_OVERVIEW), ) - $$(call AddOption, -overview, $$($1_OVERVIEW)) - endif - $$(call AddOption, -doctitle, $$($1_DOC_TITLE)) - $$(call AddOption, -windowtitle, $$($1_WINDOW_TITLE) $$(DRAFT_WINTITLE)) - $$(call AddOption, -header, $$($1_HEADER)$$(DRAFT_HEADER)) - ifneq ($$($1_NOINDEX), ) - $$(call AddOption, -nonavbar) - $$(call AddOption, -noindex) - endif - ifneq ($$($1_EXTRA_TOP_2), ) - $$(call AddOption, -top,$$($1_EXTRA_TOP_2)) - endif - $$(call AddOption, -bottom, $$($1_BOTTOM)$$(DRAFT_BOTTOM)) - ifneq ($$($1_PACKAGE_FILTER), ) - $$(call AddOption, -group, Packages, $$($1_PACKAGE_FILTER)) - endif - ifneq ($$($1_RELATIVE_CORE_DIR), ) - $$(call AddOption, -linkoffline, $$($1_RELATIVE_CORE_DIR)/api, $$(JAVADOC_OUTPUTDIR)/api/) - endif - ifneq ($$($1_EXTRA_TOP), ) - $$(call AddOption, -top, $$($1_EXTRA_TOP)) - endif + ifneq ($$($1_OVERVIEW), ) + $1_OPTIONS += -overview $$($1_OVERVIEW) + $1_DEPS += $$($1_OVERVIEW) + endif + + ifneq ($$($1_SPLIT_INDEX), ) + $1_OPTIONS += -splitIndex + endif + + ifneq ($$($DOCROOTPARENT_FLAG), ) + $1_OPTIONS += -Xdocrootparent $(JAVADOC_BASE_URL) + endif + + $1_VARDEPS := $$($1_OPTIONS) $$($1_PACKAGES) + $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \ + $$(SUPPORT_OUTPUTDIR)/docs/$1.vardeps) $1_PACKAGE_DEPS := $$(call CacheFind, $$(wildcard $$(foreach p, \ $$(subst .,/,$$(strip $$($1_PACKAGES))), \ $$(addsuffix /$$p, $$(wildcard $$(JAVADOC_SOURCE_DIRS)))))) + # If there are many packages, use an @-file... + ifneq ($$(word 17, $$($1_PACKAGES)), ) + $1_PACKAGES_FILE := $$(SUPPORT_OUTPUTDIR)/docs/$1.packages + $1_PACKAGES_ARG := @$$($1_PACKAGES_FILE) + else + $1_PACKAGES_ARG := $$($1_PACKAGES) + endif + + # The index.html which is a marker for all the output from javadoc. + $1_INDEX_FILE := $$(JAVADOC_OUTPUTDIR)/$$($1_OUTPUT_DIRNAME)/index.html + # Rule for actually running javadoc - $$($1_INDEX_FILE): $$($1_OPTIONS_FILE) $$($1_PACKAGES_FILE) \ - $$($1_PACKAGE_DEPS) $$($1_DEPS) - $$(call LogWarn, Generating Javadoc for $$($1_OUTPUT_DIRNAME)) + $$($1_INDEX_FILE): $$($1_VARDEPS_FILE) $$($1_PACKAGE_DEPS) $$($1_DEPS) + $$(call LogWarn, Generating Javadoc from $$(words $$($1_PACKAGES)) package(s) for $$($1_OUTPUT_DIRNAME)) $$(call MakeDir, $$(@D)) - ifneq ($$(findstring $$(LOG_LEVEL), debug trace),) - $$(ECHO) "Contents of $$($1_OPTIONS_FILE):" `$$(CAT) $$($1_OPTIONS_FILE)` - $$(ECHO) "Contents of $$($1_PACKAGES_FILE):" `$$(CAT) $$($1_PACKAGES_FILE)` + ifneq ($$($1_PACKAGES_FILE), ) + $$(eval $$(call ListPathsSafely, $1_PACKAGES, $$($1_PACKAGES_FILE))) endif $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/docs/$1.javadoc, \ $$($1_JAVA) -Djava.awt.headless=true $(NEW_JAVADOC) -d $$(@D) \ - @$$($1_OPTIONS_FILE) @$$($1_PACKAGES_FILE)) - $$(TOUCH) $$($1_INDEX_FILE) + $$(DEFAULT_JAVADOC_TAGS) $$(DEFAULT_JAVADOC_OPTIONS) \ + --module-source-path $$(call PathList, $$(JAVADOC_SOURCE_DIRS)) \ + $$($1_OPTIONS) $$($1_PACKAGES_ARG)) # The output returned will be the index.html file $1 := $$($1_INDEX_FILE) @@ -367,250 +325,22 @@ ################################################################################ -CORE_PACKAGES := \ - java.applet \ - java.awt \ - java.awt.color \ - java.awt.datatransfer \ - java.awt.desktop \ - java.awt.dnd \ - java.awt.event \ - java.awt.font \ - java.awt.geom \ - java.awt.im \ - java.awt.im.spi \ - java.awt.image \ - java.awt.image.renderable \ - java.awt.print \ - java.beans \ - java.beans.beancontext \ - java.io \ - java.lang \ - java.lang.annotation \ - java.lang.instrument \ - java.lang.invoke \ - java.lang.management \ - java.lang.module \ - java.lang.ref \ - java.lang.reflect \ - java.math \ - java.net \ - java.net.http \ - java.net.spi \ - java.nio \ - java.nio.channels \ - java.nio.channels.spi \ - java.nio.charset \ - java.nio.charset.spi \ - java.nio.file \ - java.nio.file.attribute \ - java.nio.file.spi \ - java.rmi \ - java.rmi.activation \ - java.rmi.dgc \ - java.rmi.registry \ - java.rmi.server \ - java.security \ - java.security.acl \ - java.security.cert \ - java.security.interfaces \ - java.security.spec \ - java.sql \ - java.text \ - java.text.spi \ - java.time \ - java.time.chrono \ - java.time.format \ - java.time.temporal \ - java.time.zone \ - java.util \ - java.util.concurrent \ - java.util.concurrent.atomic \ - java.util.concurrent.locks \ - java.util.function \ - java.util.jar \ - java.util.logging \ - java.util.prefs \ - java.util.regex \ - java.util.spi \ - java.util.stream \ - java.util.zip \ - javax.accessibility \ - javax.activation \ - javax.activity \ - javax.annotation \ - javax.annotation.processing \ - javax.crypto \ - javax.crypto.interfaces \ - javax.crypto.spec \ - javax.imageio \ - javax.imageio.event \ - javax.imageio.metadata \ - javax.imageio.plugins.jpeg \ - javax.imageio.plugins.bmp \ - javax.imageio.plugins.tiff \ - javax.imageio.spi \ - javax.imageio.stream \ - javax.jws \ - javax.jws.soap \ - javax.lang.model \ - javax.lang.model.element \ - javax.lang.model.type \ - javax.lang.model.util \ - javax.management \ - javax.management.loading \ - javax.management.monitor \ - javax.management.relation \ - javax.management.openmbean \ - javax.management.timer \ - javax.management.modelmbean \ - javax.management.remote \ - javax.management.remote.rmi \ - javax.naming \ - javax.naming.directory \ - javax.naming.event \ - javax.naming.ldap \ - javax.naming.spi \ - javax.net \ - javax.net.ssl \ - javax.print \ - javax.print.attribute \ - javax.print.attribute.standard \ - javax.print.event \ - javax.rmi \ - javax.rmi.CORBA \ - javax.rmi.ssl \ - javax.script \ - javax.security.auth \ - javax.security.auth.callback \ - javax.security.auth.kerberos \ - javax.security.auth.login \ - javax.security.auth.spi \ - javax.security.auth.x500 \ - javax.security.cert \ - javax.security.sasl \ - javax.sound.sampled \ - javax.sound.sampled.spi \ - javax.sound.midi \ - javax.sound.midi.spi \ - javax.sql \ - javax.sql.rowset \ - javax.sql.rowset.serial \ - javax.sql.rowset.spi \ - javax.swing \ - javax.swing.border \ - javax.swing.colorchooser \ - javax.swing.filechooser \ - javax.swing.event \ - javax.swing.table \ - javax.swing.text \ - javax.swing.text.html \ - javax.swing.text.html.parser \ - javax.swing.text.rtf \ - javax.swing.tree \ - javax.swing.undo \ - javax.swing.plaf \ - javax.swing.plaf.basic \ - javax.swing.plaf.metal \ - javax.swing.plaf.multi \ - javax.swing.plaf.nimbus \ - javax.swing.plaf.synth \ - javax.tools \ - javax.transaction \ - javax.transaction.xa \ - javax.xml.catalog \ - javax.xml.parsers \ - javax.xml.bind \ - javax.xml.bind.annotation \ - javax.xml.bind.annotation.adapters \ - javax.xml.bind.attachment \ - javax.xml.bind.helpers \ - javax.xml.bind.util \ - javax.xml.soap \ - javax.xml.ws \ - javax.xml.ws.handler \ - javax.xml.ws.handler.soap \ - javax.xml.ws.http \ - javax.xml.ws.soap \ - javax.xml.ws.spi \ - javax.xml.ws.spi.http \ - javax.xml.ws.wsaddressing \ - javax.xml.transform \ - javax.xml.transform.sax \ - javax.xml.transform.dom \ - javax.xml.transform.stax \ - javax.xml.transform.stream \ - javax.xml \ - javax.xml.crypto \ - javax.xml.crypto.dom \ - javax.xml.crypto.dsig \ - javax.xml.crypto.dsig.dom \ - javax.xml.crypto.dsig.keyinfo \ - javax.xml.crypto.dsig.spec \ - javax.xml.datatype \ - javax.xml.validation \ - javax.xml.namespace \ - javax.xml.xpath \ - javax.xml.stream \ - javax.xml.stream.events \ - javax.xml.stream.util \ - org.ietf.jgss \ - org.omg.CORBA \ - org.omg.CORBA.DynAnyPackage \ - org.omg.CORBA.ORBPackage \ - org.omg.CORBA.TypeCodePackage \ - org.omg.stub.java.rmi \ - org.omg.CORBA.portable \ - org.omg.CORBA_2_3 \ - org.omg.CORBA_2_3.portable \ - org.omg.CosNaming \ - org.omg.CosNaming.NamingContextExtPackage \ - org.omg.CosNaming.NamingContextPackage \ - org.omg.SendingContext \ - org.omg.PortableServer \ - org.omg.PortableServer.CurrentPackage \ - org.omg.PortableServer.POAPackage \ - org.omg.PortableServer.POAManagerPackage \ - org.omg.PortableServer.ServantLocatorPackage \ - org.omg.PortableServer.portable \ - org.omg.PortableInterceptor \ - org.omg.PortableInterceptor.ORBInitInfoPackage \ - org.omg.Messaging \ - org.omg.IOP \ - org.omg.IOP.CodecFactoryPackage \ - org.omg.IOP.CodecPackage \ - org.omg.Dynamic \ - org.omg.DynamicAny \ - org.omg.DynamicAny.DynAnyPackage \ - org.omg.DynamicAny.DynAnyFactoryPackage \ - org.w3c.dom \ - org.w3c.dom.events \ - org.w3c.dom.bootstrap \ - org.w3c.dom.ls \ - org.w3c.dom.ranges \ - org.w3c.dom.traversal \ - org.w3c.dom.views \ - org.xml.sax \ - org.xml.sax.ext \ - org.xml.sax.helpers - $(eval $(call SetupJavadocGeneration, coredocs, \ MODULES := java.se.ee, \ PACKAGES := $(CORE_PACKAGES), \ IS_CORE := TRUE, \ OVERVIEW := $(JDK_TOPDIR)/src/java.base/share/classes/overview-core.html, \ WINDOW_TITLE := Java Platform SE $(VERSION_SPECIFICATION), \ - HEADER_TITLE := Java$(TRADEMARK) Platform<br>Standard Ed. $(VERSION_SPECIFICATION), \ - DOC_TITLE := Java$(TRADEMARK) Platform$(COMMA) Standard Edition \ + HEADER_TITLE := Java™ Platform<br>Standard Ed. $(VERSION_SPECIFICATION), \ + DOC_TITLE := Java™ Platform$(COMMA) Standard Edition \ $(VERSION_SPECIFICATION)<br>API Specification, \ FIRST_COPYRIGHT_YEAR := 1993, \ - DOCLINT := reference, \ + DISABLED_DOCLINT := accessibility html missing syntax, \ DOCLINT_PACKAGES := -org.omg.* jdk.internal.logging.*, \ - ENCODING := ISO-8859-1, \ SPLIT_INDEX := TRUE, \ BOTTOM_COPYRIGHT_URL := $(CORE_BOTTOM_COPYRIGHT_URL), \ BOTTOM_TEXT := $(CORE_BOTTOM_TEXT), \ - EXTRA_TOP := $(CORE_TOP_EARLYACCESS), \ + EXTRA_TOP := $(EARLYACCESS_TOP), \ )) TARGETS += $(coredocs) @@ -623,14 +353,10 @@ jdk.javadoc.doclet \ jdk.javadoc.doclet.taglet \ jdk.javadoc.doclets, \ - PACKAGE_FILTER := jdk.javadoc.doclet*, \ API_ROOT := jdk, \ DEST_DIR := javadoc/doclet, \ TITLE := Doclet API, \ FIRST_COPYRIGHT_YEAR := 1993, \ - BREAKITERATOR := TRUE, \ - BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \ - BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \ )) TARGETS += $(docletapi) @@ -640,36 +366,23 @@ $(eval $(call SetupJavadocGeneration, old-docletapi, \ MODULES := jdk.javadoc, \ PACKAGES := com.sun.javadoc, \ - PACKAGE_FILTER := com.sun.javadoc, \ API_ROOT := jdk, \ DEST_DIR := javadoc/old/doclet, \ TITLE := Doclet API, \ FIRST_COPYRIGHT_YEAR := 1993, \ - BREAKITERATOR := TRUE, \ - BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \ - BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \ )) TARGETS += $(old-docletapi) ################################################################################ -# Specify a single class instead of a package -TAGLET_PACKAGE_SINGLE_CLASS := com/sun/tools/doclets/Taglet.java -TAGLET_PACKAGE_DIR := $(LANGTOOLS_TOPDIR)/src/jdk.javadoc/share/classes - $(eval $(call SetupJavadocGeneration, tagletapi, \ MODULES := jdk.javadoc, \ PACKAGES := com.sun.tools.doclets, \ - PACKAGES_SINGLE_CLASS := $(TAGLET_PACKAGE_DIR)/$(TAGLET_PACKAGE_SINGLE_CLASS), \ API_ROOT := jdk, \ DEST_DIR := javadoc/old/taglet, \ TITLE := Taglet API, \ FIRST_COPYRIGHT_YEAR := 1993, \ - BREAKITERATOR := TRUE, \ - NOINDEX := TRUE, \ - BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \ - BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \ )) TARGETS += $(tagletapi) @@ -691,15 +404,12 @@ org.w3c.dom.css \ org.w3c.dom.events \ org.w3c.dom.views, \ - PACKAGE_FILTER := org.w3c.dom*, \ API_ROOT := jre, \ DEST_DIR := plugin/dom, \ TITLE := Common DOM API, \ FIRST_COPYRIGHT_YEAR := 2005, \ - DOCLINT := none, \ + DISABLED_DOCLINT := accessibility html missing, \ SPLIT_INDEX := TRUE, \ - BOTTOM_ADDRESS := $(COMMON_BOTTOM_ADDRESS), \ - BOTTOM_TEXT := $(COMMON_BOTTOM_TEXT), \ )) TARGETS += $(domapi) @@ -717,9 +427,10 @@ API_ROOT := jdk, \ DEST_DIR := jpda/jdi, \ OVERVIEW := $(JDK_TOPDIR)/src/jdk.jdi/share/classes/jdi-overview.html, \ - TITLE := Java$(TRADEMARK) Debug Interface, \ + TITLE := Java™ Debug Interface, \ FIRST_COPYRIGHT_YEAR := 1999, \ - DOCLINT := none, \ + DISABLED_DOCLINT := accessibility missing syntax, \ + SPLIT_INDEX := TRUE, \ )) TARGETS += $(jdi) @@ -736,9 +447,9 @@ API_ROOT := jre, \ DEST_DIR := security/jaas/spec, \ OVERVIEW := $(JDK_TOPDIR)/src/jdk.security.auth/share/classes/jaas-overview.html, \ - TITLE := Java$(TRADEMARK) Authentication and Authorization Service, \ + TITLE := Java™ Authentication and Authorization Service, \ FIRST_COPYRIGHT_YEAR := 1998, \ - DOCLINT := none, \ + DISABLED_DOCLINT := missing, \ )) TARGETS += $(jaas) @@ -751,10 +462,8 @@ API_ROOT := jre, \ DEST_DIR := security/jgss/spec, \ OVERVIEW := $(JDK_TOPDIR)/src/java.security.jgss/share/classes/jgss-overview.html, \ - TITLE := Java$(TRADEMARK) GSS-API Utilities, \ + TITLE := Java™ GSS-API Utilities, \ FIRST_COPYRIGHT_YEAR := 2000, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ )) TARGETS += $(jgss) @@ -766,10 +475,8 @@ PACKAGES := javax.smartcardio, \ API_ROOT := jre, \ DEST_DIR := security/smartcardio/spec, \ - TITLE := Java$(TRADEMARK) Smart Card I/O, \ + TITLE := Java™ Smart Card I/O, \ FIRST_COPYRIGHT_YEAR := 2005, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ )) TARGETS += $(smartcardio) @@ -783,10 +490,9 @@ com.sun.net.httpserver.spi, \ API_ROOT := jre, \ DEST_DIR := net/httpserver/spec, \ - TITLE := Java$(TRADEMARK) HTTP Server, \ + TITLE := Java™ HTTP Server, \ FIRST_COPYRIGHT_YEAR := 2005, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ + DISABLED_DOCLINT := accessibility missing syntax, \ )) TARGETS += $(httpserver) @@ -799,9 +505,7 @@ API_ROOT := jre, \ DEST_DIR := plugin/jsobject, \ FIRST_COPYRIGHT_YEAR := 1993, \ - TITLE := Java$(TRADEMARK) JSObject Doc, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ + TITLE := Java™ JSObject Doc, \ )) TARGETS += $(jsobject) @@ -814,10 +518,9 @@ API_ROOT := jre, \ DEST_DIR := management/extension, \ OVERVIEW := $(JDK_TOPDIR)/src/java.management/share/classes/mgmt-overview.html, \ - TITLE := Monitoring and Management Interface for the Java$(TRADEMARK) Platform, \ + TITLE := Monitoring and Management Interface for the Java™ Platform, \ FIRST_COPYRIGHT_YEAR := 2003, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ + DISABLED_DOCLINT := accessibility missing reference, \ )) TARGETS += $(mgmt) @@ -833,8 +536,7 @@ DEST_DIR := attach/spec, \ TITLE := Attach API, \ FIRST_COPYRIGHT_YEAR := 2005, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ + DISABLED_DOCLINT := reference, \ )) TARGETS += $(attach) @@ -848,15 +550,12 @@ DEST_DIR := jconsole/spec, \ TITLE := JConsole API, \ FIRST_COPYRIGHT_YEAR := 2006, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ )) TARGETS += $(jconsole) ################################################################################ -# NOTE: Need to override RELATIVE_CORE_DIR to be bug compatible with old code. $(eval $(call SetupJavadocGeneration, jshellapi, \ MODULES := jdk.jshell, \ PACKAGES := \ @@ -865,10 +564,8 @@ jdk.jshell.execution, \ API_ROOT := jdk, \ DEST_DIR := jshell, \ - RELATIVE_CORE_DIR := ../../../.., \ OVERVIEW := $(LANGTOOLS_TOPDIR)/src/jdk.jshell/share/classes/jdk/jshell/overview.html, \ TITLE := JShell API, \ - HEADER_TITLE := JSHELL API, \ FIRST_COPYRIGHT_YEAR := 2015, \ )) @@ -882,11 +579,11 @@ com.sun.source.doctree \ com.sun.source.tree \ com.sun.source.util, \ - PACKAGE_FILTER := com.sun.source.*, \ API_ROOT := jdk, \ DEST_DIR := javac/tree, \ TITLE := Compiler Tree API, \ FIRST_COPYRIGHT_YEAR := 2005, \ + SPLIT_INDEX := TRUE, \ )) TARGETS += $(treeapi) @@ -898,11 +595,11 @@ PACKAGES := \ jdk.nashorn.api.scripting \ jdk.nashorn.api.tree, \ - PACKAGE_FILTER := jdk.nashorn.api.*, \ API_ROOT := jdk, \ DEST_DIR := nashorn, \ TITLE := Nashorn API, \ FIRST_COPYRIGHT_YEAR := 2014, \ + SPLIT_INDEX := TRUE, \ )) TARGETS += $(nashornapi) @@ -934,8 +631,6 @@ DEST_DIR := nio/sctp/spec, \ TITLE := SCTP API, \ FIRST_COPYRIGHT_YEAR := 2009, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ )) TARGETS += $(sctp) @@ -949,7 +644,6 @@ DEST_DIR := accessibility/jaccess/spec, \ TITLE := JACCESS API, \ FIRST_COPYRIGHT_YEAR := 2002, \ - NODEPRECATEDLIST := TRUE, \ )) TARGETS += $(jaccess) @@ -963,8 +657,7 @@ DEST_DIR := net/socketoptions/spec, \ TITLE := jdk.net API, \ FIRST_COPYRIGHT_YEAR := 2014, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ + DISABLED_DOCLINT := missing, \ )) TARGETS += $(jdknet) @@ -980,8 +673,7 @@ DEST_DIR := jlink, \ TITLE := JLink Plugin API - EXPERIMENTAL, \ FIRST_COPYRIGHT_YEAR := 2015, \ - DOCLINT := none, \ - NODEPRECATEDLIST := TRUE, \ + DISABLED_DOCLINT := html missing syntax, \ )) TARGETS += $(jlinkplugins) @@ -1014,19 +706,13 @@ ################################################################################ # Optional target which bundles all generated javadocs into a zip archive. -# The dependency on docs is handled in Main.gmk. - -# Add the core docs as prerequisite to the archive to trigger a rebuild -# if the core docs were rebuilt. Ideally any doc rebuild should trigger -# this, but the way prerequisites are currently setup in this file, that -# is hard to achieve. JAVADOC_ARCHIVE_NAME := jdk-$(VERSION_STRING)-docs.zip JAVADOC_ARCHIVE_ASSEMBLY_DIR := $(SUPPORT_OUTPUTDIR)/docs/zip-docs JAVADOC_ARCHIVE_DIR := $(OUTPUT_ROOT)/bundles JAVADOC_ARCHIVE := $(JAVADOC_ARCHIVE_DIR)/$(JAVADOC_ARCHIVE_NAME) -$(JAVADOC_ARCHIVE): $(CORE_INDEX_FILE) +$(JAVADOC_ARCHIVE): $(TARGETS) $(COPY_TARGETS) $(call LogInfo, Compressing javadoc to single $(JAVADOC_ARCHIVE_NAME)) $(MKDIR) -p $(JAVADOC_ARCHIVE_DIR) $(RM) -r $(JAVADOC_ARCHIVE_ASSEMBLY_DIR) @@ -1038,7 +724,7 @@ name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \ $(LN) -s $${target_dir} $${name}; \ done; \ - $(ZIP) -q -r $(JAVADOC_ARCHIVE) * ; \ + $(ZIPEXE) -q -r $(JAVADOC_ARCHIVE) * ; \ popd ; ZIP_TARGETS += $(JAVADOC_ARCHIVE)
--- a/make/Jprt.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/Jprt.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -71,11 +71,11 @@ # This target must be called in the context of a SPEC file $(JPRT_ARCHIVE_BUNDLE): product-images $(call MakeDir, $(@D)) - $(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIP) -y -q -r $@ . + $(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ . $(JPRT_ARCHIVE_TEST_BUNDLE): test-image $(call MakeDir, $(@D)) - $(CD) $(SRC_TEST_IMAGE_DIR) && $(ZIP) -y -q -r $@ . + $(CD) $(SRC_TEST_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ . ############################################################################## # Optional symbols bundle @@ -85,7 +85,7 @@ $(JPRT_ARCHIVE_SYMBOLS_BUNDLE): product-images $(call MakeDir, $(@D)) - $(CD) $(SYMBOLS_IMAGE_DIR) && $(ZIP) -y -q -r $@ . + $(CD) $(SYMBOLS_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ . endif
--- a/make/common/CORE_PKGS.gmk Wed Nov 23 19:15:01 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,305 +0,0 @@ -# -# Copyright (c) 2001, 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. -# - -# EXCLUDE_PKGS is the list of packages to exclude from the -# Java API Specification. Do not add these to CORE_PKGS. -# The concatenation of EXCLUDE_PKGS and CORE_PKGS -# should make up the list of all packages under the -# src/shared/classes directory of the JDK source tree. -# -EXCLUDE_PKGS = \ - java.awt.peer \ - java.awt.dnd.peer \ - sun.* \ - com.sun.* \ - org.apache.* \ - org.jcp.* \ - org.w3c.dom.css \ - org.w3c.dom.html \ - org.w3c.dom.stylesheets \ - org.omg.stub.javax.management.remote.rmi - -# -# ACTIVE_JSR_PKGS are packages that are part of an active JSR process-- -# one that is doing its own review. These packages are not included when -# creating diff pages for the platform's JCP process. -# -# (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs) -# Note: -# This is a list of regular expressions. So foo.* matches "foo" and "foo.bar". -# -ACTIVE_JSR_PKGS= \ - java.lang.invoke \ - java.sql \ - javax.activation \ - javax.annotation.* \ - javax.jws.* \ - javax.lang.* \ - javax.management.* \ - javax.script \ - javax.sql.* \ - javax.tools.* \ - javax.xml.* \ - org.w3c.* \ - org.xml.sax - -# -# CORE_PKGS is the list of packages that form the -# Java API Specification. -# -### ***IMPORTANT NOTE*** -### There is also a "REGEXP" variable in the docs/makefile that -### determines which table the packages go in on the main page. -### Currently, there is only table ("Platform Packages") and -### everything goes in it, so REGEXP is "*". But if that policy -### changes, packages added will need to be reflected in that -### list of wildcard expressions, as well. -### -CORE_PKGS = \ - java.applet \ - java.awt \ - java.awt.color \ - java.awt.datatransfer \ - java.awt.desktop \ - java.awt.dnd \ - java.awt.event \ - java.awt.font \ - java.awt.geom \ - java.awt.im \ - java.awt.im.spi \ - java.awt.image \ - java.awt.image.renderable \ - java.awt.print \ - java.beans \ - java.beans.beancontext \ - java.io \ - java.lang \ - java.lang.annotation \ - java.lang.instrument \ - java.lang.invoke \ - java.lang.management \ - java.lang.module \ - java.lang.ref \ - java.lang.reflect \ - java.math \ - java.net \ - java.net.http \ - java.net.spi \ - java.nio \ - java.nio.channels \ - java.nio.channels.spi \ - java.nio.charset \ - java.nio.charset.spi \ - java.nio.file \ - java.nio.file.attribute \ - java.nio.file.spi \ - java.rmi \ - java.rmi.activation \ - java.rmi.dgc \ - java.rmi.registry \ - java.rmi.server \ - java.security \ - java.security.acl \ - java.security.cert \ - java.security.interfaces \ - java.security.spec \ - java.sql \ - java.text \ - java.text.spi \ - java.time \ - java.time.chrono \ - java.time.format \ - java.time.temporal \ - java.time.zone \ - java.util \ - java.util.concurrent \ - java.util.concurrent.atomic \ - java.util.concurrent.locks \ - java.util.function \ - java.util.jar \ - java.util.logging \ - java.util.prefs \ - java.util.regex \ - java.util.spi \ - java.util.stream \ - java.util.zip \ - javax.accessibility \ - javax.activation \ - javax.activity \ - javax.annotation \ - javax.annotation.processing \ - javax.crypto \ - javax.crypto.interfaces \ - javax.crypto.spec \ - javax.imageio \ - javax.imageio.event \ - javax.imageio.metadata \ - javax.imageio.plugins.jpeg \ - javax.imageio.plugins.bmp \ - javax.imageio.plugins.tiff \ - javax.imageio.spi \ - javax.imageio.stream \ - javax.jws \ - javax.jws.soap \ - javax.lang.model \ - javax.lang.model.element \ - javax.lang.model.type \ - javax.lang.model.util \ - javax.management \ - javax.management.loading \ - javax.management.monitor \ - javax.management.relation \ - javax.management.openmbean \ - javax.management.timer \ - javax.management.modelmbean \ - javax.management.remote \ - javax.management.remote.rmi \ - javax.naming \ - javax.naming.directory \ - javax.naming.event \ - javax.naming.ldap \ - javax.naming.spi \ - javax.net \ - javax.net.ssl \ - javax.print \ - javax.print.attribute \ - javax.print.attribute.standard \ - javax.print.event \ - javax.rmi \ - javax.rmi.CORBA \ - javax.rmi.ssl \ - javax.script \ - javax.security.auth \ - javax.security.auth.callback \ - javax.security.auth.kerberos \ - javax.security.auth.login \ - javax.security.auth.spi \ - javax.security.auth.x500 \ - javax.security.cert \ - javax.security.sasl \ - javax.sound.sampled \ - javax.sound.sampled.spi \ - javax.sound.midi \ - javax.sound.midi.spi \ - javax.sql \ - javax.sql.rowset \ - javax.sql.rowset.serial \ - javax.sql.rowset.spi \ - javax.swing \ - javax.swing.border \ - javax.swing.colorchooser \ - javax.swing.filechooser \ - javax.swing.event \ - javax.swing.table \ - javax.swing.text \ - javax.swing.text.html \ - javax.swing.text.html.parser \ - javax.swing.text.rtf \ - javax.swing.tree \ - javax.swing.undo \ - javax.swing.plaf \ - javax.swing.plaf.basic \ - javax.swing.plaf.metal \ - javax.swing.plaf.multi \ - javax.swing.plaf.nimbus \ - javax.swing.plaf.synth \ - javax.tools \ - javax.transaction \ - javax.transaction.xa \ - javax.xml.catalog \ - javax.xml.parsers \ - javax.xml.bind \ - javax.xml.bind.annotation \ - javax.xml.bind.annotation.adapters \ - javax.xml.bind.attachment \ - javax.xml.bind.helpers \ - javax.xml.bind.util \ - javax.xml.soap \ - javax.xml.ws \ - javax.xml.ws.handler \ - javax.xml.ws.handler.soap \ - javax.xml.ws.http \ - javax.xml.ws.soap \ - javax.xml.ws.spi \ - javax.xml.ws.spi.http \ - javax.xml.ws.wsaddressing \ - javax.xml.transform \ - javax.xml.transform.sax \ - javax.xml.transform.dom \ - javax.xml.transform.stax \ - javax.xml.transform.stream \ - javax.xml \ - javax.xml.crypto \ - javax.xml.crypto.dom \ - javax.xml.crypto.dsig \ - javax.xml.crypto.dsig.dom \ - javax.xml.crypto.dsig.keyinfo \ - javax.xml.crypto.dsig.spec \ - javax.xml.datatype \ - javax.xml.validation \ - javax.xml.namespace \ - javax.xml.xpath \ - javax.xml.stream \ - javax.xml.stream.events \ - javax.xml.stream.util \ - org.ietf.jgss \ - org.omg.CORBA \ - org.omg.CORBA.DynAnyPackage \ - org.omg.CORBA.ORBPackage \ - org.omg.CORBA.TypeCodePackage \ - org.omg.stub.java.rmi \ - org.omg.CORBA.portable \ - org.omg.CORBA_2_3 \ - org.omg.CORBA_2_3.portable \ - org.omg.CosNaming \ - org.omg.CosNaming.NamingContextExtPackage \ - org.omg.CosNaming.NamingContextPackage \ - org.omg.SendingContext \ - org.omg.PortableServer \ - org.omg.PortableServer.CurrentPackage \ - org.omg.PortableServer.POAPackage \ - org.omg.PortableServer.POAManagerPackage \ - org.omg.PortableServer.ServantLocatorPackage \ - org.omg.PortableServer.portable \ - org.omg.PortableInterceptor \ - org.omg.PortableInterceptor.ORBInitInfoPackage \ - org.omg.Messaging \ - org.omg.IOP \ - org.omg.IOP.CodecFactoryPackage \ - org.omg.IOP.CodecPackage \ - org.omg.Dynamic \ - org.omg.DynamicAny \ - org.omg.DynamicAny.DynAnyPackage \ - org.omg.DynamicAny.DynAnyFactoryPackage \ - org.w3c.dom \ - org.w3c.dom.events \ - org.w3c.dom.bootstrap \ - org.w3c.dom.ls \ - org.w3c.dom.ranges \ - org.w3c.dom.traversal \ - org.w3c.dom.views \ - org.xml.sax \ - org.xml.sax.ext \ - org.xml.sax.helpers
--- a/make/common/JarArchive.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/common/JarArchive.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -264,7 +264,7 @@ $(CAT) $$($1_DELETES_FILE) > $$($1_DELETESS_FILE) $$(NEWLINE) \ if [ -s $$($1_DELETESS_FILE) ]; then \ $(ECHO) " deleting" `$(WC) -l $$($1_DELETESS_FILE) | $(AWK) '{ print $$$$1 }'` files && \ - $(ZIP) -q -d $$@ `$(CAT) $$($1_DELETESS_FILE)` ; \ + $(ZIPEXE) -q -d $$@ `$(CAT) $$($1_DELETESS_FILE)` ; \ fi $$(NEWLINE) \ $$($1_UPDATE_CONTENTS) true $$(NEWLINE) \ $$($1_JARINDEX) && true )
--- a/make/common/JavaCompilation.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/common/JavaCompilation.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -172,6 +172,7 @@ # KEEP_DUPS:=Do not remove duplicate file names from different source roots. # FAIL_NO_SRC:=Set to false to not fail the build if no source files are found, # default is true. +# DEBUG_SYMBOLS:=Set to false to disable generation of debug symbols. SetupJavaCompilation = $(NamedParamsMacroTemplate) define SetupJavaCompilationBody @@ -183,7 +184,11 @@ # Extract the info from the java compiler setup. $1_JVM := $$($$($1_SETUP)_JVM) $1_JAVAC := $$($$($1_SETUP)_JAVAC) - $1_FLAGS := $$($$($1_SETUP)_FLAGS) $$($1_ADD_JAVAC_FLAGS) $(JAVAC_FLAGS) + $1_FLAGS := + ifneq ($$($1_DEBUG_SYMBOLS), false) + $1_FLAGS := -g + endif + $1_FLAGS += $$($$($1_SETUP)_FLAGS) $$($1_ADD_JAVAC_FLAGS) $(JAVAC_FLAGS) ifneq ($$($1_CLASSPATH), ) $1_FLAGS += -cp $$(call PathList, $$($1_CLASSPATH)) endif
--- a/make/common/MakeBase.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/common/MakeBase.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -122,6 +122,10 @@ EscapeDollar = $(subst $$,\$$,$(subst \$$,$$,$(strip $1))) ################################################################################ +# This macro works just like EscapeDollar above, but for #. +EscapeHash = $(subst \#,\\\#,$(subst \\\#,\#,$(strip $1))) + +################################################################################ # This macro translates $ into $$ to protect the string from make itself. DoubleDollar = $(subst $$,$$$$,$(strip $1)) @@ -833,7 +837,7 @@ $(if $(findstring $(LOG_LEVEL), trace), \ $(info NewVariable $1: >$(strip $($1))<) \ $(info OldVariable $1: >$(strip $($1_old))<)) \ - $(call WriteFile, $1_old:=$(call DoubleDollar,$($1)), \ + $(call WriteFile, $1_old:=$(call DoubleDollar,$(call EscapeHash,$($1))), \ $(call DependOnVariableFileName, $1, $2))) \ $(call DependOnVariableFileName, $1, $2) \ )
--- a/make/common/NON_CORE_PKGS.gmk Wed Nov 23 19:15:01 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,132 +0,0 @@ -# -# Copyright (c) 2002, 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. -# - -# -# This file contains the package names of all the "non-core" -# API published in the Java 2 SDK documentation. "Non-core" means -# it includes all published API outside of the JDK API specification. -# -# These environment variables are used by javadoc in -# make/docs/Makefile and are referenced by the localization -# team when determining which APIs to extract javadoc -# comments from. - -DOMAPI_PKGS = org.w3c.dom \ - org.w3c.dom.bootstrap \ - org.w3c.dom.ls \ - org.w3c.dom.ranges \ - org.w3c.dom.traversal \ - org.w3c.dom.html \ - org.w3c.dom.stylesheets \ - org.w3c.dom.css \ - org.w3c.dom.events \ - org.w3c.dom.views - -JDI_PKGS = com.sun.jdi \ - com.sun.jdi.event \ - com.sun.jdi.request \ - com.sun.jdi.connect \ - com.sun.jdi.connect.spi - -MGMT_PKGS = com.sun.management - -JAAS_PKGS = com.sun.security.auth \ - com.sun.security.auth.callback \ - com.sun.security.auth.login \ - com.sun.security.auth.module - -JGSS_PKGS = com.sun.security.jgss - -OLD_JSSE_PKGS = com.sun.net.ssl - -HTTPSERVER_PKGS = com.sun.net.httpserver \ - com.sun.net.httpserver.spi - -NIO_PKGS = com.sun.nio.file - -OLD_DOCLETAPI_PKGS = com.sun.javadoc - -DOCLETAPI_PKGS = jdk.javadoc.doclet \ - jdk.javadoc.doclet.taglet \ - jdk.javadoc.doclets - -TAGLETAPI_FILE = com/sun/tools/doclets/Taglet.java - -TAGLETAPI_PKGS = com.sun.tools.doclets - -ATTACH_PKGS = com.sun.tools.attach \ - com.sun.tools.attach.spi - -JCONSOLE_PKGS = com.sun.tools.jconsole - -JSHELLAPI_PKGS = jdk.jshell \ - jdk.jshell.spi \ - jdk.jshell.execution - -TREEAPI_PKGS = com.sun.source.doctree \ - com.sun.source.tree \ - com.sun.source.util - -NASHORNAPI_PKGS = jdk.nashorn.api.scripting \ - jdk.nashorn.api.tree - -DYNALINKAPI_PKGS = jdk.dynalink \ - jdk.dynalink.beans \ - jdk.dynalink.linker \ - jdk.dynalink.linker.support \ - jdk.dynalink.support - -SMARTCARDIO_PKGS = javax.smartcardio - -SCTPAPI_PKGS = com.sun.nio.sctp - -ifeq ($(PLATFORM), macosx) - APPLE_EXT_PKGS = com.apple.eawt \ - com.apple.eawt.event \ - com.apple.eio -endif - -JDK_PKGS = jdk \ - jdk.net \ - jdk.management.cmm - -JACCESSAPI_PKGS = com.sun.java.accessibility.util - -JSOBJECT_PKGS = netscape.javascript - -# non-core packages in rt.jar -NON_CORE_PKGS = $(DOMAPI_PKGS) \ - $(JSOBJECT_PKGS) \ - $(MGMT_PKGS) \ - $(JAAS_PKGS) \ - $(JGSS_PKGS) \ - $(NIO_PKGS) \ - $(OLD_JSSE_PKGS) \ - $(HTTPSERVER_PKGS) \ - $(SMARTCARDIO_PKGS) \ - $(SCTPAPI_PKGS) \ - $(APPLE_EXT_PKGS) \ - $(JDK_PKGS) \ - $(JACCESSAPI_PKGS)
--- a/make/common/NativeCompilation.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/common/NativeCompilation.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -875,7 +875,7 @@ # to be rebuilt properly. $$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET) $(CD) $$($1_OUTPUT_DIR) && \ - $(ZIP) -q -r $$@ $$(subst $$($1_OUTPUT_DIR)/,, $$($1_DEBUGINFO_FILES)) + $(ZIPEXE) -q -r $$@ $$(subst $$($1_OUTPUT_DIR)/,, $$($1_DEBUGINFO_FILES)) endif endif # !STATIC_LIBRARY
--- a/make/common/ZipArchive.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/make/common/ZipArchive.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -107,7 +107,7 @@ $$($1_ZIP) : $$($1_ALL_SRCS) $$($1_EXTRA_DEPS) $(MKDIR) -p $$(@D) $(ECHO) Updating $$($1_NAME) - $$(foreach i,$$($1_SRC),(cd $$i && $(ZIP) -qru $$($1_ZIP_OPTIONS) $$@ . $$($1_ZIP_INCLUDES) \ + $$(foreach i,$$($1_SRC),(cd $$i && $(ZIPEXE) -qru $$($1_ZIP_OPTIONS) $$@ . $$($1_ZIP_INCLUDES) \ $$($1_ZIP_EXCLUDES) -x \*_the.\* \ $$(addprefix -x$(SPACE), $$(patsubst $$i/%,%, $$($1_EXCLUDE_FILES))) \ || test "$$$$?" = "12" )$$(NEWLINE)) true
--- a/test/make/TestMakeBase.gmk Wed Nov 23 19:15:01 2016 +0000 +++ b/test/make/TestMakeBase.gmk Wed Jul 05 22:29:32 2017 +0200 @@ -226,10 +226,11 @@ Wrong contents in vardeps file)) # Test with a variable value containing some problematic characters -VARDEP_TEST_VAR3 := foo '""' "''" bar \$$ORIGIN +VARDEP_TEST_VAR3 := foo '""' "''" bar \$$ORIGIN &\#x00a9 VARDEP_VALUE_FILE := $(call DependOnVariable, VARDEP_TEST_VAR3) -include $(VARDEP_VALUE_FILE) -$(eval $(call assert-equals, $(VARDEP_TEST_VAR3_old), $(VARDEP_TEST_VAR3), \ +$(eval $(call assert-equals, $(call EscapeHash,$(VARDEP_TEST_VAR3_old)), \ + $(call EscapeHash,$(VARDEP_TEST_VAR3)), \ Wrong contents in vardep file)) TEST_TARGETS += test-vardep