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:
parent
3ed9b46ad1
commit
7a2eb19dbf
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=91002
@ -17,7 +17,7 @@
|
||||
#
|
||||
|
||||
# Which version of config(8) is required.
|
||||
%VERSREQ= 500009
|
||||
%VERSREQ= 500010
|
||||
|
||||
.if !defined(S)
|
||||
.if exists(./@/.)
|
||||
|
@ -17,7 +17,7 @@
|
||||
#
|
||||
|
||||
# Which version of config(8) is required.
|
||||
%VERSREQ= 500009
|
||||
%VERSREQ= 500010
|
||||
|
||||
STD8X16FONT?= iso
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
#
|
||||
|
||||
# Which version of config(8) is required.
|
||||
%VERSREQ= 500009
|
||||
%VERSREQ= 500010
|
||||
|
||||
.if !defined(S)
|
||||
.if exists(./@/.)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -8,4 +8,4 @@
|
||||
*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
#define CONFIGVERS 500009
|
||||
#define CONFIGVERS 500010
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user