[RFC] removing broken includes

Alexander Best arundel at freebsd.org
Thu Feb 3 22:12:58 UTC 2011

hi everybody,

i've started to check the source for broken includes, such as the one fixed in
r218189. so far i've run through arch=amd64 and found only two broken includes,
which should be fixed by the attached patch. the commands i'm using are:

for target=buildkernel:
make SRCCONF=/dev/null __MAKE_CONF=/dev/null NO_WARNS= CWARNFLAGS="-w -Werror -Wmissing-include-dirs" buildkernel

for target=buildworld:[*]
make SRCCONF=/dev/null __MAKE_CONF=/dev/null WITHOUT_CDDL=true NO_WARNS= CWARNFLAGS="-w -Wmissing-include-dirs" buildworld

next up are the other archs. also i'll try to run both buildworld and
installworld with "CC=clang -v" and "CXX=clang++ -v". although clang turns
-Wmissing-include-dirs into a noop, using the -v flag one can still detect
broken (and even duplicate) includes. thanks to pluknet@ for the info.


[*] the reason i'm setting WITHOUT_CDDL=true is that my installed world was
compiled with that option. trying to buildworld with CDDL support thus fails.
also at first i was trying to use the same command for buildworld, as i used
for buildkernel. however it seems CWARNFLAGS gets set in some places, so gcc(1)
will also treat non -Wmissing-include-dirs warnings as errors.

-------------- next part --------------
Index: sys/conf/files
--- sys/conf/files	(revision 218217)
+++ sys/conf/files	(working copy)
@@ -960,7 +960,7 @@
 dev/e1000/e1000_82571.c		optional em | igb \
 	compile-with "${NORMAL_C} -I$S/dev/e1000"
 dev/e1000/e1000_82575.c		optional em | igb \
-	 compile-with "${NORMAL_C} -I$S/dev/igb"
+	compile-with "${NORMAL_C} -I$S/dev/e1000"
 dev/e1000/e1000_ich8lan.c	optional em | igb \
 	compile-with "${NORMAL_C} -I$S/dev/e1000"
 dev/e1000/e1000_api.c		optional em | igb \
Index: sys/modules/netgraph/atm/ccatm/Makefile
--- sys/modules/netgraph/atm/ccatm/Makefile	(revision 218217)
+++ sys/modules/netgraph/atm/ccatm/Makefile	(working copy)
@@ -12,6 +12,6 @@
 SRCS=	ng_ccatm.c cc_conn.c cc_data.c cc_dump.c cc_port.c cc_sig.c	\
 	cc_user.c unisap.c
 .include <bsd.kmod.mk>

More information about the freebsd-current mailing list