Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-18 Thread Doug Rabson

On Thu, 17 May 2001, Warner Losh wrote:

 In message [EMAIL PROTECTED] 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).

I quite like the fact that the programming interface sys/fooio.h is
separated from the driver implementation. There is less chance that the
driver writer will expose irrelavent implementation details in the API,
which in turn makes for a more stable ABI.

-- 
Doug Rabson Mail:  [EMAIL PROTECTED]
Phone: +44 20 8348 6160



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-18 Thread Brian Somers

 On Thu, 17 May 2001, Warner Losh wrote:
 
  In message [EMAIL PROTECTED] 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).
 
 I quite like the fact that the programming interface sys/fooio.h is
 separated from the driver implementation. There is less chance that the
 driver writer will expose irrelavent implementation details in the API,
 which in turn makes for a more stable ABI.

I agree, and what's more, bde hasn't disagreed to any such 
suggestions

 -- 
 Doug Rabson   Mail:  [EMAIL PROTECTED]
   Phone: +44 20 8348 6160

-- 
Brian [EMAIL PROTECTED]brian@[uk.]FreeBSD.org
  http://www.Awfulhak.org   brian@[uk.]OpenBSD.org
Don't _EVER_ lose your sense of humour !



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-18 Thread Bruce Evans

On Fri, 18 May 2001, Brian Somers wrote:

  On Thu, 17 May 2001, Warner Losh wrote:
  I quite like the fact that the programming interface sys/fooio.h is
  separated from the driver implementation. There is less chance that the
  driver writer will expose irrelavent implementation details in the API,
  which in turn makes for a more stable ABI.
 
 I agree, and what's more, bde hasn't disagreed to any such 
 suggestions

I agree too :-).

Bruce


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-18 Thread Brian Somers

John/peter, could you repo-copy src/sys/dev/digi/digiio.h to 
src/sys/sys/digiio.h ?

Ta.

 On Fri, 18 May 2001, Brian Somers wrote:
 
   On Thu, 17 May 2001, Warner Losh wrote:
   I quite like the fact that the programming interface sys/fooio.h is
   separated from the driver implementation. There is less chance that the
   driver writer will expose irrelavent implementation details in the API,
   which in turn makes for a more stable ABI.
  
  I agree, and what's more, bde hasn't disagreed to any such 
  suggestions
 
 I agree too :-).
 
 Bruce

-- 
Brian [EMAIL PROTECTED]brian@[uk.]FreeBSD.org
  http://www.Awfulhak.org   brian@[uk.]OpenBSD.org
Don't _EVER_ lose your sense of humour !



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-18 Thread Ruslan Ermilov

On Thu, May 17, 2001 at 07:52:51PM +0300, Ruslan Ermilov wrote:
[...]
 
 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.
 
I have removed the -I${.CURDIR}/.../sys from the half of Makefiles
that do not actually need it.  Here is the rest of Makefiles that
have the -I${.CURDIR}/.../sys in them, and it's currently required
because they use headers from /sys that do not get installed into
/usr/include (but should):

sbin/atm/atm/Makefile
sbin/atm/fore_dnld/Makefile
sbin/atm/ilmid/Makefile

sbin/mount_null/Makefile
sbin/mount_portal/Makefile
sbin/mount_umap/Makefile
sbin/mount_union/Makefile

sbin/vinum/Makefile

usr.sbin/acpi/Makefile.inc  very interesting example!

usr.sbin/ancontrol/Makefile

usr.sbin/dpt/dpt_ctlinfo/Makefile
usr.sbin/dpt/dpt_ctls/Makefile
usr.sbin/dpt/dpt_dm/Makefile
usr.sbin/dpt/dpt_led/Makefile   these even don't compile!!!
usr.sbin/dpt/dpt_sig/Makefile
usr.sbin/dpt/dpt_softc/Makefile
usr.sbin/dpt/dpt_sysinfo/Makefile

usr.sbin/mlxcontrol/Makefile
usr.sbin/pciconf/Makefile
usr.sbin/pnpinfo/Makefile
usr.sbin/pstat/Makefile
usr.sbin/raycontrol/Makefile
usr.sbin/setkey/Makefile
usr.sbin/sicontrol/Makefile


Cheers,
-- 
Ruslan Ermilov  Oracle Developer/DBA,
[EMAIL PROTECTED]   Sunbay Software AG,
[EMAIL PROTECTED]  FreeBSD committer,
+380.652.512.251Simferopol, Ukraine

http://www.FreeBSD.org  The Power To Serve
http://www.oracle.com   Enabling The Information Age

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-18 Thread Ruslan Ermilov

On Fri, May 18, 2001 at 05:11:11PM +0300, Ruslan Ermilov wrote:
 On Thu, May 17, 2001 at 07:52:51PM +0300, Ruslan Ermilov wrote:
 [...]
  
  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.
  
 I have removed the -I${.CURDIR}/.../sys from the half of Makefiles
 that do not actually need it.  Here is the rest of Makefiles that
 have the -I${.CURDIR}/.../sys in them, and it's currently required
 because they use headers from /sys that do not get installed into
 /usr/include (but should):
 
[...]
 
 sbin/mount_null/Makefile
 sbin/mount_portal/Makefile
 sbin/mount_umap/Makefile
 sbin/mount_union/Makefile
 
FS headers should go into /usr/include/fs/fsfs.h, one per
each filesystem.

Boris, could you please move smbfs.h one directory up from the
/usr/include/fs/smbfs/?  Also, installing of smbfs_node.h and
smbfs_subr.h seems to be not required as these are used solely
within the kernel.


Cheers,
-- 
Ruslan Ermilov  Oracle Developer/DBA,
[EMAIL PROTECTED]   Sunbay Software AG,
[EMAIL PROTECTED]  FreeBSD committer,
+380.652.512.251Simferopol, Ukraine

http://www.FreeBSD.org  The Power To Serve
http://www.oracle.com   Enabling The Information Age

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-18 Thread Peter Wemm

Brian Somers wrote:
 John/peter, could you repo-copy src/sys/dev/digi/digiio.h to 
 src/sys/sys/digiio.h ?

Done.

 Ta.
 
  On Fri, 18 May 2001, Brian Somers wrote:
  
On Thu, 17 May 2001, Warner Losh wrote:
I quite like the fact that the programming interface sys/fooio.h is
separated from the driver implementation. There is less chance that the
driver writer will expose irrelavent implementation details in the API,
which in turn makes for a more stable ABI.
   
   I agree, and what's more, bde hasn't disagreed to any such 
   suggestions
  
  I agree too :-).
  
  Bruce
 
 -- 
 Brian [EMAIL PROTECTED]brian@[uk.]FreeBSD.org
   http://www.Awfulhak.org   brian@[uk.]OpenBSD.org
 Don't _EVER_ lose your sense of humour !
 
 
 
 

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
All of this is for nothing if we don't go to the stars - JMS/B5


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-17 Thread Warner Losh

In message [EMAIL PROTECTED] 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.

We're not solaris :-).  BSD traditionally spells things fooio.h for
driver foo.  FreeBSD changed the traditional place for devices, so one
could argue for both /usr/include/sys/dev/foo/fooio.h or for
/usr/include/sys/fooio.h.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-17 Thread Warner Losh

In message [EMAIL PROTECTED] 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).

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-17 Thread Brian Somers

[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 [EMAIL PROTECTED] 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 ?

-- 
Brian [EMAIL PROTECTED]brian@[uk.]FreeBSD.org
  http://www.Awfulhak.org   brian@[uk.]OpenBSD.org
Don't _EVER_ lose your sense of humour !



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Where to put include files (was: cvs commit: src Makefile.inc1)

2001-05-17 Thread Ruslan Ermilov

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 [EMAIL PROTECTED] 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,
[EMAIL PROTECTED]   Sunbay Software AG,
[EMAIL PROTECTED]  FreeBSD committer,
+380.652.512.251Simferopol, Ukraine

http://www.FreeBSD.org  The Power To Serve
http://www.oracle.com   Enabling The Information Age

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message