source: branches/libc-0.6/src/gcc/contrib/regression/objs-gcc.sh

Last change on this file was 1392, checked in by bird, 21 years ago

This commit was generated by cvs2svn to compensate for changes in r1391,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 4.1 KB
Line 
1#!/bin/sh
2
3# Build tools for testing GCC.
4# Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
5
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2 of the License, or
9# (at your option) any later version.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
20# INPUT:
21# btest <target> <source> <prefix> <state> <build>
22# TARGET is the target triplet. It should be the same one as used in
23# constructing PREFIX. Or it can be the keyword 'native', indicating
24# a target of whatever platform the script is running on.
25TARGET=$1
26# SOURCE is the directory containing the toplevel configure.
27SOURCE=$2
28
29# PREFIX is the directory for the --prefix option to configure.
30PREFIX=$3
31
32# STATE is where the tester maintains its internal state,
33# described below.
34STATE=$4
35
36# BUILD is a temporary directory that this script will
37# delete and recreate, containing the build tree.
38BUILD=$5
39
40# you also probably need to set these variables:
41# DEJAGNU: should point to a site.exp suitable for testing
42# the compiler and debugger.
43
44# OUTPUT: in $RESULT, one of the following keywords:
45# error the script failed due to
46# a misconfiguration or resource limitation
47# build the build failed
48# regress-<n> the build succeeded, but there were <n>
49# testsuite regressions, listed in $REGRESS
50# pass build succeeded and there were no regressions
51RESULT=$STATE/RESULT
52# in BUILD_LOG, the output of the build
53BUILD_LOG=$STATE/build_log
54# in FAILED, a list of failing testcases
55FAILED=$STATE/failed
56# in PASSES, the list of testcases we expect to pass
57PASSES=$STATE/passes
58# in REGRESS, a list of testcases we expected to pass but that failed
59REGRESS=$STATE/regress
60
61# Make sure various files exist.
62[ -d $STATE ] || mkdir $STATE
63[ -f $PASSES ] || touch $PASSES
64
65# These lines should stay in this order, because
66# that way if something is badly wrong and $RESULT can't
67# be modified then cron will mail the error message.
68# The reverse order could lead to the testsuite claiming that
69# everything always passes, without running any tests.
70echo error > $RESULT || exit 1
71exec > $BUILD_LOG 2>&1 || exit 1
72
73set -x
74
75# TESTLOGS is the list of dejagnu .sum files that the tester should
76# look at.
77TESTLOGS="test/gcc/gcc.sum
78test/g++/g++.sum"
79
80# Nuke $BUILD and recreate it.
81rm -rf $BUILD $REGRESS $FAILED
82mkdir $BUILD $BUILD/build $BUILD/objs || exit 1
83cd $BUILD || exit 1
84
85# This script used to use config.guess, but that is not how releng
86# determines hostnames.
87H_BUILD=`$SOURCE/config.guess || exit 1`
88H_HOST=$H_BUILD
89if [ $TARGET = native ] ; then
90 H_TARGET=$H_HOST
91else
92 H_TARGET=$TARGET
93fi
94H_REAL_TARGET=`$SOURCE/config.sub $H_TARGET || exit 1`
95H_REAL_BUILD=`$SOURCE/config.sub $H_BUILD || exit 1`
96H_REAL_HOST=`$SOURCE/config.sub $H_HOST || exit 1`
97
98# Build.
99echo build > $RESULT
100
101cd $BUILD/build || exit 1
102TMP_PREFIX=$BUILD/install
103$SOURCE/configure --prefix=$PREFIX --target=$H_TARGET || exit 1
104if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ]
105 then
106 make all-gdb all-dejagnu all-ld || exit 1
107 make install-gdb install-dejagnu install-ld || exit 1
108elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
109 make bootstrap || exit 1
110 make install || exit 1
111else
112 make || exit 1
113 make install || exit 1
114fi
115
116if [ -x $PREFIX/bin/$TARGET-gdb ] ; then
117 mkdir -p $PREFIX/share/gdb-testsuite || exit 1
118 cd $SOURCE/gdb/testsuite || exit 1
119 find . -print | cpio -pdmu $PREFIX/share/gdb-testsuite || exit 1
120 # selftest.exp requires keeping old sources around, which is impractical
121 rm $PREFIX/share/gdb-testsuite/gdb.base/selftest.exp
122 # these tests seem to be broken and randomly failing
123 rm -r $PREFIX/share/gdb-testsuite/gdb.mi
124fi
125
126echo pass > $RESULT
127exit 0
Note: See TracBrowser for help on using the repository browser.