Cause gcc-cross-sdk to be affected by TARGET_FPU.
authorChris Larson <clarson@kergoth.com>
Wed, 25 Aug 2004 18:45:29 +0000 (18:45 +0000)
committerChris Larson <clarson@kergoth.com>
Wed, 25 Aug 2004 18:45:29 +0000 (18:45 +0000)
BKrev: 412cde49v26DFqe0NF509nbQ_oWLbg

gcc/gcc-cross-sdk_3.4.1.oe

index e69de29..b9ee001 100644 (file)
@@ -0,0 +1,81 @@
+DESCRIPTION = "The GNU cc and gcc C compilers."
+LICENSE = "GPL"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+
+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
+}