summaryrefslogtreecommitdiff
path: root/packages/klibc/klibc-common.inc
diff options
context:
space:
mode:
Diffstat (limited to 'packages/klibc/klibc-common.inc')
-rw-r--r--packages/klibc/klibc-common.inc62
1 files changed, 62 insertions, 0 deletions
diff --git a/packages/klibc/klibc-common.inc b/packages/klibc/klibc-common.inc
new file mode 100644
index 0000000000..146968eaf0
--- /dev/null
+++ b/packages/klibc/klibc-common.inc
@@ -0,0 +1,62 @@
+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"
+SRC_URI += "file://install.patch;patch=1"
+S = "${WORKDIR}/klibc-${PV}"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+# for the correct kernel staging path
+# inherit module-base
+
+EXTRA_OEMAKE = "'ARCH=${KLIBC_ARCH}' \
+ 'CROSS=${TARGET_PREFIX}' \
+ 'CC=${HOST_PREFIX}gcc' \
+ 'LD=${HOST_PREFIX}ld' \
+ 'AR=${AR}' \
+ 'RANLIB=${RANLIB}' \
+ 'NM=${TARGET_PREFIX}nm' \
+ 'STRIP=echo' \
+ 'SHLIBDIR=/lib' \
+ 'HOST_CC=${BUILD_CC}' \
+ 'HOST_CFLAGS=${BUILD_CFLAGS}' \
+ 'HOST_LDFLAGS=${BUILD_LDFLAGS}' \
+ 'HOST_LIBS=' \
+ 'LDFLAGS=' \
+ 'ARCHREQFLAGS=${HOST_CC_ARCH}' \
+ 'OPTFLAGS=${TARGET_CFLAGS}' \
+ 'mandir=${mandir}'"
+
+KLIBC_ARCH = '${TARGET_ARCH}'
+KLIBC_ARCH_armeb = 'arm'
+KLIBC_ARCH_mipsel = 'mips'
+
+# the klibc code contains ARM instructions (for ARM), this
+# could be fixed, but for the moment:
+ARM_INSTRUCTION_SET = "arm"
+
+TARGET_CFLAGS := "${@oe_filter_out('-I\S+', '${TARGET_CFLAGS}', d)} -I${STAGING_KERNEL_DIR}/include"
+
+INSTALLDIR = "/usr/lib/klibc"
+INSTALLPREFIX = "${INSTALLDIR}/${TARGET_PREFIX}"
+INSTALLBINDIR = "${INSTALLPREFIX}bin"
+INSTALLLIBDIR = "${INSTALLPREFIX}lib"
+INSTALLINCDIR = "${INSTALLPREFIX}include"
+
+PACKAGES = "${PN}-dbg ${PN} ${PN}-dev ${PN}-doc"
+
+FILES_${PN} = "/lib/*.so* ${INSTALLBINDIR}"
+FILES_${PN}-dev = "/usr/bin ${INSTALLINCDIR} ${INSTALLLIBDIR}"
+
+do_configure () {
+ ln -sf ${STAGING_KERNEL_DIR} linux
+}
+
+do_install() {
+ # The installed -dev won't work because it has the cross compiler
+ # path compiled in.
+ oe_runmake 'INSTALLROOT=${D}' install
+}