diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-01-11 17:11:28 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-01-11 17:11:28 +0000 |
commit | a738a85c0400ef8cac90af4e5f0291818abf2494 (patch) | |
tree | c3e87d5c559c94e98246fc7524bc6b306e41d75b /gcc | |
parent | fb6754f0963d3a6571d07d3189eedcf92985219c (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/Makefile.in | 47 |
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` ; \ |