Date: Fri, 16 Aug 2013 18:47:18 +0000 (UTC) From: "Simon J. Gerraty" <sjg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r254419 - head/contrib/bmake Message-ID: <201308161847.r7GIlIGW006139@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sjg Date: Fri Aug 16 18:47:18 2013 New Revision: 254419 URL: http://svnweb.freebsd.org/changeset/base/254419 Log: Add .MAKE.ALWAYS_PASS_JOB_QUEUE knob (default yes) for backwards compatability. Modified: head/contrib/bmake/job.c head/contrib/bmake/make.1 Modified: head/contrib/bmake/job.c ============================================================================== --- head/contrib/bmake/job.c Fri Aug 16 16:55:39 2013 (r254418) +++ head/contrib/bmake/job.c Fri Aug 16 18:47:18 2013 (r254419) @@ -172,6 +172,14 @@ __RCSID("$NetBSD: job.c,v 1.175 2013/07/ # define STATIC static /* + * FreeBSD: traditionally .MAKE is not required to + * pass jobs queue to sub-makes. + * Use .MAKE.ALWAYS_PASS_JOB_QUEUE=no to disable. + */ +#define MAKE_ALWAYS_PASS_JOB_QUEUE ".MAKE.ALWAYS_PASS_JOB_QUEUE" +static int Always_pass_job_queue = TRUE; + +/* * error handling variables */ static int errors = 0; /* number of errors reported */ @@ -1360,7 +1368,7 @@ JobExec(Job *job, char **argv) (void)fcntl(0, F_SETFD, 0); (void)lseek(0, (off_t)0, SEEK_SET); - if (job->node->type & OP_MAKE) { + if (Always_pass_job_queue || (job->node->type & OP_MAKE)) { /* * Pass job token pipe to submakes. */ @@ -2226,6 +2234,9 @@ Job_Init(void) lastNode = NULL; + Always_pass_job_queue = getBoolean(MAKE_ALWAYS_PASS_JOB_QUEUE, + Always_pass_job_queue); + /* * There is a non-zero chance that we already have children. * eg after 'make -f- <<EOF' Modified: head/contrib/bmake/make.1 ============================================================================== --- head/contrib/bmake/make.1 Fri Aug 16 16:55:39 2013 (r254418) +++ head/contrib/bmake/make.1 Fri Aug 16 18:47:18 2013 (r254419) @@ -721,6 +721,17 @@ The preferred variable to use is the env because it is more compatible with other versions of .Nm and cannot be confused with the special target with the same name. +.It Va .MAKE.ALWAYS_PASS_JOB_QUEUE +Tells +.Nm +whether to pass the descriptors of the job token queue +even if the target is not tagged with +.Ic .MAKE +The default is +.Ql Pa yes +for backwards compatability with +.Fx 9 +and earlier. .It Va .MAKE.DEPENDFILE Names the makefile (default .Ql Pa .depend )
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308161847.r7GIlIGW006139>