gcc-cross-sdk: Totally rewrite packaging so it consists of a single package. Disable shlibs code causing build breakage. Add useful symlinks to gcc and cc

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3655 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2008-01-31 21:02:59 +00:00
parent c51985fbd1
commit d38751f4e4
4 changed files with 47 additions and 23 deletions

View File

@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
require gcc_${PV}.bb
PR = "r2"
PR = "r3"
inherit sdk

View File

@ -1,4 +1,4 @@
PR = "r5"
PR = "r6"
inherit sdk

View File

@ -1,4 +1,4 @@
PR = "r0"
PR = "r1"
inherit sdk

View File

@ -1,20 +1,58 @@
# Packages emitted by our gcc-cross builds.
#
# Note gcc-package.inc was already included before us.
#
# We override PACKAGES and FILES to change the packaging
#
INHIBIT_PACKAGE_STRIP ?= ""
HAS_G2C ?= "yes"
HAS_GFORTRAN ?= "no"
OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
INHIBIT_PACKAGE_STRIP = "1"
python do_package() {
if bb.data.getVar('DEBIAN_NAMES', d, 1):
bb.data.setVar('PKG_libgcc', 'libgcc1', d)
bb.build.exec_func('package_do_package', d)
}
# Having anything auto depending on gcc-cross-sdk is a really bad idea...
EXCLUDE_FROM_SHLIBS = "1"
PACKAGES = "${PN} ${PN}-doc"
FILES_${PN} = "\
${bindir}/* \
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1 \
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \
${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
${gcclibdir}/${TARGET_SYS}/${BINV}/include \
${includedir}/c++/${BINV} \
${prefix}/${TARGET_SYS}/bin/* \
${prefix}/${TARGET_SYS}/lib/* \
"
do_install () {
oe_runmake 'DESTDIR=${D}' install
# Cleanup some of the ${libdir}{,exec}/gcc stuff ...
rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
# We care about g++ not c++
rm -f ${D}${bindir}/*c++
# We don't care about the gcc-<version> copies
rm -f ${D}${bindir}/*gcc-?.?*
# We use libiberty from binutils
rm -f ${D}${prefix}/${TARGET_SYS}/lib/libiberty.a
rm -f ${D}${libdir}/libiberty.a
# Create the ${prefix}/${TARGET_SYS}/bin/* symlinks
install -d ${D}${prefix}/${TARGET_SYS}/bin/
for l in ${D}${bindir}/*; do
ln -sf "${bindir}/`basename $l`" "${D}${prefix}/${TARGET_SYS}/bin/`basename $l | sed -e 's,${TARGET_PREFIX},,'`"
done
ln -sf "${bindir}/${TARGET_PREFIX}gcc" "${D}${prefix}/${TARGET_SYS}/bin/cc"
# Manually run the target stripper since we won't get it run by
# the packaging.
if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
@ -24,17 +62,3 @@ do_install () {
fi
}
FILES_libgcc = "${prefix}/${TARGET_SYS}/lib/libgcc*.so.*"
FILES_libgcc-dev = "${prefix}/${TARGET_SYS}/lib/libgcc*.so"
FILES_libstdc++ = "${prefix}/${TARGET_SYS}/lib/libstdc++.so.*"
FILES_libstdc++-dev = "${includedir}/c++/${BINV} \
${prefix}/${TARGET_SYS}/lib/libstdc++.so \
${prefix}/${TARGET_SYS}/lib/libstdc++.a \
${prefix}/${TARGET_SYS}/lib/libsupc++.a"
FILES_libmudflap = "${prefix}/${TARGET_SYS}/lib/libmudflap*.so.*"
FILES_libmudflap-dev = "${prefix}/${TARGET_SYS}/lib/libmudflap*.so \
${prefix}/${TARGET_SYS}/lib/libmudflap*.a"
RRECOMMENDS_${PN} += "libgcc libgcc-dev cpp g++ libstdc++ libstdc++-dev"