summaryrefslogtreecommitdiffstats
path: root/recipes/dietlibc/dietlibc_0.31.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/dietlibc/dietlibc_0.31.bb')
-rw-r--r--recipes/dietlibc/dietlibc_0.31.bb47
1 files changed, 47 insertions, 0 deletions
diff --git a/recipes/dietlibc/dietlibc_0.31.bb b/recipes/dietlibc/dietlibc_0.31.bb
new file mode 100644
index 0000000000..7720588b60
--- /dev/null
+++ b/recipes/dietlibc/dietlibc_0.31.bb
@@ -0,0 +1,47 @@
+SECTION = "libs"
+DESCRIPTION = "The diet libc is a libc that is optimized for small size. \
+It can be used to create small statically linked binaries"
+LICENSE = "GPLv2"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/dietlibc/dietlibc-${PV}.tar.bz2 \
+ file://ccache.patch;patch=1 \
+ file://ceil.patch;patch=1 \
+ file://ai_addrconfig.patch;patch=1 \
+ "
+
+#otherwise the whole run scripts got broken
+do_configure () {
+ echo "moo" > /dev/null 2>&1
+}
+
+do_compile () {
+ oe_runmake all CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" prefix=${STAGING_DIR_TARGET}/lib/dietlibc
+ oe_runmake all ARCH="${TARGET_ARCH}" CROSS=" " prefix=${STAGING_DIR_TARGET}/lib/dietlibc
+}
+
+#no packages needed, all binaries will be compiled with -static
+PACKAGES = " "
+
+#otherwise the whole run scripts got broken
+do_install () {
+ echo "moo" > /dev/null 2>&1
+}
+
+do_stage () {
+ DIETLIBC_BUILD_ARCH=`echo ${BUILD_ARCH} | sed -e s'/.86/386/'`
+ DIETLIBC_TARGET_ARCH=`echo ${TARGET_ARCH} | sed -e s'/.86/386/'`
+ rm -rf ${STAGING_DIR_TARGET}/lib/dietlibc || true
+ rm ${CROSS_DIR}/bin/diet || true
+ install -d ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
+ install -d ${STAGING_DIR_TARGET}/lib/dietlibc/include
+ for i in `find include -name \*.h`; do install -m 644 -D $i ${STAGING_DIR_TARGET}/lib/dietlibc/$i; done
+
+ install -m755 bin-${DIETLIBC_BUILD_ARCH}/diet-i ${CROSS_DIR}/bin/diet
+
+ cd bin-${DIETLIBC_TARGET_ARCH}
+ install -m 644 start.o libm.a libpthread.a librpc.a \
+ liblatin1.a libcompat.a libcrypt.a \
+ ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
+ install -m 644 dietlibc.a ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}/libc.a
+}
+