Merge

Fri, 24 Oct 2014 17:04:51 -0700

author
asaha
date
Fri, 24 Oct 2014 17:04:51 -0700
changeset 1344
a676d2d8af0d
parent 1343
27436b422886
parent 1243
d44f0c527426
child 1345
e6b1b800663d

Merge

.hgtags file | annotate | diff | comparison | revisions
     1.1 --- a/.hgtags	Mon Oct 20 23:00:27 2014 -0700
     1.2 +++ b/.hgtags	Fri Oct 24 17:04:51 2014 -0700
     1.3 @@ -342,4 +342,16 @@
     1.4  886ace09d0934d5410572764685f13119d523823 jdk8u31-b03
     1.5  e2d32fe85fb93ce5179c25f5bfd49750a85c9342 jdk8u31-b04
     1.6  97de4d73edf1435c9b87d765d2ad91bb16c8d913 jdk8u31-b05
     1.7 +0dccc4aca1859b1ff7dca9db214f7f38c4ddbbce jdk8u40-b00
     1.8 +f8736a40a35df0c8055c8a94b96e5381b381ad33 jdk8u40-b01
     1.9 +b6a148730f2b14193c308bc9c866c36ee6c08ed3 jdk8u40-b02
    1.10 +a0224ac4135108efdbcf316c7c4b02f8a93c35fe jdk8u40-b03
    1.11 +e9473185d77a9278e47fc916a255c4905aa74d98 jdk8u40-b04
    1.12 +7e286a0c90fb26766b91e3a19467848f39d1f973 jdk8u40-b05
    1.13 +8881a63f7f00a4a5611800db7715aecc8f6b3601 jdk8u40-b06
    1.14 +cf9afcfcb7a41b892fc896c1dbf245d5dcc42395 jdk8u40-b07
    1.15 +515a912fb5a9a61774fa2afa10f4472589be5602 jdk8u40-b08
    1.16 +0958d0a9f44efcebe30b17b07240abaa42a2112b jdk8u40-b09
    1.17 +1053aeab6b12d5cd4e063bf9ee37f20811450084 jdk8u40-b10
    1.18 +2ffefbac794be27e0c60d7e5f2cb598f04ec2411 jdk8u40-b11
    1.19  ec4bcc6e4dcf190a165106627ed3eef1e7d94d0c jdk8u45-b00
     2.1 --- a/Makefile	Mon Oct 20 23:00:27 2014 -0700
     2.2 +++ b/Makefile	Fri Oct 24 17:04:51 2014 -0700
     2.3 @@ -66,7 +66,7 @@
     2.4      # First, find out the valid targets
     2.5      # Run the makefile with an arbitrary SPEC using -p -q (quiet dry-run and dump rules) to find
     2.6      # available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
     2.7 -    all_phony_targets=$(filter-out $(global_targets) bundles bundles-only final-images-only, $(strip $(shell \
     2.8 +    all_phony_targets=$(filter-out $(global_targets), $(strip $(shell \
     2.9          cd $(root_dir) && $(MAKE) -p -q FRC SPEC=$(firstword $(SPEC)) | \
    2.10          grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
    2.11  
    2.12 @@ -79,10 +79,6 @@
    2.13    endif
    2.14  endif
    2.15  
    2.16 -# Include this after a potential spec file has been included so that the bundles target
    2.17 -# has access to the spec variables.
    2.18 -include $(root_dir)/make/Jprt.gmk
    2.19 -
    2.20  # Here are "global" targets, i.e. targets that can be executed without specifying a single configuration.
    2.21  # If you addd more global targets, please update the variable global_targets in MakeHelpers.
    2.22  
     3.1 --- a/common/autoconf/generated-configure.sh	Mon Oct 20 23:00:27 2014 -0700
     3.2 +++ b/common/autoconf/generated-configure.sh	Fri Oct 24 17:04:51 2014 -0700
     3.3 @@ -3868,7 +3868,7 @@
     3.4  #CUSTOM_AUTOCONF_INCLUDE
     3.5  
     3.6  # Do not change or remove the following line, it is needed for consistency checks:
     3.7 -DATE_WHEN_GENERATED=1410971760
     3.8 +DATE_WHEN_GENERATED=1411155242
     3.9  
    3.10  ###############################################################################
    3.11  #
    3.12 @@ -7926,7 +7926,7 @@
    3.13    fi
    3.14  
    3.15    # Replace the commas with AND for use in the build directory name.
    3.16 -  ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
    3.17 +  ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/g'`
    3.18    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/'`
    3.19    if test "x$COUNT_VARIANTS" != "x,1"; then
    3.20      BUILDING_MULTIPLE_JVM_VARIANTS=yes
     4.1 --- a/common/autoconf/jdk-options.m4	Mon Oct 20 23:00:27 2014 -0700
     4.2 +++ b/common/autoconf/jdk-options.m4	Fri Oct 24 17:04:51 2014 -0700
     4.3 @@ -134,7 +134,7 @@
     4.4    fi
     4.5  
     4.6    # Replace the commas with AND for use in the build directory name.
     4.7 -  ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
     4.8 +  ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/g'`
     4.9    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/'`
    4.10    if test "x$COUNT_VARIANTS" != "x,1"; then
    4.11      BUILDING_MULTIPLE_JVM_VARIANTS=yes
     5.1 --- a/common/bin/hgforest.sh	Mon Oct 20 23:00:27 2014 -0700
     5.2 +++ b/common/bin/hgforest.sh	Fri Oct 24 17:04:51 2014 -0700
     5.3 @@ -1,7 +1,6 @@
     5.4  #!/bin/sh
     5.5 -
     5.6  #
     5.7 -# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
     5.8 +# Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
     5.9  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    5.10  #
    5.11  # This code is free software; you can redistribute it and/or modify it
    5.12 @@ -23,165 +22,375 @@
    5.13  # questions.
    5.14  #
    5.15  
    5.16 -# Shell script for a fast parallel forest command
    5.17 -command="$1"
    5.18 -pull_extra_base="$2"
    5.19 +# Shell script for a fast parallel forest/trees command
    5.20  
    5.21 -if [ "" = "$command" ] ; then
    5.22 -  echo No command to hg supplied!
    5.23 -  exit 1
    5.24 +usage() {
    5.25 +      echo "usage: $0 [-h|--help] [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] <command> [commands...]" > ${status_output}
    5.26 +      echo "Environment variables which modify behaviour:"
    5.27 +      echo "   HGFOREST_QUIET      : (boolean) If 'true' then standard output is redirected to /dev/null"
    5.28 +      echo "   HGFOREST_VERBOSE    : (boolean) If 'true' then Mercurial asked to produce verbose output"
    5.29 +      echo "   HGFOREST_SEQUENTIAL : (boolean) If 'true' then repos are processed sequentially. Disables concurrency"
    5.30 +      echo "   HGFOREST_GLOBALOPTS : (string, must begin with space) Additional Mercurial global options"
    5.31 +      echo "   HGFOREST_REDIRECT   : (file path) Redirect standard output to specified file"
    5.32 +      echo "   HGFOREST_FIFOS      : (boolean) Default behaviour for FIFO detection. Does not override FIFOs disabled"
    5.33 +      echo "   HGFOREST_CONCURRENCY: (positive integer) Number of repos to process concurrently"
    5.34 +      echo "   HGFOREST_DEBUG      : (boolean) If 'true' then temp files are retained"
    5.35 +      exit 1
    5.36 +}
    5.37 +
    5.38 +global_opts="${HGFOREST_GLOBALOPTS:-}"
    5.39 +status_output="${HGFOREST_REDIRECT:-/dev/stdout}"
    5.40 +qflag="${HGFOREST_QUIET:-false}"
    5.41 +vflag="${HGFOREST_VERBOSE:-false}"
    5.42 +sflag="${HGFOREST_SEQUENTIAL:-false}"
    5.43 +while [ $# -gt 0 ]
    5.44 +do
    5.45 +  case $1 in
    5.46 +    -h | --help )
    5.47 +      usage
    5.48 +      ;;
    5.49 +
    5.50 +    -q | --quiet )
    5.51 +      qflag="true"
    5.52 +      ;;
    5.53 +
    5.54 +    -v | --verbose )
    5.55 +      vflag="true"
    5.56 +      ;;
    5.57 +
    5.58 +    -s | --sequential )
    5.59 +      sflag="true"
    5.60 +      ;;
    5.61 +
    5.62 +    '--' ) # no more options
    5.63 +      shift; break
    5.64 +      ;;
    5.65 +
    5.66 +    -*)  # bad option
    5.67 +      usage
    5.68 +      ;;
    5.69 +
    5.70 +     * )  # non option
    5.71 +      break
    5.72 +      ;;
    5.73 +  esac
    5.74 +  shift
    5.75 +done
    5.76 +
    5.77 +# silence standard output?
    5.78 +if [ ${qflag} = "true" ] ; then
    5.79 +  global_opts="${global_opts} -q"
    5.80 +  status_output="/dev/null"
    5.81  fi
    5.82  
    5.83 +# verbose output?
    5.84 +if [ ${vflag} = "true" ] ; then
    5.85 +  global_opts="${global_opts} -v"
    5.86 +fi
    5.87 +
    5.88 +# Make sure we have a command.
    5.89 +if [ $# -lt 1 -o -z "${1:-}" ] ; then
    5.90 +  echo "ERROR: No command to hg supplied!"
    5.91 +  usage
    5.92 +fi
    5.93 +
    5.94 +command="$1"; shift
    5.95 +command_args="${@:-}"
    5.96 +
    5.97  # Clean out the temporary directory that stores the pid files.
    5.98  tmp=/tmp/forest.$$
    5.99  rm -f -r ${tmp}
   5.100  mkdir -p ${tmp}
   5.101  
   5.102 +
   5.103 +if [ "${HGFOREST_DEBUG:-false}" = "true" ] ; then
   5.104 +  echo "DEBUG: temp files are in: ${tmp}"
   5.105 +fi
   5.106 +
   5.107 +# Check if we can use fifos for monitoring sub-process completion.
   5.108 +echo "1" > ${tmp}/read
   5.109 +while_subshell=1
   5.110 +while read line; do
   5.111 +  while_subshell=0
   5.112 +  break;
   5.113 +done < ${tmp}/read
   5.114 +rm ${tmp}/read
   5.115 +
   5.116 +on_windows=`uname -s | egrep -ic -e 'cygwin|msys'`
   5.117 +
   5.118 +if [ ${while_subshell} = "1" -o ${on_windows} = "1" ]; then
   5.119 +  # cygwin has (2014-04-18) broken (single writer only) FIFOs
   5.120 +  # msys has (2014-04-18) no FIFOs.
   5.121 +  # older shells create a sub-shell for redirect to while
   5.122 +  have_fifos="false"
   5.123 +else
   5.124 +  have_fifos="${HGFOREST_FIFOS:-true}"
   5.125 +fi
   5.126 +
   5.127  safe_interrupt () {
   5.128    if [ -d ${tmp} ]; then
   5.129      if [ "`ls ${tmp}/*.pid`" != "" ]; then
   5.130 -      echo "Waiting for processes ( `cat ${tmp}/*.pid | tr '\n' ' '`) to terminate nicely!"
   5.131 +      echo "Waiting for processes ( `cat ${tmp}/.*.pid ${tmp}/*.pid 2> /dev/null | tr '\n' ' '`) to terminate nicely!" > ${status_output}
   5.132        sleep 1
   5.133        # Pipe stderr to dev/null to silence kill, that complains when trying to kill
   5.134        # a subprocess that has already exited.
   5.135        kill -TERM `cat ${tmp}/*.pid | tr '\n' ' '` 2> /dev/null
   5.136        wait
   5.137 -      echo Interrupt complete!
   5.138 +      echo "Interrupt complete!" > ${status_output}
   5.139      fi
   5.140 +    rm -f -r ${tmp}
   5.141    fi
   5.142 -  rm -f -r ${tmp}
   5.143 -  exit 1
   5.144 +  exit 130
   5.145  }
   5.146  
   5.147  nice_exit () {
   5.148    if [ -d ${tmp} ]; then
   5.149 -    if [ "`ls ${tmp}`" != "" ]; then
   5.150 +    if [ "`ls -A ${tmp} 2> /dev/null`" != "" ]; then
   5.151        wait
   5.152      fi
   5.153 +    if [ "${HGFOREST_DEBUG:-false}" != "true" ] ; then
   5.154 +      rm -f -r ${tmp}
   5.155 +    fi
   5.156    fi
   5.157 -  rm -f -r ${tmp}
   5.158  }
   5.159  
   5.160  trap 'safe_interrupt' INT QUIT
   5.161  trap 'nice_exit' EXIT
   5.162  
   5.163 +subrepos="corba jaxp jaxws langtools jdk hotspot nashorn"
   5.164 +subrepos_extra="jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs"
   5.165 +
   5.166  # Only look in specific locations for possible forests (avoids long searches)
   5.167  pull_default=""
   5.168  repos=""
   5.169  repos_extra=""
   5.170 -if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then
   5.171 -  subrepos="corba jaxp jaxws langtools jdk hotspot nashorn"
   5.172 -  if [ -f .hg/hgrc ] ; then
   5.173 -    pull_default=`hg paths default`
   5.174 -    if [ "${pull_default}" = "" ] ; then
   5.175 -      echo "ERROR: Need initial clone with 'hg paths default' defined"
   5.176 -      exit 1
   5.177 -    fi
   5.178 -  fi
   5.179 -  if [ "${pull_default}" = "" ] ; then
   5.180 -    echo "ERROR: Need initial repository to use this script"
   5.181 +if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then
   5.182 +  # we must be a clone
   5.183 +  if [ ! -f .hg/hgrc ] ; then
   5.184 +    echo "ERROR: Need initial repository to use this script" > ${status_output}
   5.185      exit 1
   5.186    fi
   5.187 +
   5.188 +  # the clone must know where it came from (have a default pull path).
   5.189 +  pull_default=`hg paths default`
   5.190 +  if [ "${pull_default}" = "" ] ; then
   5.191 +    echo "ERROR: Need initial clone with 'hg paths default' defined" > ${status_output}
   5.192 +    exit 1
   5.193 +  fi
   5.194 +
   5.195 +  # determine which sub repos need to be cloned.
   5.196    for i in ${subrepos} ; do
   5.197      if [ ! -f ${i}/.hg/hgrc ] ; then
   5.198        repos="${repos} ${i}"
   5.199      fi
   5.200    done
   5.201 -  if [ "${pull_extra_base}" != "" ] ; then
   5.202 -    subrepos_extra="jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs"
   5.203 -    pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'`
   5.204 -    pull_extra="${pull_extra_base}/${pull_default_tail}"
   5.205 +
   5.206 +  pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'`
   5.207 +
   5.208 +  if [ -n "${command_args}" ] ; then
   5.209 +    # if there is an "extra sources" path then reparent "extra" repos to that path
   5.210 +    if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then
   5.211 +      echo "ERROR: Need initial clone from non-local source" > ${status_output}
   5.212 +      exit 1
   5.213 +    fi
   5.214 +    pull_extra="${command_args}/${pull_default_tail}"
   5.215 +
   5.216 +    # determine which extra subrepos need to be cloned.
   5.217      for i in ${subrepos_extra} ; do
   5.218        if [ ! -f ${i}/.hg/hgrc ] ; then
   5.219          repos_extra="${repos_extra} ${i}"
   5.220        fi
   5.221      done
   5.222 +  else
   5.223 +    if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then
   5.224 +      # local source repo. Clone the "extra" subrepos that exist there.
   5.225 +      for i in ${subrepos_extra} ; do
   5.226 +        if [ -f ${pull_default}/${i}/.hg/hgrc -a ! -f ${i}/.hg/hgrc ] ; then
   5.227 +          # sub-repo there in source but not here
   5.228 +          repos_extra="${repos_extra} ${i}"
   5.229 +        fi
   5.230 +      done
   5.231 +    fi
   5.232    fi
   5.233 -  at_a_time=2
   5.234 +
   5.235    # Any repos to deal with?
   5.236    if [ "${repos}" = "" -a "${repos_extra}" = "" ] ; then
   5.237 +    echo "No repositories to process." > ${status_output}
   5.238      exit
   5.239    fi
   5.240 +
   5.241 +  # Repos to process concurrently. Clone does better with low concurrency.
   5.242 +  at_a_time="${HGFOREST_CONCURRENCY:-2}"
   5.243  else
   5.244 -  hgdirs=`ls -d ./.hg ./*/.hg ./*/*/.hg ./*/*/*/.hg ./*/*/*/*/.hg 2>/dev/null`
   5.245 -  # Derive repository names from the .hg directory locations
   5.246 -  for i in ${hgdirs} ; do
   5.247 -    repos="${repos} `echo ${i} | sed -e 's@/.hg$@@'`"
   5.248 +  # Process command for all of the present repos
   5.249 +  for i in . ${subrepos} ${subrepos_extra} ; do
   5.250 +    if [ -d ${i}/.hg ] ; then
   5.251 +      repos="${repos} ${i}"
   5.252 +    fi
   5.253    done
   5.254 +
   5.255 +  # Any repos to deal with?
   5.256 +  if [ "${repos}" = "" ] ; then
   5.257 +    echo "No repositories to process." > ${status_output}
   5.258 +    exit
   5.259 +  fi
   5.260 +
   5.261 +  # any of the repos locked?
   5.262 +  locked=""
   5.263    for i in ${repos} ; do
   5.264      if [ -h ${i}/.hg/store/lock -o -f ${i}/.hg/store/lock ] ; then
   5.265        locked="${i} ${locked}"
   5.266      fi
   5.267    done
   5.268 -  at_a_time=8
   5.269 -  # Any repos to deal with?
   5.270 -  if [ "${repos}" = "" ] ; then
   5.271 -    echo "No repositories to process."
   5.272 -    exit
   5.273 +  if [ "${locked}" != "" ] ; then
   5.274 +    echo "ERROR: These repositories are locked: ${locked}" > ${status_output}
   5.275 +    exit 1
   5.276    fi
   5.277 -  if [ "${locked}" != "" ] ; then
   5.278 -    echo "These repositories are locked: ${locked}"
   5.279 -    exit
   5.280 -  fi
   5.281 +
   5.282 +  # Repos to process concurrently.
   5.283 +  at_a_time="${HGFOREST_CONCURRENCY:-8}"
   5.284  fi
   5.285  
   5.286  # Echo out what repositories we do a command on.
   5.287 -echo "# Repositories: ${repos} ${repos_extra}"
   5.288 -echo
   5.289 +echo "# Repositories: ${repos} ${repos_extra}" > ${status_output}
   5.290  
   5.291 -# Run the supplied command on all repos in parallel.
   5.292 -n=0
   5.293 -for i in ${repos} ${repos_extra} ; do
   5.294 -  n=`expr ${n} '+' 1`
   5.295 -  repopidfile=`echo ${i} | sed -e 's@./@@' -e 's@/@_@g'`
   5.296 -  reponame=`echo ${i} | sed -e :a -e 's/^.\{1,20\}$/ &/;ta'`
   5.297 -  pull_base="${pull_default}"
   5.298 -  for j in $repos_extra ; do
   5.299 -      if [ "$i" = "$j" ] ; then
   5.300 -          pull_base="${pull_extra}"
   5.301 -      fi
   5.302 -  done
   5.303 +if [ "${command}" = "serve" ] ; then
   5.304 +  # "serve" is run for all the repos as one command.
   5.305    (
   5.306      (
   5.307 -      if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then
   5.308 -        pull_newrepo="`echo ${pull_base}/${i} | sed -e 's@\([^:]/\)//*@\1@g'`"
   5.309 -        echo hg clone ${pull_newrepo} ${i}
   5.310 -        path="`dirname ${i}`"
   5.311 -        if [ "${path}" != "." ] ; then
   5.312 -          times=0
   5.313 -          while [ ! -d "${path}" ]   ## nested repo, ensure containing dir exists
   5.314 -          do
   5.315 -            times=`expr ${times} '+' 1`
   5.316 -            if [ `expr ${times} '%' 10` -eq 0 ] ; then
   5.317 -              echo ${path} still not created, waiting...
   5.318 +      cwd=`pwd`
   5.319 +      serving=`basename ${cwd}`
   5.320 +      (
   5.321 +        echo "[web]"
   5.322 +        echo "description = ${serving}"
   5.323 +        echo "allow_push = *"
   5.324 +        echo "push_ssl = False"
   5.325 +
   5.326 +        echo "[paths]"
   5.327 +        for i in ${repos} ; do
   5.328 +          if [ "${i}" != "." ] ; then
   5.329 +            echo "/${serving}/${i} = ${i}"
   5.330 +          else
   5.331 +            echo "/${serving} = ${cwd}"
   5.332 +          fi
   5.333 +        done
   5.334 +      ) > ${tmp}/serve.web-conf
   5.335 +
   5.336 +      echo "serving root repo ${serving}" > ${status_output}
   5.337 +
   5.338 +      echo "hg${global_opts} serve" > ${status_output}
   5.339 +      (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 &
   5.340 +    ) 2>&1 | sed -e "s@^@serve:   @" > ${status_output}
   5.341 +  ) &
   5.342 +else
   5.343 +  # Run the supplied command on all repos in parallel.
   5.344 +
   5.345 +  # n is the number of subprocess started or which might still be running.
   5.346 +  n=0
   5.347 +  if [ ${have_fifos} = "true" ]; then
   5.348 +    # if we have fifos use them to detect command completion.
   5.349 +    mkfifo ${tmp}/fifo
   5.350 +    exec 3<>${tmp}/fifo
   5.351 +  fi
   5.352 +
   5.353 +  # iterate over all of the subrepos.
   5.354 +  for i in ${repos} ${repos_extra} ; do
   5.355 +    n=`expr ${n} '+' 1`
   5.356 +    repopidfile=`echo ${i} | sed -e 's@./@@' -e 's@/@_@g'`
   5.357 +    reponame=`echo ${i} | sed -e :a -e 's/^.\{1,20\}$/ &/;ta'`
   5.358 +    pull_base="${pull_default}"
   5.359 +
   5.360 +    # regular repo or "extra" repo?
   5.361 +    for j in ${repos_extra} ; do
   5.362 +      if [ "${i}" = "${j}" ] ; then
   5.363 +        # it's an "extra"
   5.364 +        pull_base="${pull_extra}"
   5.365 +      fi
   5.366 +    done
   5.367 +
   5.368 +    # remove trailing slash
   5.369 +    pull_base="`echo ${pull_base} | sed -e 's@[/]*$@@'`"
   5.370 +
   5.371 +    # execute the command on the subrepo
   5.372 +    (
   5.373 +      (
   5.374 +        if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then
   5.375 +          # some form of clone
   5.376 +          clone_newrepo="${pull_base}/${i}"
   5.377 +          parent_path="`dirname ${i}`"
   5.378 +          if [ "${parent_path}" != "." ] ; then
   5.379 +            times=0
   5.380 +            while [ ! -d "${parent_path}" ] ; do  ## nested repo, ensure containing dir exists
   5.381 +              if [ "${sflag}" = "true" ] ; then
   5.382 +                # Missing parent is fatal during sequential operation.
   5.383 +                echo "ERROR: Missing parent path: ${parent_path}" > ${status_output}
   5.384 +                exit 1
   5.385 +              fi
   5.386 +              times=`expr ${times} '+' 1`
   5.387 +              if [ `expr ${times} '%' 10` -eq 0 ] ; then
   5.388 +                echo "${parent_path} still not created, waiting..." > ${status_output}
   5.389 +              fi
   5.390 +              sleep 5
   5.391 +            done
   5.392 +          fi
   5.393 +          # run the clone command.
   5.394 +          echo "hg${global_opts} clone ${clone_newrepo} ${i}" > ${status_output}
   5.395 +          (PYTHONUNBUFFERED=true hg${global_opts} clone ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
   5.396 +        else
   5.397 +          # run the command.
   5.398 +          echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output}
   5.399 +          cd ${i} && (PYTHONUNBUFFERED=true hg${global_opts} ${command} ${command_args}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
   5.400 +        fi
   5.401 +
   5.402 +        echo $! > ${tmp}/${repopidfile}.pid
   5.403 +      ) 2>&1 | sed -e "s@^@${reponame}:   @" > ${status_output}
   5.404 +      # tell the fifo waiter that this subprocess is done.
   5.405 +      if [ ${have_fifos} = "true" ]; then
   5.406 +        echo "${i}" >&3
   5.407 +      fi
   5.408 +    ) &
   5.409 +
   5.410 +    if [ "${sflag}" = "true" ] ; then
   5.411 +      # complete this task before starting another.
   5.412 +      wait
   5.413 +    else
   5.414 +      if [ "${have_fifos}" = "true" ]; then
   5.415 +        # check on count of running subprocesses and possibly wait for completion
   5.416 +        if [ ${n} -ge ${at_a_time} ] ; then
   5.417 +          # read will block until there are completed subprocesses
   5.418 +          while read repo_done; do
   5.419 +            n=`expr ${n} '-' 1`
   5.420 +            if [ ${n} -lt ${at_a_time} ] ; then
   5.421 +              # we should start more subprocesses
   5.422 +              break;
   5.423              fi
   5.424 -            sleep 5
   5.425 -          done
   5.426 +          done <&3
   5.427          fi
   5.428 -        (PYTHONUNBUFFERED=true hg clone ${pull_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc )&
   5.429        else
   5.430 -        echo "cd ${i} && hg $*"
   5.431 -        cd ${i} && (PYTHONUNBUFFERED=true hg "$@"; echo "$?" > ${tmp}/${repopidfile}.pid.rc )&
   5.432 +        # Compare completions to starts
   5.433 +        completed="`(ls -a1 ${tmp}/*.pid.rc 2> /dev/null | wc -l) || echo 0`"
   5.434 +        while [ `expr ${n} '-' ${completed}` -ge ${at_a_time} ] ; do
   5.435 +          # sleep a short time to give time for something to complete
   5.436 +          sleep 1
   5.437 +          completed="`(ls -a1 ${tmp}/*.pid.rc 2> /dev/null | wc -l) || echo 0`"
   5.438 +        done
   5.439        fi
   5.440 -      echo $! > ${tmp}/${repopidfile}.pid
   5.441 -    ) 2>&1 | sed -e "s@^@${reponame}:   @") &
   5.442 +    fi
   5.443 +  done
   5.444 +fi
   5.445  
   5.446 -  if [ `expr ${n} '%' ${at_a_time}` -eq 0 ] ; then
   5.447 -    sleep 2
   5.448 -    echo Waiting 5 secs before spawning next background command.
   5.449 -    sleep 3
   5.450 -  fi
   5.451 -done
   5.452 -# Wait for all hg commands to complete
   5.453 +# Wait for all subprocesses to complete
   5.454  wait
   5.455  
   5.456  # Terminate with exit 0 only if all subprocesses were successful
   5.457  ec=0
   5.458  if [ -d ${tmp} ]; then
   5.459 -  for rc in ${tmp}/*.pid.rc ; do
   5.460 +  rcfiles="`(ls -a ${tmp}/*.pid.rc 2> /dev/null) || echo ''`"
   5.461 +  for rc in ${rcfiles} ; do
   5.462      exit_code=`cat ${rc} | tr -d ' \n\r'`
   5.463      if [ "${exit_code}" != "0" ] ; then
   5.464 -      echo "WARNING: ${rc} exited abnormally."
   5.465 +      repo="`echo ${rc} | sed -e 's@^'${tmp}'@@' -e 's@/*\([^/]*\)\.pid\.rc$@\1@' -e 's@_@/@g'`"
   5.466 +      echo "WARNING: ${repo} exited abnormally (${exit_code})" > ${status_output}
   5.467        ec=1
   5.468      fi
   5.469    done
     6.1 --- a/get_source.sh	Mon Oct 20 23:00:27 2014 -0700
     6.2 +++ b/get_source.sh	Fri Oct 24 17:04:51 2014 -0700
     6.3 @@ -1,7 +1,7 @@
     6.4  #!/bin/sh
     6.5  
     6.6  #
     6.7 -# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
     6.8 +# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
     6.9  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    6.10  #
    6.11  # This code is free software; you can redistribute it and/or modify it
    6.12 @@ -25,9 +25,76 @@
    6.13  # questions.
    6.14  #
    6.15  
    6.16 -# Get clones of all nested repositories
    6.17 -sh ./common/bin/hgforest.sh clone "$@" || exit 1
    6.18 +to_stderr() {
    6.19 +    echo "$@" >&2
    6.20 +}
    6.21 +
    6.22 +error() {
    6.23 +    to_stderr "ERROR: $1"
    6.24 +    exit ${2:-126}
    6.25 +}
    6.26 +
    6.27 +warning() {
    6.28 +    to_stderr "WARNING: $1"
    6.29 +}
    6.30 +
    6.31 +version_field() {
    6.32 +  # rev is typically omitted for minor and major releases
    6.33 +  field=`echo ${1}.0 | cut -f ${2} -d .`
    6.34 +  if expr 1 + $field >/dev/null 2> /dev/null; then
    6.35 +    echo $field
    6.36 +  else
    6.37 +    echo -1
    6.38 +  fi
    6.39 +}
    6.40 +
    6.41 +# Version check
    6.42 +
    6.43 +# required
    6.44 +reqdmajor=1
    6.45 +reqdminor=4
    6.46 +reqdrev=0
    6.47 +
    6.48 +# requested
    6.49 +rqstmajor=2
    6.50 +rqstminor=6
    6.51 +rqstrev=3
    6.52 +
    6.53 +
    6.54 +# installed
    6.55 +hgwhere="`command -v hg`"
    6.56 +if [ "x$hgwhere" = "x" ]; then
    6.57 +  error "Could not locate Mercurial command"
    6.58 +fi
    6.59 +
    6.60 +hgversion="`hg --version 2> /dev/null | sed -n -e 's@^Mercurial Distributed SCM (version \([^+]*\).*)\$@\1@p'`"
    6.61 +if [ "x${hgversion}" = "x" ] ; then
    6.62 +  error "Could not determine Mercurial version of $hgwhere"
    6.63 +fi
    6.64 +
    6.65 +hgmajor="`version_field $hgversion 1`"
    6.66 +hgminor="`version_field $hgversion 2`"
    6.67 +hgrev="`version_field $hgversion 3`"
    6.68 +
    6.69 +if [ $hgmajor -eq -1 -o $hgminor -eq -1 -o $hgrev -eq -1 ] ; then
    6.70 +  error "Could not determine Mercurial version of $hgwhere from \"$hgversion\""
    6.71 +fi
    6.72 +
    6.73 +
    6.74 +# Require
    6.75 +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
    6.76 +  error "Mercurial version $reqdmajor.$reqdminor.$reqdrev or later is required. $hgwhere is version $hgversion"
    6.77 +fi
    6.78 +
    6.79 +
    6.80 +# Request
    6.81 +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
    6.82 +  warning "Mercurial version $rqstmajor.$rqstminor.$rqstrev or later is recommended. $hgwhere is version $hgversion"
    6.83 +fi
    6.84 +
    6.85 +
    6.86 +# Get clones of all absent nested repositories (harmless if already exist)
    6.87 +sh ./common/bin/hgforest.sh clone "$@" || exit $?
    6.88  
    6.89  # Update all existing repositories to the latest sources
    6.90  sh ./common/bin/hgforest.sh pull -u
    6.91 -
     7.1 --- a/make/Jprt.gmk	Mon Oct 20 23:00:27 2014 -0700
     7.2 +++ b/make/Jprt.gmk	Fri Oct 24 17:04:51 2014 -0700
     7.3 @@ -23,155 +23,11 @@
     7.4  # questions.
     7.5  #
     7.6  
     7.7 -# This file is included by the root NewerMakefile and contains targets
     7.8 -# and utilities needed by JPRT.
     7.9 +# This file is contains targets utilities needed by JPRT.
    7.10  
    7.11 -# Utilities used in this Makefile. Most of this makefile executes without
    7.12 -# the context of a spec file from configure.
    7.13 -CAT=cat
    7.14 -CMP=cmp
    7.15 -CP=cp
    7.16 -ECHO=echo
    7.17 -MKDIR=mkdir
    7.18 -PRINTF=printf
    7.19 -PWD=pwd
    7.20 -# Insure we have a path that looks like it came from pwd
    7.21 -# (This is mostly for Windows sake and drive letters)
    7.22 -define UnixPath # path
    7.23 -$(shell (cd "$1" && $(PWD)))
    7.24 -endef
    7.25 -
    7.26 -BUILD_DIR_ROOT:=$(root_dir)/build
    7.27 -
    7.28 -ifdef OPENJDK
    7.29 -  OPEN_BUILD=true
    7.30 -else
    7.31 -  OPEN_BUILD := $(if $(or $(wildcard $(root_dir)/jdk/src/closed), \
    7.32 -      $(wildcard $(root_dir)/jdk/make/closed), \
    7.33 -      $(wildcard $(root_dir)/jdk/test/closed), \
    7.34 -      $(wildcard $(root_dir)/hotspot/src/closed), \
    7.35 -      $(wildcard $(root_dir)/hotspot/make/closed), \
    7.36 -      $(wildcard $(root_dir)/hotspot/test/closed)), \
    7.37 -      false,true)
    7.38 -endif
    7.39 -
    7.40 -HOTSPOT_AVAILABLE := $(if $(wildcard $(root_dir)/hotspot),true,false)
    7.41 -
    7.42 -###########################################################################
    7.43 -# To help in adoption of the new configure&&make build process, a bridge
    7.44 -# build will use the old settings to run configure and do the build.
    7.45 -
    7.46 -# Build with the configure bridge. After running configure, restart make
    7.47 -# to parse the new spec file.
    7.48 -BRIDGE_TARGETS := all
    7.49 -# Add bootcycle-images target if legacy variable is set.
    7.50 -ifeq ($(SKIP_BOOT_CYCLE),false)
    7.51 -  BRIDGE_TARGETS += bootcycle-images
    7.52 -endif
    7.53 -bridgeBuild: bridge2configure
    7.54 -	@cd $(root_dir) && $(MAKE) -f Makefile $(BRIDGE_TARGETS)
    7.55 -
    7.56 -# Bridge from old Makefile ALT settings to configure options
    7.57 -bridge2configure: $(BUILD_DIR_ROOT)/.bridge2configureOpts
    7.58 -	bash ./configure $(strip $(shell $(CAT) $<))
    7.59 -
    7.60 -# Create a file with configure options created from old Makefile mechanisms.
    7.61 -$(BUILD_DIR_ROOT)/.bridge2configureOpts: $(BUILD_DIR_ROOT)/.bridge2configureOptsLatest
    7.62 -	$(RM) $@
    7.63 -	$(CP) $< $@
    7.64 -
    7.65 -# Use this file to only change when obvious things have changed
    7.66 -$(BUILD_DIR_ROOT)/.bridge2configureOptsLatest: FRC
    7.67 -	$(RM) $@.tmp
    7.68 -	$(MKDIR) -p $(BUILD_DIR_ROOT)
    7.69 -	@$(ECHO) " --with-debug-level=$(if $(DEBUG_LEVEL),$(DEBUG_LEVEL),release) " >> $@.tmp
    7.70 -        ifdef ARCH_DATA_MODEL
    7.71 -	  @$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
    7.72 -        endif
    7.73 -        ifeq ($(ARCH_DATA_MODEL),32)
    7.74 -	  @$(ECHO) " --with-jvm-variants=client,server " >> $@.tmp
    7.75 -        endif
    7.76 -        ifdef ALT_PARALLEL_COMPILE_JOBS
    7.77 -	  @$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
    7.78 -        endif
    7.79 -        ifdef ALT_BOOTDIR
    7.80 -	  @$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
    7.81 -        endif
    7.82 -        ifdef ALT_CUPS_HEADERS_PATH
    7.83 -	  @$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp
    7.84 -        endif
    7.85 -        ifdef ALT_FREETYPE_HEADERS_PATH
    7.86 -	  @$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp
    7.87 -        endif
    7.88 -        ifdef ENABLE_SJAVAC
    7.89 -	  @$(ECHO) " --enable-sjavac" >> $@.tmp
    7.90 -        endif
    7.91 -        ifdef JDK_UPDATE_VERSION
    7.92 -	  @$(ECHO) " --with-update-version=$(JDK_UPDATE_VERSION)" >> $@.tmp
    7.93 -        endif
    7.94 -        ifeq ($(HOTSPOT_AVAILABLE),false)
    7.95 -          ifdef ALT_JDK_IMPORT_PATH
    7.96 -	    @$(ECHO) " --with-import-hotspot=$(call UnixPath,$(ALT_JDK_IMPORT_PATH)) " >> $@.tmp
    7.97 -          endif
    7.98 -        endif
    7.99 -        ifeq ($(OPEN_BUILD),true)
   7.100 -	  @$(ECHO) " --enable-openjdk-only " >> $@.tmp
   7.101 -        else
   7.102 -#         Todo: move to closed?
   7.103 -          ifdef ALT_MOZILLA_HEADERS_PATH
   7.104 -	    @$(ECHO) " --with-mozilla-headers=$(call UnixPath,$(ALT_MOZILLA_HEADERS_PATH)) " >> $@.tmp
   7.105 -          endif
   7.106 -          ifdef ALT_JUNIT_DIR
   7.107 -	    @$(ECHO) " --with-junit-dir=$(call UnixPath,$(ALT_JUNIT_DIR)) " >> $@.tmp
   7.108 -          endif
   7.109 -          ifdef ANT_HOME
   7.110 -	    @$(ECHO) " --with-ant-home=$(call UnixPath,$(ANT_HOME)) " >> $@.tmp
   7.111 -          endif
   7.112 -          ifdef ALT_JAVAFX_ZIP_DIR
   7.113 -	    @$(ECHO) " --with-javafx-zip-dir=$(call UnixPath,$(ALT_JAVAFX_ZIP_DIR)) " >> $@.tmp
   7.114 -          endif
   7.115 -          ifdef ALT_JMC_ZIP_DIR
   7.116 -	    @$(ECHO) " --with-jmc-zip-dir=$(call UnixPath,$(ALT_JMC_ZIP_DIR)) " >> $@.tmp
   7.117 -          endif
   7.118 -          ifdef ALT_WIXDIR
   7.119 -	    @$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp
   7.120 -          endif
   7.121 -          ifdef ALT_INSTALL_LZMA_PATH
   7.122 -	    @$(ECHO) " --with-lzma-path=$(call UnixPath,$(ALT_INSTALL_LZMA_PATH)) " >> $@.tmp
   7.123 -          endif
   7.124 -          ifdef ALT_INSTALL_UPX_PATH
   7.125 -	    @$(ECHO) " --with-upx-path=$(call UnixPath,$(ALT_INSTALL_UPX_PATH)) " >> $@.tmp
   7.126 -          endif
   7.127 -          ifdef ALT_INSTALL_UPX_FILENAME
   7.128 -	    @$(ECHO) " --with-upx-filename=$(call UnixPath,$(ALT_INSTALL_UPX_FILENAME)) " >> $@.tmp
   7.129 -          endif
   7.130            ifdef ALT_BSDIFF_DIR
   7.131  	    @$(ECHO) " --with-bsdiff-dir=$(call UnixPath,$(ALT_BSDIFF_DIR)) " >> $@.tmp
   7.132            endif
   7.133 -          ifdef ALT_CCSS_SIGNING_DIR
   7.134 -	    @$(ECHO) " --with-ccss-signing=$(call UnixPath,$(ALT_CCSS_SIGNING_DIR)) " >> $@.tmp
   7.135 -          endif
   7.136 -          ifdef ALT_SLASH_JAVA
   7.137 -	    @$(ECHO) " --with-java-devtools=$(call UnixPath,$(ALT_SLASH_JAVA)/devtools) " >> $@.tmp
   7.138 -          endif
   7.139 -          ifdef ALT_SPARKLE_FRAMEWORK_DIR
   7.140 -	    @$(ECHO) " --with-sparkle-framework=$(call UnixPath,$(ALT_SPARKLE_FRAMEWORK_DIR)) " >> $@.tmp
   7.141 -          endif
   7.142 -        endif
   7.143 -	@if [ -f $@ ] ; then \
   7.144 -	  if ! $(CMP) $@ $@.tmp > /dev/null ; then \
   7.145 -	    $(CP) $@.tmp $@ ; \
   7.146 -	  fi ; \
   7.147 -	else \
   7.148 -	  $(CP) $@.tmp $@ ; \
   7.149 -	fi
   7.150 -	$(RM) $@.tmp
   7.151 -
   7.152 -PHONY_LIST += bridge2configure bridgeBuild
   7.153 -
   7.154 -###########################################################################
   7.155 -# JPRT targets
   7.156 -
   7.157  ifndef JPRT_ARCHIVE_BUNDLE
   7.158    JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
   7.159  endif
   7.160 @@ -179,22 +35,9 @@
   7.161    JPRT_ARCHIVE_INSTALL_BUNDLE=/tmp/jprt_bundles/product-install.zip
   7.162  endif
   7.163  
   7.164 -# These targets execute in a SPEC free context, before calling bridgeBuild
   7.165 -# to generate the SPEC.
   7.166 -jprt_build_product: DEBUG_LEVEL=release
   7.167 -jprt_build_product: BUILD_DIRNAME=*-release
   7.168 -jprt_build_product: jprt_build_generic
   7.169 -
   7.170 -jprt_build_fastdebug: DEBUG_LEVEL=fastdebug
   7.171 -jprt_build_fastdebug: BUILD_DIRNAME=*-fastdebug
   7.172 -jprt_build_fastdebug: jprt_build_generic
   7.173 -
   7.174 -jprt_build_debug: DEBUG_LEVEL=slowdebug
   7.175 -jprt_build_debug: BUILD_DIRNAME=*-debug
   7.176 -jprt_build_debug: jprt_build_generic
   7.177 -
   7.178 -jprt_build_generic: BRIDGE_TARGETS+=jprt_bundle
   7.179 -jprt_build_generic: bridgeBuild
   7.180 +ifeq ($(SKIP_BOOT_CYCLE), false)
   7.181 +  jprt_bundle: bootcycle-images
   7.182 +endif
   7.183  
   7.184  # This target must be called in the context of a SPEC file
   7.185  jprt_bundle: $(JPRT_ARCHIVE_BUNDLE)
   7.186 @@ -241,14 +84,6 @@
   7.187  	@$(call TargetExit)
   7.188  
   7.189  
   7.190 -# Keep track of phony targets
   7.191 -PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \
   7.192 -    jprt_build_generic bundles jprt_bundle \
   7.193 -    final-images final-images-only
   7.194 -
   7.195  ###########################################################################
   7.196  # Phony targets
   7.197 -.PHONY: $(PHONY_LIST)
   7.198 -
   7.199 -# Force target
   7.200 -FRC:
   7.201 +.PHONY: jprt_bundle bundles bundles-only final-images final-images-only
     8.1 --- a/make/Main.gmk	Mon Oct 20 23:00:27 2014 -0700
     8.2 +++ b/make/Main.gmk	Fri Oct 24 17:04:51 2014 -0700
     8.3 @@ -242,4 +242,6 @@
     8.4  .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
     8.5  .PHONY: profiles profiles-only profiles-oscheck
     8.6  
     8.7 +include $(root_dir)/make/Jprt.gmk
     8.8 +
     8.9  FRC: # Force target
     9.1 --- a/make/MakeHelpers.gmk	Mon Oct 20 23:00:27 2014 -0700
     9.2 +++ b/make/MakeHelpers.gmk	Fri Oct 24 17:04:51 2014 -0700
     9.3 @@ -50,7 +50,7 @@
     9.4  
     9.5  # Global targets are possible to run either with or without a SPEC. The prototypical
     9.6  # global target is "help".
     9.7 -global_targets=help jprt% bridgeBuild bridge2configure
     9.8 +global_targets=help
     9.9  
    9.10  ##############################
    9.11  # Functions
    10.1 --- a/make/common/NON_CORE_PKGS.gmk	Mon Oct 20 23:00:27 2014 -0700
    10.2 +++ b/make/common/NON_CORE_PKGS.gmk	Fri Oct 24 17:04:51 2014 -0700
    10.3 @@ -95,7 +95,8 @@
    10.4  endif
    10.5  
    10.6  JDK_PKGS = jdk \
    10.7 -     jdk.net
    10.8 +     jdk.net \
    10.9 +     jdk.management.cmm
   10.10  
   10.11  # non-core packages in rt.jar
   10.12  NON_CORE_PKGS = $(DOMAPI_PKGS) \
    11.1 --- a/make/jprt.properties	Mon Oct 20 23:00:27 2014 -0700
    11.2 +++ b/make/jprt.properties	Fri Oct 24 17:04:51 2014 -0700
    11.3 @@ -1,5 +1,5 @@
    11.4  #
    11.5 -# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
    11.6 +# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
    11.7  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    11.8  #
    11.9  # This code is free software; you can redistribute it and/or modify it
   11.10 @@ -23,132 +23,463 @@
   11.11  # questions.
   11.12  #
   11.13  
   11.14 -# Properties for jprt
   11.15 +##############
   11.16 +#
   11.17 +# Global settings
   11.18 +#
   11.19  
   11.20  # The current release name
   11.21 -my.jdk.update.version=25
   11.22 +my.jdk.update.version=40
   11.23  jprt.tools.default.release=jdk8u${my.jdk.update.version}
   11.24  
   11.25 -# Unix toolkit to use for building on windows
   11.26 -jprt.windows.jdk8.build.unix.toolkit=cygwin
   11.27 +# Check if this is the equivalent of a hotspot push job
   11.28 +# Interpret -testset hotspot to mean exactly that
   11.29 +my.is.hotspot.job.hotspot=true
   11.30 +my.is.hotspot.job=${my.is.hotspot.job.${jprt.test.set}}
   11.31  
   11.32 -# The different build flavors we want, we override here so we just get these 2
   11.33 -jprt.build.flavors=product,fastdebug
   11.34 -
   11.35 -# Standard list of jprt build targets for this source tree
   11.36 -jprt.build.targets= 						\
   11.37 -    solaris_sparcv9_5.10-{product|fastdebug}, 			\
   11.38 -    solaris_x64_5.10-{product|fastdebug}, 			\
   11.39 -    linux_i586_2.6-{product|fastdebug}, 			\
   11.40 -    linux_x64_2.6-{product|fastdebug}, 				\
   11.41 -    macosx_x64_10.7-{product|fastdebug}, 			\
   11.42 -    windows_i586_6.1-{product|fastdebug}, 			\
   11.43 -    windows_x64_6.1-{product|fastdebug}
   11.44 -
   11.45 -# User can select the test set with jprt submit "-testset name" option
   11.46 -jprt.my.test.set=${jprt.test.set}
   11.47 -
   11.48 -# Test target list (no fastdebug & limited c2 testing)
   11.49 -jprt.my.test.target.set= \
   11.50 -    solaris_sparcv9_5.10-product-c2-TESTNAME, 			\
   11.51 -    solaris_x64_5.10-product-c2-TESTNAME, 			\
   11.52 -    linux_i586_2.6-product-{c1|c2}-TESTNAME, 			\
   11.53 -    linux_x64_2.6-product-c2-TESTNAME, 				\
   11.54 -    macosx_x64_10.7-product-c2-TESTNAME, 			\
   11.55 -    windows_i586_6.1-product-c1-TESTNAME, 			\
   11.56 -    windows_x64_6.1-product-c2-TESTNAME
   11.57 -
   11.58 -# Default vm test targets (testset=default)
   11.59 -jprt.vm.default.test.targets=              			\
   11.60 -    ${jprt.my.test.target.set:TESTNAME=jvm98},			\
   11.61 -    ${jprt.my.test.target.set:TESTNAME=scimark}
   11.62 -
   11.63 -# Default jdk test targets (testset=default)
   11.64 -jprt.make.rule.default.test.targets=				\
   11.65 -    ${jprt.my.test.target.set:TESTNAME=langtools_jtreg},        \
   11.66 -    ${jprt.my.test.target.set:TESTNAME=jdk_lang},               \
   11.67 -    ${jprt.my.test.target.set:TESTNAME=jdk_math},               \
   11.68 -    ${jprt.my.test.target.set:TESTNAME=jdk_util}
   11.69 -    
   11.70 -
   11.71 -# Default vm test targets (testset=core)
   11.72 -jprt.vm.core.test.targets=
   11.73 -
   11.74 -# Core jdk test targets (testset=core)
   11.75 -jprt.make.rule.core.test.targets=                               \
   11.76 -    ${jprt.my.test.target.set:TESTNAME=jdk_lang},               \
   11.77 -    ${jprt.my.test.target.set:TESTNAME=jdk_math},               \
   11.78 -    ${jprt.my.test.target.set:TESTNAME=jdk_util},               \
   11.79 -    ${jprt.my.test.target.set:TESTNAME=jdk_io},			\
   11.80 -    ${jprt.my.test.target.set:TESTNAME=jdk_net},		\
   11.81 -    ${jprt.my.test.target.set:TESTNAME=jdk_nio},		\
   11.82 -    ${jprt.my.test.target.set:TESTNAME=jdk_security1},		\
   11.83 -    ${jprt.my.test.target.set:TESTNAME=jdk_security2},          \
   11.84 -    ${jprt.my.test.target.set:TESTNAME=jdk_security3},          \
   11.85 -    ${jprt.my.test.target.set:TESTNAME=jdk_rmi},                \
   11.86 -    ${jprt.my.test.target.set:TESTNAME=jdk_text},		\
   11.87 -    ${jprt.my.test.target.set:TESTNAME=jdk_time},               \
   11.88 -    ${jprt.my.test.target.set:TESTNAME=jdk_other},              \
   11.89 -    ${jprt.my.test.target.set:TESTNAME=core_tools}
   11.90 -
   11.91 -# Svc vm test targets (testset=svc)
   11.92 -jprt.vm.svc.test.targets=
   11.93 -
   11.94 -# Core jdk test targets (testset=svc)
   11.95 -jprt.make.rule.svc.test.targets=                                \
   11.96 -    ${jprt.my.test.target.set:TESTNAME=jdk_management},         \
   11.97 -    ${jprt.my.test.target.set:TESTNAME=jdk_instrument},         \
   11.98 -    ${jprt.my.test.target.set:TESTNAME=jdk_jmx},                \
   11.99 -    ${jprt.my.test.target.set:TESTNAME=jdk_jdi},                \
  11.100 -    ${jprt.my.test.target.set:TESTNAME=jdk_jfr},                \
  11.101 -    ${jprt.my.test.target.set:TESTNAME=svc_tools}
  11.102 -
  11.103 -# All vm test targets (testset=all)
  11.104 -jprt.vm.all.test.targets=    					\
  11.105 -    ${jprt.vm.default.test.targets}, 				\
  11.106 -    ${jprt.my.test.target.set:TESTNAME=runThese},		\
  11.107 -    ${jprt.my.test.target.set:TESTNAME=jbb_default}
  11.108 -
  11.109 -# All jdk test targets (testset=all)
  11.110 -jprt.make.rule.all.test.targets=    				\
  11.111 -    ${jprt.make.rule.core.test.targets}, 			\
  11.112 -    ${jprt.make.rule.svc.test.targets},                         \
  11.113 -    ${jprt.my.test.target.set:TESTNAME=jdk_awt},		\
  11.114 -    ${jprt.my.test.target.set:TESTNAME=jdk_beans1},             \
  11.115 -    ${jprt.my.test.target.set:TESTNAME=jdk_beans2},		\
  11.116 -    ${jprt.my.test.target.set:TESTNAME=jdk_beans3},		\
  11.117 -    ${jprt.my.test.target.set:TESTNAME=jdk_sound},		\
  11.118 -    ${jprt.my.test.target.set:TESTNAME=jdk_swing}
  11.119 -
  11.120 -# PIT vm test targets (testset=pit)
  11.121 -jprt.vm.pit.test.targets=                                       \
  11.122 -   ${jprt.vm.all.test.targets}
  11.123 -
  11.124 -# PIT jdk test targets (testset=pit)
  11.125 -jprt.make.rule.pit.test.targets=                                \
  11.126 -    ${jprt.my.test.target.set:TESTNAME=langtools_jtreg},        \
  11.127 -    ${jprt.make.rule.core.test.targets},                        \
  11.128 -    ${jprt.make.rule.svc.test.targets}
  11.129 -
  11.130 -# JCK test targets in test/Makefile (no windows)
  11.131 -jprt.my.jck.test.target.set=					\
  11.132 -    solaris_sparcv9_5.10-product-c2-JCK7TESTRULE, 		\
  11.133 -    solaris_x64_5.10-product-c2-JCK7TESTRULE, 			\
  11.134 -    linux_i586_2.6-product-c1-JCK7TESTRULE, 			\
  11.135 -    linux_x64_2.6-product-c2-JCK7TESTRULE
  11.136 -
  11.137 -# JCK testset targets (e.g. jprt submit -testset jck ... )
  11.138 -jprt.make.rule.jck.test.targets=				\
  11.139 -    ${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7devtools},   \
  11.140 -    ${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7runtime},    \
  11.141 -    ${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7compiler}
  11.142 -
  11.143 -# Select list to use (allow for testset to be empty too)
  11.144 -jprt.make.rule..test.targets=${jprt.make.rule.default.test.targets}
  11.145 -jprt.make.rule.test.targets=${jprt.make.rule.${jprt.my.test.set}.test.targets}
  11.146 -jprt.vm..test.targets=${jprt.vm.default.test.targets}
  11.147 -jprt.test.targets=${jprt.vm.${jprt.my.test.set}.test.targets}
  11.148 +# Disable syncing the source after builds and tests are done
  11.149 +jprt.sync.push=${my.is.hotspot.job ? false : true}
  11.150  
  11.151  # Directories to be excluded from the source bundles
  11.152  jprt.bundle.exclude.src.dirs=build dist webrev
  11.153  
  11.154 +# Use configure when building
  11.155 +jprt.build.use.configure=true
  11.156 +
  11.157 +# Set make target to use for different build flavors
  11.158 +jprt.build.flavor.debugOpen.target=jprt_bundle
  11.159 +jprt.build.flavor.fastdebug.target=jprt_bundle
  11.160 +jprt.build.flavor.product.target=jprt_bundle
  11.161 +jprt.build.flavor.productOpen.target=jprt_bundle
  11.162 +
  11.163 +# Use these configure args to define debug level
  11.164 +jprt.debug.build.configure.args=--with-debug-level=slowdebug
  11.165 +jprt.fastdebug.build.configure.args=--with-debug-level=fastdebug
  11.166 +jprt.product.build.configure.args=--with-debug-level=release
  11.167 +jprt.debugOpen.build.configure.args=${jprt.debug.build.configure.args} --enable-openjdk-only
  11.168 +jprt.fastdebugOpen.build.configure.args=${jprt.fastdebug.build.configure.args} --enable-openjdk-only
  11.169 +jprt.productOpen.build.configure.args=${jprt.product.build.configure.args} --enable-openjdk-only
  11.170 +
  11.171 +# Select build flavors and build targets
  11.172 +jprt.build.flavors=${my.is.hotspot.job ? ${my.build.flavors.hotspot} : ${my.build.flavors.default}}
  11.173 +jprt.build.targets=${my.is.hotspot.job ? ${my.build.targets.hotspot} : ${my.build.targets.default}}
  11.174 +
  11.175 +# Select test targets - jprt default for jprt.test.set is "default"
  11.176 +jprt.test.targets=${my.test.targets.${jprt.test.set}}
  11.177 +jprt.make.rule.test.targets=${my.make.rule.test.targets.${jprt.test.set}}
  11.178 +
  11.179 +# 7155453: Work-around to prevent popups on OSX from blocking test completion
  11.180 +# but the work-around is added to all platforms to be consistent
  11.181 +jprt.jbb.options=-Djava.awt.headless=true
  11.182 +
  11.183 +########
  11.184 +#
  11.185 +# Build options (generic)
  11.186 +#
  11.187 +
  11.188 +# Configure args common to all builds
  11.189 +# Also allows for additional, testset specific configure arguments to be set
  11.190 +jprt.build.configure.args=						\
  11.191 +    --with-boot-jdk=$ALT_BOOTDIR					\
  11.192 +    --with-jobs=$ALT_PARALLEL_COMPILE_JOBS				\
  11.193 +    --with-update-version=${my.jdk.update.version}			\
  11.194 +    ${my.additional.build.configure.args.${jprt.test.set}}
  11.195 +
  11.196 +# i586 is often cross-compiled from 64-bit machines, so need to set target bits explicitly
  11.197 +jprt.i586.build.configure.args=						\
  11.198 +    --with-target-bits=32
  11.199 +
  11.200 +# i586 platforms have both client and server, but to allow for overriding the exact configuration
  11.201 +# on a per-build flavor basis the value is set for the individual build flavors
  11.202 +# All other platforms only build server, which is the default setting from configure
  11.203 +my.i586.default.build.configure.args=					\
  11.204 +    --with-jvm-variants=client,server
  11.205 +jprt.i586.debug.build.configure.args=					\
  11.206 +    ${my.i586.default.build.configure.args}				\
  11.207 +    ${jprt.debug.build.configure.args}
  11.208 +jprt.i586.fastdebug.build.configure.args=				\
  11.209 +    ${my.i586.default.build.configure.args}				\
  11.210 +    ${jprt.fastdebug.build.configure.args}
  11.211 +jprt.i586.product.build.configure.args=					\
  11.212 +    ${my.i586.default.build.configure.args}				\
  11.213 +    ${jprt.product.build.configure.args}
  11.214 +jprt.i586.debugOpen.build.configure.args=				\
  11.215 +    ${my.i586.default.build.configure.args}				\
  11.216 +    ${jprt.debugOpen.build.configure.args}
  11.217 +jprt.i586.fastdebugOpen.build.configure.args=				\
  11.218 +    ${my.i586.default.build.configure.args}				\
  11.219 +    ${jprt.fastdebugOpen.build.configure.args}
  11.220 +jprt.i586.productOpen.build.configure.args=				\
  11.221 +    ${my.i586.default.build.configure.args}				\
  11.222 +    ${jprt.productOpen.build.configure.args}
  11.223 +
  11.224 +########
  11.225 +#
  11.226 +# Build targets and options (default/jdk)
  11.227 +#
  11.228 +
  11.229 +# The default build flavors
  11.230 +my.build.flavors.default=fastdebug,product
  11.231 +
  11.232 +# Standard list of jprt build targets for this source tree
  11.233 +my.build.targets.default=						\
  11.234 +    solaris_sparcv9_5.10-{product|fastdebug},				\
  11.235 +    solaris_x64_5.10-{product|fastdebug},				\
  11.236 +    linux_i586_2.6-{product|fastdebug},					\
  11.237 +    linux_x64_2.6-{product|fastdebug},					\
  11.238 +    macosx_x64_10.7-{product|fastdebug},				\
  11.239 +    windows_i586_6.1-{product|fastdebug},				\
  11.240 +    windows_x64_6.1-{product|fastdebug}
  11.241 +
  11.242 +# Test target list (no fastdebug & limited c2 testing)
  11.243 +my.test.target.set=							\
  11.244 +    solaris_sparcv9_5.10-product-c2-TESTNAME,				\
  11.245 +    solaris_x64_5.10-product-c2-TESTNAME,				\
  11.246 +    linux_i586_2.6-product-{c1|c2}-TESTNAME,				\
  11.247 +    linux_x64_2.6-product-c2-TESTNAME,					\
  11.248 +    macosx_x64_10.7-product-c2-TESTNAME,				\
  11.249 +    windows_i586_6.1-product-c1-TESTNAME,				\
  11.250 +    windows_x64_6.1-product-c2-TESTNAME
  11.251 +
  11.252 +# Default vm test targets (testset=default)
  11.253 +my.test.targets.default=						\
  11.254 +    ${my.test.target.set:TESTNAME=jvm98},				\
  11.255 +    ${my.test.target.set:TESTNAME=scimark}
  11.256 +
  11.257 +# Default jdk test targets (testset=default)
  11.258 +my.make.rule.test.targets.default=					\
  11.259 +    ${my.test.target.set:TESTNAME=langtools_jtreg},			\
  11.260 +    ${my.test.target.set:TESTNAME=jdk_lang},				\
  11.261 +    ${my.test.target.set:TESTNAME=jdk_math},				\
  11.262 +    ${my.test.target.set:TESTNAME=jdk_util}
  11.263 +    
  11.264 +# Default vm test targets (testset=core)
  11.265 +my.test.targets.core=
  11.266 +
  11.267 +# Core jdk test targets (testset=core)
  11.268 +my.make.rule.test.targets.core=						\
  11.269 +    ${my.test.target.set:TESTNAME=jdk_lang},				\
  11.270 +    ${my.test.target.set:TESTNAME=jdk_math},				\
  11.271 +    ${my.test.target.set:TESTNAME=jdk_util},				\
  11.272 +    ${my.test.target.set:TESTNAME=jdk_io},				\
  11.273 +    ${my.test.target.set:TESTNAME=jdk_net},				\
  11.274 +    ${my.test.target.set:TESTNAME=jdk_nio},				\
  11.275 +    ${my.test.target.set:TESTNAME=jdk_security1},			\
  11.276 +    ${my.test.target.set:TESTNAME=jdk_security2},			\
  11.277 +    ${my.test.target.set:TESTNAME=jdk_security3},			\
  11.278 +    ${my.test.target.set:TESTNAME=jdk_security4},			\
  11.279 +    ${my.test.target.set:TESTNAME=jdk_rmi},				\
  11.280 +    ${my.test.target.set:TESTNAME=jdk_text},				\
  11.281 +    ${my.test.target.set:TESTNAME=jdk_time},				\
  11.282 +    ${my.test.target.set:TESTNAME=jdk_other},				\
  11.283 +    ${my.test.target.set:TESTNAME=core_tools}
  11.284 +
  11.285 +# Svc vm test targets (testset=svc)
  11.286 +my.test.targets.svc=
  11.287 +
  11.288 +# Core jdk test targets (testset=svc)
  11.289 +my.make.rule.test.targets.svc=						\
  11.290 +    ${my.test.target.set:TESTNAME=jdk_management},			\
  11.291 +    ${my.test.target.set:TESTNAME=jdk_instrument},			\
  11.292 +    ${my.test.target.set:TESTNAME=jdk_jmx},				\
  11.293 +    ${my.test.target.set:TESTNAME=jdk_jdi},				\
  11.294 +    ${my.test.target.set:TESTNAME=jdk_jfr},				\
  11.295 +    ${my.test.target.set:TESTNAME=jdk_rm},				\
  11.296 +    ${my.test.target.set:TESTNAME=svc_tools}
  11.297 +
  11.298 +# All vm test targets (testset=all)
  11.299 +my.test.targets.all=							\
  11.300 +    ${my.test.targets.default},						\
  11.301 +    ${my.test.target.set:TESTNAME=runThese},				\
  11.302 +    ${my.test.target.set:TESTNAME=jbb_default}
  11.303 +
  11.304 +# All jdk test targets (testset=all)
  11.305 +my.make.rule.test.targets.all=						\
  11.306 +    ${my.make.rule.test.targets.core},					\
  11.307 +    ${my.make.rule.test.targets.svc},					\
  11.308 +    ${my.test.target.set:TESTNAME=jdk_awt},				\
  11.309 +    ${my.test.target.set:TESTNAME=jdk_beans1},				\
  11.310 +    ${my.test.target.set:TESTNAME=jdk_beans2},				\
  11.311 +    ${my.test.target.set:TESTNAME=jdk_beans3},				\
  11.312 +    ${my.test.target.set:TESTNAME=jdk_sound},				\
  11.313 +    ${my.test.target.set:TESTNAME=jdk_swing}
  11.314 +
  11.315 +# PIT vm test targets (testset=pit)
  11.316 +my.test.targets.pit=							\
  11.317 +   ${my.test.targets.all}
  11.318 +
  11.319 +# PIT jdk test targets (testset=pit)
  11.320 +my.make.rule.test.targets.pit=						\
  11.321 +    ${my.test.target.set:TESTNAME=langtools_jtreg},			\
  11.322 +    ${my.make.rule.test.targets.core},					\
  11.323 +    ${my.make.rule.test.targets.svc}
  11.324 +
  11.325 +# JCK test targets in test/Makefile (no windows)
  11.326 +my.test.target.set.jck=							\
  11.327 +    solaris_sparcv9_5.10-product-c2-JCK7TESTRULE,			\
  11.328 +    solaris_x64_5.10-product-c2-JCK7TESTRULE,				\
  11.329 +    linux_i586_2.6-product-c1-JCK7TESTRULE,				\
  11.330 +    linux_x64_2.6-product-c2-JCK7TESTRULE
  11.331 +
  11.332 +# JCK testset targets
  11.333 +my.make.rule.test.targets.jck=						\
  11.334 +    ${my.test.target.set.jck:JCK7TESTRULE=jck7devtools},		\
  11.335 +    ${my.test.target.set.jck:JCK7TESTRULE=jck7runtime},			\
  11.336 +    ${my.test.target.set.jck:JCK7TESTRULE=jck7compiler}
  11.337 +
  11.338 +
  11.339 +#############
  11.340 +#
  11.341 +# Hotspot related settings (testset=hotspot)
  11.342 +#
  11.343 +
  11.344 +# The hotspot build flavors
  11.345 +my.build.flavors.hotspot=						\
  11.346 +    debugOpen,fastdebug,product,productOpen,				\
  11.347 +    ${my.additional.build.flavors.hotspot}
  11.348 +
  11.349 +# Platforms built for hotspot push jobs
  11.350 +my.build.targets.hotspot=						\
  11.351 +    solaris_sparcv9_5.10-{product|fastdebug|optimized},			\
  11.352 +    solaris_x64_5.10-{product|fastdebug},				\
  11.353 +    linux_i586_2.6-{product|fastdebug},					\
  11.354 +    linux_x64_2.6-{product|fastdebug|optimized},			\
  11.355 +    macosx_x64_10.7-{product|fastdebug},				\
  11.356 +    windows_i586_6.1-{product|fastdebug},				\
  11.357 +    windows_x64_6.1-{product|fastdebug|optimized},			\
  11.358 +    solaris_x64_5.10-{debugOpen},					\
  11.359 +    linux_x64_2.6-{productOpen},					\
  11.360 +    ${my.additional.build.targets.hotspot}
  11.361 +
  11.362 +# Tests to run on the various platforms for hotspot push jobs
  11.363 +my.test.targets.hotspot.solaris.sparcv9=				\
  11.364 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-jvm98,			\
  11.365 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-jvm98_nontiered,	\
  11.366 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-scimark,		\
  11.367 +    solaris_sparcv9_5.10-product-c2-runThese,				\
  11.368 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_SerialGC,	\
  11.369 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_ParallelGC,	\
  11.370 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_ParNewGC,	\
  11.371 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_CMS,		\
  11.372 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_G1,		\
  11.373 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCBasher_ParOldGC,	\
  11.374 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_SerialGC,		\
  11.375 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_ParallelGC,	\
  11.376 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_ParNewGC,		\
  11.377 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_CMS,		\
  11.378 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_G1,		\
  11.379 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-GCOld_ParOldGC,		\
  11.380 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_default_nontiered,	\
  11.381 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_SerialGC,		\
  11.382 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_ParallelGC,		\
  11.383 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_CMS,		\
  11.384 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_G1,			\
  11.385 +    solaris_sparcv9_5.10-{product|fastdebug}-c2-jbb_ParOldGC
  11.386 +
  11.387 +my.test.targets.hotspot.solaris.x64=					\
  11.388 +    solaris_x64_5.10-{product|fastdebug}-c2-jvm98,			\
  11.389 +    solaris_x64_5.10-{product|fastdebug}-c2-jvm98_nontiered,		\
  11.390 +    solaris_x64_5.10-{product|fastdebug}-c2-scimark,			\
  11.391 +    solaris_x64_5.10-product-c2-runThese,				\
  11.392 +    solaris_x64_5.10-product-c2-runThese_Xcomp,				\
  11.393 +    solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_SerialGC,		\
  11.394 +    solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_ParallelGC,	\
  11.395 +    solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_ParNewGC,		\
  11.396 +    solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_CMS,		\
  11.397 +    solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_G1,		\
  11.398 +    solaris_x64_5.10-{product|fastdebug}-c2-GCBasher_ParOldGC,		\
  11.399 +    solaris_x64_5.10-{product|fastdebug}-c2-GCOld_SerialGC,		\
  11.400 +    solaris_x64_5.10-{product|fastdebug}-c2-GCOld_ParallelGC,		\
  11.401 +    solaris_x64_5.10-{product|fastdebug}-c2-GCOld_ParNewGC,		\
  11.402 +    solaris_x64_5.10-{product|fastdebug}-c2-GCOld_CMS,			\
  11.403 +    solaris_x64_5.10-{product|fastdebug}-c2-GCOld_G1,			\
  11.404 +    solaris_x64_5.10-{product|fastdebug}-c2-GCOld_ParOldGC,		\
  11.405 +    solaris_x64_5.10-{product|fastdebug}-c2-jbb_default_nontiered,	\
  11.406 +    solaris_x64_5.10-{product|fastdebug}-c2-jbb_SerialGC,		\
  11.407 +    solaris_x64_5.10-{product|fastdebug}-c2-jbb_ParallelGC,		\
  11.408 +    solaris_x64_5.10-{product|fastdebug}-c2-GCOld_CMS,			\
  11.409 +    solaris_x64_5.10-{product|fastdebug}-c2-GCOld_G1,			\
  11.410 +    solaris_x64_5.10-{product|fastdebug}-c2-GCOld_ParOldGC
  11.411 +
  11.412 +my.test.targets.hotspot.linux.i586=					\
  11.413 +    linux_i586_2.6-{product|fastdebug}-{c1|c2}-jvm98,			\
  11.414 +    linux_i586_2.6-{product|fastdebug}-c2-jvm98_nontiered,		\
  11.415 +    linux_i586_2.6-{product|fastdebug}-{c1|c2}-scimark,			\
  11.416 +    linux_i586_2.6-product-c1-runThese_Xcomp,				\
  11.417 +    linux_i586_2.6-fastdebug-c1-runThese_Xshare,			\
  11.418 +    linux_i586_2.6-fastdebug-c2-runThese_Xcomp,				\
  11.419 +    linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC,	\
  11.420 +    linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC,	\
  11.421 +    linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC,	\
  11.422 +    linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_CMS,		\
  11.423 +    linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_G1,		\
  11.424 +    linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_ParOldGC,	\
  11.425 +    linux_i586_2.6-product-{c1|c2}-GCOld_SerialGC,			\
  11.426 +    linux_i586_2.6-product-{c1|c2}-GCOld_ParallelGC,			\
  11.427 +    linux_i586_2.6-product-{c1|c2}-GCOld_ParNewGC,			\
  11.428 +    linux_i586_2.6-product-{c1|c2}-GCOld_CMS,				\
  11.429 +    linux_i586_2.6-product-{c1|c2}-GCOld_G1,				\
  11.430 +    linux_i586_2.6-product-{c1|c2}-GCOld_ParOldGC,			\
  11.431 +    linux_i586_2.6-{product|fastdebug}-c1-jbb_SerialGC,			\
  11.432 +    linux_i586_2.6-{product|fastdebug}-c2-jbb_default_nontiered,	\
  11.433 +    linux_i586_2.6-{product|fastdebug}-c1-jbb_ParallelGC,		\
  11.434 +    linux_i586_2.6-{product|fastdebug}-c1-jbb_CMS,			\
  11.435 +    linux_i586_2.6-{product|fastdebug}-c1-jbb_G1,			\
  11.436 +    linux_i586_2.6-{product|fastdebug}-c1-jbb_ParOldGC
  11.437 +
  11.438 +my.test.targets.hotspot.linux.x64=					\
  11.439 +    linux_x64_2.6-{product|fastdebug}-c2-jvm98,				\
  11.440 +    linux_x64_2.6-{product|fastdebug}-c2-jvm98_nontiered,		\
  11.441 +    linux_x64_2.6-{product|fastdebug}-c2-scimark,			\
  11.442 +    linux_x64_2.6-{product|fastdebug}-c2-GCBasher_SerialGC,		\
  11.443 +    linux_x64_2.6-{product|fastdebug}-c2-GCBasher_ParallelGC,		\
  11.444 +    linux_x64_2.6-{product|fastdebug}-c2-GCBasher_ParNewGC,		\
  11.445 +    linux_x64_2.6-{product|fastdebug}-c2-GCBasher_CMS,			\
  11.446 +    linux_x64_2.6-{product|fastdebug}-c2-GCBasher_G1,			\
  11.447 +    linux_x64_2.6-{product|fastdebug}-c2-GCBasher_ParOldGC,		\
  11.448 +    linux_x64_2.6-{product|fastdebug}-c2-GCOld_SerialGC,		\
  11.449 +    linux_x64_2.6-{product|fastdebug}-c2-GCOld_ParallelGC,		\
  11.450 +    linux_x64_2.6-{product|fastdebug}-c2-GCOld_ParNewGC,		\
  11.451 +    linux_x64_2.6-{product|fastdebug}-c2-GCOld_CMS,			\
  11.452 +    linux_x64_2.6-{product|fastdebug}-c2-GCOld_G1,			\
  11.453 +    linux_x64_2.6-{product|fastdebug}-c2-GCOld_ParOldGC,		\
  11.454 +    linux_x64_2.6-{product|fastdebug}-c2-jbb_default_nontiered,		\
  11.455 +    linux_x64_2.6-{product|fastdebug}-c2-jbb_ParallelGC,		\
  11.456 +    linux_x64_2.6-{product|fastdebug}-c2-jbb_G1,			\
  11.457 +    linux_x64_2.6-{product|fastdebug}-c2-jbb_ParOldGC
  11.458 +
  11.459 +my.test.targets.hotspot.macosx.x64=					\
  11.460 +    macosx_x64_10.7-{product|fastdebug}-c2-jvm98,			\
  11.461 +    macosx_x64_10.7-{product|fastdebug}-c2-jvm98_nontiered,		\
  11.462 +    macosx_x64_10.7-{product|fastdebug}-c2-scimark,			\
  11.463 +    macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_SerialGC,		\
  11.464 +    macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_ParallelGC,		\
  11.465 +    macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_ParNewGC,		\
  11.466 +    macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_CMS,		\
  11.467 +    macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_G1,			\
  11.468 +    macosx_x64_10.7-{product|fastdebug}-c2-GCBasher_ParOldGC,		\
  11.469 +    macosx_x64_10.7-{product|fastdebug}-c2-GCOld_SerialGC,		\
  11.470 +    macosx_x64_10.7-{product|fastdebug}-c2-GCOld_ParallelGC,		\
  11.471 +    macosx_x64_10.7-{product|fastdebug}-c2-GCOld_ParNewGC,		\
  11.472 +    macosx_x64_10.7-{product|fastdebug}-c2-GCOld_CMS,			\
  11.473 +    macosx_x64_10.7-{product|fastdebug}-c2-GCOld_G1,			\
  11.474 +    macosx_x64_10.7-{product|fastdebug}-c2-GCOld_ParOldGC,		\
  11.475 +    macosx_x64_10.7-{product|fastdebug}-c2-jbb_default_nontiered,	\
  11.476 +    macosx_x64_10.7-{product|fastdebug}-c2-jbb_ParallelGC,		\
  11.477 +    macosx_x64_10.7-{product|fastdebug}-c2-jbb_G1,			\
  11.478 +    macosx_x64_10.7-{product|fastdebug}-c2-jbb_ParOldGC
  11.479 +
  11.480 +my.test.targets.hotspot.windows.i586=					\
  11.481 +    windows_i586_6.1-{product|fastdebug}-{c1|c2}-jvm98,			\
  11.482 +    windows_i586_6.1-{product|fastdebug}-c2-jvm98_nontiered,		\
  11.483 +    windows_i586_6.1-{product|fastdebug}-{c1|c2}-scimark,		\
  11.484 +    windows_i586_6.1-product-{c1|c2}-runThese,				\
  11.485 +    windows_i586_6.1-product-{c1|c2}-runThese_Xcomp,			\
  11.486 +    windows_i586_6.1-fastdebug-c1-runThese_Xshare,			\
  11.487 +    windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC,	\
  11.488 +    windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC,	\
  11.489 +    windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC,	\
  11.490 +    windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_CMS,		\
  11.491 +    windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_G1,		\
  11.492 +    windows_i586_6.1-{product|fastdebug}-{c1|c2}-GCBasher_ParOldGC,	\
  11.493 +    windows_i586_6.1-product-{c1|c2}-GCOld_SerialGC,			\
  11.494 +    windows_i586_6.1-product-{c1|c2}-GCOld_ParallelGC,			\
  11.495 +    windows_i586_6.1-product-{c1|c2}-GCOld_ParNewGC,			\
  11.496 +    windows_i586_6.1-product-{c1|c2}-GCOld_CMS,				\
  11.497 +    windows_i586_6.1-product-{c1|c2}-GCOld_G1,				\
  11.498 +    windows_i586_6.1-product-{c1|c2}-GCOld_ParOldGC,			\
  11.499 +    windows_i586_6.1-{product|fastdebug}-{c1|c2}-jbb_default,		\
  11.500 +    windows_i586_6.1-{product|fastdebug}-c2-jbb_default_nontiered,	\
  11.501 +    windows_i586_6.1-product-{c1|c2}-jbb_ParallelGC,			\
  11.502 +    windows_i586_6.1-product-{c1|c2}-jbb_CMS,				\
  11.503 +    windows_i586_6.1-product-{c1|c2}-jbb_G1,				\
  11.504 +    windows_i586_6.1-product-{c1|c2}-jbb_ParOldGC
  11.505 +
  11.506 +my.test.targets.hotspot.windows.x64=					\
  11.507 +    windows_x64_6.1-{product|fastdebug}-c2-jvm98,			\
  11.508 +    windows_x64_6.1-{product|fastdebug}-c2-jvm98_nontiered,		\
  11.509 +    windows_x64_6.1-{product|fastdebug}-c2-scimark,			\
  11.510 +    windows_x64_6.1-product-c2-runThese,				\
  11.511 +    windows_x64_6.1-product-c2-runThese_Xcomp,				\
  11.512 +    windows_x64_6.1-{product|fastdebug}-c2-GCBasher_SerialGC,		\
  11.513 +    windows_x64_6.1-{product|fastdebug}-c2-GCBasher_ParallelGC,		\
  11.514 +    windows_x64_6.1-{product|fastdebug}-c2-GCBasher_ParNewGC,		\
  11.515 +    windows_x64_6.1-{product|fastdebug}-c2-GCBasher_CMS,		\
  11.516 +    windows_x64_6.1-{product|fastdebug}-c2-GCBasher_G1,			\
  11.517 +    windows_x64_6.1-{product|fastdebug}-c2-GCBasher_ParOldGC,		\
  11.518 +    windows_x64_6.1-{product|fastdebug}-c2-GCOld_SerialGC,		\
  11.519 +    windows_x64_6.1-{product|fastdebug}-c2-GCOld_ParallelGC,		\
  11.520 +    windows_x64_6.1-{product|fastdebug}-c2-GCOld_ParNewGC,		\
  11.521 +    windows_x64_6.1-{product|fastdebug}-c2-GCOld_CMS,			\
  11.522 +    windows_x64_6.1-{product|fastdebug}-c2-GCOld_G1,			\
  11.523 +    windows_x64_6.1-{product|fastdebug}-c2-GCOld_ParOldGC,		\
  11.524 +    windows_x64_6.1-{product|fastdebug}-c2-jbb_default,			\
  11.525 +    windows_x64_6.1-{product|fastdebug}-c2-jbb_default_nontiered,	\
  11.526 +    windows_x64_6.1-product-c2-jbb_CMS,					\
  11.527 +    windows_x64_6.1-product-c2-jbb_ParallelGC,				\
  11.528 +    windows_x64_6.1-product-c2-jbb_G1,					\
  11.529 +    windows_x64_6.1-product-c2-jbb_ParOldGC
  11.530 +
  11.531 +# Some basic "smoke" tests for OpenJDK builds
  11.532 +my.test.targets.hotspot.open=						\
  11.533 +    solaris_x64_5.10-{productOpen|fastdebugOpen}-c2-jvm98,		\
  11.534 +    linux_x64_2.6-{productOpen|fastdebugOpen}-c2-jvm98
  11.535 +
  11.536 +# The complete list of test targets for jprt
  11.537 +my.test.targets.hotspot=						\
  11.538 +  ${my.test.targets.hotspot.open},					\
  11.539 +  ${my.test.targets.hotspot.solaris.sparcv9},				\
  11.540 +  ${my.test.targets.hotspot.solaris.x64},				\
  11.541 +  ${my.test.targets.hotspot.linux.i586},				\
  11.542 +  ${my.test.targets.hotspot.linux.x64},					\
  11.543 +  ${my.test.targets.hotspot.macosx.x64},				\
  11.544 +  ${my.test.targets.hotspot.windows.i586},				\
  11.545 +  ${my.test.targets.hotspot.windows.x64},				\
  11.546 +  ${my.test.targets.hotspot.solaris.sparcv9},				\
  11.547 +  ${my.test.targets.hotspot.solaris.x64},				\
  11.548 +  ${my.test.targets.hotspot.linux.x64},					\
  11.549 +  ${my.test.targets.hotspot.windows.i586},				\
  11.550 +  ${my.test.targets.hotspot.windows.x64},				\
  11.551 +  ${my.additional.test.targets.hotspot}
  11.552 +
  11.553 +
  11.554 +# Make file based test targets
  11.555 +
  11.556 +my.make.rule.test.targets.hotspot.clienttests=				\
  11.557 +  linux_i586_2.6-*-c1-hotspot_clienttest,				\
  11.558 +  windows_i586_6.1-*-c1-hotspot_clienttest
  11.559 +
  11.560 +my.make.rule.test.targets.hotspot.servertests=				\
  11.561 +  solaris_sparcv9_5.10-*-c2-hotspot_servertest,				\
  11.562 +  solaris_x64_5.10-*-c2-hotspot_servertest,				\
  11.563 +  linux_i586_2.6-*-c2-hotspot_servertest,				\
  11.564 +  linux_x64_2.6-*-c2-hotspot_servertest,				\
  11.565 +  macosx_x64_10.7-*-c2-hotspot_servertest,				\
  11.566 +  windows_i586_6.1-*-c2-hotspot_servertest,				\
  11.567 +  windows_x64_6.1-*-c2-hotspot_servertest
  11.568 +
  11.569 +my.make.rule.test.targets.hotspot.internalvmtests=			\
  11.570 +  solaris_sparcv9_5.10-fastdebug-c2-hotspot_internalvmtests,		\
  11.571 +  solaris_x64_5.10-fastdebug-c2-hotspot_internalvmtests,		\
  11.572 +  linux_i586_2.6-fastdebug-c2-hotspot_internalvmtests,			\
  11.573 +  linux_x64_2.6-fastdebug-c2-hotspot_internalvmtests,			\
  11.574 +  macosx_x64_10.7-fastdebug-c2-hotspot_internalvmtests,			\
  11.575 +  windows_i586_6.1-fastdebug-c2-hotspot_internalvmtests,		\
  11.576 +  windows_x64_6.1-fastdebug-c2-hotspot_internalvmtests
  11.577 +
  11.578 +my.make.rule.test.targets.hotspot.wbapitests=				\
  11.579 +  solaris_sparcv9_5.10-{product|fastdebug}-c2-hotspot_wbapitest,	\
  11.580 +  solaris_x64_5.10-{product|fastdebug}-c2-hotspot_wbapitest,		\
  11.581 +  linux_i586_2.6-{product|fastdebug}-c2-hotspot_wbapitest,		\
  11.582 +  linux_x64_2.6-{product|fastdebug}-c2-hotspot_wbapitest,		\
  11.583 +  windows_i586_6.1-{product|fastdebug}-c2-hotspot_wbapitest,		\
  11.584 +  windows_x64_6.1-{product|fastdebug}-c2-hotspot_wbapitest,		\
  11.585 +  linux_i586_2.6-{product|fastdebug}-c1-hotspot_wbapitest,		\
  11.586 +  windows_i586_6.1-{product|fastdebug}-c1-hotspot_wbapitest
  11.587 +
  11.588 +my.make.rule.test.targets.hotspot=					\
  11.589 +  ${my.make.rule.test.targets.hotspot.clienttests},			\
  11.590 +  ${my.make.rule.test.targets.hotspot.servertests},			\
  11.591 +  ${my.make.rule.test.targets.hotspot.internalvmtests},			\
  11.592 +  ${my.make.rule.test.targets.hotspot.wbapitests},			\
  11.593 +  ${my.additional.make.rule.test.targets.hotspot}
    12.1 --- a/test/Makefile	Mon Oct 20 23:00:27 2014 -0700
    12.2 +++ b/test/Makefile	Fri Oct 24 17:04:51 2014 -0700
    12.3 @@ -33,6 +33,7 @@
    12.4  # This makefile depends on the availability of sibling directories.
    12.5  LANGTOOLS_DIR=$(TOPDIR)/langtools
    12.6  JDK_DIR=$(TOPDIR)/jdk
    12.7 +HOTSPOT_DIR=$(TOPDIR)/hotspot
    12.8  
    12.9  # Macro to run a test target in a subdir
   12.10  define SUBDIR_TEST # subdirectory target
   12.11 @@ -62,6 +63,9 @@
   12.12  jdk_% core_%s svc_%:
   12.13  	@$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), TEST="$@" $@)
   12.14  
   12.15 +hotspot_%:
   12.16 +	@$(NO_STOPPING)$(call SUBDIR_TEST, $(HOTSPOT_DIR), TEST="$@" $@)
   12.17 +
   12.18  ################################################################
   12.19  
   12.20  # Phony targets (e.g. these are not filenames)

mercurial