From: Rainer Orth Date: Tue, 7 Aug 2018 11:20:40 +0000 (+0200) Subject: Support parallel make check with GNU make 4.2+ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=96d68bd48c77fa44e517c3380ee8f224cbce00e5;p=binutils-gdb.git 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. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 3ec7580b97a..f86e8fb2741 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 c8e37496f44..f669a3c4458 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