Module Name: src
Committed By: sjg
Date: Sat Mar 23 05:31:29 UTC 2013
Modified Files:
src/usr.bin/make: main.c make.1 meta.c meta.h
Log Message:
If built with filemon support, set .MAKE.PATH_FILEMON to _PATH_FILEMON
so that makefiles can test for it.
To generate a diff of this commit:
cvs rdiff -u -r1.209 -r1.210 src/usr.bin/make/main.c
cvs rdiff -u -r1.211 -r1.212 src/usr.bin/make/make.1
cvs rdiff -u -r1.26 -r1.27 src/usr.bin/make/meta.c
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/meta.h
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/main.c
diff -u src/usr.bin/make/main.c:1.209 src/usr.bin/make/main.c:1.210
--- src/usr.bin/make/main.c:1.209 Tue Feb 26 00:45:27 2013
+++ src/usr.bin/make/main.c Sat Mar 23 05:31:29 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.209 2013/02/26 00:45:27 christos Exp $ */
+/* $NetBSD: main.c,v 1.210 2013/03/23 05:31:29 sjg Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,7 +69,7 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: main.c,v 1.209 2013/02/26 00:45:27 christos Exp $";
+static char rcsid[] = "$NetBSD: main.c,v 1.210 2013/03/23 05:31:29 sjg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
@@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19
#if 0
static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: main.c,v 1.209 2013/02/26 00:45:27 christos Exp $");
+__RCSID("$NetBSD: main.c,v 1.210 2013/03/23 05:31:29 sjg Exp $");
#endif
#endif /* not lint */
#endif
@@ -739,7 +739,7 @@ MakeMode(const char *mode)
}
#if USE_META
if (strstr(mode, "meta"))
- meta_init(mode);
+ meta_mode_init(mode);
#endif
}
if (mp)
@@ -951,6 +951,9 @@ main(int argc, char **argv)
}
Job_SetPrefix();
+#ifdef USE_META
+ meta_init();
+#endif
/*
* First snag any flags out of the MAKE environment variable.
* (Note this is *not* MAKEFLAGS since /bin/make uses that and it's
Index: src/usr.bin/make/make.1
diff -u src/usr.bin/make/make.1:1.211 src/usr.bin/make/make.1:1.212
--- src/usr.bin/make/make.1:1.211 Tue Mar 5 22:01:44 2013
+++ src/usr.bin/make/make.1 Sat Mar 23 05:31:29 2013
@@ -1,4 +1,4 @@
-.\" $NetBSD: make.1,v 1.211 2013/03/05 22:01:44 christos Exp $
+.\" $NetBSD: make.1,v 1.212 2013/03/23 05:31:29 sjg Exp $
.\"
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
@@ -29,7 +29,7 @@
.\"
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
.\"
-.Dd March 5, 2013
+.Dd March 22, 2013
.Dt MAKE 1
.Os
.Sh NAME
@@ -874,6 +874,13 @@ by appending their names to
is re-exported whenever
.Ql Va .MAKEOVERRIDES
is modified.
+.It Va .MAKE.PATH_FILEMON
+If
+.Nm
+was built with
+.Xr filemon 4
+support, this is set to the path of the device node.
+This allows makefiles to test for this support.
.It Va .MAKE.PID
The process-id of
.Nm .
Index: src/usr.bin/make/meta.c
diff -u src/usr.bin/make/meta.c:1.26 src/usr.bin/make/meta.c:1.27
--- src/usr.bin/make/meta.c:1.26 Sat Jan 19 04:23:37 2013
+++ src/usr.bin/make/meta.c Sat Mar 23 05:31:29 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: meta.c,v 1.26 2013/01/19 04:23:37 sjg Exp $ */
+/* $NetBSD: meta.c,v 1.27 2013/03/23 05:31:29 sjg Exp $ */
/*
* Implement 'meta' mode.
@@ -539,8 +539,24 @@ boolValue(char *s)
return TRUE;
}
+/*
+ * Initialization we need before reading makefiles.
+ */
+void
+meta_init()
+{
+#ifdef USE_FILEMON
+ /* this allows makefiles to test if we have filemon support */
+ Var_Set(".MAKE.PATH_FILEMON", _PATH_FILEMON, VAR_GLOBAL, 0);
+#endif
+}
+
+
+/*
+ * Initialization we need after reading makefiles.
+ */
void
-meta_init(const char *make_mode)
+meta_mode_init(const char *make_mode)
{
static int once = 0;
char *cp;
Index: src/usr.bin/make/meta.h
diff -u src/usr.bin/make/meta.h:1.2 src/usr.bin/make/meta.h:1.3
--- src/usr.bin/make/meta.h:1.2 Wed Mar 30 22:03:49 2011
+++ src/usr.bin/make/meta.h Sat Mar 23 05:31:29 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: meta.h,v 1.2 2011/03/30 22:03:49 sjg Exp $ */
+/* $NetBSD: meta.h,v 1.3 2013/03/23 05:31:29 sjg Exp $ */
/*
* Things needed for 'meta' mode.
@@ -41,7 +41,8 @@ typedef struct BuildMon {
extern Boolean useMeta;
struct Job; /* not defined yet */
-void meta_init(const char *);
+void meta_init(void);
+void meta_mode_init(const char *);
void meta_job_start(struct Job *, GNode *);
void meta_job_child(struct Job *);
void meta_job_error(struct Job *, GNode *, int, int);