aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-01-11 17:11:28 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2001-01-11 17:11:28 +0000
commita738a85c0400ef8cac90af4e5f0291818abf2494 (patch)
treec3e87d5c559c94e98246fc7524bc6b306e41d75b /gcc
parentfb6754f0963d3a6571d07d3189eedcf92985219c (diff)
downloadgcc-a738a85c0400ef8cac90af4e5f0291818abf2494.zip
gcc-a738a85c0400ef8cac90af4e5f0291818abf2494.tar.gz
gcc-a738a85c0400ef8cac90af4e5f0291818abf2494.tar.bz2
Makefile.in (check-gcc//%, [...]): Support parallel testing of multilibs.
* Makefile.in (check-gcc//%, check-g++//%, check-g77//%, check-objc//%): Support parallel testing of multilibs. (TESTSUITEDIR): Set to testsuite by default, but override for parallel testing. (check-gcc, check-g++, check-g77, check-objc): Enter $(TESTSUITEDIR). From-SVN: r38909
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/Makefile.in47
2 files changed, 39 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cb3295e..186c339 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2001-01-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
+ check-objc//%): Support parallel testing of multilibs.
+ (TESTSUITEDIR): Set to testsuite by default, but override for
+ parallel testing.
+ (check-gcc, check-g++, check-g77, check-objc): Enter
+ $(TESTSUITEDIR).
+
2001-01-11 Bernd Schmidt <bernds@redhat.com>
* alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 03f928b..fc12879 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -2730,49 +2730,62 @@ CHECK_TARGETS = check-gcc check-g++ check-g77 check-objc @CHECK_PO@
check: $(CHECK_TARGETS)
-testsuite/site.exp: site.exp
- if [ -d testsuite ]; then \
- true; \
- else \
- mkdir testsuite; \
- fi
- rm -rf testsuite/site.exp
- cp site.exp testsuite/site.exp
-
-check-g++: testsuite/site.exp
+PAR_CHECK_TARGETS = $(CHECK_TARGETS:check-%=check/%)
+
+# The idea is to parallelize testing of multilibs, for example:
+# make -j3 check/gcc/sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
+# will run 3 concurrent sessions of check-gcc, eventually testing
+# all 10 combinations. GNU make is required, as is a shell that expands
+# alternations within braces.
+$(PAR_CHECK_TARGETS:=/%): site.exp
+ target=`echo "$@" | sed 's,/,-,;s,/.*,,'`; \
+ variant=`echo "$@" | sed 's,/,-,;s,^[^/]*/,,'`; \
+ vardots=`echo "$$variant" | sed 's,/,.,g'`; \
+ $(MAKE) TESTSUITEDIR="testsuite.$$vardots" \
+ RUNTESTFLAGS="--target_board=$$variant $(RUNTESTFLAGS)" \
+ "$$target"
+
+TESTSUITEDIR = testsuite
+
+$(TESTSUITEDIR)/site.exp: site.exp
+ test -d $(TESTSUITEDIR) || mkdir $(TESTSUITEDIR)
+ -rm -f $@
+ sed '/set tmpdir/ s|testsuite|$(TESTSUITEDIR)|' < site.exp > $@
+
+check-g++: $(TESTSUITEDIR)/site.exp
-(rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
- cd testsuite; \
+ cd $(TESTSUITEDIR); \
EXPECT=${EXPECT} ; export EXPECT ; \
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
$(RUNTEST) --tool g++ $(RUNTESTFLAGS))
-check-gcc: testsuite/site.exp
+check-gcc: $(TESTSUITEDIR)/site.exp
-(rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
- cd testsuite; \
+ cd $(TESTSUITEDIR); \
EXPECT=${EXPECT} ; export EXPECT ; \
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
$(RUNTEST) --tool gcc $(RUNTESTFLAGS))
-check-g77: testsuite/site.exp
+check-g77: $(TESTSUITEDIR)/site.exp
-(rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
- cd testsuite; \
+ cd $(TESTSUITEDIR); \
EXPECT=${EXPECT} ; export EXPECT ; \
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; pwd` ; \
export TCL_LIBRARY ; fi ; \
$(RUNTEST) --tool g77 $(RUNTESTFLAGS))
-check-objc: testsuite/site.exp
+check-objc: $(TESTSUITEDIR)/site.exp
-(rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
- cd testsuite; \
+ cd $(TESTSUITEDIR); \
EXPECT=${EXPECT} ; export EXPECT ; \
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; pwd` ; \