OSDN Git Service

* configure.ac: Determine Sun ld version numbers.
[pf3gnuchains/gcc-fork.git] / contrib / regression / btest-gcc.sh
index b03d025..2898576 100755 (executable)
@@ -1,11 +1,12 @@
 #!/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
@@ -109,18 +115,20 @@ H_REAL_TARGET=`$SOURCE/config.sub $H_TARGET || exit 1`
 
 # 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"
@@ -129,31 +137,29 @@ else
     *) 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