[TEST] make -j patch [take 2]
Matthew Dillon
dillon at apollo.backplane.com
Fri Nov 12 12:46:36 PST 2004
I'm probably crazy to jump into this but... guys, I have to say that
this sounds like a great feature (and keep in mind that Poul and I tend
not to get along very well). It would really be silly to rip it out
because two people can't agree on a simple override mechanism to make
'make universe' operate in a more parallel manner.
I suggest simply treating an empty MAKE_JOBS_FIFO env variable the same
as a non-existant one, or perhaps also allowing for a keyword to make
things more obvious, So:
Index: job.c
===================================================================
RCS file: /FreeBSD/FreeBSD-CVS/src/usr.bin/make/job.c,v
retrieving revision 1.57
diff -u -r1.57 job.c
--- job.c 12 Nov 2004 08:58:06 -0000 1.57
+++ job.c 12 Nov 2004 20:43:07 -0000
@@ -2120,7 +2120,7 @@
stoppedJobs = Lst_Init(FALSE);
env = getenv("MAKE_JOBS_FIFO");
- if (env == NULL && maxproc > 1) {
+ if ((env == NULL || *env == 0 || strcmp(env, "restart") == 0) && maxproc > 1) {
/*
* We did not find the environment variable so we are the leader.
* Create the fifo, open it, write one char per allowed job into
And then compromise on the make universe target by running the
sub-make buildworlds with an empty MAKE_JOBS_FIFO. e.g
MAKE_JOBS_FIFO=restart ${MAKE} ... in just one place in the Makefile.
Seems reasonable to me!
With such an obvious solution available this argument really shouldn't
have happened.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the freebsd-current
mailing list