From owner-cvs-all Thu May 17 9:55:40 2001 Delivered-To: cvs-all@freebsd.org Received: from whale.sunbay.crimea.ua (whale.sunbay.crimea.ua [212.110.138.65]) by hub.freebsd.org (Postfix) with ESMTP id 71FBE37B422; Thu, 17 May 2001 09:55:14 -0700 (PDT) (envelope-from ru@whale.sunbay.crimea.ua) Received: (from ru@localhost) by whale.sunbay.crimea.ua (8.11.2/8.11.2) id f4HGqpd91246; Thu, 17 May 2001 19:52:51 +0300 (EEST) (envelope-from ru) Date: Thu, 17 May 2001 19:52:51 +0300 From: Ruslan Ermilov To: Brian Somers Cc: Warner Losh , Bruce Evans , cvs-all@FreeBSD.ORG, current@FreeBSD.ORG, freebsd-arch@FreeBSD.ORG Subject: Re: Where to put include files (was: cvs commit: src Makefile.inc1) Message-ID: <20010517195251.A90318@sunbay.com> Mail-Followup-To: Brian Somers , Warner Losh , Bruce Evans , cvs-all@FreeBSD.ORG, current@FreeBSD.ORG, freebsd-arch@FreeBSD.ORG References: <200105171637.f4HGbsb65668@hak.lan.Awfulhak.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200105171637.f4HGbsb65668@hak.lan.Awfulhak.org>; from brian@Awfulhak.org on Thu, May 17, 2001 at 05:37:54PM +0100 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thu, May 17, 2001 at 05:37:54PM +0100, Brian Somers wrote: > [cc'd to -arch and not to cvs-committers] > > For anyone that's reading -arch and hasn't seen this on -current, the > thread is discussing userland sources that have -I../../sys in their > Makefile and then #include . > > I think everyone agrees that these headers should be made public, the > question is ``where to put them ?''. > > Warner wrote: > > In message <200105171233.f4HCXhb62786@hak.lan.Awfulhak.org> Brian > > Somers writes: > > : Solaris calls it's ioctl files /usr/include/sys/_io.h so I'd > > : spell digiio.h /usr/include/sys/digi_io.h. > > > > Actually, the more I think about it, the more I like putting it in > > /usr/include/sys/fooio.h. We have lots of other files there now. The > > down side to this approach is that it breaks up the driver sources > > that we've been trying to concentrate into sys/dev/foo/* (or > > introduces asymetry such that you can't just toss in a -I/sys and have > > the same tree that gets stuck under /usr/include). > > The SHARED variable in src/include/Makefile makes this side of things > tricky too - we've got to be careful that we either keep our sources > together and maintain a resemblance of the hierarchy in /usr/include > or split our sources. > > When I was working on Solaris I found it better to have the *io.h > files in sys (separate from the driver) as it made it very clear that > it was a public interface - the driver lived somewhere that just got > built into a module and wasn't seen by the outside world. > > So I think I'd tend to vote (FWIW) for moving digiio.h (and other > similar things) out of sys/dev// and into sys/sys/. > > Comments ? > More to that. There are 59 Makefiles that have -I${.CURDIR}/(../)+sys in them. All these are bogus. We should get rid of all of them (-I's). So far, I have found sbin/mount_* use headers from /sys/miscfs/ that are not installed into /usr/include, but should be. Where should these be installed? /usr/include/fs/ or should we preserve the /usr/include/miscfs/ layout like in /sys/miscfs? Modern fs'es install their headers into include/fs and old ones in include/. Cheers, -- Ruslan Ermilov Oracle Developer/DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message