summaryrefslogtreecommitdiff
path: root/recipes/klibc/klibc-common.inc
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/klibc/klibc-common.inc')
-rw-r--r--recipes/klibc/klibc-common.inc42
1 files changed, 42 insertions, 0 deletions
diff --git a/recipes/klibc/klibc-common.inc b/recipes/klibc/klibc-common.inc
new file mode 100644
index 0000000000..ff67450f50
--- /dev/null
+++ b/recipes/klibc/klibc-common.inc
@@ -0,0 +1,42 @@
+DEPENDS = "virtual/kernel 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, \
+minimal entaglement, and portability, not speed."
+LICENSE = "BSD-ADV"
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/klibc/Stable/klibc-${PV}.tar.bz2 \
+ file://fstype-sane-vfat-and-jffs2-for-1.5.patch;patch=1 \
+ file://modprobe.patch;patch=1 \
+ file://losetup.patch;patch=1 \
+ file://dash_readopt.patch;patch=1 \
+ file://wc.patch;patch=1 \
+ "
+S = "${WORKDIR}/klibc-${PV}"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+KLIBC_ARCH = '${TARGET_ARCH}'
+KLIBC_ARCH_armeb = 'arm'
+KLIBC_ARCH_mipsel = 'mips'
+KLIBC_ARCH_x86 = 'i386'
+KLIBC_ARCH_i486 = 'i386'
+KLIBC_ARCH_i586 = 'i386'
+KLIBC_ARCH_i686 = 'i386'
+KLIBC_ARCH_pentium = 'i386'
+
+# the klibc code contains ARM instructions (for ARM), this
+# could be fixed, but for the moment:
+ARM_INSTRUCTION_SET = "arm"
+
+SRC_URI_append_linux-gnueabi = "file://klibc-config-eabi.patch;patch=1 \
+ "
+SRC_URI_append_linux-uclibcgnueabi = "file://klibc-config-eabi.patch;patch=1 \
+ "
+
+EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
+ 'CROSS_COMPILE=${TARGET_PREFIX}' \
+ "
+
+do_configure () {
+ ln -sf ${STAGING_KERNEL_DIR} linux
+}
+