Mercurial > hg > release > icedtea8-forest-3.0
changeset 1269:44a10ae251ca icedtea-3.0.0pre03
Merge jdk8u40-b21
author | andrew |
---|---|
date | Fri, 27 Feb 2015 18:37:46 +0000 |
parents | 3546973d2051 (current diff) 765a17e75fd6 (diff) |
children | cca02965be30 |
files | .hgtags common/autoconf/boot-jdk.m4 common/autoconf/generated-configure.sh common/autoconf/spec.gmk.in |
diffstat | 16 files changed, 1166 insertions(+), 483 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Fri Aug 29 16:52:52 2014 +0100 +++ b/.hgtags Fri Feb 27 18:37:46 2015 +0000 @@ -315,3 +315,47 @@ 0dccc4aca1859b1ff7dca9db214f7f38c4ddbbce jdk8u20-b21 6c1fb59fa5d7095d93a023553a949f873f324c6b jdk8u20-b22 a81a301b0f8940a61f7d7bb0eefdea54035442cb icedtea-3.0.0pre02 +b14daf2459c5430dfe5d435483d6f424cff09584 jdk8u20-b23 +1710841b0229403f4af85eac8b68ea5065a26c81 jdk8u20-b24 +1710841b0229403f4af85eac8b68ea5065a26c81 jdk8u20-b25 +d1a7ea2c3e1091e0df1285963328a96f475f240d jdk8u20-b26 +97c6d6a8e5bb3dfc24b9a32711aa0906ea110e23 jdk8u25-b00 +c4cfb4376f5916c5d7eb1f39a0e23402de0d9818 jdk8u25-b01 +b4d29a751077e5500e766b8104dd1cb7148a550f jdk8u25-b02 +d3df54be114a5c41d4881b61cd42fbb0e52aaf4a jdk8u25-b03 +64e7567a8539078a678853a384340eee469168b0 jdk8u25-b04 +6de13ae93be20b97f53e3837739947d59fb4fd65 jdk8u25-b05 +69d17ee59c0e77033aca293501a642d0abc20c85 jdk8u25-b06 +561d066eaa6428088b4f7e273a8caed90e8f6073 jdk8u25-b07 +c2a5ad21d01c5d921c4e928edcb14cc3d61eb62b jdk8u25-b08 +1249614d7f1d9bf8443f0abd0622b4d2a3ab0638 jdk8u25-b09 +0c5d41165be3f4bb989bd84283c2df3e37b9845d jdk8u25-b10 +cc5ab3e0fe815ae80bb52fa5affcb35ee0f51cff jdk8u25-b11 +c35e73e4acd8ed03e77e8e20023bac115c7dfe38 jdk8u25-b12 +5d990a43c996ef039c6619e55215d589e09d1022 jdk8u25-b13 +4429ea47ee6eca6b8a1dbda1950566ee821ba19d jdk8u25-b14 +09eaef69f384ecf8ec0342b87a8b150740941140 jdk8u25-b15 +f0a48c214c46b7351ff8e6d6b6dc533463a4be21 jdk8u25-b16 +d117f01bfb4f34668ac216c9837e88acead14dce jdk8u25-b17 +efac90a2da447c2b2d43ee1b1e20c0828659f9c5 jdk8u25-b18 +0dccc4aca1859b1ff7dca9db214f7f38c4ddbbce jdk8u40-b00 +f8736a40a35df0c8055c8a94b96e5381b381ad33 jdk8u40-b01 +b6a148730f2b14193c308bc9c866c36ee6c08ed3 jdk8u40-b02 +a0224ac4135108efdbcf316c7c4b02f8a93c35fe jdk8u40-b03 +e9473185d77a9278e47fc916a255c4905aa74d98 jdk8u40-b04 +7e286a0c90fb26766b91e3a19467848f39d1f973 jdk8u40-b05 +8881a63f7f00a4a5611800db7715aecc8f6b3601 jdk8u40-b06 +cf9afcfcb7a41b892fc896c1dbf245d5dcc42395 jdk8u40-b07 +515a912fb5a9a61774fa2afa10f4472589be5602 jdk8u40-b08 +0958d0a9f44efcebe30b17b07240abaa42a2112b jdk8u40-b09 +1053aeab6b12d5cd4e063bf9ee37f20811450084 jdk8u40-b10 +2ffefbac794be27e0c60d7e5f2cb598f04ec2411 jdk8u40-b11 +3e6d3c8810ee495ba599443e29b0dc72c0dd53fd jdk8u40-b12 +43ccc2b9d5b7c06baca33162c6aff8900fa76b65 jdk8u40-b13 +df659b8b0bc82214358e2f0ef340612011d5ed3b jdk8u40-b14 +60d2bf063f7d8baa4e0954b6400aa6d30f9064f9 jdk8u40-b15 +64790e9792f88fadd9d25eaf4dcba7e6e96664de jdk8u40-b16 +e1c506c8e1db7356d120dd7d22b2c50276b6bcee jdk8u40-b17 +83d1d42c3df409c87ef7cb0126343a009857ca71 jdk8u40-b18 +ae4980d195b64eec58884b233d7efd312205bac8 jdk8u40-b19 +b31a07adaef50dacba20e376cff6f1096e745092 jdk8u40-b20
--- a/Makefile Fri Aug 29 16:52:52 2014 +0100 +++ b/Makefile Fri Feb 27 18:37:46 2015 +0000 @@ -66,7 +66,7 @@ # First, find out the valid targets # Run the makefile with an arbitrary SPEC using -p -q (quiet dry-run and dump rules) to find # available PHONY targets. Use this list as valid targets to pass on to the repeated calls. - all_phony_targets=$(filter-out $(global_targets) bundles bundles-only final-images-only, $(strip $(shell \ + all_phony_targets=$(filter-out $(global_targets), $(strip $(shell \ cd $(root_dir) && $(MAKE) -p -q FRC SPEC=$(firstword $(SPEC)) | \ grep ^.PHONY: | head -n 1 | cut -d " " -f 2-))) @@ -79,10 +79,6 @@ endif endif -# Include this after a potential spec file has been included so that the bundles target -# has access to the spec variables. -include $(root_dir)/make/Jprt.gmk - # Here are "global" targets, i.e. targets that can be executed without specifying a single configuration. # If you addd more global targets, please update the variable global_targets in MakeHelpers.
--- a/THIRD_PARTY_README Fri Aug 29 16:52:52 2014 +0100 +++ b/THIRD_PARTY_README Fri Feb 27 18:37:46 2015 +0000 @@ -2,7 +2,7 @@ ----------------------------- %% This notice is provided with respect to ASM Bytecode Manipulation -Framework v5.0, which may be included with JRE 8, and JDK 8, and +Framework v5.0.3, which may be included with JRE 8, and JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1471,7 +1471,7 @@ version 2.0. The NSS libraries are supplied in executable form, built from unmodified -NSS source code labeled with the "NSS_3.13.1_RTM" release tag. +NSS source code labeled with the "NSS_3_16_RTM" HG tag. The NSS source code is available in the OpenJDK source code repository at: jdk/test/sun/security/pkcs11/nss/src @@ -3349,14 +3349,14 @@ ------------------------------------------------------------------------------- -%% This notice is provided with respect to zlib v1.2.5, which may be included +%% This notice is provided with respect to zlib v1.2.8, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- - version 1.2.5, July 18th, 2005 - - Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler + version 1.2.8, April 28th, 2013 + + Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -3382,11 +3382,11 @@ ------------------------------------------------------------------------------- %% This notice is provided with respect to the following which may be -included with JRE 8, JDK 8, and OpenJDK 8, except where noted: - - Apache Commons Math 2.2 - Apache Derby 10.10.1.2 [included with JDK 8] - Apache Jakarta BCEL 5.2 +included with JRE 8, JDK 8, and OpenJDK 8. + + Apache Commons Math 3.2 + Apache Derby 10.11.1.2 + Apache Jakarta BCEL 5.1 Apache Jakarta Regexp 1.4 Apache Santuario XML Security for Java 1.5.4 Apache Xalan-Java 2.7.1
--- a/common/autoconf/boot-jdk.m4 Fri Aug 29 16:52:52 2014 +0100 +++ b/common/autoconf/boot-jdk.m4 Fri Feb 27 18:37:46 2015 +0000 @@ -321,35 +321,59 @@ [specify JVM arguments to be passed to all invocations of the Boot JDK, overriding the default values, e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])]) - if test "x$with_boot_jdk_jvmargs" = x; then - # Not all JVM:s accept the same arguments on the command line. - # OpenJDK specific increase in thread stack for JDK build, - # well more specifically, when running javac. - if test "x$BUILD_NUM_BITS" = x32; then - STACK_SIZE=768 - else - # Running Javac on a JVM on a 64-bit machine, the stack takes more space - # since 64-bit pointers are pushed on the stach. Apparently, we need - # to increase the stack space when javacing the JDK.... - STACK_SIZE=1536 - fi + AC_MSG_CHECKING([flags for boot jdk java command] ) + + # Disable special log output when a debug build is used as Boot JDK... + ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA]) + + # Apply user provided options. + ADD_JVM_ARG_IF_OK([$with_boot_jdk_jvmargs],boot_jdk_jvmargs,[$JAVA]) + + AC_MSG_RESULT([$boot_jdk_jvmargs]) + + # For now, general JAVA_FLAGS are the same as the boot jdk jvmargs + JAVA_FLAGS=$boot_jdk_jvmargs + AC_SUBST(JAVA_FLAGS) + + + AC_MSG_CHECKING([flags for boot jdk java command for big workloads]) + + # Starting amount of heap memory. + ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA]) - # Minimum amount of heap memory. - ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA]) - if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then - # Why does macosx need more heap? Its the huge JDK batch. - ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA]) - else - ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA]) - fi - # When is adding -client something that speeds up the JVM? - # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA]) - ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],boot_jdk_jvmargs,[$JAVA]) - ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],boot_jdk_jvmargs,[$JAVA]) - ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA]) - # Disable special log output when a debug build is used as Boot JDK... - ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA]) + # Maximum amount of heap memory. + # Maximum stack size. + if test "x$BUILD_NUM_BITS" = x32; then + JVM_MAX_HEAP=1100M + STACK_SIZE=768 + else + # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit + # pointers are used. Apparently, we need to increase the heap and stack + # space for the jvm. More specifically, when running javac to build huge + # jdk batch + JVM_MAX_HEAP=1600M + STACK_SIZE=1536 fi + ADD_JVM_ARG_IF_OK([-Xmx$JVM_MAX_HEAP],boot_jdk_jvmargs_big,[$JAVA]) + ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA]) + ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],boot_jdk_jvmargs_big,[$JAVA]) + ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],boot_jdk_jvmargs_big,[$JAVA]) - AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs) + AC_MSG_RESULT([$boot_jdk_jvmargs_big]) + + JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big + AC_SUBST(JAVA_FLAGS_BIG) + + + AC_MSG_CHECKING([flags for boot jdk java command for small workloads]) + + # Use serial gc for small short lived tools if possible + ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA]) + ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA]) + ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA]) + + AC_MSG_RESULT([$boot_jdk_jvmargs_small]) + + JAVA_FLAGS_SMALL=$boot_jdk_jvmargs_small + AC_SUBST(JAVA_FLAGS_SMALL) ])
--- a/common/autoconf/generated-configure.sh Fri Aug 29 16:52:52 2014 +0100 +++ b/common/autoconf/generated-configure.sh Fri Feb 27 18:37:46 2015 +0000 @@ -792,7 +792,9 @@ JAXP_TOPDIR CORBA_TOPDIR LANGTOOLS_TOPDIR -BOOT_JDK_JVMARGS +JAVA_FLAGS_SMALL +JAVA_FLAGS_BIG +JAVA_FLAGS JAVAC_FLAGS BOOT_JDK_SOURCETARGET ALT_JAR_CMD @@ -1031,6 +1033,7 @@ with_update_version with_user_release_suffix with_build_number +with_copyright_year with_boot_jdk with_alt_jar with_boot_jdk_jvmargs @@ -1789,6 +1792,7 @@ Add a custom string to the version string if build number isn't set.[username_builddateb00] --with-build-number Set build number value for build [b00] + --with-copyright-year Set copyright year value for build [current year] --with-boot-jdk path to Boot JDK (used to bootstrap build) [probed] --with-alt-jar=PATH specify the location of an alternate jar binary to use for building @@ -3896,7 +3900,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1400601642 +DATE_WHEN_GENERATED=1416326200 ############################################################################### # @@ -7954,7 +7958,7 @@ fi # Replace the commas with AND for use in the build directory name. - ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'` + ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/g'` COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/' -e 's/core,/1/'` if test "x$COUNT_VARIANTS" != "x,1"; then BUILDING_MULTIPLE_JVM_VARIANTS=yes @@ -11308,7 +11312,19 @@ - COPYRIGHT_YEAR=`date +'%Y'` + +# Check whether --with-copyright-year was given. +if test "${with_copyright_year+set}" = set; then : + withval=$with_copyright_year; +fi + + if test "x$with_copyright_year" = xyes; then + as_fn_error $? "Copyright year must have a value" "$LINENO" 5 + elif test "x$with_copyright_year" != x; then + COPYRIGHT_YEAR="$with_copyright_year" + else + COPYRIGHT_YEAR=`date +'%Y'` + fi if test "x$JDK_UPDATE_VERSION" != x; then @@ -16125,20 +16141,55 @@ fi - if test "x$with_boot_jdk_jvmargs" = x; then - # Not all JVM:s accept the same arguments on the command line. - # OpenJDK specific increase in thread stack for JDK build, - # well more specifically, when running javac. - if test "x$BUILD_NUM_BITS" = x32; then - STACK_SIZE=768 - else - # Running Javac on a JVM on a 64-bit machine, the stack takes more space - # since 64-bit pointers are pushed on the stach. Apparently, we need - # to increase the stack space when javacing the JDK.... - STACK_SIZE=1536 - fi - - # Minimum amount of heap memory. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command " >&5 +$as_echo_n "checking flags for boot jdk java command ... " >&6; } + + # Disable special log output when a debug build is used as Boot JDK... + + $ECHO "Check if jvm arg is ok: -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" >&5 + $ECHO "Command: $JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version" >&5 + OUTPUT=`$JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version 2>&1` + FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` + FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" + JVM_ARG_OK=true + else + $ECHO "Arg failed:" >&5 + $ECHO "$OUTPUT" >&5 + JVM_ARG_OK=false + fi + + + # Apply user provided options. + + $ECHO "Check if jvm arg is ok: $with_boot_jdk_jvmargs" >&5 + $ECHO "Command: $JAVA $with_boot_jdk_jvmargs -version" >&5 + OUTPUT=`$JAVA $with_boot_jdk_jvmargs -version 2>&1` + FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` + FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs="$boot_jdk_jvmargs $with_boot_jdk_jvmargs" + JVM_ARG_OK=true + else + $ECHO "Arg failed:" >&5 + $ECHO "$OUTPUT" >&5 + JVM_ARG_OK=false + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boot_jdk_jvmargs" >&5 +$as_echo "$boot_jdk_jvmargs" >&6; } + + # For now, general JAVA_FLAGS are the same as the boot jdk jvmargs + JAVA_FLAGS=$boot_jdk_jvmargs + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command for big workloads" >&5 +$as_echo_n "checking flags for boot jdk java command for big workloads... " >&6; } + + # Starting amount of heap memory. $ECHO "Check if jvm arg is ok: -Xms64M" >&5 $ECHO "Command: $JAVA -Xms64M -version" >&5 @@ -16146,7 +16197,7 @@ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -Xms64M" + boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -Xms64M" JVM_ARG_OK=true else $ECHO "Arg failed:" >&5 @@ -16154,16 +16205,28 @@ JVM_ARG_OK=false fi - if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then - # Why does macosx need more heap? Its the huge JDK batch. - - $ECHO "Check if jvm arg is ok: -Xmx1600M" >&5 - $ECHO "Command: $JAVA -Xmx1600M -version" >&5 - OUTPUT=`$JAVA -Xmx1600M -version 2>&1` + + # Maximum amount of heap memory. + # Maximum stack size. + if test "x$BUILD_NUM_BITS" = x32; then + JVM_MAX_HEAP=1100M + STACK_SIZE=768 + else + # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit + # pointers are used. Apparently, we need to increase the heap and stack + # space for the jvm. More specifically, when running javac to build huge + # jdk batch + JVM_MAX_HEAP=1600M + STACK_SIZE=1536 + fi + + $ECHO "Check if jvm arg is ok: -Xmx$JVM_MAX_HEAP" >&5 + $ECHO "Command: $JAVA -Xmx$JVM_MAX_HEAP -version" >&5 + OUTPUT=`$JAVA -Xmx$JVM_MAX_HEAP -version 2>&1` FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1600M" + boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -Xmx$JVM_MAX_HEAP" JVM_ARG_OK=true else $ECHO "Arg failed:" >&5 @@ -16171,15 +16234,14 @@ JVM_ARG_OK=false fi - else - - $ECHO "Check if jvm arg is ok: -Xmx1100M" >&5 - $ECHO "Command: $JAVA -Xmx1100M -version" >&5 - OUTPUT=`$JAVA -Xmx1100M -version 2>&1` + + $ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5 + $ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5 + OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1` FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1100M" + boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -XX:ThreadStackSize=$STACK_SIZE" JVM_ARG_OK=true else $ECHO "Arg failed:" >&5 @@ -16187,9 +16249,6 @@ JVM_ARG_OK=false fi - fi - # When is adding -client something that speeds up the JVM? - # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA]) $ECHO "Check if jvm arg is ok: -XX:PermSize=32m" >&5 $ECHO "Command: $JAVA -XX:PermSize=32m -version" >&5 @@ -16197,7 +16256,7 @@ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:PermSize=32m" + boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -XX:PermSize=32m" JVM_ARG_OK=true else $ECHO "Arg failed:" >&5 @@ -16212,7 +16271,7 @@ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:MaxPermSize=160m" + boot_jdk_jvmargs_big="$boot_jdk_jvmargs_big -XX:MaxPermSize=160m" JVM_ARG_OK=true else $ECHO "Arg failed:" >&5 @@ -16221,13 +16280,25 @@ fi - $ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5 - $ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5 - OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boot_jdk_jvmargs_big" >&5 +$as_echo "$boot_jdk_jvmargs_big" >&6; } + + JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command for small workloads" >&5 +$as_echo_n "checking flags for boot jdk java command for small workloads... " >&6; } + + # Use serial gc for small short lived tools if possible + + $ECHO "Check if jvm arg is ok: -XX:+UseSerialGC" >&5 + $ECHO "Command: $JAVA -XX:+UseSerialGC -version" >&5 + OUTPUT=`$JAVA -XX:+UseSerialGC -version 2>&1` FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:ThreadStackSize=$STACK_SIZE" + boot_jdk_jvmargs_small="$boot_jdk_jvmargs_small -XX:+UseSerialGC" JVM_ARG_OK=true else $ECHO "Arg failed:" >&5 @@ -16235,15 +16306,14 @@ JVM_ARG_OK=false fi - # Disable special log output when a debug build is used as Boot JDK... - - $ECHO "Check if jvm arg is ok: -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" >&5 - $ECHO "Command: $JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version" >&5 - OUTPUT=`$JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version 2>&1` + + $ECHO "Check if jvm arg is ok: -Xms32M" >&5 + $ECHO "Command: $JAVA -Xms32M -version" >&5 + OUTPUT=`$JAVA -Xms32M -version 2>&1` FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" + boot_jdk_jvmargs_small="$boot_jdk_jvmargs_small -Xms32M" JVM_ARG_OK=true else $ECHO "Arg failed:" >&5 @@ -16251,9 +16321,26 @@ JVM_ARG_OK=false fi - fi - - BOOT_JDK_JVMARGS=$boot_jdk_jvmargs + + $ECHO "Check if jvm arg is ok: -Xmx512M" >&5 + $ECHO "Command: $JAVA -Xmx512M -version" >&5 + OUTPUT=`$JAVA -Xmx512M -version 2>&1` + FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` + FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs_small="$boot_jdk_jvmargs_small -Xmx512M" + JVM_ARG_OK=true + else + $ECHO "Arg failed:" >&5 + $ECHO "$OUTPUT" >&5 + JVM_ARG_OK=false + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boot_jdk_jvmargs_small" >&5 +$as_echo "$boot_jdk_jvmargs_small" >&6; } + + JAVA_FLAGS_SMALL=$boot_jdk_jvmargs_small
--- a/common/autoconf/jdk-options.m4 Fri Aug 29 16:52:52 2014 +0100 +++ b/common/autoconf/jdk-options.m4 Fri Feb 27 18:37:46 2015 +0000 @@ -134,7 +134,7 @@ fi # Replace the commas with AND for use in the build directory name. - ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'` + ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/g'` COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/' -e 's/core,/1/'` if test "x$COUNT_VARIANTS" != "x,1"; then BUILDING_MULTIPLE_JVM_VARIANTS=yes @@ -510,7 +510,15 @@ AC_SUBST(MACOSX_BUNDLE_NAME_BASE) AC_SUBST(MACOSX_BUNDLE_ID_BASE) - COPYRIGHT_YEAR=`date +'%Y'` + AC_ARG_WITH(copyright-year, [AS_HELP_STRING([--with-copyright-year], + [Set copyright year value for build @<:@current year@:>@])]) + if test "x$with_copyright_year" = xyes; then + AC_MSG_ERROR([Copyright year must have a value]) + elif test "x$with_copyright_year" != x; then + COPYRIGHT_YEAR="$with_copyright_year" + else + COPYRIGHT_YEAR=`date +'%Y'` + fi AC_SUBST(COPYRIGHT_YEAR) if test "x$JDK_UPDATE_VERSION" != x; then
--- a/common/autoconf/spec.gmk.in Fri Aug 29 16:52:52 2014 +0100 +++ b/common/autoconf/spec.gmk.in Fri Feb 27 18:37:46 2015 +0000 @@ -249,7 +249,6 @@ # The boot jdk to use BOOT_JDK:=@BOOT_JDK@ -BOOT_JDK_JVMARGS:=@BOOT_JDK_JVMARGS@ BOOT_RTJAR:=@BOOT_RTJAR@ BOOT_TOOLSJAR=$(BOOT_JDK)/lib/tools.jar @@ -436,9 +435,12 @@ POST_STRIP_CMD:=@POST_STRIP_CMD@ POST_MCS_CMD:=@POST_MCS_CMD@ -JAVA_FLAGS:=@BOOT_JDK_JVMARGS@ +JAVA_FLAGS:=@JAVA_FLAGS@ +JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@ +JAVA_FLAGS_SMALL:=@JAVA_FLAGS_SMALL@ -JAVA=@FIXPATH@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS) +JAVA=@FIXPATH@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS) +JAVA_SMALL=@FIXPATH@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS) JAVAC=@FIXPATH@ $(BOOT_JDK)/bin/javac # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid @@ -455,7 +457,7 @@ RMIC=@FIXPATH@ $(BOOT_JDK)/bin/rmic -NATIVE2ASCII=@FIXPATH@ $(BOOT_JDK)/bin/native2ascii +NATIVE2ASCII=@FIXPATH@ $(BOOT_JDK)/bin/native2ascii $(addprefix -J, $(JAVA_FLAGS_SMALL)) JARSIGNER=@FIXPATH@ $(BOOT_JDK)/bin/jarsigner
--- a/common/bin/hgforest.sh Fri Aug 29 16:52:52 2014 +0100 +++ b/common/bin/hgforest.sh Fri Feb 27 18:37:46 2015 +0000 @@ -1,7 +1,6 @@ #!/bin/sh - # -# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -23,165 +22,375 @@ # questions. # -# Shell script for a fast parallel forest command -command="$1" -pull_extra_base="$2" +# Shell script for a fast parallel forest/trees command + +usage() { + echo "usage: $0 [-h|--help] [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] <command> [commands...]" > ${status_output} + echo "Environment variables which modify behaviour:" + echo " HGFOREST_QUIET : (boolean) If 'true' then standard output is redirected to /dev/null" + echo " HGFOREST_VERBOSE : (boolean) If 'true' then Mercurial asked to produce verbose output" + echo " HGFOREST_SEQUENTIAL : (boolean) If 'true' then repos are processed sequentially. Disables concurrency" + echo " HGFOREST_GLOBALOPTS : (string, must begin with space) Additional Mercurial global options" + echo " HGFOREST_REDIRECT : (file path) Redirect standard output to specified file" + echo " HGFOREST_FIFOS : (boolean) Default behaviour for FIFO detection. Does not override FIFOs disabled" + echo " HGFOREST_CONCURRENCY: (positive integer) Number of repos to process concurrently" + echo " HGFOREST_DEBUG : (boolean) If 'true' then temp files are retained" + exit 1 +} + +global_opts="${HGFOREST_GLOBALOPTS:-}" +status_output="${HGFOREST_REDIRECT:-/dev/stdout}" +qflag="${HGFOREST_QUIET:-false}" +vflag="${HGFOREST_VERBOSE:-false}" +sflag="${HGFOREST_SEQUENTIAL:-false}" +while [ $# -gt 0 ] +do + case $1 in + -h | --help ) + usage + ;; + + -q | --quiet ) + qflag="true" + ;; + + -v | --verbose ) + vflag="true" + ;; -if [ "" = "$command" ] ; then - echo No command to hg supplied! - exit 1 + -s | --sequential ) + sflag="true" + ;; + + '--' ) # no more options + shift; break + ;; + + -*) # bad option + usage + ;; + + * ) # non option + break + ;; + esac + shift +done + +# silence standard output? +if [ ${qflag} = "true" ] ; then + global_opts="${global_opts} -q" + status_output="/dev/null" fi +# verbose output? +if [ ${vflag} = "true" ] ; then + global_opts="${global_opts} -v" +fi + +# Make sure we have a command. +if [ $# -lt 1 -o -z "${1:-}" ] ; then + echo "ERROR: No command to hg supplied!" + usage +fi + +command="$1"; shift +command_args="${@:-}" + # Clean out the temporary directory that stores the pid files. tmp=/tmp/forest.$$ rm -f -r ${tmp} mkdir -p ${tmp} + +if [ "${HGFOREST_DEBUG:-false}" = "true" ] ; then + echo "DEBUG: temp files are in: ${tmp}" +fi + +# Check if we can use fifos for monitoring sub-process completion. +echo "1" > ${tmp}/read +while_subshell=1 +while read line; do + while_subshell=0 + break; +done < ${tmp}/read +rm ${tmp}/read + +on_windows=`uname -s | egrep -ic -e 'cygwin|msys'` + +if [ ${while_subshell} = "1" -o ${on_windows} = "1" ]; then + # cygwin has (2014-04-18) broken (single writer only) FIFOs + # msys has (2014-04-18) no FIFOs. + # older shells create a sub-shell for redirect to while + have_fifos="false" +else + have_fifos="${HGFOREST_FIFOS:-true}" +fi + safe_interrupt () { if [ -d ${tmp} ]; then if [ "`ls ${tmp}/*.pid`" != "" ]; then - echo "Waiting for processes ( `cat ${tmp}/*.pid | tr '\n' ' '`) to terminate nicely!" + echo "Waiting for processes ( `cat ${tmp}/.*.pid ${tmp}/*.pid 2> /dev/null | tr '\n' ' '`) to terminate nicely!" > ${status_output} sleep 1 # Pipe stderr to dev/null to silence kill, that complains when trying to kill # a subprocess that has already exited. kill -TERM `cat ${tmp}/*.pid | tr '\n' ' '` 2> /dev/null wait - echo Interrupt complete! + echo "Interrupt complete!" > ${status_output} fi + rm -f -r ${tmp} fi - rm -f -r ${tmp} - exit 1 + exit 130 } nice_exit () { if [ -d ${tmp} ]; then - if [ "`ls ${tmp}`" != "" ]; then + if [ "`ls -A ${tmp} 2> /dev/null`" != "" ]; then wait fi + if [ "${HGFOREST_DEBUG:-false}" != "true" ] ; then + rm -f -r ${tmp} + fi fi - rm -f -r ${tmp} } trap 'safe_interrupt' INT QUIT trap 'nice_exit' EXIT +subrepos="corba jaxp jaxws langtools jdk hotspot nashorn" +subrepos_extra="jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs" + # Only look in specific locations for possible forests (avoids long searches) pull_default="" repos="" repos_extra="" -if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then - subrepos="corba jaxp jaxws langtools jdk hotspot nashorn" - if [ -f .hg/hgrc ] ; then - pull_default=`hg paths default` - if [ "${pull_default}" = "" ] ; then - echo "ERROR: Need initial clone with 'hg paths default' defined" - exit 1 - fi - fi - if [ "${pull_default}" = "" ] ; then - echo "ERROR: Need initial repository to use this script" +if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then + # we must be a clone + if [ ! -f .hg/hgrc ] ; then + echo "ERROR: Need initial repository to use this script" > ${status_output} exit 1 fi + + # the clone must know where it came from (have a default pull path). + pull_default=`hg paths default` + if [ "${pull_default}" = "" ] ; then + echo "ERROR: Need initial clone with 'hg paths default' defined" > ${status_output} + exit 1 + fi + + # determine which sub repos need to be cloned. for i in ${subrepos} ; do if [ ! -f ${i}/.hg/hgrc ] ; then repos="${repos} ${i}" fi done - if [ "${pull_extra_base}" != "" ] ; then - subrepos_extra="jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs" - pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'` - pull_extra="${pull_extra_base}/${pull_default_tail}" + + pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'` + + if [ -n "${command_args}" ] ; then + # if there is an "extra sources" path then reparent "extra" repos to that path + if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then + echo "ERROR: Need initial clone from non-local source" > ${status_output} + exit 1 + fi + pull_extra="${command_args}/${pull_default_tail}" + + # determine which extra subrepos need to be cloned. for i in ${subrepos_extra} ; do if [ ! -f ${i}/.hg/hgrc ] ; then repos_extra="${repos_extra} ${i}" fi done + else + if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then + # local source repo. Clone the "extra" subrepos that exist there. + for i in ${subrepos_extra} ; do + if [ -f ${pull_default}/${i}/.hg/hgrc -a ! -f ${i}/.hg/hgrc ] ; then + # sub-repo there in source but not here + repos_extra="${repos_extra} ${i}" + fi + done + fi fi - at_a_time=2 + # Any repos to deal with? if [ "${repos}" = "" -a "${repos_extra}" = "" ] ; then + echo "No repositories to process." > ${status_output} exit fi + + # Repos to process concurrently. Clone does better with low concurrency. + at_a_time="${HGFOREST_CONCURRENCY:-2}" else - hgdirs=`ls -d ./.hg ./*/.hg ./*/*/.hg ./*/*/*/.hg ./*/*/*/*/.hg 2>/dev/null` - # Derive repository names from the .hg directory locations - for i in ${hgdirs} ; do - repos="${repos} `echo ${i} | sed -e 's@/.hg$@@'`" + # Process command for all of the present repos + for i in . ${subrepos} ${subrepos_extra} ; do + if [ -d ${i}/.hg ] ; then + repos="${repos} ${i}" + fi done + + # Any repos to deal with? + if [ "${repos}" = "" ] ; then + echo "No repositories to process." > ${status_output} + exit + fi + + # any of the repos locked? + locked="" for i in ${repos} ; do if [ -h ${i}/.hg/store/lock -o -f ${i}/.hg/store/lock ] ; then locked="${i} ${locked}" fi done - at_a_time=8 - # Any repos to deal with? - if [ "${repos}" = "" ] ; then - echo "No repositories to process." - exit + if [ "${locked}" != "" ] ; then + echo "ERROR: These repositories are locked: ${locked}" > ${status_output} + exit 1 fi - if [ "${locked}" != "" ] ; then - echo "These repositories are locked: ${locked}" - exit - fi + + # Repos to process concurrently. + at_a_time="${HGFOREST_CONCURRENCY:-8}" fi # Echo out what repositories we do a command on. -echo "# Repositories: ${repos} ${repos_extra}" -echo +echo "# Repositories: ${repos} ${repos_extra}" > ${status_output} -# Run the supplied command on all repos in parallel. -n=0 -for i in ${repos} ${repos_extra} ; do - n=`expr ${n} '+' 1` - repopidfile=`echo ${i} | sed -e 's@./@@' -e 's@/@_@g'` - reponame=`echo ${i} | sed -e :a -e 's/^.\{1,20\}$/ &/;ta'` - pull_base="${pull_default}" - for j in $repos_extra ; do - if [ "$i" = "$j" ] ; then - pull_base="${pull_extra}" - fi - done +if [ "${command}" = "serve" ] ; then + # "serve" is run for all the repos as one command. ( ( - if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then - pull_newrepo="`echo ${pull_base}/${i} | sed -e 's@\([^:]/\)//*@\1@g'`" - echo hg clone ${pull_newrepo} ${i} - path="`dirname ${i}`" - if [ "${path}" != "." ] ; then - times=0 - while [ ! -d "${path}" ] ## nested repo, ensure containing dir exists - do - times=`expr ${times} '+' 1` - if [ `expr ${times} '%' 10` -eq 0 ] ; then - echo ${path} still not created, waiting... - fi - sleep 5 - done + cwd=`pwd` + serving=`basename ${cwd}` + ( + echo "[web]" + echo "description = ${serving}" + echo "allow_push = *" + echo "push_ssl = False" + + echo "[paths]" + for i in ${repos} ; do + if [ "${i}" != "." ] ; then + echo "/${serving}/${i} = ${i}" + else + echo "/${serving} = ${cwd}" + fi + done + ) > ${tmp}/serve.web-conf + + echo "serving root repo ${serving}" > ${status_output} + + echo "hg${global_opts} serve" > ${status_output} + (PYTHONUNBUFFERED=true hg${global_opts} serve -A ${status_output} -E ${status_output} --pid-file ${tmp}/serve.pid --web-conf ${tmp}/serve.web-conf; echo "$?" > ${tmp}/serve.pid.rc ) 2>&1 & + ) 2>&1 | sed -e "s@^@serve: @" > ${status_output} + ) & +else + # Run the supplied command on all repos in parallel. + + # n is the number of subprocess started or which might still be running. + n=0 + if [ ${have_fifos} = "true" ]; then + # if we have fifos use them to detect command completion. + mkfifo ${tmp}/fifo + exec 3<>${tmp}/fifo + fi + + # iterate over all of the subrepos. + for i in ${repos} ${repos_extra} ; do + n=`expr ${n} '+' 1` + repopidfile=`echo ${i} | sed -e 's@./@@' -e 's@/@_@g'` + reponame=`echo ${i} | sed -e :a -e 's/^.\{1,20\}$/ &/;ta'` + pull_base="${pull_default}" + + # regular repo or "extra" repo? + for j in ${repos_extra} ; do + if [ "${i}" = "${j}" ] ; then + # it's an "extra" + pull_base="${pull_extra}" + fi + done + + # remove trailing slash + pull_base="`echo ${pull_base} | sed -e 's@[/]*$@@'`" + + # execute the command on the subrepo + ( + ( + if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then + # some form of clone + clone_newrepo="${pull_base}/${i}" + parent_path="`dirname ${i}`" + if [ "${parent_path}" != "." ] ; then + times=0 + while [ ! -d "${parent_path}" ] ; do ## nested repo, ensure containing dir exists + if [ "${sflag}" = "true" ] ; then + # Missing parent is fatal during sequential operation. + echo "ERROR: Missing parent path: ${parent_path}" > ${status_output} + exit 1 + fi + times=`expr ${times} '+' 1` + if [ `expr ${times} '%' 10` -eq 0 ] ; then + echo "${parent_path} still not created, waiting..." > ${status_output} + fi + sleep 5 + done + fi + # run the clone command. + echo "hg${global_opts} clone ${clone_newrepo} ${i}" > ${status_output} + (PYTHONUNBUFFERED=true hg${global_opts} clone ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 & + else + # run the command. + echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output} + cd ${i} && (PYTHONUNBUFFERED=true hg${global_opts} ${command} ${command_args}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 & fi - (PYTHONUNBUFFERED=true hg clone ${pull_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc )& - else - echo "cd ${i} && hg $*" - cd ${i} && (PYTHONUNBUFFERED=true hg "$@"; echo "$?" > ${tmp}/${repopidfile}.pid.rc )& + + echo $! > ${tmp}/${repopidfile}.pid + ) 2>&1 | sed -e "s@^@${reponame}: @" > ${status_output} + # tell the fifo waiter that this subprocess is done. + if [ ${have_fifos} = "true" ]; then + echo "${i}" >&3 fi - echo $! > ${tmp}/${repopidfile}.pid - ) 2>&1 | sed -e "s@^@${reponame}: @") & + ) & - if [ `expr ${n} '%' ${at_a_time}` -eq 0 ] ; then - sleep 2 - echo Waiting 5 secs before spawning next background command. - sleep 3 - fi -done -# Wait for all hg commands to complete + if [ "${sflag}" = "true" ] ; then + # complete this task before starting another. + wait + else + if [ "${have_fifos}" = "true" ]; then + # check on count of running subprocesses and possibly wait for completion + if [ ${n} -ge ${at_a_time} ] ; then + # read will block until there are completed subprocesses + while read repo_done; do + n=`expr ${n} '-' 1` + if [ ${n} -lt ${at_a_time} ] ; then + # we should start more subprocesses + break; + fi + done <&3 + fi + else + # Compare completions to starts + completed="`(ls -a1 ${tmp}/*.pid.rc 2> /dev/null | wc -l) || echo 0`" + while [ `expr ${n} '-' ${completed}` -ge ${at_a_time} ] ; do + # sleep a short time to give time for something to complete + sleep 1 + completed="`(ls -a1 ${tmp}/*.pid.rc 2> /dev/null | wc -l) || echo 0`" + done + fi + fi + done +fi + +# Wait for all subprocesses to complete wait # Terminate with exit 0 only if all subprocesses were successful ec=0 if [ -d ${tmp} ]; then - for rc in ${tmp}/*.pid.rc ; do + rcfiles="`(ls -a ${tmp}/*.pid.rc 2> /dev/null) || echo ''`" + for rc in ${rcfiles} ; do exit_code=`cat ${rc} | tr -d ' \n\r'` if [ "${exit_code}" != "0" ] ; then - echo "WARNING: ${rc} exited abnormally." + repo="`echo ${rc} | sed -e 's@^'${tmp}'@@' -e 's@/*\([^/]*\)\.pid\.rc$@\1@' -e 's@_@/@g'`" + echo "WARNING: ${repo} exited abnormally (${exit_code})" > ${status_output} ec=1 fi done
--- a/get_source.sh Fri Aug 29 16:52:52 2014 +0100 +++ b/get_source.sh Fri Feb 27 18:37:46 2015 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -25,9 +25,76 @@ # questions. # -# Get clones of all nested repositories -sh ./common/bin/hgforest.sh clone "$@" || exit 1 +to_stderr() { + echo "$@" >&2 +} + +error() { + to_stderr "ERROR: $1" + exit ${2:-126} +} + +warning() { + to_stderr "WARNING: $1" +} + +version_field() { + # rev is typically omitted for minor and major releases + field=`echo ${1}.0 | cut -f ${2} -d .` + if expr 1 + $field >/dev/null 2> /dev/null; then + echo $field + else + echo -1 + fi +} + +# Version check + +# required +reqdmajor=1 +reqdminor=4 +reqdrev=0 + +# requested +rqstmajor=2 +rqstminor=6 +rqstrev=3 + + +# installed +hgwhere="`command -v hg`" +if [ "x$hgwhere" = "x" ]; then + error "Could not locate Mercurial command" +fi + +hgversion="`hg --version 2> /dev/null | sed -n -e 's@^Mercurial Distributed SCM (version \([^+]*\).*)\$@\1@p'`" +if [ "x${hgversion}" = "x" ] ; then + error "Could not determine Mercurial version of $hgwhere" +fi + +hgmajor="`version_field $hgversion 1`" +hgminor="`version_field $hgversion 2`" +hgrev="`version_field $hgversion 3`" + +if [ $hgmajor -eq -1 -o $hgminor -eq -1 -o $hgrev -eq -1 ] ; then + error "Could not determine Mercurial version of $hgwhere from \"$hgversion\"" +fi + + +# Require +if [ $hgmajor -lt $reqdmajor -o \( $hgmajor -eq $reqdmajor -a $hgminor -lt $reqdminor \) -o \( $hgmajor -eq $reqdmajor -a $hgminor -eq $reqdminor -a $hgrev -lt $reqdrev \) ] ; then + error "Mercurial version $reqdmajor.$reqdminor.$reqdrev or later is required. $hgwhere is version $hgversion" +fi + + +# Request +if [ $hgmajor -lt $rqstmajor -o \( $hgmajor -eq $rqstmajor -a $hgminor -lt $rqstminor \) -o \( $hgmajor -eq $rqstmajor -a $hgminor -eq $rqstminor -a $hgrev -lt $rqstrev \) ] ; then + warning "Mercurial version $rqstmajor.$rqstminor.$rqstrev or later is recommended. $hgwhere is version $hgversion" +fi + + +# Get clones of all absent nested repositories (harmless if already exist) +sh ./common/bin/hgforest.sh clone "$@" || exit $? # Update all existing repositories to the latest sources sh ./common/bin/hgforest.sh pull -u -
--- a/make/Javadoc.gmk Fri Aug 29 16:52:52 2014 +0100 +++ b/make/Javadoc.gmk Fri Feb 27 18:37:46 2015 +0000 @@ -70,6 +70,7 @@ SCTPAPI_FIRST_COPYRIGHT_YEAR = 2009 TRACING_FIRST_COPYRIGHT_YEAR = 2008 TREEAPI_FIRST_COPYRIGHT_YEAR = 2005 +NASHORNAPI_FIRST_COPYRIGHT_YEAR = 2014 JNLP_FIRST_COPYRIGHT_YEAR = 1998 PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007 JDKNET_FIRST_COPYRIGHT_YEAR = 2014 @@ -137,6 +138,7 @@ $(JDK_OUTPUTDIR)/gendocsrc_rmic \ $(JDK_TOPDIR)/src/solaris/classes \ $(JDK_TOPDIR)/src/windows/classes \ + $(NASHORN_TOPDIR)/src/ \ $(JDK_SHARE_SRC)/doc/stub # List of directories that actually exist @@ -311,6 +313,13 @@ ################################################################# # +# Load custom Javadoc rules, if present +# +-include $(CUSTOM_MAKE_DIR)/Javadoc.gmk + +################################################################# + +# # Default target is same as docs target, create core api and all others it can # @@ -1095,6 +1104,60 @@ ############################################################# # +# nashornapidocs +# + +ALL_OTHER_TARGETS += nashornapidocs + +NASHORNAPI_DOCDIR := $(JDK_API_DOCSDIR)/nashorn +NASHORNAPI2COREAPI := ../$(JDKJRE2COREAPI) +NASHORNAPI_DOCTITLE := Nashorn API +NASHORNAPI_WINDOWTITLE := Nashorn API +NASHORNAPI_HEADER := <strong>Nashorn API</strong> +NASHORNAPI_BOTTOM := $(call CommonBottom,$(NASHORNAPI_FIRST_COPYRIGHT_YEAR)) +NASHORNAPI_GROUPNAME := Packages +NASHORNAPI_REGEXP := jdk.nashorn.api.scripting.* + +# NASHORNAPI_PKGS is located in NON_CORE_PKGS.gmk + +NASHORNAPI_INDEX_HTML = $(NASHORNAPI_DOCDIR)/index.html +NASHORNAPI_OPTIONS_FILE = $(DOCSTMPDIR)/nashornapi.options +NASHORNAPI_PACKAGES_FILE = $(DOCSTMPDIR)/nashornapi.packages + +nashornapidocs: $(NASHORNAPI_INDEX_HTML) + +# Set relative location to core api document root +$(NASHORNAPI_INDEX_HTML): GET2DOCSDIR=$(NASHORNAPI2COREAPI)/.. + +# Run javadoc if the index file is out of date or missing +$(NASHORNAPI_INDEX_HTML): $(NASHORNAPI_OPTIONS_FILE) $(NASHORNAPI_PACKAGES_FILE) coredocs + $(prep-javadoc) + $(call JavadocSummary,$(NASHORNAPI_OPTIONS_FILE),$(NASHORNAPI_PACKAGES_FILE)) + $(JAVADOC_CMD) -d $(@D) \ + @$(NASHORNAPI_OPTIONS_FILE) @$(NASHORNAPI_PACKAGES_FILE) + +# Create file with javadoc options in it +$(NASHORNAPI_OPTIONS_FILE): + $(prep-target) + @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ + $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ + $(call OptionPair,-encoding,ascii) ; \ + $(call OptionPair,-doctitle,$(NASHORNAPI_DOCTITLE)) ; \ + $(call OptionPair,-windowtitle,$(NASHORNAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \ + $(call OptionPair,-header,$(NASHORNAPI_HEADER)$(DRAFT_HEADER)) ; \ + $(call OptionPair,-tag,$(TAG_JLS)) ; \ + $(call OptionPair,-bottom,$(NASHORNAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \ + $(call OptionTrip,-group,$(NASHORNAPI_GROUPNAME),$(NASHORNAPI_REGEXP)); \ + $(call OptionTrip,-linkoffline,$(NASHORNAPI2COREAPI),$(COREAPI_DOCSDIR)/); \ + ) >> $@ + +# Create a file with the package names in it +$(NASHORNAPI_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(NASHORNAPI_PKGS)) + $(prep-target) + $(call PackageFilter,$(NASHORNAPI_PKGS)) + +############################################################# +# # sctpdocs #
--- a/make/Jprt.gmk Fri Aug 29 16:52:52 2014 +0100 +++ b/make/Jprt.gmk Fri Feb 27 18:37:46 2015 +0000 @@ -23,152 +23,11 @@ # questions. # -# This file is included by the root NewerMakefile and contains targets -# and utilities needed by JPRT. - -# Utilities used in this Makefile. Most of this makefile executes without -# the context of a spec file from configure. -CAT=cat -CMP=cmp -CP=cp -ECHO=echo -MKDIR=mkdir -PRINTF=printf -PWD=pwd -# Insure we have a path that looks like it came from pwd -# (This is mostly for Windows sake and drive letters) -define UnixPath # path -$(shell (cd "$1" && $(PWD))) -endef - -BUILD_DIR_ROOT:=$(root_dir)/build - -ifdef OPENJDK - OPEN_BUILD=true -else - OPEN_BUILD := $(if $(or $(wildcard $(root_dir)/jdk/src/closed), \ - $(wildcard $(root_dir)/jdk/make/closed), \ - $(wildcard $(root_dir)/jdk/test/closed), \ - $(wildcard $(root_dir)/hotspot/src/closed), \ - $(wildcard $(root_dir)/hotspot/make/closed), \ - $(wildcard $(root_dir)/hotspot/test/closed)), \ - false,true) -endif - -HOTSPOT_AVAILABLE := $(if $(wildcard $(root_dir)/hotspot),true,false) - -########################################################################### -# To help in adoption of the new configure&&make build process, a bridge -# build will use the old settings to run configure and do the build. - -# Build with the configure bridge. After running configure, restart make -# to parse the new spec file. -BRIDGE_TARGETS := all -# Add bootcycle-images target if legacy variable is set. -ifeq ($(SKIP_BOOT_CYCLE),false) - BRIDGE_TARGETS += bootcycle-images -endif -bridgeBuild: bridge2configure - @cd $(root_dir) && $(MAKE) -f Makefile $(BRIDGE_TARGETS) - -# Bridge from old Makefile ALT settings to configure options -bridge2configure: $(BUILD_DIR_ROOT)/.bridge2configureOpts - bash ./configure $(strip $(shell $(CAT) $<)) - -# Create a file with configure options created from old Makefile mechanisms. -$(BUILD_DIR_ROOT)/.bridge2configureOpts: $(BUILD_DIR_ROOT)/.bridge2configureOptsLatest - $(RM) $@ - $(CP) $< $@ +# This file is contains targets utilities needed by JPRT. -# Use this file to only change when obvious things have changed -$(BUILD_DIR_ROOT)/.bridge2configureOptsLatest: FRC - $(RM) $@.tmp - $(MKDIR) -p $(BUILD_DIR_ROOT) - @$(ECHO) " --with-debug-level=$(if $(DEBUG_LEVEL),$(DEBUG_LEVEL),release) " >> $@.tmp - ifdef ARCH_DATA_MODEL - @$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp - endif - ifeq ($(ARCH_DATA_MODEL),32) - @$(ECHO) " --with-jvm-variants=client,server " >> $@.tmp - endif - ifdef ALT_PARALLEL_COMPILE_JOBS - @$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp - endif - ifdef ALT_BOOTDIR - @$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp - endif - ifdef ALT_CUPS_HEADERS_PATH - @$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp - endif - ifdef ALT_FREETYPE_HEADERS_PATH - @$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp - endif - ifdef ENABLE_SJAVAC - @$(ECHO) " --enable-sjavac" >> $@.tmp - endif - ifdef JDK_UPDATE_VERSION - @$(ECHO) " --with-update-version=$(JDK_UPDATE_VERSION)" >> $@.tmp - endif - ifeq ($(HOTSPOT_AVAILABLE),false) - ifdef ALT_JDK_IMPORT_PATH - @$(ECHO) " --with-import-hotspot=$(call UnixPath,$(ALT_JDK_IMPORT_PATH)) " >> $@.tmp - endif - endif - ifeq ($(OPEN_BUILD),true) - @$(ECHO) " --enable-openjdk-only " >> $@.tmp - else -# Todo: move to closed? - ifdef ALT_MOZILLA_HEADERS_PATH - @$(ECHO) " --with-mozilla-headers=$(call UnixPath,$(ALT_MOZILLA_HEADERS_PATH)) " >> $@.tmp - endif - ifdef ALT_JUNIT_DIR - @$(ECHO) " --with-junit-dir=$(call UnixPath,$(ALT_JUNIT_DIR)) " >> $@.tmp + ifdef ALT_BSDIFF_DIR + @$(ECHO) " --with-bsdiff-dir=$(call UnixPath,$(ALT_BSDIFF_DIR)) " >> $@.tmp endif - ifdef ANT_HOME - @$(ECHO) " --with-ant-home=$(call UnixPath,$(ANT_HOME)) " >> $@.tmp - endif - ifdef ALT_JAVAFX_ZIP_DIR - @$(ECHO) " --with-javafx-zip-dir=$(call UnixPath,$(ALT_JAVAFX_ZIP_DIR)) " >> $@.tmp - endif - ifdef ALT_JMC_ZIP_DIR - @$(ECHO) " --with-jmc-zip-dir=$(call UnixPath,$(ALT_JMC_ZIP_DIR)) " >> $@.tmp - endif - ifdef ALT_WIXDIR - @$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp - endif - ifdef ALT_INSTALL_LZMA_PATH - @$(ECHO) " --with-lzma-path=$(call UnixPath,$(ALT_INSTALL_LZMA_PATH)) " >> $@.tmp - endif - ifdef ALT_INSTALL_UPX_PATH - @$(ECHO) " --with-upx-path=$(call UnixPath,$(ALT_INSTALL_UPX_PATH)) " >> $@.tmp - endif - ifdef ALT_INSTALL_UPX_FILENAME - @$(ECHO) " --with-upx-filename=$(call UnixPath,$(ALT_INSTALL_UPX_FILENAME)) " >> $@.tmp - endif - ifdef ALT_CCSS_SIGNING_DIR - @$(ECHO) " --with-ccss-signing=$(call UnixPath,$(ALT_CCSS_SIGNING_DIR)) " >> $@.tmp - endif - ifdef ALT_SLASH_JAVA - @$(ECHO) " --with-java-devtools=$(call UnixPath,$(ALT_SLASH_JAVA)/devtools) " >> $@.tmp - endif - ifdef ALT_SPARKLE_FRAMEWORK_DIR - @$(ECHO) " --with-sparkle-framework=$(call UnixPath,$(ALT_SPARKLE_FRAMEWORK_DIR)) " >> $@.tmp - endif - endif - @if [ -f $@ ] ; then \ - if ! $(CMP) $@ $@.tmp > /dev/null ; then \ - $(CP) $@.tmp $@ ; \ - fi ; \ - else \ - $(CP) $@.tmp $@ ; \ - fi - $(RM) $@.tmp - -PHONY_LIST += bridge2configure bridgeBuild - -########################################################################### -# JPRT targets - ifndef JPRT_ARCHIVE_BUNDLE JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip endif @@ -176,22 +35,9 @@ JPRT_ARCHIVE_INSTALL_BUNDLE=/tmp/jprt_bundles/product-install.zip endif -# These targets execute in a SPEC free context, before calling bridgeBuild -# to generate the SPEC. -jprt_build_product: DEBUG_LEVEL=release -jprt_build_product: BUILD_DIRNAME=*-release -jprt_build_product: jprt_build_generic - -jprt_build_fastdebug: DEBUG_LEVEL=fastdebug -jprt_build_fastdebug: BUILD_DIRNAME=*-fastdebug -jprt_build_fastdebug: jprt_build_generic - -jprt_build_debug: DEBUG_LEVEL=slowdebug -jprt_build_debug: BUILD_DIRNAME=*-debug -jprt_build_debug: jprt_build_generic - -jprt_build_generic: BRIDGE_TARGETS+=jprt_bundle -jprt_build_generic: bridgeBuild +ifeq ($(SKIP_BOOT_CYCLE), false) + jprt_bundle: bootcycle-images +endif # This target must be called in the context of a SPEC file jprt_bundle: $(JPRT_ARCHIVE_BUNDLE) @@ -238,14 +84,6 @@ @$(call TargetExit) -# Keep track of phony targets -PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \ - jprt_build_generic bundles jprt_bundle \ - final-images final-images-only - ########################################################################### # Phony targets -.PHONY: $(PHONY_LIST) - -# Force target -FRC: +.PHONY: jprt_bundle bundles bundles-only final-images final-images-only
--- a/make/Main.gmk Fri Aug 29 16:52:52 2014 +0100 +++ b/make/Main.gmk Fri Feb 27 18:37:46 2015 +0000 @@ -242,4 +242,6 @@ .PHONY: clean-langtools clean-corba clean-jaxp clean-jaxws clean-hotspot clean-jdk clean-nashorn clean-images clean-docs clean-test clean-overlay-images clean-bootcycle-build .PHONY: profiles profiles-only profiles-oscheck +include $(root_dir)/make/Jprt.gmk + FRC: # Force target
--- a/make/MakeHelpers.gmk Fri Aug 29 16:52:52 2014 +0100 +++ b/make/MakeHelpers.gmk Fri Feb 27 18:37:46 2015 +0000 @@ -50,7 +50,7 @@ # Global targets are possible to run either with or without a SPEC. The prototypical # global target is "help". -global_targets=help jprt% bridgeBuild bridge2configure +global_targets=help ############################## # Functions
--- a/make/common/NON_CORE_PKGS.gmk Fri Aug 29 16:52:52 2014 +0100 +++ b/make/common/NON_CORE_PKGS.gmk Fri Feb 27 18:37:46 2015 +0000 @@ -83,6 +83,8 @@ com.sun.source.util \ jdk +NASHORNAPI_PKGS = jdk.nashorn.api.scripting + SMARTCARDIO_PKGS = javax.smartcardio SCTPAPI_PKGS = com.sun.nio.sctp @@ -95,7 +97,8 @@ endif JDK_PKGS = jdk \ - jdk.net + jdk.net \ + jdk.management.cmm # non-core packages in rt.jar NON_CORE_PKGS = $(DOMAPI_PKGS) \
--- a/make/jprt.properties Fri Aug 29 16:52:52 2014 +0100 +++ b/make/jprt.properties Fri Feb 27 18:37:46 2015 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -23,131 +23,467 @@ # questions. # -# Properties for jprt - -# Locked down to jdk8 -jprt.tools.default.release=jdk8 - -# Unix toolkit to use for building on windows -jprt.windows.jdk8.build.unix.toolkit=cygwin - -# The different build flavors we want, we override here so we just get these 2 -jprt.build.flavors=product,fastdebug - -# Standard list of jprt build targets for this source tree -jprt.build.targets= \ - solaris_sparcv9_5.10-{product|fastdebug}, \ - solaris_x64_5.10-{product|fastdebug}, \ - linux_i586_2.6-{product|fastdebug}, \ - linux_x64_2.6-{product|fastdebug}, \ - macosx_x64_10.7-{product|fastdebug}, \ - windows_i586_6.1-{product|fastdebug}, \ - windows_x64_6.1-{product|fastdebug} - -# User can select the test set with jprt submit "-testset name" option -jprt.my.test.set=${jprt.test.set} - -# Test target list (no fastdebug & limited c2 testing) -jprt.my.test.target.set= \ - solaris_sparcv9_5.10-product-c2-TESTNAME, \ - solaris_x64_5.10-product-c2-TESTNAME, \ - linux_i586_2.6-product-{c1|c2}-TESTNAME, \ - linux_x64_2.6-product-c2-TESTNAME, \ - macosx_x64_10.7-product-c2-TESTNAME, \ - windows_i586_6.1-product-c1-TESTNAME, \ - windows_x64_6.1-product-c2-TESTNAME - -# Default vm test targets (testset=default) -jprt.vm.default.test.targets= \ - ${jprt.my.test.target.set:TESTNAME=jvm98}, \ - ${jprt.my.test.target.set:TESTNAME=scimark} - -# Default jdk test targets (testset=default) -jprt.make.rule.default.test.targets= \ - ${jprt.my.test.target.set:TESTNAME=langtools_jtreg}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_lang}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_math}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_util} - - -# Default vm test targets (testset=core) -jprt.vm.core.test.targets= +############## +# +# Global settings +# -# Core jdk test targets (testset=core) -jprt.make.rule.core.test.targets= \ - ${jprt.my.test.target.set:TESTNAME=jdk_lang}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_math}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_util}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_io}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_net}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_nio}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_security1}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_security2}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_security3}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_rmi}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_text}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_time}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_other}, \ - ${jprt.my.test.target.set:TESTNAME=core_tools} - -# Svc vm test targets (testset=svc) -jprt.vm.svc.test.targets= - -# Core jdk test targets (testset=svc) -jprt.make.rule.svc.test.targets= \ - ${jprt.my.test.target.set:TESTNAME=jdk_management}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_instrument}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_jmx}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_jdi}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_jfr}, \ - ${jprt.my.test.target.set:TESTNAME=svc_tools} - -# All vm test targets (testset=all) -jprt.vm.all.test.targets= \ - ${jprt.vm.default.test.targets}, \ - ${jprt.my.test.target.set:TESTNAME=runThese}, \ - ${jprt.my.test.target.set:TESTNAME=jbb_default} +# The current release name +my.jdk.update.version=40 +jprt.tools.default.release=jdk8u${my.jdk.update.version} -# All jdk test targets (testset=all) -jprt.make.rule.all.test.targets= \ - ${jprt.make.rule.core.test.targets}, \ - ${jprt.make.rule.svc.test.targets}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_awt}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_beans1}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_beans2}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_beans3}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_sound}, \ - ${jprt.my.test.target.set:TESTNAME=jdk_swing} - -# PIT vm test targets (testset=pit) -jprt.vm.pit.test.targets= \ - ${jprt.vm.all.test.targets} +# Check if this is the equivalent of a hotspot push job +# Interpret -testset hotspot to mean exactly that +my.is.hotspot.job.hotspot=true +my.is.hotspot.job=${my.is.hotspot.job.${jprt.test.set}} -# PIT jdk test targets (testset=pit) -jprt.make.rule.pit.test.targets= \ - ${jprt.my.test.target.set:TESTNAME=langtools_jtreg}, \ - ${jprt.make.rule.core.test.targets}, \ - ${jprt.make.rule.svc.test.targets} - -# JCK test targets in test/Makefile (no windows) -jprt.my.jck.test.target.set= \ - solaris_sparcv9_5.10-product-c2-JCK7TESTRULE, \ - solaris_x64_5.10-product-c2-JCK7TESTRULE, \ - linux_i586_2.6-product-c1-JCK7TESTRULE, \ - linux_x64_2.6-product-c2-JCK7TESTRULE - -# JCK testset targets (e.g. jprt submit -testset jck ... ) -jprt.make.rule.jck.test.targets= \ - ${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7devtools}, \ - ${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7runtime}, \ - ${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7compiler} - -# Select list to use (allow for testset to be empty too) -jprt.make.rule..test.targets=${jprt.make.rule.default.test.targets} -jprt.make.rule.test.targets=${jprt.make.rule.${jprt.my.test.set}.test.targets} -jprt.vm..test.targets=${jprt.vm.default.test.targets} -jprt.test.targets=${jprt.vm.${jprt.my.test.set}.test.targets} +# Disable syncing the source after builds and tests are done +jprt.sync.push=${my.is.hotspot.job ? false : true} # Directories to be excluded from the source bundles jprt.bundle.exclude.src.dirs=build dist webrev +# Use configure when building +jprt.build.use.configure=true + +# Set make target to use for different build flavors +jprt.build.flavor.debugOpen.target=jprt_bundle +jprt.build.flavor.fastdebug.target=jprt_bundle +jprt.build.flavor.product.target=jprt_bundle +jprt.build.flavor.productOpen.target=jprt_bundle + +# Use these configure args to define debug level +jprt.debug.build.configure.args=--with-debug-level=slowdebug +jprt.fastdebug.build.configure.args=--with-debug-level=fastdebug +jprt.product.build.configure.args=--with-debug-level=release +jprt.debugOpen.build.configure.args=${jprt.debug.build.configure.args} --enable-openjdk-only +jprt.fastdebugOpen.build.configure.args=${jprt.fastdebug.build.configure.args} --enable-openjdk-only +jprt.productOpen.build.configure.args=${jprt.product.build.configure.args} --enable-openjdk-only + +# Select build flavors and build targets +jprt.build.flavors=${my.is.hotspot.job ? ${my.build.flavors.hotspot} : ${my.build.flavors.default}} +jprt.build.targets=${my.is.hotspot.job ? ${my.build.targets.hotspot} : ${my.build.targets.default}} + +# Select test targets - jprt default for jprt.test.set is "default" +jprt.test.targets=${my.test.targets.${jprt.test.set}} +jprt.make.rule.test.targets=${my.make.rule.test.targets.${jprt.test.set}} + +# 7155453: Work-around to prevent popups on OSX from blocking test completion +# but the work-around is added to all platforms to be consistent +jprt.jbb.options=-Djava.awt.headless=true + +######## +# +# Build options (generic) +# + +# Configure args common to all builds +# Also allows for additional, testset specific configure arguments to be set +jprt.build.configure.args= \ + --with-boot-jdk=$ALT_BOOTDIR \ + --with-jobs=$ALT_PARALLEL_COMPILE_JOBS \ + --with-update-version=${my.jdk.update.version} \ + ${my.additional.build.configure.args.${jprt.test.set}} + +# i586 is often cross-compiled from 64-bit machines, so need to set target bits explicitly +jprt.i586.build.configure.args= \ + --with-target-bits=32 + +# i586 platforms have both client and server, but to allow for overriding the exact configuration +# on a per-build flavor basis the value is set for the individual build flavors +# All other platforms only build server, which is the default setting from configure +my.i586.default.build.configure.args= \ + --with-jvm-variants=client,server +jprt.i586.debug.build.configure.args= \ + ${my.i586.default.build.configure.args} \ + ${jprt.debug.build.configure.args} +jprt.i586.fastdebug.build.configure.args= \ + ${my.i586.default.build.configure.args} \ + ${jprt.fastdebug.build.configure.args} +jprt.i586.product.build.configure.args= \ + ${my.i586.default.build.configure.args} \ + ${jprt.product.build.configure.args} +jprt.i586.debugOpen.build.configure.args= \ + ${my.i586.default.build.configure.args} \ + ${jprt.debugOpen.build.configure.args} +jprt.i586.fastdebugOpen.build.configure.args= \ + ${my.i586.default.build.configure.args} \ + ${jprt.fastdebugOpen.build.configure.args} +jprt.i586.productOpen.build.configure.args= \ + ${my.i586.default.build.configure.args} \ + ${jprt.productOpen.build.configure.args} + +######## +# +# Build targets and options (default/jdk) +# + +# The default build flavors +my.build.flavors.default=fastdebug,product + +# Standard list of jprt build targets for this source tree +my.build.targets.default= \ + solaris_sparcv9_5.10-{product|fastdebug}, \ + solaris_x64_5.10-{product|fastdebug}, \ + linux_i586_2.6-{product|fastdebug}, \ + linux_x64_2.6-{product|fastdebug}, \ + macosx_x64_10.7-{product|fastdebug}, \ + windows_i586_6.1-{product|fastdebug}, \ + windows_x64_6.1-{product|fastdebug} + +# Test target list (no fastdebug & limited c2 testing) +my.test.target.set= \ + solaris_sparcv9_5.10-product-c2-TESTNAME, \ + solaris_x64_5.10-product-c2-TESTNAME, \ + linux_i586_2.6-product-{c1|c2}-TESTNAME, \ + linux_x64_2.6-product-c2-TESTNAME, \ + macosx_x64_10.7-product-c2-TESTNAME, \ + windows_i586_6.1-product-c1-TESTNAME, \ + windows_x64_6.1-product-c2-TESTNAME + +# Default vm test targets (testset=default) +my.test.targets.default= \ + ${my.test.target.set:TESTNAME=jvm98}, \ + ${my.test.target.set:TESTNAME=scimark} + +# Default jdk test targets (testset=default) +my.make.rule.test.targets.default= \ + ${my.test.target.set:TESTNAME=langtools_jtreg}, \ + ${my.test.target.set:TESTNAME=jdk_lang}, \ + ${my.test.target.set:TESTNAME=jdk_math}, \ + ${my.test.target.set:TESTNAME=jdk_util} + +# Default vm test targets (testset=core) +my.test.targets.core= + +# Core jdk test targets (testset=core) +my.make.rule.test.targets.core= \ + ${my.test.target.set:TESTNAME=jdk_lang}, \ + ${my.test.target.set:TESTNAME=jdk_math}, \ + ${my.test.target.set:TESTNAME=jdk_util}, \ + ${my.test.target.set:TESTNAME=jdk_io}, \ + ${my.test.target.set:TESTNAME=jdk_net}, \ + ${my.test.target.set:TESTNAME=jdk_nio}, \ + ${my.test.target.set:TESTNAME=jdk_security1}, \ + ${my.test.target.set:TESTNAME=jdk_security2}, \ + ${my.test.target.set:TESTNAME=jdk_security3}, \ + ${my.test.target.set:TESTNAME=jdk_security4}, \ + ${my.test.target.set:TESTNAME=jdk_rmi}, \ + ${my.test.target.set:TESTNAME=jdk_text}, \ + ${my.test.target.set:TESTNAME=jdk_time}, \ + ${my.test.target.set:TESTNAME=jdk_other}, \ + ${my.test.target.set:TESTNAME=core_tools} + +# Svc vm test targets (testset=svc) +my.test.targets.svc= + +# Core jdk test targets (testset=svc) +my.make.rule.test.targets.svc= \ + ${my.test.target.set:TESTNAME=jdk_management}, \ + ${my.test.target.set:TESTNAME=jdk_instrument}, \ + ${my.test.target.set:TESTNAME=jdk_jmx}, \ + ${my.test.target.set:TESTNAME=jdk_jdi}, \ + ${my.test.target.set:TESTNAME=jdk_jfr}, \ + ${my.test.target.set:TESTNAME=jdk_rm}, \ + ${my.test.target.set:TESTNAME=svc_tools} + +# All vm test targets (testset=all) +my.test.targets.all= \ + ${my.test.targets.default}, \ + ${my.test.target.set:TESTNAME=runThese}, \ + ${my.test.target.set:TESTNAME=jbb_default} + +# All jdk test targets (testset=all) +my.make.rule.test.targets.all= \ + ${my.make.rule.test.targets.core}, \ + ${my.make.rule.test.targets.svc}, \ + ${my.test.target.set:TESTNAME=jdk_awt}, \ + ${my.test.target.set:TESTNAME=jdk_beans1}, \ + ${my.test.target.set:TESTNAME=jdk_beans2}, \ + ${my.test.target.set:TESTNAME=jdk_beans3}, \ + ${my.test.target.set:TESTNAME=jdk_sound}, \ + ${my.test.target.set:TESTNAME=jdk_swing} + +# PIT vm test targets (testset=pit) +my.test.targets.pit= \ + ${my.test.targets.all} + +# PIT jdk test targets (testset=pit) +my.make.rule.test.targets.pit= \ + ${my.test.target.set:TESTNAME=langtools_jtreg}, \ + ${my.make.rule.test.targets.core}, \ + ${my.make.rule.test.targets.svc} + +# JCK test targets in test/Makefile (no windows) +my.test.target.set.jck= \ + solaris_sparcv9_5.10-product-c2-JCK7TESTRULE, \ + solaris_x64_5.10-product-c2-JCK7TESTRULE, \ + linux_i586_2.6-product-c1-JCK7TESTRULE, \ + linux_x64_2.6-product-c2-JCK7TESTRULE + +# JCK testset targets +my.make.rule.test.targets.jck= \ + ${my.test.target.set.jck:JCK7TESTRULE=jck7devtools}, \ + ${my.test.target.set.jck:JCK7TESTRULE=jck7runtime}, \ + ${my.test.target.set.jck:JCK7TESTRULE=jck7compiler} + + +############# +# +# Hotspot related settings (testset=hotspot) +# + +# The hotspot build flavors +my.build.flavors.hotspot= \ + debugOpen,fastdebug,product,productOpen, \ + ${my.additional.build.flavors.hotspot} + +# Platforms built for hotspot push jobs +my.build.targets.hotspot= \ + solaris_sparcv9_5.10-{product|fastdebug|optimized}, \ + solaris_x64_5.10-{product|fastdebug}, \ + linux_i586_2.6-{product|fastdebug}, \ + linux_x64_2.6-{product|fastdebug|optimized}, \ + macosx_x64_10.7-{product|fastdebug}, \ + windows_i586_6.1-{product|fastdebug}, \ + windows_x64_6.1-{product|fastdebug|optimized}, \ + solaris_x64_5.10-{debugOpen}, \ + linux_x64_2.6-{productOpen}, \ + ${my.additional.build.targets.hotspot} + +# Tests to run on the various platforms for hotspot push jobs +my.test.targets.hotspot.solaris.sparcv9= \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-jvm98, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-jvm98_nontiered, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-scimark, \ + solaris_sparcv9_5.10-product-c2-runThese, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_SerialGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_ParallelGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_ParNewGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_CMS, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_G1, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_ParOldGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_SerialGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_ParallelGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_ParNewGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_CMS, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_G1, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_ParOldGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_default_nontiered, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_SerialGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_ParallelGC, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_CMS, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_G1, \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_ParOldGC + +my.test.targets.hotspot.solaris.x64= \ + solaris_x64_5.10-{product|fastdebug}-c2-jvm98, \ + solaris_x64_5.10-{product|fastdebug}-c2-jvm98_nontiered, \ + solaris_x64_5.10-{product|fastdebug}-c2-scimark, \ + solaris_x64_5.10-product-c2-runThese, \ + solaris_x64_5.10-product-c2-runThese_Xcomp, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_SerialGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_ParallelGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_ParNewGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_CMS, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_G1, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_ParOldGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCOld_SerialGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCOld_ParallelGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCOld_ParNewGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCOld_CMS, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCOld_G1, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCOld_ParOldGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-jbb_default_nontiered, \ + solaris_x64_5.10-{product|fastdebug}-c2-jbb_SerialGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-jbb_ParallelGC, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCOld_CMS, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCOld_G1, \ + solaris_x64_5.10-{product|fastdebug}-c2-GCOld_ParOldGC + +my.test.targets.hotspot.linux.i586= \ + linux_i586_2.6-{product|fastdebug}-{c1|c2}-jvm98, \ + linux_i586_2.6-{product|fastdebug}-c2-jvm98_nontiered, \ + linux_i586_2.6-{product|fastdebug}-{c1|c2}-scimark, \ + linux_i586_2.6-product-c1-runThese_Xcomp, \ + linux_i586_2.6-fastdebug-c1-runThese_Xshare, \ + linux_i586_2.6-fastdebug-c2-runThese_Xcomp, \ + linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \ + linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \ + linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \ + linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \ + linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_G1, \ + linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_ParOldGC, \ + linux_i586_2.6-product-{c1|c2}-GCOld_SerialGC, \ + linux_i586_2.6-product-{c1|c2}-GCOld_ParallelGC, \ + linux_i586_2.6-product-{c1|c2}-GCOld_ParNewGC, \ + linux_i586_2.6-product-{c1|c2}-GCOld_CMS, \ + linux_i586_2.6-product-{c1|c2}-GCOld_G1, \ + linux_i586_2.6-product-{c1|c2}-GCOld_ParOldGC, \ + linux_i586_2.6-{product|fastdebug}-c1-jbb_SerialGC, \ + linux_i586_2.6-{product|fastdebug}-c2-jbb_default_nontiered, \ + linux_i586_2.6-{product|fastdebug}-c1-jbb_ParallelGC, \ + linux_i586_2.6-{product|fastdebug}-c1-jbb_CMS, \ + linux_i586_2.6-{product|fastdebug}-c1-jbb_G1, \ + linux_i586_2.6-{product|fastdebug}-c1-jbb_ParOldGC + +my.test.targets.hotspot.linux.x64= \ + linux_x64_2.6-{product|fastdebug}-c2-jvm98, \ + linux_x64_2.6-{product|fastdebug}-c2-jvm98_nontiered, \ + linux_x64_2.6-{product|fastdebug}-c2-scimark, \ + linux_x64_2.6-{product|fastdebug}-c2-GCBasher_SerialGC, \ + linux_x64_2.6-{product|fastdebug}-c2-GCBasher_ParallelGC, \ + linux_x64_2.6-{product|fastdebug}-c2-GCBasher_ParNewGC, \ + linux_x64_2.6-{product|fastdebug}-c2-GCBasher_CMS, \ + linux_x64_2.6-{product|fastdebug}-c2-GCBasher_G1, \ + linux_x64_2.6-{product|fastdebug}-c2-GCBasher_ParOldGC, \ + linux_x64_2.6-{product|fastdebug}-c2-GCOld_SerialGC, \ + linux_x64_2.6-{product|fastdebug}-c2-GCOld_ParallelGC, \ + linux_x64_2.6-{product|fastdebug}-c2-GCOld_ParNewGC, \ + linux_x64_2.6-{product|fastdebug}-c2-GCOld_CMS, \ + linux_x64_2.6-{product|fastdebug}-c2-GCOld_G1, \ + linux_x64_2.6-{product|fastdebug}-c2-GCOld_ParOldGC, \ + linux_x64_2.6-{product|fastdebug}-c2-jbb_default_nontiered, \ + linux_x64_2.6-{product|fastdebug}-c2-jbb_ParallelGC, \ + linux_x64_2.6-{product|fastdebug}-c2-jbb_G1, \ + linux_x64_2.6-{product|fastdebug}-c2-jbb_ParOldGC + +my.test.targets.hotspot.macosx.x64= \ + macosx_x64_10.7-{product|fastdebug}-c2-jvm98, \ + macosx_x64_10.7-{product|fastdebug}-c2-jvm98_nontiered, \ + macosx_x64_10.7-{product|fastdebug}-c2-scimark, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_SerialGC, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_ParallelGC, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_ParNewGC, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_CMS, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_G1, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_ParOldGC, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCOld_SerialGC, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCOld_ParallelGC, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCOld_ParNewGC, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCOld_CMS, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCOld_G1, \ + macosx_x64_10.7-{product|fastdebug}-c2-GCOld_ParOldGC, \ + macosx_x64_10.7-{product|fastdebug}-c2-jbb_default_nontiered, \ + macosx_x64_10.7-{product|fastdebug}-c2-jbb_ParallelGC, \ + macosx_x64_10.7-{product|fastdebug}-c2-jbb_G1, \ + macosx_x64_10.7-{product|fastdebug}-c2-jbb_ParOldGC + +my.test.targets.hotspot.windows.i586= \ + windows_i586_6.1-{product|fastdebug}-{c1|c2}-jvm98, \ + windows_i586_6.1-{product|fastdebug}-c2-jvm98_nontiered, \ + windows_i586_6.1-{product|fastdebug}-{c1|c2}-scimark, \ + windows_i586_6.1-product-{c1|c2}-runThese, \ + windows_i586_6.1-product-{c1|c2}-runThese_Xcomp, \ + windows_i586_6.1-fastdebug-c1-runThese_Xshare, \ + windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \ + windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \ + windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \ + windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \ + windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_G1, \ + windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_ParOldGC, \ + windows_i586_6.1-product-{c1|c2}-GCOld_SerialGC, \ + windows_i586_6.1-product-{c1|c2}-GCOld_ParallelGC, \ + windows_i586_6.1-product-{c1|c2}-GCOld_ParNewGC, \ + windows_i586_6.1-product-{c1|c2}-GCOld_CMS, \ + windows_i586_6.1-product-{c1|c2}-GCOld_G1, \ + windows_i586_6.1-product-{c1|c2}-GCOld_ParOldGC, \ + windows_i586_6.1-{product|fastdebug}-{c1|c2}-jbb_default, \ + windows_i586_6.1-{product|fastdebug}-c2-jbb_default_nontiered, \ + windows_i586_6.1-product-{c1|c2}-jbb_ParallelGC, \ + windows_i586_6.1-product-{c1|c2}-jbb_CMS, \ + windows_i586_6.1-product-{c1|c2}-jbb_G1, \ + windows_i586_6.1-product-{c1|c2}-jbb_ParOldGC + +my.test.targets.hotspot.windows.x64= \ + windows_x64_6.1-{product|fastdebug}-c2-jvm98, \ + windows_x64_6.1-{product|fastdebug}-c2-jvm98_nontiered, \ + windows_x64_6.1-{product|fastdebug}-c2-scimark, \ + windows_x64_6.1-product-c2-runThese, \ + windows_x64_6.1-product-c2-runThese_Xcomp, \ + windows_x64_6.1-{product|fastdebug}-c2-GCBasher_SerialGC, \ + windows_x64_6.1-{product|fastdebug}-c2-GCBasher_ParallelGC, \ + windows_x64_6.1-{product|fastdebug}-c2-GCBasher_ParNewGC, \ + windows_x64_6.1-{product|fastdebug}-c2-GCBasher_CMS, \ + windows_x64_6.1-{product|fastdebug}-c2-GCBasher_G1, \ + windows_x64_6.1-{product|fastdebug}-c2-GCBasher_ParOldGC, \ + windows_x64_6.1-{product|fastdebug}-c2-GCOld_SerialGC, \ + windows_x64_6.1-{product|fastdebug}-c2-GCOld_ParallelGC, \ + windows_x64_6.1-{product|fastdebug}-c2-GCOld_ParNewGC, \ + windows_x64_6.1-{product|fastdebug}-c2-GCOld_CMS, \ + windows_x64_6.1-{product|fastdebug}-c2-GCOld_G1, \ + windows_x64_6.1-{product|fastdebug}-c2-GCOld_ParOldGC, \ + windows_x64_6.1-{product|fastdebug}-c2-jbb_default, \ + windows_x64_6.1-{product|fastdebug}-c2-jbb_default_nontiered, \ + windows_x64_6.1-product-c2-jbb_CMS, \ + windows_x64_6.1-product-c2-jbb_ParallelGC, \ + windows_x64_6.1-product-c2-jbb_G1, \ + windows_x64_6.1-product-c2-jbb_ParOldGC + +# Some basic "smoke" tests for OpenJDK builds +my.test.targets.hotspot.open= \ + solaris_x64_5.10-{productOpen|fastdebugOpen}-c2-jvm98, \ + linux_x64_2.6-{productOpen|fastdebugOpen}-c2-jvm98 + +# The complete list of test targets for jprt +my.test.targets.hotspot= \ + ${my.test.targets.hotspot.open}, \ + ${my.test.targets.hotspot.solaris.sparcv9}, \ + ${my.test.targets.hotspot.solaris.x64}, \ + ${my.test.targets.hotspot.linux.i586}, \ + ${my.test.targets.hotspot.linux.x64}, \ + ${my.test.targets.hotspot.macosx.x64}, \ + ${my.test.targets.hotspot.windows.i586}, \ + ${my.test.targets.hotspot.windows.x64}, \ + ${my.test.targets.hotspot.solaris.sparcv9}, \ + ${my.test.targets.hotspot.solaris.x64}, \ + ${my.test.targets.hotspot.linux.x64}, \ + ${my.test.targets.hotspot.windows.i586}, \ + ${my.test.targets.hotspot.windows.x64}, \ + ${my.additional.test.targets.hotspot} + + +# Make file based test targets + +my.make.rule.test.targets.hotspot.clienttests= \ + linux_i586_2.6-*-c1-hotspot_clienttest, \ + windows_i586_6.1-*-c1-hotspot_clienttest + +my.make.rule.test.targets.hotspot.servertests= \ + solaris_sparcv9_5.10-*-c2-hotspot_servertest, \ + solaris_x64_5.10-*-c2-hotspot_servertest, \ + linux_i586_2.6-*-c2-hotspot_servertest, \ + linux_x64_2.6-*-c2-hotspot_servertest, \ + macosx_x64_10.7-*-c2-hotspot_servertest, \ + windows_i586_6.1-*-c2-hotspot_servertest, \ + windows_x64_6.1-*-c2-hotspot_servertest + +my.make.rule.test.targets.hotspot.internalvmtests= \ + solaris_sparcv9_5.10-fastdebug-c2-hotspot_internalvmtests, \ + solaris_x64_5.10-fastdebug-c2-hotspot_internalvmtests, \ + linux_i586_2.6-fastdebug-c2-hotspot_internalvmtests, \ + linux_x64_2.6-fastdebug-c2-hotspot_internalvmtests, \ + macosx_x64_10.7-fastdebug-c2-hotspot_internalvmtests, \ + windows_i586_6.1-fastdebug-c2-hotspot_internalvmtests, \ + windows_x64_6.1-fastdebug-c2-hotspot_internalvmtests + +my.make.rule.test.targets.hotspot.reg.group= \ + solaris_sparcv9_5.10-{product|fastdebug}-c2-GROUP, \ + solaris_x64_5.10-{product|fastdebug}-c2-GROUP, \ + linux_i586_2.6-{product|fastdebug}-c2-GROUP, \ + linux_x64_2.6-{product|fastdebug}-c2-GROUP, \ + windows_i586_6.1-{product|fastdebug}-c2-GROUP, \ + windows_x64_6.1-{product|fastdebug}-c2-GROUP, \ + linux_i586_2.6-{product|fastdebug}-c1-GROUP, \ + windows_i586_6.1-{product|fastdebug}-c1-GROUP + +my.make.rule.test.targets.hotspot= \ + ${my.make.rule.test.targets.hotspot.clienttests}, \ + ${my.make.rule.test.targets.hotspot.servertests}, \ + ${my.make.rule.test.targets.hotspot.internalvmtests}, \ + ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_wbapitest}, \ + ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler}, \ + ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_gc}, \ + ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_runtime}, \ + ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_serviceability}, \ + ${my.additional.make.rule.test.targets.hotspot}
--- a/test/Makefile Fri Aug 29 16:52:52 2014 +0100 +++ b/test/Makefile Fri Feb 27 18:37:46 2015 +0000 @@ -33,6 +33,7 @@ # This makefile depends on the availability of sibling directories. LANGTOOLS_DIR=$(TOPDIR)/langtools JDK_DIR=$(TOPDIR)/jdk +HOTSPOT_DIR=$(TOPDIR)/hotspot # Macro to run a test target in a subdir define SUBDIR_TEST # subdirectory target @@ -62,6 +63,9 @@ jdk_% core_%s svc_%: @$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), TEST="$@" $@) +hotspot_%: + @$(NO_STOPPING)$(call SUBDIR_TEST, $(HOTSPOT_DIR), TEST="$@" $@) + ################################################################ # Phony targets (e.g. these are not filenames)