summaryrefslogtreecommitdiffstats
path: root/usr.sbin/config/mkmakefile.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1997-10-22 00:38:48 +0000
committerpeter <peter@FreeBSD.org>1997-10-22 00:38:48 +0000
commitb57d8acf74b602f51f41ffd6ff9bb42c2a452d6d (patch)
tree98addc29764bbad0190dfdb43bec08eb6b67d931 /usr.sbin/config/mkmakefile.c
parentcb0b2ed81cfa3f220e9fd70efabce40aebd3a35f (diff)
downloadFreeBSD-src-b57d8acf74b602f51f41ffd6ff9bb42c2a452d6d.zip
FreeBSD-src-b57d8acf74b602f51f41ffd6ff9bb42c2a452d6d.tar.gz
Recognize a %VERSREQ=nnnnn string in the system Makefile. Both config(8)
and the kernel will have a 'config interface version number'. If an incompatable change is made to the kernel that requires a rebuild of config(8) (such as the cam devtab stuff), then the version number would be bumped in both places. If a user neglects to rebuild config, then they will get a nagging (but non-fatal) warning that they need to rebuild config.
Diffstat (limited to 'usr.sbin/config/mkmakefile.c')
-rw-r--r--usr.sbin/config/mkmakefile.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c
index d1d7585..852f86e 100644
--- a/usr.sbin/config/mkmakefile.c
+++ b/usr.sbin/config/mkmakefile.c
@@ -36,7 +36,7 @@
static char sccsid[] = "@(#)mkmakefile.c 8.1 (Berkeley) 6/6/93";
#endif
static const char rcsid[] =
- "$Id$";
+ "$Id: mkmakefile.c,v 1.22 1997/09/15 06:37:09 charnier Exp $";
#endif /* not lint */
/*
@@ -51,6 +51,7 @@ static const char rcsid[] =
#include <string.h>
#include "y.tab.h"
#include "config.h"
+#include "configvers.h"
#define next_word(fp, wd) \
{ register char *word = get_word(fp); \
@@ -162,6 +163,7 @@ makefile()
struct opt *op;
struct users *up;
int warn_make_clean = 0;
+ int versreq;
read_files();
strcpy(line, "Makefile.");
@@ -242,7 +244,14 @@ makefile()
do_load(ofp);
else if (eq(line, "%CLEAN\n"))
do_clean(ofp);
- else
+ else if (strncmp(line, "%VERSREQ=", sizeof("%VERSREQ=") - 1) == 0) {
+ versreq = atoi(line + sizeof("%VERSREQ=") - 1);
+ if (versreq != CONFIGVERS) {
+ fprintf(stderr, "WARNING: version of config(8) does not match kernel!\n");
+ fprintf(stderr, "config version = %d, ", CONFIGVERS);
+ fprintf(stderr, "version required = %d\n", versreq);
+ }
+ } else
fprintf(stderr,
"Unknown %% construct in generic makefile: %s",
line);
OpenPOWER on IntegriCloud