diff options
| author | Richard Purdie <richard@openedhand.com> | 2005-12-15 17:49:29 +0000 |
|---|---|---|
| committer | Richard Purdie <richard@openedhand.com> | 2005-12-15 17:49:29 +0000 |
| commit | b38f2a5935beaa588b90eec63fa5ab56d084f822 (patch) | |
| tree | 358c07f87962e3e7085e32670b7a5b0331b1336b /openembedded/packages/gcc | |
| parent | 8ae1a27297e98101b5810fdd8f447e3704b20e9e (diff) | |
| download | poky-b38f2a5935beaa588b90eec63fa5ab56d084f822.tar.gz | |
Merging with Openembedded
git-svn-id: https://svn.o-hand.com/repos/poky@197 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/gcc')
| -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 | } | ||
