| #!/bin/sh |
| # |
| # $Id$ |
| # |
| ######################################################################## |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed |
| # with this work for additional information regarding copyright |
| # ownership. The ASF licenses this file to you under the Apache |
| # License, Version 2.0 (the "License"); you may not use this file |
| # except in compliance with the License. You may obtain a copy of |
| # the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
| # implied. See the License for the specific language governing |
| # permissions and limitations under the License. |
| # |
| ######################################################################## |
| |
| if [ "$BASH" = "" ]; then |
| # this is not Bash; try to invoke it |
| if [ -x /usr/local/bin/bash ]; then |
| /usr/local/bin/bash $0 "$@" |
| exit $? |
| fi |
| fi |
| |
| readonly www_stdcxx_dir="/www/stdcxx.apache.org/builds" |
| |
| # current date and time to compute log ages |
| readonly now=`date` |
| |
| XBUILDGEN=`which xbuildgen 2>/dev/null` |
| |
| if [ "$XBUILDGEN" = "" ]; then |
| XBUILDGEN=`dirname $0`/xbuildgen |
| fi |
| |
| # default directory where to look for build logs to process |
| logdir=. |
| |
| # show the command line to invoke xbuildgen without actually |
| # invoking the script |
| dryrun=0 |
| |
| # write verbose progress output to stdout? |
| verbose=0 |
| |
| # process command line options |
| while getopts "dvD:L:o:V:" opt_name; do |
| case $opt_name in |
| # options with no arguments |
| |
| d) # dry run (do not invoke xbuildgen) |
| dryrun=1 |
| ;; |
| |
| v) # verbose mode |
| verbose=1 |
| ;; |
| |
| # options with arguments |
| |
| D) # argument names the directory where to create output files |
| outdir=$OPTARG |
| ;; |
| |
| L) # argument names the directory containing build logs |
| logdir=$OPTARG |
| ;; |
| |
| o) # argument is the name of output file (stdout by default) |
| outfile=$OPTARG |
| |
| # temporary output file (will replace outfile when done) |
| tmpout=$outfile.$$ |
| ;; |
| |
| V) # specify stdcxx branch/version to generate cross-build |
| # result views for (trunk by default) |
| version=$OPTARG |
| ;; |
| |
| esac; |
| done |
| |
| |
| # set the Subversion and output directories based on version |
| if [ "$version" = "" ]; then |
| |
| # Subversion (sub)directory under stdcxx/ |
| svndir="trunk" |
| |
| # set output directory unless already set on the command line |
| if [ "$outdir" = "" -a -w $www_stdcxx_dir ]; then |
| outdir="/www/stdcxx.apache.org/builds/$svndir" |
| fi |
| else |
| # Subversion (sub)directory under stdcxx/ |
| svndir="branches/$version" |
| |
| # set output directory unless already set on the command line |
| if [ "$outdir" = "" -a -w $www_stdcxx_dir ]; then |
| outdir="/www/stdcxx.apache.org/builds/$version" |
| fi |
| |
| verarg="-V$version" |
| fi |
| |
| |
| # extract the script's revision number |
| myrev='$Revision$' |
| myrev=${myrev#'$Revision: '} # strip leading text |
| myrev=${myrev%' $'} # strip trailing text |
| |
| # form the URL to this version of the script in the repository |
| myurl='$HeadURL$' |
| myurl=${myurl#'$HeadURL: '} # strip leading text |
| myurl=${myurl##*asf/} # strip svn prefix |
| myurl=${myurl%' $'} # strip trailing text |
| |
| # prepend ViewVC prefix |
| myurl="http://svn.apache.org/viewvc/$myurl" |
| |
| # extract program name from the url (used in diagnostic messages) |
| readonly myname=${myurl##*/} |
| |
| myurl="$myurl?view=markup&rev=$myrev" |
| |
| ###################################################################### |
| # validate arguments |
| |
| if [ ! -x $XBUILDGEN ]; then |
| echo "$myname $error: cannot find xbuildgen" >&1 |
| exit 2 |
| fi |
| |
| |
| if [ ! -d "$logdir" -o ! -r "$logdir" ]; then |
| echo "$myname error: \"$logdir\" does not exist or isn't readable" >&2 |
| exit 2 |
| fi |
| |
| |
| if [ $verbose -ne 0 ]; then |
| echo "$myname: using output directory: \"$outdir\"" |
| echo "$myname: reading logs from: \"$logdir\"" |
| fi |
| |
| ###################################################################### |
| |
| # write to output file when specified or to stdout otherwise |
| output () |
| { |
| if [ $# -eq 0 ]; then |
| # no arguments provided, copy its own stdin to tmpout |
| if [ -z $tmpout ]; then |
| cat |
| else |
| cat >>$tmpout |
| fi |
| elif [ -z $tmpout ]; then |
| echo "$*" |
| else |
| echo "$*" >>$tmpout |
| fi |
| } |
| |
| ###################################################################### |
| |
| # start the clock measuring the amount of wall clock time to process |
| # all logs and generate the page |
| readonly start_time=`LC_ALL=C date` |
| |
| |
| readonly scripturl="<a href=\"$myurl\"><code>$myname</code></a>" |
| |
| cat<<EOF | output |
| <html> |
| <body> |
| <style type="text/css"> |
| |
| table { |
| border-width:0px; |
| background:#000000; |
| font-size:smaller; |
| } |
| th { |
| font-size:smaller; |
| background:#cccccc; |
| text-align:center; |
| } |
| td { |
| font-size:smaller; |
| padding: 3px; |
| text-align: center; |
| background-color: lightblue; |
| } |
| </style> |
| <h1>Available Multi-platform Build Result Views</h1> |
| Generated `date` by $scripturl on `hostname` running `uname -sr` |
| <hr> |
| <table> |
| <thead> |
| <tr> |
| <th>Operating System</td> |
| <th>Architecture</td> |
| <th>Compiler</td> |
| <th title="Cross-build result page">Build Results</td> |
| <th title="Total number of logs">Logs</td> |
| <th title="Number of logs added since the last run">New</td> |
| <th title="Timestamp of oldest log">Age</td> |
| <th title="Time to process all logs">Time<br>(sec)</td> |
| </tr> |
| </thead> |
| <tbody> |
| EOF |
| |
| |
| process_results () |
| { |
| osname="$1" |
| arch="$2" |
| compiler="$3" |
| alllogs="$4" |
| xfile="$5" |
| |
| if [ $verbose -ne 0 ]; then |
| echo "$myname: processing logs for $compiler on $osname, $arch" |
| echo "$myname: searching for files matching \"$alllogs\"" |
| fi |
| |
| cat<<EOF | output |
| <tr> |
| <td>$osname</td> |
| <td>$arch</td> |
| <td>$compiler</td> |
| EOF |
| |
| # build types: |
| # 8: not reentrant, optimized, no debugging info |
| # 11: not reentrant, not optimized with debugging info |
| # 12: reentrant, optimized, no debugging info |
| # 15: reentrant, not optimized, with debugging info |
| btypes="8 11 12 15" |
| |
| # a, A: AIX shared archive (32-bit and 64-bit, respectively) |
| # d, D: shared library (.sl, .so, or .dll) |
| # s, S: archive library (.a or .lib) |
| suffixes="a A d D s S" |
| |
| unset buildlogs |
| unset oldest_age |
| unset oldest_time |
| |
| count=0 |
| |
| for b in $btypes; do |
| for s in $suffixes; do |
| log=` echo $logdir/$alllogs | tr ' ' '\n' \ |
| | grep "[-]$b$s-" | sort | tail -n 1` |
| |
| if [ "$log" != "" ]; then |
| buildlogs="$buildlogs $log" |
| count=`expr $count + 1` |
| fi |
| done |
| done |
| |
| if [ -e $outdir/$xfile ]; then |
| # count the number of logs that are newer than the cross-build file |
| newlogs=`find $logdir/ -name "$alllogs" -newer $outdir/$xfile | wc -l` |
| else |
| # cross-build file doesn't exist yet, all logs are considered new |
| newlogs=$count |
| fi |
| |
| if [ $verbose -ne 0 ]; then |
| echo "$myname: found $count logs ($newlogs new): $buildlogs" |
| fi |
| |
| # create a title for the page |
| title="$compiler results on $osname/$arch" |
| |
| # start the clock |
| duration=`expr \( $(date +%M) \* 60 \) + $(date +%S)` |
| |
| if [ "$buildlogs" = "" ]; then |
| # format missing logs in italics |
| output " <td><i>$xfile</i></td>" |
| else |
| output " <td><a href=\"$xfile\">$xfile</a></td>" |
| |
| oldest_time=` cd $logdir && LANG=C ls -lrt $buildlogs | head -n 1 \ |
| | awk '{ print $6 " " $7 " " $8 }'` |
| |
| if [ $newlogs -gt 0 ]; then |
| |
| # only invoken xbuildgen when there are new logs to proecess |
| # otherwise simply point at the previously generated cross |
| # build file |
| |
| if [ $verbose -ne 0 ]; then |
| echo "$myname: $XBUILDGEN $verarg -s -o$outdir/$xfile -T\"$title\" $buildlogs" |
| fi |
| |
| if [ $dryrun -eq 0 ]; then |
| $XBUILDGEN $verarg -s -o$outdir/$xfile -T"$title" $buildlogs |
| fi |
| fi |
| fi |
| |
| # compute the number of seconds it took to process the logs |
| end=`expr \( \( $(date +%M) \* 60 \) + $(date +%S) \)` |
| |
| if [ $end -lt $duration ]; then |
| # adjust for overflow |
| end=`expr $end + 60` |
| fi |
| |
| # compute the amount of time it took to process this batch |
| duration=`expr $end - $duration` |
| |
| # compute the age of the oldest log |
| if [ "$oldest_time" != "" ]; then |
| oldest_age=`duration "$oldest_time" "$now"` |
| fi |
| |
| cat<<EOF | output |
| <td>$count</td> |
| <td>$newlogs</td> |
| <td title="$oldest_time">$oldest_age</td> |
| <td>$duration</td> |
| </tr> |
| EOF |
| } |
| |
| ######################################################################## |
| # operating systems and compilers below are listed alphabetically |
| # starting with the most recent version first |
| |
| # AIX ################################################################## |
| process_results "AIX 5.3" "PowerPC" "IBM XLC++ 9.0" \ |
| "aix-5.3-ppc-vacpp-9.0-*-*-log.gz.txt" \ |
| aix-5.3-ppc-vacpp-9.0.html |
| |
| process_results "AIX 5.3" "PowerPC" "IBM XLC++ 8.0" \ |
| "aix-5.3-ppc-vacpp-8.0-*-*-log.gz.txt" \ |
| aix-5.3-ppc-vacpp-8.0.html |
| |
| process_results "AIX 5.3" "PowerPC" "IBM XLC++ 7.0" \ |
| "aix-5.3-ppc-vacpp-7.0-*-*-log.gz.txt" \ |
| aix-5.3-ppc-vacpp-7.0.html |
| |
| process_results "AIX 5.2" "PowerPC" "IBM VisualAge C++ 6.0" \ |
| "aix-5.2-ppc-vacpp-6.0-*-*-log.gz.txt" \ |
| aix-5.2-ppc-vacpp-6.0.html |
| |
| # FreeBSD ############################################################## |
| process_results "FreeBSD 6.2" "x86" "gcc 3.4.4" \ |
| "freebsd-6.2-x86-gcc-3.4.4-*-*-log.gz.txt" \ |
| freebsd-6.2-x86-gcc-3.4.4.html |
| |
| # HP-UX ################################################################ |
| process_results "HP-UX 11.31" "IPF" "HP aCC 6.16" \ |
| "hpux-11.31-ia64-acc-6.16-*-*-log.gz.txt" \ |
| hpux-11.31-ia64-6.16.html |
| |
| process_results "HP-UX 11.31" "IPF" "HP aCC 6.15" \ |
| "hpux-11.31-ia64-acc-6.15-*-*-log.gz.txt" \ |
| hpux-11.31-ia64-6.15.html |
| |
| process_results "HP-UX 11.31" "PA-RISC" "HP aCC 3.74" \ |
| "hpux-11.31-pa-acc-3.74-*-*-log.gz.txt" \ |
| hpux-11.31-pa-acc-3.74.html |
| |
| process_results "HP-UX 11.31" "PA-RISC" "HP aCC 3.73" \ |
| "hpux-11.31-pa-acc-3.73-*-*-log.gz.txt" \ |
| hpux-11.31-pa-acc-3.73.html |
| |
| process_results "HP-UX 11.23" "IPF" "HP aCC 6.13" \ |
| "hpux-11.23-ia64-acc-6.13-*-*-log.gz.txt" \ |
| hpux-11.23-ia64-acc-6.13.html |
| |
| process_results "HP-UX 11.23" "IPF" "HP aCC 6.00" \ |
| "hpux-11.23-ia64-acc-6.00-*-*-log.gz.txt" \ |
| hpux-11.23-ia64-acc-6.00.html |
| |
| process_results "HP-UX 11.23" "IPF" "HP aCC 5.57" \ |
| "hpux-11.23-ia64-acc-5.57-*-*-log.gz.txt" \ |
| hpux-11.23-ia64-acc-5.57.html |
| |
| process_results "HP-UX 11.23" "PA-RISC" "HP aCC 3.80" \ |
| "hpux-11.23-pa-acc-3.80-*-*-log.gz.txt" \ |
| hpux-11.23-pa-acc-3.80.html |
| |
| process_results "HP-UX 11.23" "PA-RISC" "HP aCC 3.73" \ |
| "hpux-11.23-pa-acc-3.73-*-*-log.gz.txt" \ |
| hpux-11.23-pa-acc-3.73.html |
| |
| process_results "HP-UX 11.23" "PA-RISC" "HP aCC 3.63" \ |
| "hpux-11.23-pa-acc-3.63-*-*-log.gz.txt" \ |
| hpux-11.23-pa-acc-3.63.html |
| |
| process_results "HP-UX 11.11" "PA-RISC" "HP aCC 3.73" \ |
| "hpux-11.11-pa-acc-3.73-*-*-log.gz.txt" \ |
| hpux-11.11-pa-acc-3.73.html |
| |
| process_results "HP-UX 11.11" "PA-RISC" "HP aCC 3.63" \ |
| "hpux-11.11-pa-acc-3.63-*-*-log.gz.txt" \ |
| hpux-11.11-pa-acc-3.63.html |
| |
| # IRIX ################################################################# |
| process_results "IRIX 6.5" "MIPS" "SGI MIPSpro 7.41" \ |
| "irix-6.5-mips-mipspro-7.41-*-*-log.gz.txt" \ |
| irix-6.5-mips-mipspro-7.41.html |
| |
| # Red Hat Linux ######################################################## |
| # Red Hat Enterprise Linux 5.0 |
| process_results "Red Hat Enterprise Linux 5.0" "EM64T" "EDG eccp 3.9" \ |
| "linux_redhat_el-5.0-em64t-eccp-3.9-*-*-log.gz.txt" \ |
| linux_redhat_el-5.0-em64t-eccp-3.9.html |
| |
| process_results "Red Hat Enterprise Linux 5.0" "EM64T" "gcc 4.3.0" \ |
| "linux_redhat_el-5.0-em64t-gcc-4.3.0-*-*-log.gz.txt" \ |
| linux_redhat_el-5.0-em64t-gcc-4.3.0.html |
| |
| process_results "Red Hat Enterprise Linux 5.0" "EM64T" "gcc 4.1.1" \ |
| "linux_redhat_el-5.0-em64t-gcc-4.1.1-*-*-log.gz.txt" \ |
| linux_redhat_el-5.0-em64t-gcc-4.1.1.html |
| |
| process_results "Red Hat Enterprise Linux 5.0" "EM64T" "Intel C++ 11.0" \ |
| "linux_redhat_el-5.0-em64t-icc-11.0-*-*-log.gz.txt" \ |
| linux_redhat_el-5.0-em64t-icc-11.0.html |
| |
| process_results "Red Hat Enterprise Linux 5.0" "EM64T" "Intel C++ 10.0" \ |
| "linux_redhat_el-5.0-em64t-icc-10.0-*-*-log.gz.txt" \ |
| linux_redhat_el-5.0-em64t-icc-10.0.html |
| |
| process_results "Red Hat Enterprise Linux 5.0" "EM64T" "Intel C++ 9.1" \ |
| "linux_redhat_el-5.0-em64t-icc-9.1-*-*-log.gz.txt" \ |
| linux_redhat_el-5.0-em64t-icc-9.1.html |
| |
| # Red Hat Enterprise Linux 4 Update 4 |
| process_results "Red Hat Enterprise Linux 4 Update 4" "AMD64" "gcc 4.3.0" \ |
| "linux_redhat_el-4.4-amd64-gcc-4.3.0-*-*-log.gz.txt" \ |
| linux_redhat_el-4.4-amd64-gcc-4.3.0.html |
| |
| process_results "Red Hat Enterprise Linux 4 Update 4" "AMD64" "gcc 3.4.6" \ |
| "linux_redhat_el-4.4-amd64-gcc-3.4.6-*-*-log.gz.txt" \ |
| linux_redhat_el-4.4-amd64-gcc-3.4.6.html |
| |
| process_results "Red Hat Enterprise Linux 4 Update 4" "EM64T" "Intel C++ 10.0" \ |
| "linux_redhat_el-4.4-em64t-icc-10.0-*-*-log.gz.txt" \ |
| linux_redhat_el-4.4-em64t-icc-10.0.html |
| |
| process_results "Red Hat Enterprise Linux 4 Update 4" "EM64T" "Intel C++ 9.1" \ |
| "linux_redhat_el-4.4-em64t-icc-9.1-*-*-log.gz.txt" \ |
| linux_redhat_el-4.4-em64t-icc-9.1.html |
| |
| # Red Hat Enterprise Linux 4 Update 2 |
| process_results "Red Hat Enterprise Linux 4 Update 4" "AMD64" "gcc 3.4.6" \ |
| "linux_redhat_el-4.4-amd64-gcc-3.4.6-*-*-log.gz.txt" \ |
| linux_redhat_el-4.4-amd64-gcc-3.4.6.html |
| |
| process_results "Red Hat Enterprise Linux 4 Update 2" "IA64" "gcc 3.4.4" \ |
| "linux_redhat_el-4.2-ia64-gcc-3.4.4-*-*-log.gz.txt" \ |
| linux_redhat_el-4.2-ia64-gcc-3.4.4.html |
| |
| process_results "Red Hat Enterprise Linux 4 Update 2" "IA64" "Intel C++ 9.1" \ |
| "linux_redhat_el-4.2-ia64-icc-9.1-*-*-log.gz.txt" \ |
| linux_redhat_el-4.2-ia64-icc-9.1.html |
| |
| # Red Hat Enterprise Linux 3 Update 8 |
| process_results "Red Hat Enterprise Linux 3 Update 8" "EM64T" "gcc 3.2.3" \ |
| "linux_redhat_el-3.8-em64t-gcc-3.2.3-*-*-log.gz.txt" \ |
| linux_redhat_el-3.8-em64t-gcc-3.2.3.html |
| |
| # Solaris ############################################################## |
| process_results "Solaris 10" "SPARC" "EDG eccp 3.9" \ |
| "solaris-10-sparc-eccp-3.9-*-*-log.gz.txt" \ |
| solaris-10-sparc-eccp-3.9.html |
| |
| process_results "Solaris 10" "SPARC" "gcc 4.3.0" \ |
| "solaris-10-sparc-gcc-4.3.0-*-*-log.gz.txt" \ |
| solaris-10-sparc-gcc-4.3.0.html |
| |
| process_results "Solaris 10" "SPARC" "gcc 4.1.1" \ |
| "solaris-10-sparc-gcc-4.1.1-*-*-log.gz.txt" \ |
| solaris-10-sparc-gcc-4.1.1.html |
| |
| process_results "Solaris 10" "SPARC" "Sun C++ 5.9" \ |
| "solaris-10-sparc-sunpro-5.9-*-*-log.gz.txt" \ |
| solaris-10-sparc-sunpro-5.9.html |
| |
| process_results "Solaris 10" "SPARC" "Sun C++ 5.8" \ |
| "solaris-10-sparc-sunpro-5.8-*-*-log.gz.txt" \ |
| solaris-10-sparc-sunpro-5.8.html |
| |
| process_results "Solaris 10" "SPARC" "Sun C++ 5.7" \ |
| "solaris-10-sparc-sunpro-5.7-*-*-log.gz.txt" \ |
| solaris-10-sparc-sunpro-5.7.html |
| |
| process_results "Solaris 9" "SPARC" "EDG eccp 3.9" \ |
| "solaris-9-sparc-eccp-3.9-*-*-log.gz.txt" \ |
| solaris-9-sparc-eccp-3.9.html |
| |
| process_results "Solaris 9" "SPARC" "Sun C++ 5.9" \ |
| "solaris-9-sparc-sunpro-5.9-*-*-log.gz.txt" \ |
| solaris-9-sparc-sunpro-5.9.html |
| |
| process_results "Solaris 9" "SPARC" "Sun C++ 5.6" \ |
| "solaris-9-sparc-sunpro-5.6-*-*-log.gz.txt" \ |
| solaris-9-sparc-sunpro-5.6.html |
| |
| process_results "Solaris 8" "SPARC" "Sun C++ 5.8" \ |
| "solaris-8-sparc-sunpro-5.8-*-*-log.gz.txt" \ |
| solaris-8-sparc-sunpro-5.8.html |
| |
| process_results "Solaris 8" "SPARC" "Sun C++ 5.3" \ |
| "solaris-8-sparc-sunpro-5.3-*-*-log.gz.txt" \ |
| solaris-8-sparc-sunpro-5.3.html |
| |
| process_results "Solaris 10" "AMD64" "Sun C++ 5.9" \ |
| "solaris-10-amd64-sunpro-5.9-*-*-log.gz.txt" \ |
| solaris-10-amd64-sunpro-5.9.html |
| |
| process_results "Solaris 10" "AMD64" "Sun C++ 5.8" \ |
| "solaris-10-amd64-sunpro-5.8-*-*-log.gz.txt" \ |
| solaris-10-amd64-sunpro-5.8.html |
| |
| # SuSE Linux ########################################################### |
| # SuSE Enterprise Server 10 |
| process_results "SuSE Enterprise Server 10.0" "EM64T" "EDG eccp 3.9" \ |
| "linux_suse-10.0-em64t-eccp-3.9-*-*-log.gz.txt" \ |
| linux_suse-10.0-em64t-eccp-3.9.html |
| |
| process_results "SuSE Enterprise Server 10.0" "EM64T" "gcc 4.3.0" \ |
| "linux_suse-10.0-em64t-gcc-4.3.0-*-*-log.gz.txt" \ |
| linux_suse-10.0-em64t-gcc-4.3.0.html |
| |
| process_results "SuSE Enterprise Server 10.0" "EM64T" "gcc 4.1.0" \ |
| "linux_suse-10.0-em64t-gcc-4.1.0-*-*-log.gz.txt" \ |
| linux_suse-10.0-em64t-gcc-4.1.0.html |
| |
| process_results "SuSE Enterprise Server 10.0" "EM64T" "Intel C++ 10.0" \ |
| "linux_suse-10.0-em64t-icc-10.0-*-*-log.gz.txt" \ |
| linux_suse-10.0-em64t-icc-10.0.html |
| |
| process_results "SuSE Enterprise Server 10.0" "EM64T" "Intel C++ 9.1" \ |
| "linux_suse-10.0-em64t-icc-9.1-*-*-log.gz.txt" \ |
| linux_suse-10.0-em64t-icc-9.1.html |
| |
| # SuSE Enterprise Server 9.1 |
| process_results "SuSE Enterprise Server 9.1" "AMD64" "gcc 3.3.3" \ |
| "linux_suse-9.1-amd64-gcc-3.3.3-*-*-log.gz.txt" \ |
| linux_suse-9.1-amd64-gcc-3.3.3.html |
| |
| process_results "SuSE Enterprise Server 9.1" "AMD64" "Intel C++ 10.0" \ |
| "linux_suse-9.1-amd64-icc-10.0-*-*-log.gz.txt" \ |
| linux_suse-9.1-amd64-icc-10.0.html |
| |
| process_results "SuSE Enterprise Server 9.1" "AMD64" "Intel C++ 9.1" \ |
| "linux_suse-9.1-amd64-icc-9.1-*-*-log.gz.txt" \ |
| linux_suse-9.1-amd64-icc-9.1.html |
| |
| process_results "SuSE Enterprise Server 9.1" "AMD64" "EDG eccp 3.9" \ |
| "linux_suse-9.1-amd64-eccp-3.9-*-*-log.gz.txt" \ |
| linux_suse-9.1-amd64-eccp-3.9.html |
| |
| process_results "SuSE Enterprise Server 9.1" "AMD64" "Sun C++ 5.9" \ |
| "linux_suse-9.1-amd64-sunpro-5.9-*-*-log.gz.txt" \ |
| linux_suse-9.1-amd64-sunpro-5.9.html |
| |
| # Tru64 UNIX ########################################################### |
| |
| process_results "Tru64 UNIX 5.1" "Alpha" "HP C++ 7.1" \ |
| "tru64-5.1-alpha-compaq-7.1-*-*-log.gz.txt" \ |
| tru64-5.1-alpha-compaq-7.1.html |
| |
| # CygWin ############################################################### |
| process_results "CygWin/Windows XP" "x86" "gcc 3.4.4" \ |
| "win_xp-2-x86-gcc-3.4.4-*-*-log.gz.txt" \ |
| win_xp-2-x86-gcc-3.4.4.html |
| |
| # Windows ############################################################## |
| |
| process_results "Windows 2008" "EM64T" "MSVC 9.0" \ |
| "win_2008-0-em64t-msvc-9.0-*-*-log.gz.txt" \ |
| win_2008_0-em64t-msvc-9.0.html |
| |
| process_results "Windows 2008" "EM64T" "MSVC 8.0" \ |
| "win_2008-0-em64t-msvc-8.0-*-*-log.gz.txt" \ |
| win_2008_0-em64t-msvc-8.0.html |
| |
| process_results "Windows 2008" "EM64T" "Intel C++ 11.0" \ |
| "win_2008-0-em64t-icl-11.0-*-*-log.gz.txt" \ |
| win_2008_0-em64t-icl-11.0.html |
| |
| process_results "Windows Vista" "EM64T" "MSVC 9.0" \ |
| "win_vista-0-em64t-msvc-9.0-*-*-log.gz.txt" \ |
| win_vista_0-em64t-msvc-9.0.html |
| |
| process_results "Windows Vista" "EM64T" "MSVC 8.0" \ |
| "win_vista-0-em64t-msvc-8.0-*-*-log.gz.txt" \ |
| win_vista_0-em64t-msvc-8.0.html |
| |
| process_results "Windows Vista" "EM64T" "Intel C++ 11.0" \ |
| "win_vista-0-em64t-icl-11.0-*-*-log.gz.txt" \ |
| win_vista_0-em64t-icl-11.0.html |
| |
| process_results "Windows Vista" "EM64T" "Intel C++ 10.0" \ |
| "win_vista-0-em64t-icl-10.0-*-*-log.gz.txt" \ |
| win_vista_0-em64t-icl-10.0.html |
| |
| process_results "Windows XP, SP2" "x86" "MSVC 8.0" \ |
| "win_xp-2-x86-msvc-8.0-*-*-log.gz.txt" \ |
| win_xp_2-x86-msvc-8.0.html |
| |
| process_results "Windows XP, SP2" "x86" "MSVC 7.1" \ |
| "win_xp-2-x86-msvc-7.1-*-*-log.gz.txt" \ |
| win_xp_2-x86-msvc-7.1.html |
| |
| process_results "Windows XP, SP2" "x86" "Intel C++ 11.0" \ |
| "win_xp-2-x86-icl-11.0-*-*-log.gz.txt" \ |
| win_xp_2-x86-icl-11.0.html |
| |
| process_results "Windows XP, SP2" "x86" "Intel C++ 10.0" \ |
| "win_xp-2-x86-icl-10.0-*-*-log.gz.txt" \ |
| win_xp_2-x86-icl-10.0.html |
| |
| process_results "Windows XP, SP2" "x86" "Intel C++ 9.1" \ |
| "win_xp-2-x86-icl-9.1-*-*-log.gz.txt" \ |
| win_xp_2-x86-icl-9.1.html |
| |
| process_results "Windows XP, SP1" "EM64T" "MSVC 9.0" \ |
| "win_xp-1-em64t-msvc-9.0-*-*-log.gz.txt" \ |
| win_xp_1-em64t-msvc-9.0.html |
| |
| process_results "Windows XP, SP1" "EM64T" "MSVC 8.0" \ |
| "win_xp-1-em64t-msvc-8.0-*-*-log.gz.txt" \ |
| win_xp_1-em64t-msvc-8.0.html |
| |
| process_results "Windows XP, SP1" "EM64T" "Intel C++ 10.0" \ |
| "win_xp-1-em64t-icl-10.0-*-*-log.gz.txt" \ |
| win_xp_1-em64t-icl-10.0.html |
| |
| process_results "Windows 2003, SP1" "EM64T" "MSVC 9.0" \ |
| "win_2003-1-em64t-msvc-9.0-*-*-log.gz.txt" \ |
| win_2003_1-em64t-msvc-9.0.html |
| |
| process_results "Windows 2003, SP1" "EM64T" "MSVC 8.0" \ |
| "win_2003-1-em64t-msvc-8.0-*-*-log.gz.txt" \ |
| win_2003_1-em64t-msvc-8.0.html |
| |
| process_results "Windows 2003, SP1" "EM64T" "Intel C++ 10.0" \ |
| "win_2003-1-em64t-icl-10.0-*-*-log.gz.txt" \ |
| win_2003_1-em64t-icl-10.0.html |
| |
| process_results "Windows 2000, SP4" "x86" "MSVC 7.1" \ |
| "win_2000-4-x86-msvc-7.1-*-*-log.gz.txt" \ |
| win_2000_4-x86-msvc-7.1.html |
| |
| process_results "Windows 2000, SP4" "x86" "Intel C++ 9.1" \ |
| "win_2000-4-x86-icl-9.1-*-*-log.gz.txt" \ |
| win_2000_4-x86-icl-9.1.html |
| |
| |
| # compute the number of seconds it took to process all logs |
| processing_time=`duration "$start_time" "$now"` |
| |
| cat<<EOF | output |
| </table> |
| <hr> |
| <i>Generated in $processing_time.</i> |
| </body> |
| </html> |
| EOF |
| |
| # rerame the temporary output file to $outfile, possibly replacing |
| # the original $outfile if it exists |
| if [ -f "$tmpout" ]; then |
| mv $tmpout $outfile |
| fi |