[RFC] removing broken includes

Roman Divacky rdivacky at freebsd.org
Sat Feb 5 06:53:09 UTC 2011


alex,

I think you are the kind of person to try out

http://code.google.com/p/include-what-you-use/

with fbsd :) 

On Thu, Feb 03, 2011 at 10:12:57PM +0000, Alexander Best wrote:
> 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.
> 
> cheers.
> alex
> 
> [*] 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.
> 
> -- 
> a13x

> 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
>  
> -CFLAGS+= -I${LIBBASE} -I${LIBBASE}/netnatm/ccatm -DCCATM_DEBUG
> +CFLAGS+= -I${LIBBASE} -DCCATM_DEBUG
>  
>  .include <bsd.kmod.mk>

> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"


More information about the freebsd-current mailing list