Files
poky/meta/recipes-devtools/gcc/libgcc_4.6.bb
Phil Blundell bc48729ee2 libgcc: correct mode on libgcc_s.so.1 to ensure it gets stripped
If the library is installed without execute permission then package.bbclass
will not consider it for stripping.  This is particularly unfortunate because
there seems to be a bug somewhere else which is causing all DSOs to end up with
a NEEDED dependency on libgcc_s, even if they don't actually require it, and
hence it is getting installed in all images (for uclibc on i586 at least).

(From OE-Core rev: b3724a67ad70f509181555e6be98e1eb3b184bb7)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-20 15:32:57 +01:00

50 lines
1.2 KiB
BlitzBasic

require gcc-${PV}.inc
PR = "r1"
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
chown -R root:root ${D}
chmod +x ${D}${base_libdir}/libgcc_s.so.*
}
do_package_write_ipk[depends] += "virtual/libc:do_package"
do_package_write_deb[depends] += "virtual/libc:do_package"
do_package_write_rpm[depends] += "virtual/libc:do_package"
BBCLASSEXTEND = "nativesdk"