diff options
author | Marcin Juszkiewicz <hrw@openedhand.com> | 2007-04-20 15:11:56 +0000 |
---|---|---|
committer | Marcin Juszkiewicz <hrw@openedhand.com> | 2007-04-20 15:11:56 +0000 |
commit | 4efae4183550b9b4635eb2dbb9cbc4c3cfa0e3e7 (patch) | |
tree | 7b405c90aa9df1c45b94a9306f0ffce14eaf89cb /meta/packages | |
parent | 757e531c8e46349fde283781740600ab79474d45 (diff) | |
download | poky-4efae4183550b9b4635eb2dbb9cbc4c3cfa0e3e7.tar.gz |
meta-toolchain: Main target for SDK - taken from OE, removed pkgconfig part (not needed now)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1530 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages')
-rw-r--r-- | meta/packages/meta/meta-toolchain.bb | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/meta/packages/meta/meta-toolchain.bb b/meta/packages/meta/meta-toolchain.bb new file mode 100644 index 0000000000..d81140413e --- /dev/null +++ b/meta/packages/meta/meta-toolchain.bb | |||
@@ -0,0 +1,93 @@ | |||
1 | DESCRIPTION = "Meta package for building a installable toolchain" | ||
2 | LICENSE = "MIT" | ||
3 | DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native" | ||
4 | PR = "r0" | ||
5 | |||
6 | inherit sdk | ||
7 | |||
8 | PACKAGES = "" | ||
9 | |||
10 | BUILD_ALL_DEPS = "1" | ||
11 | do_build[recrdeptask] = "do_build" | ||
12 | |||
13 | SDK_DIR = "${WORKDIR}/sdk" | ||
14 | SDK_OUTPUT = "${SDK_DIR}/image" | ||
15 | SDK_DEPLOY = "${TMPDIR}/deploy/sdk" | ||
16 | |||
17 | IPKG_HOST = "ipkg-cl -f ${SDK_DIR}/ipkg-host.conf -o ${SDK_OUTPUT}" | ||
18 | IPKG_TARGET = "ipkg-cl -f ${SDK_DIR}/ipkg-target.conf -o ${SDK_OUTPUT}/${prefix}" | ||
19 | |||
20 | HOST_INSTALL = "\ | ||
21 | binutils-cross-sdk \ | ||
22 | gcc-cross-sdk \ | ||
23 | gdb-cross" | ||
24 | TARGET_INSTALL = "\ | ||
25 | task-sdk-bare \ | ||
26 | " | ||
27 | |||
28 | RDEPENDS = "${TARGET_INSTALL} ${HOST_INSTALL}" | ||
29 | |||
30 | do_populate_sdk() { | ||
31 | touch ${DEPLOY_DIR_IPK}/Packages | ||
32 | ipkg-make-index -r ${DEPLOY_DIR_IPK}/Packages -p ${DEPLOY_DIR_IPK}/Packages -l ${DEPLOY_DIR_IPK}/Packages.filelist -m ${DEPLOY_DIR_IPK} | ||
33 | |||
34 | rm -rf ${SDK_OUTPUT} | ||
35 | mkdir -p ${SDK_OUTPUT} | ||
36 | |||
37 | cat <<EOF >${SDK_DIR}/ipkg-host.conf | ||
38 | src oe file:${DEPLOY_DIR_IPK} | ||
39 | arch ${BUILD_ARCH} 1 | ||
40 | EOF | ||
41 | cat <<EOF >${SDK_DIR}/ipkg-target.conf | ||
42 | src oe file:${DEPLOY_DIR_IPK} | ||
43 | EOF | ||
44 | ipkgarchs="${PACKAGE_ARCHS}" | ||
45 | priority=1 | ||
46 | for arch in $ipkgarchs; do | ||
47 | echo "arch $arch $priority" >> ${SDK_DIR}/ipkg-target.conf | ||
48 | priority=$(expr $priority + 5) | ||
49 | done | ||
50 | |||
51 | rm -r ${SDK_OUTPUT} | ||
52 | mkdir -p ${SDK_OUTPUT} | ||
53 | |||
54 | ${IPKG_HOST} update | ||
55 | ${IPKG_HOST} -nodeps install ${HOST_INSTALL} | ||
56 | |||
57 | ${IPKG_TARGET} update | ||
58 | ${IPKG_TARGET} install ${TARGET_INSTALL} | ||
59 | |||
60 | mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS} | ||
61 | cp -pPR ${SDK_OUTPUT}/${prefix}/usr/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS} | ||
62 | rm -rf ${SDK_OUTPUT}/${prefix}/usr/ | ||
63 | |||
64 | cp -pPR ${SDK_OUTPUT}/${prefix}/lib/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib | ||
65 | rm -rf ${SDK_OUTPUT}/${prefix}/lib/* | ||
66 | |||
67 | mv ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/gcc* ${SDK_OUTPUT}/${prefix}/lib | ||
68 | |||
69 | cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/linux/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/ | ||
70 | cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/asm/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/ | ||
71 | chmod -R a+r ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/ | ||
72 | find ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/ -type d | xargs chmod +x | ||
73 | |||
74 | echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libpthread.so | ||
75 | echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so | ||
76 | # remove unwanted housekeeping files | ||
77 | mv ${SDK_OUTPUT}${libdir}/../${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status | ||
78 | rm -rf ${SDK_OUTPUT}${libdir}/ipkg | ||
79 | |||
80 | # remove unwanted executables | ||
81 | rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc | ||
82 | |||
83 | # remove broken .la files | ||
84 | rm ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/*.la | ||
85 | |||
86 | mkdir -p ${SDK_DEPLOY} | ||
87 | cd ${SDK_OUTPUT} | ||
88 | fakeroot tar cfj ${SDK_DEPLOY}/${DISTRO}-${DISTRO_VERSION}-${TARGET_ARCH}-oe-toolchain.tar.bz2 . | ||
89 | } | ||
90 | |||
91 | do_populate_sdk[nostamp] = "1" | ||
92 | do_populate_sdk[recrdeptask] = "do_package_write" | ||
93 | addtask populate_sdk before do_build after do_install | ||