Module Name:    src
Committed By:   sjg
Date:           Fri Mar 11 07:01:21 UTC 2016

Modified Files:
        src/usr.bin/make: meta.c

Log Message:
Handle missing file for Read the same as for Write, since if it
is Deleted we don't care.

Patch from Bryan Drewery.


To generate a diff of this commit:
cvs rdiff -u -r1.53 -r1.54 src/usr.bin/make/meta.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/meta.c
diff -u src/usr.bin/make/meta.c:1.53 src/usr.bin/make/meta.c:1.54
--- src/usr.bin/make/meta.c:1.53	Mon Mar  7 21:45:43 2016
+++ src/usr.bin/make/meta.c	Fri Mar 11 07:01:21 2016
@@ -1,4 +1,4 @@
-/*      $NetBSD: meta.c,v 1.53 2016/03/07 21:45:43 christos Exp $ */
+/*      $NetBSD: meta.c,v 1.54 2016/03/11 07:01:21 sjg Exp $ */
 
 /*
  * Implement 'meta' mode.
@@ -1186,7 +1186,8 @@ meta_oodate(GNode *gn, Boolean oodate)
 
 		    if ((link_src != NULL && lstat(p, &fs) < 0) ||
 			(link_src == NULL && stat(p, &fs) < 0)) {
-			Lst_AtEnd(missingFiles, bmake_strdup(p));
+			if (Lst_Find(missingFiles, p, string_match) == NULL)
+				Lst_AtEnd(missingFiles, bmake_strdup(p));
 		    }
 		    break;
 		check_link_src:
@@ -1277,9 +1278,8 @@ meta_oodate(GNode *gn, Boolean oodate)
 			     * A referenced file outside of CWD is missing.
 			     * We cannot catch every eventuality here...
 			     */
-			    if (DEBUG(META))
-				fprintf(debug_file, "%s: %d: file '%s' may have moved?...\n", fname, lineno, p);
-			    oodate = TRUE;
+			    if (Lst_Find(missingFiles, p, string_match) == NULL)
+				    Lst_AtEnd(missingFiles, bmake_strdup(p));
 			}
 		    }
 		    if (buf[0] == 'E') {

Reply via email to