summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>2009-09-08 18:50:39 +0000
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>2009-09-08 18:50:39 +0000
commit0d5027f393a5ee56eb6bca16a3977ee88ab24b26 (patch)
treebd6bf65ec15ff2fd5f257d5b9bb0932ddad66fb5
parent33af831fe34e4fc1dc2fd785bb7d522c5e9f7986 (diff)
downloadgdb-0d5027f393a5ee56eb6bca16a3977ee88ab24b26.tar.gz
Fix parallel check//% rule in gdb for non-VPATH build.
gdb/: * gdb/Makefile.in (check//%): Parse 'config.status --version' output to recreate the configuration from the testsuite directory, rather than running 'config.status --recheck' from a different build directory. Let configure do the recursion rather than doing it manually.
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/Makefile.in17
2 files changed, 17 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0283607cf0b..595281100f8 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2009-09-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gdb/Makefile.in (check//%): Parse 'config.status --version'
+ output to recreate the configuration from the testsuite directory,
+ rather than running 'config.status --recheck' from a different
+ build directory. Let configure do the recursion rather than
+ doing it manually.
+
2009-09-08 Jan Kratochvil <jan.kratochvil@redhat.com>
* ia64-tdep.c (ia64_memory_remove_breakpoint): Call do_cleanups
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 90c285fc653..7bc02cd8b1d 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -888,6 +888,7 @@ check: force
# a shell that expands alternations within braces. If GNU make is not
# used, this rule will harmlessly fail to match. Used FORCE_PARALLEL to
# prevent serialized checking due to the passed RUNTESTFLAGS.
+# FIXME: use config.status --config not --version, when available.
check//%: force
@if [ -f testsuite/config.status ]; then \
rootme=`pwd`; export rootme; \
@@ -896,14 +897,14 @@ check//%: force
variant=`echo "$@" | sed 's,^[^/]*//,,'`; \
vardots=`echo "$$variant" | sed 's,/,.,g'`; \
testdir=testsuite.$$vardots; \
- if [ ! -f $$testdir/Makefile ]; then \
- (cd testsuite && find . -name config.status) | \
- sed s,/config.status$$,, | sort | while read subdir; do \
- $(SHELL) $(srcdir)/../mkinstalldirs $$testdir/$$subdir && \
- (cd $$testdir/$$subdir && \
- $(SHELL) $$rootme/testsuite/$$subdir/config.status \
- --recheck && \
- $(SHELL) ./config.status); done; \
+ if [ ! -f $$testdir/Makefile ] && [ -f testsuite/config.status ]; then \
+ configargs=`cd testsuite && ./config.status --version | \
+ sed -n -e 's,"$$,,' -e 's,^ *with options ",,p'`; \
+ $(SHELL) $(srcdir)/../mkinstalldirs $$testdir && \
+ (cd $$testdir && \
+ eval $(SHELL) "\"\$$rootsrc/testsuite/configure\" $$configargs" \
+ "\"--srcdir=\$$rootsrc/testsuite\"" \
+ ); \
else :; fi && cd $$testdir && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) \
RUNTESTFLAGS="--target_board=$$variant $(RUNTESTFLAGS)" \