From 96d68bd48c77fa44e517c3380ee8f224cbce00e5 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Tue, 7 Aug 2018 13:20:40 +0200 Subject: [PATCH] Support parallel make check with GNU make 4.2+ I noticed that make -jN check would run make check-single when using GNU make 4.2.1. In the end, it turned out that this is due to this change from the make 4.2 NEWS file: * The amount of parallelism can be determined by querying MAKEFLAGS, even when the job server is enabled (previously MAKEFLAGS would always contain only "-j", with no number, when job server was enabled). The fix is trivial: just accept an optional arg to -j in Makefile.in (saw_dash_j). Tested on i386-pc-solaris2.11 with just make and make -j/-jN with both make 3.82 and 4.2.1. * Makefile.in (saw_dash_j): Allow for GNU make 4.2+ passing -jN in MAKEFLAGS. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/Makefile.in | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 3ec7580..f86e8fb 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-08-07 Rainer Orth + + * Makefile.in (saw_dash_j): Allow for GNU make 4.2+ passing -jN in + MAKEFLAGS. + 2018-08-06 Rainer Orth * dg-extract-results.sh: Move to toplevel contrib. diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in index c8e3749..f669a3c 100644 --- a/gdb/testsuite/Makefile.in +++ b/gdb/testsuite/Makefile.in @@ -137,10 +137,11 @@ $(abs_builddir)/site.exp site.exp: ./config.status Makefile installcheck: -# See whether -j was given to make. Either it was given with no -# arguments, and appears as "j" in the first word, or it was given an -# argument and appears as "-j" in a separate word. -saw_dash_j = $(or $(findstring j,$(firstword $(MAKEFLAGS))),$(filter -j,$(MAKEFLAGS))) +# See whether -j was given to make. Before GNU make 4.2, either it was +# given with no arguments, and appears as "j" in the first word, or it was +# given an argument and appears as "-j" in a separate word. Starting with +# GNU make 4.2, it always appears as "-j"/"-jN" in a separate word. +saw_dash_j = $(or $(findstring j,$(firstword $(MAKEFLAGS))),$(filter -j%,$(MAKEFLAGS))) # Try to run the tests in parallel if any -j option is given. If RUNTESTFLAGS # is not empty, then by default the tests will be serialized. This can be -- 2.7.4