base.bbclass: add support for SOC_FAMILY in COMPATIBLE_MACHINES
[openembedded.git] / recipes / dietlibc / dietlibc.inc
blob64bc6be96d1de7d79e5580e3037e440c4ac3afe8
1 SECTION = "libs"
2 DESCRIPTION = "The diet libc is a libc that is optimized for small size. \
3 It can be used to create small statically linked binaries"
4 LICENSE = "GPLv2"
6 INC_PR = "r2"
8 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/dietlibc/dietlibc-${PV}.tar.bz2" 
10 #otherwise the whole run scripts got broken
11 do_configure () {
15 do_compile () {
16         oe_runmake all CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" prefix=${STAGING_DIR_TARGET}/lib/dietlibc
17         oe_runmake all ARCH="${TARGET_ARCH}" CC="${BUILD_CC}" CROSS="${HOST_PREFIX}" prefix=${STAGING_DIR_TARGET}/lib/dietlibc
20 #no packages needed, all binaries will be compiled with -static
21 PACKAGES = " "
23 #otherwise the whole run scripts got broken
24 do_install () {
28 do_stage () {
29         DIETLIBC_BUILD_ARCH=`echo ${BUILD_ARCH} | sed -e s'/.86/386/'`
30         DIETLIBC_TARGET_ARCH=`echo ${TARGET_ARCH} | sed -e s'/.86/386/'`
31         rm -rf ${STAGING_DIR_TARGET}/lib/dietlibc || true
32         rm ${TOOLCHAIN_PATH}/bin/diet || true
33         install -d ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
34         install -d ${STAGING_DIR_TARGET}/lib/dietlibc/include
35         for i in `find include -name \*.h`; do install -m 644 -D $i ${STAGING_DIR_TARGET}/lib/dietlibc/$i; done
37         install -m755 bin-${DIETLIBC_BUILD_ARCH}/diet-i ${TOOLCHAIN_PATH}/bin/diet
38         
39         cd bin-${DIETLIBC_TARGET_ARCH}
40         install -m 644 start.o libm.a libpthread.a librpc.a \
41                        liblatin1.a libcompat.a libcrypt.a \
42                        ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
43         install -m 644 dietlibc.a ${STAGING_DIR_TARGET}/lib/dietlibc/lib-${DIETLIBC_TARGET_ARCH}/libc.a