cvs commit: src/sys/conf files kern.pre.mk
David O'Brien
obrien at freebsd.org
Sun Sep 11 10:32:56 PDT 2005
On Sun, Sep 11, 2005 at 04:01:41PM +0200, Max Laier wrote:
> On Sunday 11 September 2005 04:04, David E. O'Brien wrote:
> > obrien 2005-09-11 02:04:04 UTC
> >
> > FreeBSD src repository
> >
> > Modified files:
> > sys/conf files kern.pre.mk
> > Log:
> > Don't pollute the entire kernel build with -I$S/contrib/pf.
> >
> > Revision Changes Path
> > 1.1045 +32 -16 src/sys/conf/files
>
> These changes didn't really improve the readability of conf/files.
Since when was the readability of conf/files a goal? If it were we
would fix config(8) so the first 100 or so lines was readable.
conf/files is seldomly changed or read.
> I don't understand in what way a global -I "pollutes" the kernel build.
...
> Unless you can give some reasoning why this -I is such a bad thing, I'd like
> to see this reverted in order to keep conf/files clean(er) - thanks.
One reason is that we are open to conflicts in header names.
Another is the output from doing a compile is too cluttered, and this
helps quite a bit.
Another is BSD convention is to use a complete include path from
/usr/src/sys. We don't put
-I$S/dev/{acc,acpica,advansys,aha,ahb,aic,aic7xxx,amd,amr,an,arcmsr,arl,asr,ata,ath,atkbdc,auxio,awi,bfe,bge,bktr,buslogic,cardbus,ciss,cm,cnw,cnw,cp,cs,ct,ctau,cx,cx,cy,dcons,dec,digi,dpt,drm,ed,eisa,em,en,ep,esp,ex,exca,fatm,fb,fdc,fe,firewire,fxp,gem,gfb,hatm,hfa,hifn,hme,hptmv,hwpmc,ic,ichsmb,ichwd,ida,idt,ie,ieee488,if_ndis,iicbus,iir,ips,ipw,isp,ispfw,iwi,ixgb,joy,kbd,led,lge,lnc,mc146818,mca,mcd,mii,mk48txx,mlx,mly,mpt,mse,my,ncv,nge,nsp,nve,ofw,owi,patm,pbio,pccard,pccbb,pcf,pci,pdq,ppbus,ppc,pst,puc,ral,random,ray,rc,rndtest,rp,sab,safe,sbni,sbsh,scd,si,sio,smbus,sn,snc,sound,sr,stg,sx,sym,syscons,tdfx,tga,trm,twa,twe,tx,txp,uart,ubsec,usb,utopia,vge,vkbd,vx,wi,wl,xe,zs}
in our kernel Makefile and manage to have all those subsystems buildable
and usable.
A bad precedent was started with the initial ACPICA import by adding a
global -I to the kernel build. He should have preprocessed the files
before importing them. Just like we do with things imported into
src/contrib (as documented by FREEBSD-upgrade). But because we had one
-I that affected 130 files, others later felt it was acceptable to add a
global -I for as little as 4 files that was changing the include path for
1000's of files.
It has been said by many that for a kernel component to be imported, even
into contrib, the code has to be editable so we can adapt it our needs.
I can see some argument in having -I$S/contrib, but beyond that files in
sys/contrib should follow the include conventions in the rest of the sys
tree.
> We install these include files so there must not be a conflict anyway.
What pf files are installed in /usr/include?
--
-- David (obrien at FreeBSD.org)
More information about the cvs-src
mailing list