klibc_1.5.26: now build against linux-libc-headers

* add install-patch creating symlinks as done by debian
* extra add the mtd headers
* refresh patches (split out prefix.patch)
* recipe is now not machine-specific anymore
* bump INC_PR

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
Andrea Adami
2012-05-13 23:01:00 +00:00
committed by Koen Kooi
parent fbfa125726
commit 2490c44e51
6 changed files with 53 additions and 38 deletions
@@ -14,7 +14,7 @@ FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
# ${TARGET_PREFIX}klcc is just a # ${TARGET_PREFIX}klcc is just a
# perl wrapper around gcc-cross # perl wrapper around gcc-cross
# so give it the same arch and path # so give it the same arch and path
PACKAGE_ARCH = "${TUNE_PKGARCH}" #PACKAGE_ARCH = "${TUNE_PKGARCH}"
inherit cross inherit cross
@@ -0,0 +1,23 @@
commit 43adf69062254fb4f8d4d11fb5fe36a60ae25d5a
Author: Ben Hutchings <ben@decadent.org.uk>
Date: Sun Mar 14 18:41:56 2010 +0000
Taken from debian "Fix klibc Debian specific build trouble"
Index: klibc-2.0~rc2/scripts/Kbuild.install
===================================================================
--- klibc-2.0~rc2.orig/scripts/Kbuild.install 2012-02-11 18:50:21.000000000 +0000
+++ klibc-2.0~rc2/scripts/Kbuild.install 2012-02-11 19:04:52.000000000 +0000
@@ -95,8 +95,11 @@
$(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)for x in $(KLIBCKERNELSRC)/include/asm $(KLIBCKERNELSRC)/include/asm* $(KLIBCKERNELSRC)/include/linux $(KLIBCKERNELSRC)/include/mtd; do \
+ ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
+ done
$(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
+ $(Q)chmod -R a+rX $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
$(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
$(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir)
@@ -0,0 +1,14 @@
Index: klibc-1.5.24/Makefile
===================================================================
--- a/Makefile 2011-07-27 15:50:53.000000000 +0200
+++ b/Makefile 2011-08-01 00:47:56.000000000 +0200
@@ -39,7 +39,7 @@
export PERL := perl
# Location for installation
-export prefix = /usr
+export prefix = $(INST)
export bindir = $(prefix)/bin
export libdir = $(prefix)/lib
export mandir = $(prefix)/man
@@ -6,25 +6,11 @@ Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
Minor edits following upstream changes Minor edits following upstream changes
Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Index: klibc-1.5.24/Makefile
===================================================================
--- a/Makefile 2011-07-27 15:50:53.000000000 +0200
+++ b/Makefile 2011-08-01 00:47:56.000000000 +0200
@@ -39,7 +39,7 @@
export PERL := perl
# Location for installation
-export prefix = /usr
+export prefix = $(INST)
export bindir = $(prefix)/bin
export libdir = $(prefix)/lib
export mandir = $(prefix)/man
Index: klibc-1.5.24/scripts/Kbuild.install Index: klibc-1.5.24/scripts/Kbuild.install
=================================================================== ===================================================================
--- a/scripts/Kbuild.install 2011-07-27 15:50:53.000000000 +0200 --- a/scripts/Kbuild.install 2011-07-27 15:50:53.000000000 +0200
+++ b/scripts/Kbuild.install 2011-08-01 00:03:03.000000000 +0200 +++ b/scripts/Kbuild.install 2011-08-01 00:03:03.000000000 +0200
@@ -88,16 +88,12 @@ @@ -88,13 +88,10 @@
header: header:
$(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)" $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
$(Q)mkdir -p $(INSTALLROOT)$(bindir) $(Q)mkdir -p $(INSTALLROOT)$(bindir)
@@ -35,8 +21,13 @@ Index: klibc-1.5.24/scripts/Kbuild.install
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin - $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
$(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install $(Q)for x in $(KLIBCKERNELSRC)/include/asm $(KLIBCKERNELSRC)/include/asm* $(KLIBCKERNELSRC)/include/linux $(KLIBCKERNELSRC)/include/mtd; do \
ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
done
@@ -103,7 +100,6 @@
done
$(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/. $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
$(Q)chmod -R a+rX $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
- $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1 - $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
$(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir) $(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir)
@@ -1,4 +1,4 @@
DEPENDS = "virtual/kernel perl-native" DEPENDS = "linux-libc-headers perl-native"
SECTION = "libs" SECTION = "libs"
DESCRIPTION = "klibc is intended to be a minimalistic libc subset for \ DESCRIPTION = "klibc is intended to be a minimalistic libc subset for \
use with initramfs. It is deliberately written for small size, \ use with initramfs. It is deliberately written for small size, \
@@ -6,13 +6,11 @@ minimal entaglement, and portability, not speed."
LICENSE = "BSD-3-Clause & GPL-2.0 & MIT & Zlib" LICENSE = "BSD-3-Clause & GPL-2.0 & MIT & Zlib"
LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8b" LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8b"
PACKAGE_ARCH = "${MACHINE_ARCH}"
# Prevents do_package failures with: # Prevents do_package failures with:
# debugsources.list: No such file or directory: # debugsources.list: No such file or directory:
INHIBIT_PACKAGE_DEBUG_SPLIT = "1" INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INC_PR = "r0" INC_PR = "r1"
KLIBC_ARCH = '${TARGET_ARCH}' KLIBC_ARCH = '${TARGET_ARCH}'
KLIBC_ARCH_armeb = 'arm' KLIBC_ARCH_armeb = 'arm'
@@ -30,9 +28,11 @@ SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch"
SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch" SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch"
SRC_URI += "file://fstype-sane-vfat-and-jffs2-for-1.5.patch \ SRC_URI += "file://fstype-sane-vfat-and-jffs2-for-1.5.patch \
file://klibc-linux-libc-dev.patch \
file://modprobe.patch \ file://modprobe.patch \
file://dash_readopt.patch \ file://dash_readopt.patch \
file://wc.patch \ file://wc.patch \
file://prefix.patch \
file://staging.patch \ file://staging.patch \
file://kernel_3.2__aligned_u64.patch \ file://kernel_3.2__aligned_u64.patch \
" "
@@ -41,9 +41,10 @@ S = "${WORKDIR}/git"
EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'CROSS_COMPILE=${TARGET_PREFIX}' \ 'CROSS_COMPILE=${TARGET_PREFIX}' \
'KLIBCKERNELSRC=${STAGING_KERNEL_DIR}' \ 'KLIBCKERNELSRC=${STAGING_DIR_TARGET}/${exec_prefix}' \
" "
do_configure () { do_configure () {
ln -sf ${STAGING_KERNEL_DIR} linux
ln -sf "${STAGING_DIR_TARGET}/${exec_prefix}" linux
} }
@@ -2,23 +2,9 @@ PR = "${INC_PR}.0"
export INST = "${D}" export INST = "${D}"
do_compile_prepend() {
# after kernel 3.1 the headers are moved in /generated
if [ ! -e ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/asm/bitsperlong.h ]
then
ln -sf ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/generated/asm/bitsperlong.h ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/asm/bitsperlong.h
ln -sf ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/generated/asm/errno.h ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/asm/errno.h
ln -sf ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/generated/asm/ioctl.h ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/asm/ioctl.h
ln -sf ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/generated/asm/poll.h ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/asm/poll.h
ln -sf ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/generated/asm/resource.h ${STAGING_KERNEL_DIR}/arch/${TARGET_ARCH}/include/asm/resource.h
fi
}
do_install() { do_install() {
oe_runmake install oe_runmake DESTDIR="${D}" install
# the crosscompiler is packaged by klcc-cross # the crosscompiler is packaged by klcc-cross
# remove klcc # remove klcc