mirror of
https://git.yoctoproject.org/poky
synced 2026-04-02 17:02:21 +02:00
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>
76 lines
2.2 KiB
BlitzBasic
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"
|