#!/bin/sh
# Test GCC.
-# Copyright (C) 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2005, 2006, 2009
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+# along with this program; see the file COPYING3. If not see
+# <http://www.gnu.org/licenses/>.
# INPUT:
# btest <options> <target> <source> <prefix> <state> <build>
add_passes_despite_regression=0
+dashj=''
# <options> can be
# --add-passes-despite-regression:
# Add new "PASSes" despite there being some regressions.
+# -j<n>:
+# Pass '-j<n>' to make.
case "$1" in
--add-passes-despite-regression)
add_passes_despite_regression=1; shift;;
- --*) echo "Invalid option: $1"; exit 2;;
+ -j*)
+ dashj=$1; shift;;
+ -*) echo "Invalid option: $1"; exit 2;;
esac
# TARGET is the target triplet. It should be the same one as used in
# TESTLOGS is the list of dejagnu .sum files that the tester should
# look at.
-TESTLOGS="gcc/testsuite/gcc.sum
-gcc/testsuite/g++.sum
-gcc/testsuite/objc.sum"
+TESTLOGS="gcc/testsuite/gcc/gcc.sum
+gcc/testsuite/g++/g++.sum
+gcc/testsuite/gfortran/gfortran.sum
+gcc/testsuite/objc/objc.sum"
# Build.
echo build > $RESULT
if [ $H_HOST = $H_TARGET ] ; then
$SOURCE/configure --prefix=$PREFIX --target=$H_TARGET || exit 1
- if ! make bootstrap ; then
- [ -s gcc/.bad_compare ] || exit 1
- cat gcc/.bad_compare >> $REGRESS || exit 1
- make all || exit 1
+ if ! make $dashj bootstrap ; then
+ [ -s .bad_compare ] || exit 1
+ cat .bad_compare >> $REGRESS || exit 1
+ touch compare || exit 1 # Prevent the comparison from running again
+ make $dashj all || exit 1
fi
else
withopt="--with-gnu-ld --with-gnu-as"
*) withopt="$withopt --with-newlib";;
esac
$SOURCE/configure --prefix=$PREFIX --target=$H_TARGET $withopt || exit 1
- make || exit 1
+ make $dashj || exit 1
fi
echo error > $RESULT || exit 1
# Test GCC against its internal testsuite.
-make -k check-gcc
+make $dashj -k check
-# Test libstd++-v3
-make check-target-libstdc++-v3
if [ -f $BUILD/$H_TARGET/libstdc++-v3/testsuite/libstdc++.sum ] ; then
TESTLOGS="$TESTLOGS $H_TARGET/libstdc++-v3/testsuite/libstdc++.sum"
fi
-# Test libffi
-make check-target-libffi
if [ -f $BUILD/$H_TARGET/libffi/testsuite/libffi.sum ] ; then
TESTLOGS="$TESTLOGS $H_TARGET/libffi/testsuite/libffi.sum"
fi
-# Test libjava
-make check-target-libjava
if [ -f $BUILD/$H_TARGET/libjava/testsuite/libjava.sum ] ; then
TESTLOGS="$TESTLOGS $H_TARGET/libjava/testsuite/libjava.sum"
fi
+if [ -f $BUILD/$H_TARGET/libgomp/testsuite/libgomp.sum ] ; then
+ TESTLOGS="$TESTLOGS $H_TARGET/libgomp/testsuite/libgomp.sum"
+fi
+
# Test the just-built GCC with the GDB testsuite.
if [ -d $GDB_TESTSUITE ] ; then
mkdir test-gdb || exit 1