head	1.2;
access;
symbols;
locks; strict;
comment	@# @;


1.2
date	99.02.16.15.03.34;	author bkoz;	state dead;
branches;
next	1.1;

1.1
date	99.02.10.21.40.54;	author bkoz;	state Exp;
branches;
next	;


desc
@@


1.2
log
@
1999-02-16  Benjamin Kosnik  <bkoz@@cygnus.com>
	* src/Makefile.in (locale-inst.lo): Compile with
 	-fimplicit-templates to fix Solaris link problem.
	-* libio/Makefile.in: Revert. Glomming on all the libio
 	functionality only helps when debugging iostreams vs. libio: if
 	this is desired, use the r1.2 version of this file.
	* src/locale.cc: Provide some kind of def for _S_tolower.
	* bits/locfacets.h: Fix declarations of ctype<wchar_t> to
 	match ctype<char> for _S_tolower, _S_toupper, _S_table.
@
text
@#!/usr/unsupported/bin/bash
#
# 981021 bkoz
# make_check_libsuite++
# A wrapper for the make_check_PHconf that attempts to guess the parameters
# for that script.
#
# To run libsuite++ from the build directory, you'll need to do a
# couple of things:
#   1) check out sources for libstdc++v3 (LIB_SRC)
#   2) make a build directory for libstdc++v3 (LSPP_HOME)
#   3) configure and build the library
#   4) check out the sources for unsupported/g++-tests/libsuite++ (LSPP_SRC)
#   5) add a link to the above in your build directory
#   6) copy make_check_libsuite++ and make_check_PHconf into your build dir
#   7) run make_check_libsuite++ 

# date formatted in an ISO-ish way
LSPP_DATE="$(date +%y%m%d)"

# information on what paths are being used, and other diagnostics
LSPP_VERBOSE=1
export LSPP_VERBOSE

# save this build directory away
LSPP_HOME="$(pwd)"

# get libsuite++ build directory (in ./testsuite/date-libsuite++)
if [ ! -d "testsuite" ]; then
  mkdir testsuite
fi
cd testsuite
LSPP_BLD_DIR="$LSPP_DATE-libsuite++"
if [ -d "$LSPP_BLD_DIR" ]; then
 if [ -z "$CONT" ]; then
    rm -rf $LSPP_BLD_DIR
    echo "Clobbering previous run you did today, removing older $LSPP_BLD_DIR"
 fi
fi
mkdir $LSPP_BLD_DIR
cd $LSPP_BLD_DIR
LSPP_BLD="$(pwd)"
cd ../..

# get libsuite++ source directory
if [ ! -d "libsuite++" ]; then
  echo "Plum Hall's libsuite++ is a proprietary validaton suite.  As"
  echo "such, it cannot be distributed with libstdc++. If you have these"
  echo "sources, please put a link to the libsuite++ directory in the root"
  echo "level of your build directory."
  exit 1
else
  cd "libsuite++"
  LSPP_SRC="$(pwd)"
fi
cd $LSPP_HOME

# get library binary directory
# method 1: usually in src/.lib
# method 2: get prefix path from config.status and look in it's lib dir
if [ ! -d "src/.libs" ]; then
  echo "sorry cannot find directory for library binaries"
  exit 1
fi
cd "src/.libs"
if [ ! -f "libstdc++.a" ]; then
  echo "sorry cannot find libstdc++.a"
  exit 1
fi
LIB_BIN="$(pwd)"
cd $LSPP_HOME

# get library source directory
# method 1: grep Makefile for srcdir
# awk this to get directory. .
LIB_SRC_TMP="$(grep ^srcdir Makefile)"
LIB_SRC_TMP="`echo $LIB_SRC_TMP | awk -F \= '{print $2}'`" 
cd $LIB_SRC_TMP
LIB_SRC="$(pwd)"
cd $LSPP_HOME

# debug
# before we start a run, make sure variables are cool
if [ $LSPP_VERBOSE -eq 1 ]; then
    echo "LSPP_SRC = $LSPP_SRC"
    echo "LSPP_BLD = $LSPP_BLD"
    echo "LIB_SRC = $LIB_SRC"
    echo "LIB_BIN = $LIB_BIN"
fi

# start run
LSPP_TIME_START="$(date +%s)"
. ./make_check_PHconf 1 $LSPP_SRC $LSPP_BLD $LIB_SRC $LIB_BIN
 

# end run: do summary, etc.
LSPP_TIME_END="$(date +%s)"
if [ $LSPP_TIME_START -lt $LSPP_TIME_END ]; then
  LSPP_TIME_TOTAL_S=$[ $LSPP_TIME_END - $LSPP_TIME_START ]
  LSPP_TIME_TOTAL_M=$[ $LSPP_TIME_TOTAL_S / 60 ]
  echo "Elapsed time: $LSPP_TIME_TOTAL_S seconds"
  echo "Elapsed time: $LSPP_TIME_TOTAL_M minutes"
else
  echo "some clock irregularities noticed in computing run time"
fi

# the output of this is flawed, as it doesn't really do a good job of
# tracking compiler and linker related failures, and counts them as
# skipped. Therefore, do this and use Brendan's scripts too.
cd $LSPP_BLD
echo "Elapsed time: $LSPP_TIME_TOTAL_M minutes" >> $LSPP_DATE-sum
summary -f conform.exp >> $LSPP_DATE-sum

#981119 bkoz
# Give a set of results...
# Force the results into a proper suite++-961202.{txt,html} file.
OUTNAME="$LSPP_BLD/$LSPP_DATE-results" 
export OUTNAME
echo "$OUTNAME is the results file"

rm -f /tmp/list.$$
find $LSPP_BLD/conform/*dir \( -name "*.out" -o -name "*.i" \) -print | sort -n > /tmp/list.$$
[ $? -ne 0 ] && failed "find of .out/.i" log-$LSPP_DATE

echo "Running the PROCESS script on the results..."
$LSPP_SRC/cygnus/PROCESS -f /tmp/list.$$
[ $? -ne 0 ] && failed "PROCESS script" log-$LSPP_DATE

rm -f /tmp/list.$$

echo "Rnning the translate script to compare the results..."
SUITE_LOGDIR=$WORK/$CPU 
export SUITE_LOGDIR
echo "SUITE_LOGDIR == $SUITE_LOGDIR"
echo "this is where we are looking $SRCDIR/cygnus/translate"
sh $LSPP_SRC/cygnus/translate > $OUTNAME
[ $? -ne 0 ] && failed "translate script" log-$TODAY

echo way done on `hostname` at `date`
exit 0









@


1.1
log
@#
1999-02-10  Benjamin Kosnik  <bkoz@@cygnus.com>
	* bits/loccore.tcc: Move member-template ctor inline...
	* bits/loccore.h: ...here.
	* src/locale-inst.cc: Add instantiation here.
	* testsuite/27/27stringstream.cc: Tweak.
	* bits/ostream.tcc: Include sbuf_iter.h.
	* bits/ostream.tcc: Convert *this to ostreambuf_iterator before
	passing to num_put, as num_put's first argument is an interator,
	not basic_ostream.
	* testsuite/make_check_libfree++: New file, runs through the
	existing test files in the testsuite directory and makes sure
	they link.
	* testsuite/make_check_libsuite++: New file, for
	running libsuite++ from PlumHall. This test harness and test cases
	are proprietary, and may be obtained under license from PlumHall
	only.
	* testsuite/make_check_PHconf: New file, configuration file for above.
@
text
@@

