Merge openembedded@openembedded.bkbits.net:packages
[vuplus_openembedded] / gcc / gcc-cross_3.3.3.oe
1 include gcc_${PV}.oe
2 inherit cross
3 FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/gcc-${PV}"
4
5 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
6 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
7
8 PACKAGES = "libgcc"
9 INHIBIT_PACKAGE_STRIP = 1
10
11 EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
12                 --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++"
13
14 export CPPFLAGS = ""
15 export CXXFLAGS = ""
16 export CFLAGS = ""
17 export LDFLAGS = ""
18
19 do_configure () {
20         export CC="${BUILD_CC}"
21         export AR="${TARGET_SYS}-ar"
22         export RANLIB="${TARGET_SYS}-ranlib"
23         export LD="${TARGET_SYS}-ld"
24         export NM="${TARGET_SYS}-nm"
25         rm -f ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}/libgcc_eh.a
26         gnu-configize
27         oe_runconf
28 }
29
30 do_compile_prepend () {
31         export CC="${BUILD_CC}"
32         export AR_FOR_TARGET="${TARGET_SYS}-ar"
33         export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
34         export LD_FOR_TARGET="${TARGET_SYS}-ld"
35         export NM_FOR_TARGET="${TARGET_SYS}-nm"
36         export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc"
37 }
38
39 do_stage_append () {
40         for d in info man share/doc share/locale ; do
41                 rm -rf ${CROSS_DIR}/$d
42         done
43
44         # These aren't useful on the cross toolchain
45         rm -f ${CROSS_DIR}/bin/*gcov
46         rm -f ${CROSS_DIR}/bin/*gccbug
47
48         # Fix a few include links so cross builds are happier
49         if [ ! -e ${STAGING_INCDIR}/c++ ]; then
50                 mkdir -p ${STAGING_INCDIR}
51                 rm -f ${STAGING_INCDIR}/c++
52                 ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
53                         ${STAGING_INCDIR}/
54         fi
55
56         # We use libiberty from binutils
57         rm -f ${CROSS_DIR}/lib/libiberty.a
58
59         # We probably don't need these
60         rmdir ${CROSS_DIR}/include || :
61
62         # We don't really need to keep this around
63         rm -rf ${CROSS_DIR}/share
64 }
65
66 python do_package() {
67         if oe.data.getVar('DEBIAN_NAMES', d, 1):
68                 oe.data.setVar('PKG_libgcc', 'libgcc1', d)
69         oe.build.exec_func('package_do_package', d)
70 }
71
72 do_install () {
73         oe_runmake 'DESTDIR=${D}' install
74
75         # Move libgcc_s into /lib
76         mkdir -p ${D}/lib
77         if [ "${BUILD_SYS}" == "${TARGET_SYS}" ]; then
78                 # native builds drop one pathname component
79                 mv -f ${D}/${prefix}/lib/libgcc_s.so.* ${D}/lib
80         else
81                 mv -f ${D}/${prefix}/*/lib/libgcc_s.so.* ${D}/lib
82         fi
83 }