Re: version.h in 2.2.10

Matthew Vanecek (mev0003@unt.edu)
Mon, 21 Jun 1999 23:29:23 -0500


Miquel van Smoorenburg wrote:
>
> According to Otel Florian-Daniel:
> > > I want
> > > -I/usr/src/linux-2.2.10/include --exclude /usr/src/linux-2.2.10/include/net ;)
> >
> > That's _exactly_ why you need the _real_ kernel headers and not what
> > glibc _thinks_ are kernel headers. I just had this argument today w/
> > some Debian people (Debian has /usr/include/linux as glibc stuff and
> > i'm on a RH having /usr/include/linux pointing in the kernel source ---
> > IMHO _rightfully_).
>

I would have to agree here. If an application is being compiled
specifically and only for a Linux system, forever and always only Linux,
and needs to use Linux kernel headers, the logical place would be
include/linux. Enough applications, and not-in-kernel drivers, use
<linux/*.h>, and they should be able to use *real* kernel headers, since
they are going to be run against a *real* kernel. But that's a
GNU/glibc issue--they are, in my understanding, supposed to be
OS-neutral. Glibc, or other programming libraries, shouldn't make
{linux|*bsd|etc}; rather, that should be up to the distribution/OS. In
the case of RH, they simply make a link from /usr/include to kernel
headers. This means that when I compile a driver, say, like lm_sensors,
it's compiled against the real kernel, and not against what somebody
I've never met decided I should compile it against.

Which, of course, can be fixed with a simple "rm -rf /usr/include/linux;
ln -sf /usr/src/linux/include/linux linux", which will work in Debian or
any other Linux dist.

> Look, we've been over this before. This is not the _real_, but the _only_
> reason why you would need to have matching kernel headers. And it's
> easily fixable.
>
> But this doesn't belong on linux-kernel, I think. Unless someone could
> comment on the feasibility of moving /usr/src/linux/include/net to
> /usr/src/linux/include/linux/net, which _is_ on-topic and would solve
> the problem of compiling with -I/usr/src/linux/include quite nicely.
>

That might not actually be a bad idea. You'd have to change a bunch of
<net/*.h>'s to <linux/net/*.h>, but I bet awk could handle that. Some
apps need kernel headers (for whatever reason--good or bad), and it
seems logical to have all the include files in one tree. At least, on a
platform-by-platform basis... A benefit would be a solid definition of
just exactly which header was being included.

Just my meandering thoughts,

-- 
Matthew Vanecek
Course of Study: http://www.unt.edu/bcis
Visit my Website at http://people.unt.edu/~mev0003
For answers type: perl -e 'print
$i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
*****************************************************************
For 93 million miles, there is nothing between the sun and my shadow
except me. I'm always getting in the way of something...

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/