Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.5 47 lines 2.3 kB view raw
1Exporting kernel headers for use by userspace 2============================================= 3 4The "make headers_install" command exports the kernel's header files in a 5form suitable for use by userspace programs. 6 7The linux kernel's exported header files describe the API for user space 8programs attempting to use kernel services. These kernel header files are 9used by the system's C library (such as glibc or uClibc) to define available 10system calls, as well as constants and structures to be used with these 11system calls. The C library's header files include the kernel header files 12from the "linux" subdirectory. The system's libc headers are usually 13installed at the default location /usr/include and the kernel headers in 14subdirectories under that (most notably /usr/include/linux and 15/usr/include/asm). 16 17Kernel headers are backwards compatible, but not forwards compatible. This 18means that a program built against a C library using older kernel headers 19should run on a newer kernel (although it may not have access to new 20features), but a program built against newer kernel headers may not work on an 21older kernel. 22 23The "make headers_install" command can be run in the top level directory of the 24kernel source code (or using a standard out-of-tree build). It takes two 25optional arguments: 26 27 make headers_install ARCH=i386 INSTALL_HDR_PATH=/usr/include 28 29ARCH indicates which architecture to produce headers for, and defaults to the 30current architecture. The linux/asm directory of the exported kernel headers 31is platform-specific, to see a complete list of supported architectures use 32the command: 33 34 ls -d include/asm-* | sed 's/.*-//' 35 36INSTALL_HDR_PATH indicates where to install the headers. It defaults to 37"./usr/include". 38 39The command "make headers_install_all" exports headers for all architectures 40simultaneously. (This is mostly of interest to distribution maintainers, 41who create an architecture-independent tarball from the resulting include 42directory.) You also can use HDR_ARCH_LIST to specify list of architectures. 43Remember to provide the appropriate linux/asm directory via "mv" or "ln -s" 44before building a C library with headers exported this way. 45 46The kernel header export infrastructure is maintained by David Woodhouse 47<dwmw2@infradead.org>.