[klibc] headers_install [was: klibc 2.0.2 doesn't compile with kernel 3.7.x]
Bill Pringlemeir
bpringlemeir at nbsps.com
Thu Jan 10 14:09:04 PST 2013
> hpa at zytor.com wrote:
> We should figure out why the output of "make headers_install" doesn't
> work, and fix it.
Here is another guy,
https://github.com/daveho/EasySandbox/blob/master/klibc-build.txt
Anyways, I found that passing a relative path for $(INSTALLROOT) is a
disaster. The build doesn't fail if you do this...
- $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
+ $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(abspath $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)) headers_install
I think this is the only place where this matters. When you are calling
the kernel make with a relative path it goes and installs the headers
somewhere in the Linux source tree. I am pretty sure that 'abspath' is
a good change. I have only tested with cross-compiled arm.
It would be nice if 'klibc' compiled with only the 'header_install'
target. It seems that this is the only reason for 'KLIBCKERNELSRC' and
I don't really understand why we have 'KLIBCKERNELOBJ'. It looks like
only the PowerPc and x86 are using these for includes.
Shouldn't 'klibc' just be using headers from 'headers_install' as it is
really the only external API for user space? Is it for historical
reasons, like 'headers_install' didn't exist?
Fwiw,
Bill Pringlemeir.
More information about the klibc
mailing list