summaryrefslogtreecommitdiffstats
path: root/main/make/make-3.82-parallel-remake.patch
blob: 923e60ba248f77f6bff08d816c5d4df8b38116a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
fix from upstream cvs

----------------------------
revision 1.247
date: 2011-09-18 19:39:26 -0400;  author: psmith;  state: Exp;  lines: +5 -3;  commitid: 07NxO4T5PiWC82Av;
When we re-exec the master makefile in a jobserver environment, ensure
that MAKEFLAGS is set properly so the re-exec'd make runs in parallel.
See Savannah bug #33873.

Index: main.c
===================================================================
RCS file: /sources/make/make/main.c,v
retrieving revision 1.246
retrieving revision 1.247
diff -u -p -r1.246 -r1.247
--- ./main.c	29 Aug 2010 23:05:27 -0000	1.246
+++ ./main.c	18 Sep 2011 23:39:26 -0000	1.247
@@ -2089,6 +2089,11 @@ main (int argc, char **argv, char **envp
 
           ++restarts;
 
+          /* If we're re-exec'ing the first make, put back the number of
+             job slots so define_makefiles() will get it right.  */
+          if (master_job_slots)
+            job_slots = master_job_slots;
+
           /* Reset makeflags in case they were changed.  */
           {
             const char *pv = define_makeflags (1, 1);
@@ -2825,9 +2830,6 @@ define_makeflags (int all, int makefile)
 		       && (*(unsigned int *) cs->value_ptr ==
 			   *(unsigned int *) cs->noarg_value))
 		ADD_FLAG ("", 0); /* Optional value omitted; see below.  */
-	      else if (cs->c == 'j')
-		/* Special case for `-j'.  */
-		ADD_FLAG ("1", 1);
 	      else
 		{
 		  char *buf = alloca (30);