[uClibc] uClibc vs. linux-2.6.0-test7 separate object tree
dododge at smart.net
dododge at smart.net
Tue Oct 14 01:41:26 UTC 2003
About a month ago linux-2.6.0 added the ability to compile with an
"O=" option, to store all of the object/generated files in a build tree
distinct from the source tree. This is similar to the --srcdir option
sometimes used with GNU configure scripts. See the "BUILD directory"
section of the kernel's README for details.
Advantages include the ability to build from read-only source media,
compile multiple configs or architectures from one source tree, etc.
I used this to build 2.6.0-test7 a few days ago and I don't plan on
going back to the old way :-)
The problem: it breaks just about anything that reads headers
from a configured kernel source tree. The reason this breaks is
because there's no longer any single include path that gets you all
of them. There seems to be three places you have to look:
KERNEL-BUILD-TREE/include generated headers such as autoconf.h
KERNEL-BUILD-TREE/include2 asm symlink to source headers
KERNEL-SOURCE-TREE/include static source headers
Any suggestions about the best way to handle this when building
uClibc, since it has a single KERNEL_SOURCE setting that isn't
going to be able to find everything it needs?
For the time being I just avoid the problem by configuring
the kernel source tree itself, generating headers and symlinks in
the source tree, etc, then doing an mrproper after uClibc has been
built. Ugly, but works.
More information about the uClibc
mailing list