main.c: 1.81->1.82
authorJoerg Sonnenberger <joerg@dragonflybsd.org>
Tue, 30 Nov 2004 15:04:56 +0000 (15:04 +0000)
committerJoerg Sonnenberger <joerg@dragonflybsd.org>
Tue, 30 Nov 2004 15:04:56 +0000 (15:04 +0000)
Author: imp
Log:
No need to check to see if we're running a version of FreeBSD 3.0 current or
newer anymore.

cond.c: 1.26->1.27
Author: imp
Log:
Keep up with minor changes to NetBSD.  Consider a variable empty when
not define.

Obtained From: NetBSD (rev 1.18; sjg)

for.c: 1.19->1.20
Author: ru
Log:
Command line variables take precedence over global variables.
Make this true in the .for loops too.  The following fragment,

        FOO=    foo bar

        all:
        .for f in ${FOO}
                @echo ${f}
        .endfor

when run as "make FOO=xxx" should print "xxx".  (OpenBSD had
this bug fixed for some time.)

Obtained-from: FreeBSD
Submitted-by: Max Okumoto <okumoto@ucsd.edu>
usr.bin/make/cond.c
usr.bin/make/for.c
usr.bin/make/main.c

index 11c81d0..b61cbf8 100644 (file)
@@ -38,7 +38,7 @@
  *
  * @(#)cond.c  8.2 (Berkeley) 1/2/94
  * $FreeBSD: src/usr.bin/make/cond.c,v 1.12.2.1 2003/07/22 08:03:13 ru Exp $
- * $DragonFly: src/usr.bin/make/cond.c,v 1.10 2004/11/24 07:19:14 dillon Exp $
+ * $DragonFly: src/usr.bin/make/cond.c,v 1.11 2004/11/30 15:04:56 joerg Exp $
  */
 
 /*-
@@ -802,7 +802,7 @@ error:
 
                    if (condExpr[arglen] != '\0') {
                        val = Var_Parse(&condExpr[arglen - 1], VAR_CMD,
-                                       doEval, &length, &doFree);
+                                       FALSE, &length, &doFree);
                        if (val == var_Error) {
                            t = Err;
                        } else {
index 8e0e938..9228ff0 100644 (file)
@@ -35,7 +35,7 @@
  *
  * @(#)for.c   8.1 (Berkeley) 6/6/93
  * $FreeBSD: src/usr.bin/make/for.c,v 1.10 1999/09/11 13:08:01 hoek Exp $
- * $DragonFly: src/usr.bin/make/for.c,v 1.7 2004/11/12 22:57:04 dillon Exp $
+ * $DragonFly: src/usr.bin/make/for.c,v 1.8 2004/11/30 15:04:56 joerg Exp $
  */
 
 /*-
@@ -171,7 +171,7 @@ For_Eval (char *line)
         */
        forLst = Lst_Init(FALSE);
        buf = Buf_Init(0);
-       sub = Var_Subst(NULL, ptr, VAR_GLOBAL, FALSE);
+       sub = Var_Subst(NULL, ptr, VAR_CMD, FALSE);
 
 #define        ADDWORD() \
        Buf_AddBytes(buf, ptr - wrd, (Byte *) wrd), \
index 6489a27..27e5a44 100644 (file)
@@ -38,7 +38,7 @@
  * @(#) Copyright (c) 1988, 1989, 1990, 1993 The Regents of the University of California.  All rights reserved.
  * @(#)main.c  8.3 (Berkeley) 3/19/94
  * $FreeBSD: src/usr.bin/make/main.c,v 1.35.2.10 2003/12/16 08:34:11 des Exp $
- * $DragonFly: src/usr.bin/make/main.c,v 1.18 2004/11/24 07:19:14 dillon Exp $
+ * $DragonFly: src/usr.bin/make/main.c,v 1.19 2004/11/30 15:04:56 joerg Exp $
  */
 
 /*-
@@ -503,13 +503,14 @@ main(int argc, char **argv)
        if (stat(curdir, &sa) == -1)
            err(2, "%s", curdir);
 
-#if defined(__i386__) && defined(__DragonFly_version)
        /*
         * PC-98 kernel sets the `i386' string to the utsname.machine and
         * it cannot be distinguished from IBM-PC by uname(3).  Therefore,
         * we check machine.ispc98 and adjust the machine variable before
         * using usname(3) below.
-        * NOTE: machdep.ispc98 was defined on 1998/8/31.
+        * NOTE: machdep.ispc98 was defined on 1998/8/31. At that time,
+        * __FreeBSD_version was defined as 300003. So, this check can
+        * safely be done with any kernel with version > 300003.
         */
        if (!machine) {
                int     ispc98;
@@ -521,7 +522,6 @@ main(int argc, char **argv)
                                machine = "pc98";
                }
        }
-#endif
 
        /*
         * Get the name of this type of MACHINE from utsname