[klibc] Kbuild.install: Copy UAPI headers instead of reinstalling them Since the UAPI/KAPI header split in Linux 3.7, we have needed KLIBCKERNELSRC to point to the installed UAPI headers. Invoking "make headers_install" in this directory doesn't work. The previously proposed fix was to invoke make in the parent directory. But since we require the headers to be installed already, we can copy the install tree instead. Make sure to dereference any symbolic links while doing this. Reported-by: Thomas Meyer <thomas@m3y3r.de> Reported-by: Luis R. Rodriguez <mcgrof@kernel.org> Link: https://www.zytor.com/pipermail/klibc/2019-January/004033.html Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
diff --git a/scripts/Kbuild.install b/scripts/Kbuild.install index bafd423..32aec84 100644 --- a/scripts/Kbuild.install +++ b/scripts/Kbuild.install
@@ -95,7 +95,7 @@ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin - $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install + $(Q)cp -rfL $(KLIBCKERNELSRC)/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/. $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/. $(Q)chmod -R a+rX,go-w $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1