Re: [PATCH][Documentation][resend] Add missing files and dirs to 00-INDEX in Documentation/

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday 05 July 2007 20:11:36 Randy Dunlap wrote:
> On Thu, 5 Jul 2007 16:09:15 -0600 Elyse M. Grasso wrote:
> > On Thursday 05 July 2007, you wrote:
> > > On Thursday 05 July 2007 13:12:35 Elyse M. Grasso wrote:
> > > > Is there something I could do to help? It's been years since I
> > > > programmed C, but I'm a former librarian, current configuration
> > > > management tools consultant. I write good standards-compliant HTML
> > > > and XHTML, and Perl is
> >
> > my
> >
> > > > life these days.
> > > >
> > > > Point me at something where I won't be duplicating effort and I'll
> > > > take a look at it.
> > >
> > > Sure.
> > >
> > > Could you start by subscribing to linux-doc?  (Info at
> > > http://vger.kernel.org/vger-lists.html)  We can discuss it at length
> > > over there.
> > >
> > > Thanks,
> > >
> > > Rob
> > > --
> >
> > OK I've joined. I hope this was the right one, the group description
> > says:
> >
> >  Old linux documentation forum (?)
>
> Yes, this is it.  Maybe we can get that phrase fixed...

Let's earn a new title and then worry about it. :)

Ok, some pending stuff I posted to the mailing list and should probably follow 
up on to get actually merged:

Attached is a headers_install.txt that David Woodhouse acked (and tweaked 
slightly) on the list.  I haven't pushed it because I'm not sure where in 
Documentation it should go.

Here are two Documentation cleanup patches from back when I was trying to 
reorganize that as the One True Place Kernel Documenation Should Live (tm), 
which I've since realized it can't be, but cleanup is good anyway.  All these 
do is move files around to less insane places:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0705.3/2925.html
http://www.uwsg.iu.edu/hypermail/linux/kernel/0705.3/2924.html

Here's how to get the kernel to produce one big file per "make htmldocs" book 
rather than lots of little ones.  I have a TODO item to make this have two 
targets ("make htmldocs" and "make htmldocs-nochunks" or some such) to 
preserve both kinds of behavior, but it's not at the top of the todo list 
until I figure out a stable way of linking into the middle of either result:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0705.3/2056.html

So there's some of my pending stuff, already published but not merged, which I 
need to follow up on...

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
Exporting kernel headers for use by userspace
=============================================

The "make headers_install" command exports the kernel's header files in a
form suitable for use by userspace programs. 

The linux kernel's exported header files describe the API for user space
programs attempting to use kernel services.  These kernel header files are
used by the system's C library (such as glibc or uClibc) to define available
system calls, as well as constants and structures to be used with these
system calls.  The C library's header files include the kernel header files
from the "linux" subdirectory.  The system's libc headers are usually
installed at the default location /usr/include and the kernel headers in
subdirectories under that (most notably /usr/include/linux and
/usr/include/asm).

Kernel headers are backwards compatible, but not forwards compatible.  This
means that a program built against a C library using older kernel headers
should run on a newer kernel (although it may not have access to new
features), but a program built against newer kernel headers may not work on an
older kernel.

The "make headers_install" command can be run in the top level directory of the
kernel source code (or using a standard out-of-tree build).  It takes two
optional arguments:

  make headers_install ARCH=i386 INSTALL_HDR_PATH=/usr/include

ARCH indicates which architecture to produce headers for, and defaults to the
current architecture.  The linux/asm directory of the exported kernel headers
is platform-specific, to see a complete list of supported architectures use
the command:

  ls -d include/asm-* | sed 's/.*-//'

INSTALL_HDR_PATH indicates where to install the headers.  It defaults to
"./usr/include".

The command "make headers_install_all" exports headers for all architectures
simultaneously.  (This is mostly of interest to distribution maintainers,
who create an architecture-independent tarball from the resulting include
directory.)  Remember to provide the appropriate linux/asm directory via "mv"
or "ln -s" before building a C library with headers exported this way.

The kernel header export infrastructure is maintained by David Woodhouse
<dwmw2@xxxxxxxxxxxxx>.

[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux