Hi,

The following patch makes -jn work. I don't claim it's any sort of
long-term solution.

The hack consists of simply dropping .NOTPARALLEL: into the right Makefile, but
since .NOTPARALLEL is broken (see bin/10985 for the gory details) you'll
need the attached patch for make too.

Index: src/gnu/usr.bin/cc/cc_tools/Makefile
===================================================================
RCS file: /CVSROOT/src/gnu/usr.bin/cc/cc_tools/Makefile,v
retrieving revision 1.18
diff -c -r1.18 Makefile
*** Makefile    1999/04/05 10:18:50     1.18
--- Makefile    1999/04/06 17:29:50
***************
*** 2,7 ****
--- 2,10 ----
  # $Id: Makefile,v 1.18 1999/04/05 10:18:50 peter Exp $
  #

+ # XXX band-aid for -jn
+ .NOTPARALLEL:
+
  #
  # This could probably be merged with ../cc_int/Makefile, but bsd.lib.mk
  # is such a !...@#!*#% nightmare because of how it reprograms the 
dependencies,
Index: src/usr.bin/make/main.c
===================================================================
RCS file: /CVSROOT/src/usr.bin/make/main.c,v
retrieving revision 1.30
diff -c -r1.30 main.c
*** main.c      1999/03/01 06:01:05     1.30
--- main.c      1999/04/06 12:59:59
***************
*** 123,129 ****
  static Lst            variables;      /* list of variables to print */
  int                   maxJobs;        /* -j argument */
  static Boolean          forceJobs;      /* -j argument given */
! static int            maxLocal;       /* -L argument */
  Boolean                       compatMake;     /* -B argument */
  Boolean                       debug;          /* -d flag */
  Boolean                       noExecute;      /* -n flag */
--- 123,129 ----
  static Lst            variables;      /* list of variables to print */
  int                   maxJobs;        /* -j argument */
  static Boolean          forceJobs;      /* -j argument given */
! int                   maxLocal;       /* -L argument */
  Boolean                       compatMake;     /* -B argument */
  Boolean                       debug;          /* -d flag */
  Boolean                       noExecute;      /* -n flag */
Index: src/usr.bin/make/parse.c
===================================================================
RCS file: /CVSROOT/src/usr.bin/make/parse.c,v
retrieving revision 1.20
diff -c -r1.20 parse.c
*** parse.c     1999/01/08 18:37:34     1.20
--- parse.c     1999/04/06 16:34:14
***************
*** 874,881 ****
--- 874,884 ----
                    case NotParallel:
                    {
                        extern int  maxJobs;
+                       extern int  maxLocal;

                        maxJobs = 1;
+                       maxLocal = 1;
+                       compatMake = 1; /* would have been turned on if no
-j */
                        break;
                    }
                    case SingleShell:


--
Bob Bishop              (0118) 977 4017  international code +44 118
r...@gid.co.uk        fax (0118) 989 4254  between 0800 and 1800 UK




To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to