use BINV, not PV, in path to libgcc_eh.a
authorPhil Blundell <philb@gnu.org>
Mon, 18 Apr 2005 13:24:26 +0000 (13:24 +0000)
committerPhil Blundell <philb@gnu.org>
Mon, 18 Apr 2005 13:24:26 +0000 (13:24 +0000)
BKrev: 4263b50alX2DdJR0bLGycUioCPz2pg

packages/gcc/gcc-cross-initial_3.4.3.bb
packages/gcc/gcc-cross-initial_csl-arm-20050416.bb
packages/gcc/gcc-cross_csl-arm-20050416.bb
packages/gcc/gcc3-build-cross.inc

index e69de29..48c8086 100644 (file)
@@ -0,0 +1,28 @@
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+               --with-newlib \
+               --disable-shared \
+               --disable-threads \
+               --disable-multilib \
+               --disable-__cxa_atexit \
+               --enable-languages=c \
+               --enable-target-optspace \
+               --program-prefix=${TARGET_PREFIX} \
+               ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+       mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
+       ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+       oe_runmake 'DESTDIR=${D}' install
+}
index e69de29..48c8086 100644 (file)
@@ -0,0 +1,28 @@
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+               --with-newlib \
+               --disable-shared \
+               --disable-threads \
+               --disable-multilib \
+               --disable-__cxa_atexit \
+               --enable-languages=c \
+               --enable-target-optspace \
+               --program-prefix=${TARGET_PREFIX} \
+               ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+       mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
+       ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+       oe_runmake 'DESTDIR=${D}' install
+}
index a92ae13..4416f4d 100644 (file)
@@ -4,7 +4,7 @@ include gcc-paths-cross.inc
 inherit cross
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r1"
+PR = "r2"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
index e69de29..ec35ca6 100644 (file)
@@ -0,0 +1,41 @@
+EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+                     --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++"
+
+do_configure_prepend () {
+       rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
+}
+
+do_compile_prepend () {
+       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"
+}
+
+do_stage_append () {
+       for d in info man share/doc share/locale ; do
+               rm -rf ${CROSS_DIR}/$d
+       done
+
+       # These aren't useful on the cross toolchain
+       rm -f ${CROSS_DIR}/bin/*gcov
+       rm -f ${CROSS_DIR}/bin/*gccbug
+
+       # Fix a few include links so cross builds are happier
+       if [ ! -e ${STAGING_INCDIR}/c++ ]; then
+               mkdir -p ${STAGING_INCDIR}
+               ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
+                       ${STAGING_INCDIR}/
+       fi
+
+       # We use libiberty from binutils
+       rm -f ${CROSS_DIR}/lib/libiberty.a
+
+       # We probably don't need these
+       rmdir ${CROSS_DIR}/include || :
+
+       # We don't really need to keep this around
+       rm -rf ${CROSS_DIR}/share
+}