diff options
Diffstat (limited to 'openembedded/packages/gcc/gcc-cross_3.3.4.bb')
-rw-r--r-- | openembedded/packages/gcc/gcc-cross_3.3.4.bb | 97 |
1 files changed, 5 insertions, 92 deletions
diff --git a/openembedded/packages/gcc/gcc-cross_3.3.4.bb b/openembedded/packages/gcc/gcc-cross_3.3.4.bb index b08112874a..597b47fba8 100644 --- a/openembedded/packages/gcc/gcc-cross_3.3.4.bb +++ b/openembedded/packages/gcc/gcc-cross_3.3.4.bb | |||
@@ -1,100 +1,13 @@ | |||
1 | SECTION = "devel" | 1 | SECTION = "devel" |
2 | include gcc_${PV}.bb | 2 | include gcc_${PV}.bb |
3 | include gcc-paths-cross.inc | ||
3 | inherit cross | 4 | inherit cross |
4 | FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}" | 5 | FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}" |
5 | 6 | ||
7 | PR="r3" | ||
8 | |||
6 | DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc" | 9 | DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc" |
7 | PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" | 10 | PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" |
8 | 11 | ||
9 | # Files for these are defined in the main gcc.oe | 12 | include gcc3-build-cross.inc |
10 | PACKAGES = "libgcc libstdc++ libg2c" | 13 | include gcc-package-cross.inc \ No newline at end of file |
11 | OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}" | ||
12 | INHIBIT_PACKAGE_STRIP = "1" | ||
13 | |||
14 | EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \ | ||
15 | --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++" | ||
16 | |||
17 | export CPPFLAGS = "" | ||
18 | export CXXFLAGS = "" | ||
19 | export CFLAGS = "" | ||
20 | export LDFLAGS = "" | ||
21 | |||
22 | do_configure () { | ||
23 | export CC="${BUILD_CC}" | ||
24 | export AR="${TARGET_SYS}-ar" | ||
25 | export RANLIB="${TARGET_SYS}-ranlib" | ||
26 | export LD="${TARGET_SYS}-ld" | ||
27 | export NM="${TARGET_SYS}-nm" | ||
28 | rm -f ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}/libgcc_eh.a | ||
29 | (cd ${S} && gnu-configize) || die "failure running gnu-configize" | ||
30 | oe_runconf | ||
31 | } | ||
32 | |||
33 | do_compile_prepend () { | ||
34 | export CC="${BUILD_CC}" | ||
35 | export AR_FOR_TARGET="${TARGET_SYS}-ar" | ||
36 | export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib" | ||
37 | export LD_FOR_TARGET="${TARGET_SYS}-ld" | ||
38 | export NM_FOR_TARGET="${TARGET_SYS}-nm" | ||
39 | export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc" | ||
40 | } | ||
41 | |||
42 | do_stage_append () { | ||
43 | for d in info man share/doc share/locale ; do | ||
44 | rm -rf ${CROSS_DIR}/$d | ||
45 | done | ||
46 | |||
47 | # These aren't useful on the cross toolchain | ||
48 | rm -f ${CROSS_DIR}/bin/*gcov | ||
49 | rm -f ${CROSS_DIR}/bin/*gccbug | ||
50 | |||
51 | # Fix a few include links so cross builds are happier | ||
52 | if [ ! -e ${STAGING_INCDIR}/c++ ]; then | ||
53 | mkdir -p ${STAGING_INCDIR} | ||
54 | rm -f ${STAGING_INCDIR}/c++ | ||
55 | ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \ | ||
56 | ${STAGING_INCDIR}/ | ||
57 | fi | ||
58 | |||
59 | # We use libiberty from binutils | ||
60 | rm -f ${CROSS_DIR}/lib/libiberty.a | ||
61 | |||
62 | # We probably don't need these | ||
63 | rmdir ${CROSS_DIR}/include || : | ||
64 | |||
65 | # We don't really need to keep this around | ||
66 | rm -rf ${CROSS_DIR}/share | ||
67 | } | ||
68 | |||
69 | python do_package() { | ||
70 | if bb.data.getVar('DEBIAN_NAMES', d, 1): | ||
71 | bb.data.setVar('PKG_libgcc', 'libgcc1', d) | ||
72 | bb.build.exec_func('package_do_package', d) | ||
73 | } | ||
74 | |||
75 | do_install () { | ||
76 | oe_runmake 'DESTDIR=${D}' install | ||
77 | |||
78 | # Move libgcc_s into /lib | ||
79 | mkdir -p ${D}${base_libdir} | ||
80 | if [ "${BUILD_SYS}" == "${TARGET_SYS}" ]; then | ||
81 | # native builds drop one pathname component | ||
82 | mv -f ${D}${prefix}/lib/libgcc_s.so.* ${D}${base_libdir} | ||
83 | else | ||
84 | mv -f ${D}${prefix}/*/lib/libgcc_s.so.* ${D}${base_libdir} | ||
85 | fi | ||
86 | |||
87 | # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr | ||
88 | TGT_LIBDIR=`echo ${libdir} | sed -e 's,${CROSS_DIR},/usr,'` | ||
89 | mkdir -p ${D}${TGT_LIBDIR} | ||
90 | mv -f ${D}${prefix}/*/lib/libstdc++.so.* ${D}${TGT_LIBDIR} | ||
91 | mv -f ${D}${prefix}/*/lib/libg2c.so.* ${D}${TGT_LIBDIR} | ||
92 | |||
93 | # Manually run the target stripper since we won't get it run by | ||
94 | # the packaging. | ||
95 | if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then | ||
96 | ${TARGET_PREFIX}strip ${D}${TGT_LIBDIR}/libstdc++.so.* | ||
97 | ${TARGET_PREFIX}strip ${D}${TGT_LIBDIR}/libg2c.so.* | ||
98 | ${TARGET_PREFIX}strip ${D}${base_libdir}/libgcc_s.so.* | ||
99 | fi | ||
100 | } | ||