Files
poky/meta/recipes-devtools/gcc/libgcc_4.7.bb
Richard Purdie 3049f6b8df libgcc: Add missing dependency on libc:do_package
do_package writes out shlibs data and libgcc can depend on the values
there. We therefore need to express the depdency so that sstate can account
for it for example.

Without this a version change in eglibc can "psersist" in the sstate cache
and corrupt builds.

(From OE-Core rev: 4148bc80c008d25c8a536c7c7dfdeac1669a6662)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-24 10:35:32 +01:00

76 lines
2.2 KiB
BlitzBasic

require recipes-devtools/gcc/gcc-${PV}.inc
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
PKGSUFFIX = ""
PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
PACKAGES = "\
${PN} \
${PN}-dev \
${PN}-dbg \
libgcov${PKGSUFFIX}-dev \
"
FILES_${PN} = "${base_libdir}/libgcc*.so.*"
FILES_${PN}-dev = " \
${base_libdir}/libgcc*.so \
${libdir}/${TARGET_SYS}/${BINV}/*crt* \
${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
FILES_libgcov${PKGSUFFIX}-dev = " \
${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \
"
FILES_${PN}-dbg += "${base_libdir}/.debug/"
do_configure () {
target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##`
install -d ${D}${base_libdir} ${D}${libdir}
cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${B}
mkdir -p ${B}/${BPN}
cd ${B}/${BPN}
chmod a+x ${S}/${BPN}/configure
${S}/${BPN}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
}
do_compile () {
target=`echo ${TARGET_SYS} | sed -e s#-nativesdk##`
cd ${B}/${BPN}
oe_runmake MULTIBUILDTOP=${B}/$target/${BPN}/
}
do_install () {
target=`echo ${TARGET_SYS} | sed -e s#-nativesdk##`
cd ${B}/${BPN}
oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/$target/${BPN}/ install
# 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
# install the runtime in /usr/lib/ not in /usr/lib/gcc on target
# so that cross-gcc can find it in the sysroot
mv ${D}${libdir}/gcc/* ${D}${libdir}
rm -rf ${D}${libdir}/gcc/
# unwind.h is installed here which is shipped in gcc-cross
# as well as target gcc and they are identical so we dont
# ship one with libgcc here
rm -rf ${D}${libdir}/${TARGET_SYS}/${BINV}/include
}
do_package[depends] += "virtual/${MLPREFIX}libc:do_package"
do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_package"
do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_package"
do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_package"
BBCLASSEXTEND = "nativesdk"
INSANE_SKIP_${PN}-dev = "staticdev"
INSANE_SKIP_${MLPREFIX}libgcov${PKGSUFFIX}-dev = "staticdev"