Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 May 2001 19:52:51 +0300
From:      Ruslan Ermilov <ru@FreeBSD.ORG>
To:        Brian Somers <brian@Awfulhak.org>
Cc:        Warner Losh <imp@village.org>, Bruce Evans <bde@zeta.org.au>, 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>
In-Reply-To: <200105171637.f4HGbsb65668@hak.lan.Awfulhak.org>; from brian@Awfulhak.org on Thu, May 17, 2001 at 05:37:54PM %2B0100
References:  <imp@village.org> <200105171637.f4HGbsb65668@hak.lan.Awfulhak.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <sys/dev/blahio.h>.
> 
> 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/<driver>_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/<drivername>/ 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/<fs_from_miscfs> 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/<fs>.


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010517195251.A90318>