SECTION = "devel" DESCRIPTION = "The GNU cc and gcc C compilers." HOMEPAGE = "http://www.gnu.org/software/gcc/" LICENSE = "GPL" MAINTAINER = "Phil Blundell " inherit autotools sdk SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://gcc34-reverse-compare.patch;patch=1 \ file://gcc34-arm-ldm.patch;patch=1 \ file://gcc34-arm-ldm-peephole.patch;patch=1 \ file://gcc34-arm-tune.patch;patch=1 \ file://gcc-3.4.1-uclibc-100-conf.patch;patch=1 \ file://gcc-3.4.1-uclibc-200-locale.patch;patch=1 \ file://gcc-3.4.0-arm-lib1asm.patch;patch=1 \ file://gcc-3.4.0-arm-nolibfloat.patch;patch=1" SRC_URI += 'file://sdk-libstdc++-includes.patch;patch=1' MIRRORS_prepend () { ${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/ ${GNU_MIRROR}/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/ } S = "${WORKDIR}/gcc-${PV}" B = "${S}/build.${HOST_SYS}.${TARGET_SYS}" FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/gcc-${PV}" DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc" export CPPFLAGS = "" export CXXFLAGS = "" export CFLAGS = "" export LDFLAGS = "" STAGING_TARGET_INCDIR = "${STAGING_DIR}/${TARGET_SYS}/include" STAGING_TARGET_LIBDIR = "${STAGING_DIR}/${TARGET_SYS}/lib" EXTRA_OECONF = "--with-gnu-ld \ --enable-shared \ --enable-languages=c,c++,f77 \ --enable-threads=posix \ --enable-multilib \ --enable-c99 \ --enable-long-long \ --enable-symvers=gnu \ --program-prefix=${TARGET_PREFIX} \ ${EXTRA_OECONF_PATHS} \ ${EXTRA_OECONF_DEP}" EXTRA_OECONF += "${@get_gcc_fpu_setting(oe, d)}" def get_gcc_fpu_setting(oe, d): if oe.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: return "--with-float=soft" return "" do_configure () { (cd ${S} && gnu-configize) || die "failure running gnu-configize" (cd ${S}/libstdc++-v3 && autoreconf) oe_runconf mkdir -p gcc ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}as gcc/as ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}ld gcc/ld ln -sf ${STAGING_TARGET_INCDIR}/* ${S}/include ln -sf ${STAGING_TARGET_LIBDIR}/crt*.o gcc/ } do_compile () { export CC="${BUILD_CC}" export AR_FOR_TARGET="${TARGET_SYS}-ar" export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib" export LD_FOR_TARGET="${TARGET_SYS}-ld" export NM_FOR_TARGET="${TARGET_SYS}-nm" export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc" oe_runmake CFLAGS_FOR_TARGET="-I${STAGING_TARGET_INCDIR}" } do_install () { autotools_do_install }