diff options
Diffstat (limited to 'contrib/bmake/meta.c')
-rw-r--r-- | contrib/bmake/meta.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/contrib/bmake/meta.c b/contrib/bmake/meta.c index 09febfc..a7a4b19 100644 --- a/contrib/bmake/meta.c +++ b/contrib/bmake/meta.c @@ -1,4 +1,4 @@ -/* $NetBSD: meta.c,v 1.40 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: meta.c,v 1.41 2015/11/30 23:37:56 sjg Exp $ */ /* * Implement 'meta' mode. @@ -38,7 +38,11 @@ #include <sys/stat.h> #include <sys/ioctl.h> #include <fcntl.h> +#ifdef HAVE_LIBGEN_H #include <libgen.h> +#elif !defined(HAVE_DIRNAME) +char * dirname(char *); +#endif #include <errno.h> #if !defined(HAVE_CONFIG_H) || defined(HAVE_ERR_H) #include <err.h> @@ -1183,7 +1187,8 @@ meta_oodate(GNode *gn, Boolean oodate) if ((strstr("tmp", p))) break; - if (stat(p, &fs) < 0) { + if ((link_src != NULL && lstat(p, &fs) < 0) || + (link_src == NULL && stat(p, &fs) < 0)) { Lst_AtEnd(missingFiles, bmake_strdup(p)); } break; |