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 )
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to