]> code.ossystems Code Review - openembedded-core.git/commitdiff
gcc-cross: Improve handling of unwind.h
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 24 Apr 2014 09:19:42 +0000 (10:19 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 25 Apr 2014 16:10:57 +0000 (17:10 +0100)
Rather than building the whole of libgcc to obtain the unwind.h header
file, simply configure it and then install the file. This avoids copying
chunks of data around when we don't need to and building the same thing
twice.

After doing this we need to make sure the target build directory exists
in the libgcc case since it will no longer be created automatically.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/gcc/gcc-4.8.inc
meta/recipes-devtools/gcc/gcc-cross.inc
meta/recipes-devtools/gcc/libgcc-common.inc

index c32060034e7a3486afe29a0364e6b402a2a316bb..855ec26aef3be124aff693623e25a7d597a91deb 100644 (file)
@@ -71,7 +71,6 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
           file://0048-PR58854_fix_arm_apcs_epilogue.patch \
           file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \
           file://0050-PR-target-58595.patch \
-          file://0051-fix-unwind-race.patch \
          "
 SRC_URI[md5sum] = "a3d7d63b9cb6b6ea049469a0c4a43c9d"
 SRC_URI[sha256sum] = "09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8"
index 165230b15fb76c1470c473b434c9ff3905a98c99..27ebcf648596d0bb1035b0571275cad5a11bfc08 100644 (file)
@@ -41,7 +41,7 @@ do_compile () {
        export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
        export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}"
 
-       oe_runmake all-host all-target-libgcc
+       oe_runmake all-host configure-target-libgcc
        # now generate script to drive testing
        echo "#!/usr/bin/env sh" >${B}/${TARGET_PREFIX}testgcc
        set >> ${B}/${TARGET_PREFIX}testgcc
@@ -141,6 +141,7 @@ INHIBIT_PACKAGE_STRIP = "1"
 BINRELPATH = "${@os.path.relpath(d.expand("${STAGING_DIR_NATIVE}${prefix_native}/bin/${MULTIMACH_TARGET_SYS}"), d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"))}"
 
 do_install () {
+       ( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h )
        oe_runmake 'DESTDIR=${D}' install-host
 
        install -d ${D}${target_base_libdir}
index c4ab885cc32b7e9c5382c4de891d44f03f44acb1..b30bcfeaebf437281019bf825c05ca2aca19eb37 100644 (file)
@@ -7,6 +7,7 @@ do_configure () {
        install -d ${D}${base_libdir} ${D}${libdir}
        hardlinkdir ${STAGING_INCDIR_NATIVE}/${LIBGCCBUILDTREENAME}$target/ ${B}
        mkdir -p ${B}/${BPN}
+       mkdir -p ${B}/$target/${BPN}/
        cd ${B}/${BPN}
        chmod a+x ${S}/${BPN}/configure
        ${S}/${BPN}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}