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.
This commit is contained in:
Peter Wemm 2002-02-20 23:35:56 +00:00
parent 3ed9b46ad1
commit 7a2eb19dbf
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=91002
10 changed files with 29 additions and 14 deletions

View File

@ -17,7 +17,7 @@
#
# Which version of config(8) is required.
%VERSREQ= 500009
%VERSREQ= 500010
.if !defined(S)
.if exists(./@/.)

View File

@ -17,7 +17,7 @@
#
# Which version of config(8) is required.
%VERSREQ= 500009
%VERSREQ= 500010
STD8X16FONT?= iso

View File

@ -30,7 +30,7 @@ MACHINE_ARCH= ia64
FMT= # Needs to be blank for linux cross tools.
# Which version of config(8) is required.
%VERSREQ= 500009
%VERSREQ= 500010
STD8X16FONT?= iso

View File

@ -19,7 +19,7 @@
#
# Which version of config(8) is required.
%VERSREQ= 500009
%VERSREQ= 500010
.if !defined(S)
.if exists(./@/.)

View File

@ -17,7 +17,7 @@
#
# Which version of config(8) is required.
%VERSREQ= 500009
%VERSREQ= 500010
# Temporary stuff while we're still embryonic
NO_MODULES?= yes

View File

@ -36,7 +36,7 @@ CWARNFLAGS= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
FMT=
# Which version of config(8) is required.
%VERSREQ= 500009
%VERSREQ= 500010
STD8X16FONT?= iso

View File

@ -58,14 +58,20 @@ PROF+= -mprofiler-epilogue
.endif
.endif
#.if defined(NO_WERROR)
#WERROR=
#.else
#WERROR?= -Werror
#.endif
# Put configuration-specific C flags last (except for ${PROF}) so that they
# can override the others.
CFLAGS+= ${CONF_CFLAGS}
NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} ${.IMPSRC}
NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${.IMPSRC}
NORMAL_S= ${CC} -c ${ASM_CFLAGS} ${.IMPSRC}
PROFILE_C= ${CC} -c ${CFLAGS} ${.IMPSRC}
NORMAL_C= ${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.IMPSRC}
NORMAL_S= ${CC} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}
PROFILE_C= ${CC} -c ${CFLAGS} ${WERROR} ${.IMPSRC}
NORMAL_C_NOWERROR= ${CC} -c ${CFLAGS} ${PROF} ${.IMPSRC}
NORMAL_M= perl5 $S/kern/makeobjops.pl -c $<; \
${CC} -c ${CFLAGS} ${PROF} ${.PREFIX}.c

View File

@ -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 */

View File

@ -8,4 +8,4 @@
*
* $FreeBSD$
*/
#define CONFIGVERS 500009
#define CONFIGVERS 500010

View File

@ -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 @@ read_files(void)
no_obj = 0;
needcount = 0;
before_depend = 0;
nowerror = 0;
filetype = NORMAL;
if (eq(wd, "standard")) {
std = 1;
@ -475,6 +476,10 @@ read_files(void)
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 @@ read_files(void)
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;