summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2023-04-02 10:29:37 -0400
committerPaul Smith <psmith@gnu.org>2023-04-02 10:29:37 -0400
commit54b3202f8da0761c7d5a3410313f0a32eb63ef8b (patch)
treea653108d17670cc08d74b231f465dce805075164
parent5111087e120b3146aed8a958c38684f6d9d6c257 (diff)
downloadmake-git-54b3202f8da0761c7d5a3410313f0a32eb63ef8b.tar.gz
[SV 63981] Don't warn on explicit -j1
If -j1 is given explicitly on the command line don't warn about it. * src/main.c (main): Skip the warning if -j1. * tests/scripts/features/jobserver: Add a test for this behavior.
-rw-r--r--src/main.c2
-rw-r--r--tests/scripts/features/jobserver16
2 files changed, 15 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c
index 5d6b9e76..8587de61 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1830,7 +1830,7 @@ main (int argc, char **argv, char **envp)
/* The user provided a -j setting on the command line so use it: we're
the master make of a new jobserver group. */
- else if (!restarts)
+ else if (!restarts && argv_slots != 1)
ON (error, NILF,
_("warning: -j%d forced in submake: resetting jobserver mode"),
argv_slots);
diff --git a/tests/scripts/features/jobserver b/tests/scripts/features/jobserver
index f8cae542..50d51f80 100644
--- a/tests/scripts/features/jobserver
+++ b/tests/scripts/features/jobserver
@@ -110,7 +110,7 @@ default: ; @ #MAKEPATH# -f Makefile2
rmfiles('Makefile2');
}
-# Ensure enter/leave directory messages appear before jobserver warnings
+# SV 63981: Don't generat warnings if the user specifically disabled -j
run_make_test(q!
all: ; @$(MAKE) -C . -f #MAKEFILE# recurse -j1
@@ -118,7 +118,19 @@ recurse: ; @echo hi
!,
'-w -j2', "#MAKE#: Entering directory '#PWD#'
#MAKE#[1]: Entering directory '#PWD#'
-#MAKE#[1]: warning: -j1 forced in submake: resetting jobserver mode
+hi
+#MAKE#[1]: Leaving directory '#PWD#'
+#MAKE#: Leaving directory '#PWD#'");
+
+# Ensure enter/leave directory messages appear before jobserver warnings
+
+run_make_test(q!
+all: ; @$(MAKE) -C . -f #MAKEFILE# recurse -j10
+recurse: ; @echo hi
+!,
+ '-w -j2', "#MAKE#: Entering directory '#PWD#'
+#MAKE#[1]: Entering directory '#PWD#'
+#MAKE#[1]: warning: -j10 forced in submake: resetting jobserver mode
hi
#MAKE#[1]: Leaving directory '#PWD#'
#MAKE#: Leaving directory '#PWD#'\n");