gcc: import yocto rev 0df3c481309e89b93e8a57773eb9c470b4dd13a7

From: Dexuan Cui <dexuan.cui@intel.com>
Date: Sat, 15 Jan 2011 10:47:50 +0000
Subject: libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o

Currently gcc-runtime installs the files, but actually gcc-runtime's
do_configure checks if the files are available, so before we build gcc-runtime,
we should have some recipe install the files first! -- currently
gcc-cross-intermediate actually does that(gcc-cross also installs the files,
but it installs into the gcc-build-internal* directory), but
gcc-cross-intermediate will have its own sysroot in future, after that,
gcc-runtime won't build. So let us add this new target recipe and move the
installation of the files from gcc-runtime into it

changed to apply to gcc 4.5

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
Koen Kooi 2011-01-18 11:41:25 +01:00
parent 898fc9f4c9
commit 2414ce3108
4 changed files with 44 additions and 24 deletions

View File

@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
SRCREV = "168622"
PV = "4.5"
INC_PR = "r30"
INC_PR = "r31"
# BINV should be incremented after updating to a revision
# after a minor gcc release (e.g. 4.5.1 or 4.5.2) has been made

View File

@ -31,28 +31,14 @@ do_compile () {
}
do_install () {
target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##`
# Install libgcc from our gcc-cross saved data
install -d ${D}${base_libdir} ${D}${libdir}
cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D}
for d in ${RUNTIMETARGET}; do
cd ${B}/$d/
oe_runmake 'DESTDIR=${D}' install
done
# Move libgcc_s into /lib
mkdir -p ${D}${base_libdir}
if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then
mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir}
else
mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true
fi
}
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc"
PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs"
BBCLASSEXTEND = "nativesdk"

View File

@ -1,6 +1,4 @@
PACKAGES = "\
libgcc \
libgcc-dev \
libstdc++ \
libstdc++-precompile-dev \
libstdc++-dev \
@ -14,12 +12,6 @@ PACKAGES = "\
libmudflap-dev \
"
FILES_libgcc = "${base_libdir}/libgcc*.so.*"
FILES_libgcc-dev = " \
${base_libdir}/libgcc*.so \
${libdir}/${TARGET_SYS}/${BINV}/crt* \
${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
FILES_libg2c = "${target_libdir}/libg2c.so.*"
FILES_libg2c-dev = "\
${libdir}/libg2c.so \

View File

@ -0,0 +1,42 @@
require gcc-${PV}.inc
PR = "r0"
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
PACKAGES = "\
${PN} \
${PN}-dev \
"
FILES_${PN} = "${base_libdir}/libgcc*.so.*"
FILES_${PN}-dev = " \
${base_libdir}/libgcc*.so \
${libdir}/${TARGET_SYS}/${BINV}/crt* \
${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
do_fetch[noexec] = "1"
do_unpack[noexec] = "1"
do_patch[noexec] = "1"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install () {
target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##`
# Install libgcc from our gcc-cross saved data
install -d ${D}${base_libdir} ${D}${libdir}
cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D}
# Move libgcc_s into /lib
mkdir -p ${D}${base_libdir}
if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then
mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir}
else
mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true
fi
}
BBCLASSEXTEND = "nativesdk"