diff options
author | peter <peter@FreeBSD.org> | 2002-02-20 23:35:56 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2002-02-20 23:35:56 +0000 |
commit | cf06489c2d4eab716cf9a022f801ae33d4a2a1ba (patch) | |
tree | 582d416db8501b0a42f46101a40d50ca531d43ea /usr.sbin | |
parent | 73a8c2ba1edcf7da7d21bc535e061af8110779eb (diff) | |
download | FreeBSD-src-cf06489c2d4eab716cf9a022f801ae33d4a2a1ba.zip FreeBSD-src-cf06489c2d4eab716cf9a022f801ae33d4a2a1ba.tar.gz |
Commit some infrastructure for turning on -Werror for kernel compiles.
It doesn't actually do it yet though. This adds a flag to config so
that we can exclude certain vendor files from this even when the rest
of the kernel has it on. make -DNO_WERROR would also bypass all of it.
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/config/config.h | 1 | ||||
-rw-r--r-- | usr.sbin/config/configvers.h | 2 | ||||
-rw-r--r-- | usr.sbin/config/mkmakefile.c | 14 |
3 files changed, 13 insertions, 4 deletions
diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h index 7c493d8..02df879 100644 --- a/usr.sbin/config/config.h +++ b/usr.sbin/config/config.h @@ -72,6 +72,7 @@ struct file_list { #define BEFORE_DEPEND 4 #define NEED_COUNT 8 #define ISDUP 16 +#define NOWERROR 32 struct device { int d_done; /* processed */ diff --git a/usr.sbin/config/configvers.h b/usr.sbin/config/configvers.h index 6455f5d..fcc7265 100644 --- a/usr.sbin/config/configvers.h +++ b/usr.sbin/config/configvers.h @@ -8,4 +8,4 @@ * * $FreeBSD$ */ -#define CONFIGVERS 500009 +#define CONFIGVERS 500010 diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c index dda72b6..c24a121 100644 --- a/usr.sbin/config/mkmakefile.c +++ b/usr.sbin/config/mkmakefile.c @@ -317,7 +317,7 @@ read_files(void) char *wd, *this, *needs, *compilewith, *depends, *clean, *warning; char fname[MAXPATHLEN]; int nreqs, first = 1, isdup, std, filetype, - imp_rule, no_obj, needcount, before_depend, mandatory; + imp_rule, no_obj, needcount, before_depend, mandatory, nowerror; ftab = 0; if (ident == NULL) { @@ -384,6 +384,7 @@ next: no_obj = 0; needcount = 0; before_depend = 0; + nowerror = 0; filetype = NORMAL; if (eq(wd, "standard")) { std = 1; @@ -475,6 +476,10 @@ nextparam: filetype = PROFILING; goto nextparam; } + if (eq(wd, "nowerror")) { + nowerror = 1; + goto nextparam; + } if (needs == 0 && nreqs == 1) needs = ns(wd); if (isdup) @@ -547,6 +552,8 @@ doneparam: tp->f_flags |= BEFORE_DEPEND; if (needcount) tp->f_flags |= NEED_COUNT; + if (nowerror) + tp->f_flags |= NOWERROR; tp->f_needs = needs; tp->f_compilewith = compilewith; tp->f_depends = depends; @@ -736,8 +743,9 @@ do_rules(FILE *f) printf("config: don't know rules for %s\n", np); break; } - snprintf(cmd, sizeof(cmd), "${%s_%c}", ftype, - toupper(och)); + snprintf(cmd, sizeof(cmd), "${%s_%c%s}", ftype, + toupper(och), + ftp->f_flags & NOWERROR ? "_NOWERROR" : ""); compilewith = cmd; } *cp = och; |