diff --git a/bin/genxviews b/bin/genxviews
index c447077..22bee77 100755
--- a/bin/genxviews
+++ b/bin/genxviews
@@ -30,6 +30,16 @@
     fi
 fi
 
+readonly www_stdcxx_dir="/www/stdcxx.apache.org/builds"
+
+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
@@ -38,9 +48,8 @@
 # write verbose progress output to stdout?
 verbose=0
 
-
 # process command line options
-while getopts "dvD:o:V:" opt_name; do
+while getopts "dvD:L:o:V:" opt_name; do
     case $opt_name in
         # options with no arguments
 
@@ -54,10 +63,14 @@
 
         # options with arguments
 
-        D)  # output directory
+        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
             ;;
@@ -72,30 +85,27 @@
 
 
 # set the Subversion and output directories based on version
-if [ "$version" == "" ]; then
+if [ "$version" = "" ]; then
 
     # Subversion (sub)directory under stdcxx/
     svndir="trunk"
 
     # set output directory unless already set on the command line
-    if [ "$outdir" = "" ]; then
-        outdir="$HOME/public_html/stdcxx/results/builds"
+    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" = "" ]; then
-        outdir="$HOME/public_html/stdcxx-$version/results/builds"
+    if [ "$outdir" = "" -a -w $www_stdcxx_dir ]; then
+        outdir="/www/stdcxx.apache.org/builds/$version"
     fi
 
     verarg="-V$version"
 fi
 
-# program to invoke to process detailed results
-CROSS=$HOME/stdcxx/bin/xbuildgen
-
 
 # extract the script's revision number
 myrev='$Revision$'
@@ -103,7 +113,7 @@
 myrev=${myrev%' $'}            # strip trailing text
 
 # form the URL to this version of the script in the repository
-myurl='$HeadURL: http://svn.apache.org/repos/asf/stdcxx/$svndir/bin/genxviews $'
+myurl='$HeadURL: http://svn.apache.org/repos/asf/stdcxx/trunk/bin/genxviews $'
 myurl=${myurl#'$HeadURL: '}   # strip leading text
 myurl=${myurl##*asf/}         # strip svn prefix
 myurl=${myurl%' $'}           # strip trailing text
@@ -116,9 +126,24 @@
 
 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
 
 ######################################################################
@@ -144,10 +169,7 @@
 
 # start the clock measuring the amount of wall clock time to process
 # all logs and generate the page
-start_time=`LC_ALL=C date`
-
-
-cd $outdir/..
+readonly start_time=`LC_ALL=C date`
 
 
 readonly scripturl="<a href=\"$myurl\"><code>$myname</code></a>"
@@ -201,7 +223,8 @@
     xfile="$5"
 
     if [ $verbose -ne 0 ]; then
-        echo "$myname: processing logs for $osname-$arch-$compiler: $alllogs"
+        echo "$myname: processing logs for $compiler on $osname, $arch"
+        echo "$myname: searching for files matching \"$alllogs\""
     fi
 
     cat<<EOF | output
@@ -229,8 +252,8 @@
     for b in $btypes; do
         for s in $suffixes; do
 
-            log=`echo $alllogs | tr ' ' '\n' | grep "[-]$b$s-" \
-                               | sort | tail -n 1`
+            log=`  echo $logdir/$alllogs | tr ' ' '\n' \
+                 | grep "[-]$b$s-" | sort | tail -n 1`
 
             if [ "$log" != "" ]; then
                 buildlogs="$buildlogs $log"
@@ -250,13 +273,13 @@
         output "            <td><i>$xfile</i></td>"
     else
         if [ $verbose -ne 0 ]; then
-            echo "$myname: $CROSS $verarg -s -o$outdir/$xfile -T\"$title\" $buildlogs"
+            echo "$myname: $XBUILDGEN $verarg -s -o$outdir/$xfile -T\"$title\" $buildlogs"
         fi
 
         output "            <td><a href=\"$xfile\">$xfile</a></td>"
 
         if [ $dryrun -eq 0 ]; then
-            $CROSS $verarg -s -o$outdir/$xfile -T"$title" $buildlogs
+            $XBUILDGEN $verarg -s -o$outdir/$xfile -T"$title" $buildlogs
         fi
     fi
 
@@ -355,7 +378,7 @@
 # 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.htm
+                irix-6.5-mips-mipspro-7.41.html
 
 # Red Hat Linux ########################################################
 # Red Hat Enterprise Linux 5.0
@@ -587,7 +610,7 @@
 readonly now=`date`
 processing_time=`$HOME/stdcxx/bin/duration "$start_time" "$now"`
 
-cat<<EOF
+cat<<EOF | output
     </table>
     <hr>
     <i>Generated in $processing_time.</i>
diff --git a/bin/xbuildgen b/bin/xbuildgen
index 65f42b4..374c7c1 100755
--- a/bin/xbuildgen
+++ b/bin/xbuildgen
@@ -878,13 +878,6 @@
 
 ######################################################################
 
-# the location of the logs
-if [ -z $version ]; then
-    logdir="http://people.apache.org/~sebor/stdcxx/results"
-else
-    logdir="http://people.apache.org/~sebor/stdcxx-$version/results"
-fi
-
 # the name of a temporary file containing the build timings
 timings_file=$TMPDIR/.stdcxx-timings.$$
 
@@ -905,6 +898,7 @@
 
 # space-separated list of names of text logs processed in loop below
 textlogs=""
+logdir=""
 
 for l in $gzlogs; do
     logcount=$((logcount + 1))
@@ -917,6 +911,12 @@
     # set temporary variables (valid only within the loop)
     txtlog=$TMPDIR/`basename $l .gz.txt`.txt.$$
 
+    if [ "$logdir" = "" ]; then
+        logdir=`dirname $l`
+    elif [ $logdir != `dirname $l` ]; then
+        echo "$myname: not implemented: logs in multiple directories" >&2
+    fi
+
     # append the name of the log to the list
     textlogs="$textlogs $txtlog"
 
@@ -936,74 +936,14 @@
 
 ######################################################################
 
-# process a list of builds, one build per row
-process_builds()
-{
-    component_type=$1   # example, locale, or test
-    component_list=$2   # list of component names
-
-    cat <<EOF | output
-    <h2>Results of ${component_type}s</h2>
-    <table>
-      <tr>
-        <th><a name="${component_type}s"></a>log</th>
-        $table_header
-      </tr>
-EOF
-
-    for l in $textlogs; do
-
-        fname=`basename $l .$$`
-        cat <<EOF | output
-      <tr>
-        <td class="name">
-            <a href="$logdir/$fname">$fname</a>
-        </td>
-EOF
-
-        for c in $component_list; do
-
-            line=`grep "^$c  *[^-]" $l`
-            if [ $? -eq 0 -a "$line" != "" ]; then
-                  echo $line \
-                | awk -f $xcomp component=$component_type         \
-                      name=$c verbose=$verbose expect="$expect"   \
-                | output
-            else
-                output "        <td class=\"missing\">N/A</td>"
-            fi
-        done
-
-        output "      </tr>"
-    done
-    output "    </table>"
-}
-
-
-if [ $components_in_rows -ne 0 ]; then
-
-    # check to see 
-    if [ -r $xfailfile ]; then
-        xfails=$xfailfile
-    else
-        xfails=""
-    fi
-
-    awk -f $xcomp bodyonly=1 $xfails $textlogs | output
+# check to see 
+if [ -r $xfailfile ]; then
+    xfails=$xfailfile
 else
-    if [ "$examples_list" != "" ]; then
-        process_builds "example" "$examples_list"
-    fi
-
-    if [ "$test_list" != "" ]; then
-        process_builds "test" "$test_list"
-    fi
-
-    if [ "$locale_list" != "" ]; then
-        process_builds "locale" "$locale_list"
-    fi
+    xfails=""
 fi
 
+awk -f $xcomp bodyonly=1 logdir=$logdir $xfails $textlogs | output
 
 ######################################################################
 # output the rest of the HTML file
diff --git a/bin/xcomp.awk b/bin/xcomp.awk
index 12e542a..9201c88 100755
--- a/bin/xcomp.awk
+++ b/bin/xcomp.awk
@@ -23,7 +23,7 @@
 ########################################################################
 #
 # SYNOPSIS
-#     myname [bodyonly=0|1] logs...
+#     myname [bodyonly=0|1 logdir=<logdir>] logs...
 #
 # VARIABLES:
 #   bodyonly     when non-zero, suppresses the <html> tags
@@ -1777,7 +1777,7 @@
     # replace the trailing .txt suffix with .gz.txt
     sub("\\.txt$", ".gz.txt", fref)
 
-    return "../" fref
+    return logdir "/" fref
 }
 
 
