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

View File

@ -14,7 +14,7 @@ FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
# ${TARGET_PREFIX}klcc is just a
# perl wrapper around gcc-cross
# so give it the same arch and path
PACKAGE_ARCH = "${TUNE_PKGARCH}"
#PACKAGE_ARCH = "${TUNE_PKGARCH}"
inherit cross

View File

@ -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)

View File

@ -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

View File

@ -6,25 +6,11 @@ Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
Minor edits following upstream changes
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
===================================================================
--- a/scripts/Kbuild.install 2011-07-27 15:50:53.000000000 +0200
+++ b/scripts/Kbuild.install 2011-08-01 00:03:03.000000000 +0200
@@ -88,16 +88,12 @@
@@ -88,13 +88,10 @@
header:
$(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
$(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)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
@@ -103,7 +100,6 @@
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)

View File

@ -1,4 +1,4 @@
DEPENDS = "virtual/kernel perl-native"
DEPENDS = "linux-libc-headers perl-native"
SECTION = "libs"
DESCRIPTION = "klibc is intended to be a minimalistic libc subset for \
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"
LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8b"
PACKAGE_ARCH = "${MACHINE_ARCH}"
# Prevents do_package failures with:
# debugsources.list: No such file or directory:
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INC_PR = "r0"
INC_PR = "r1"
KLIBC_ARCH = '${TARGET_ARCH}'
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 += "file://fstype-sane-vfat-and-jffs2-for-1.5.patch \
file://klibc-linux-libc-dev.patch \
file://modprobe.patch \
file://dash_readopt.patch \
file://wc.patch \
file://prefix.patch \
file://staging.patch \
file://kernel_3.2__aligned_u64.patch \
"
@ -41,9 +41,10 @@ S = "${WORKDIR}/git"
EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'CROSS_COMPILE=${TARGET_PREFIX}' \
'KLIBCKERNELSRC=${STAGING_KERNEL_DIR}' \
'KLIBCKERNELSRC=${STAGING_DIR_TARGET}/${exec_prefix}' \
"
do_configure () {
ln -sf ${STAGING_KERNEL_DIR} linux
ln -sf "${STAGING_DIR_TARGET}/${exec_prefix}" linux
}

View File

@ -2,23 +2,9 @@ PR = "${INC_PR}.0"
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() {
oe_runmake install
oe_runmake DESTDIR="${D}" install
# the crosscompiler is packaged by klcc-cross
# remove klcc