From a195061fd494e239ed367708914b3bedd935f9f4 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 31 Jan 2008 21:02:59 +0000 Subject: [PATCH] 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 --- meta/packages/gcc/gcc-cross-sdk_3.4.4.bb | 2 +- meta/packages/gcc/gcc-cross-sdk_4.1.2.bb | 2 +- .../packages/gcc/gcc-cross-sdk_csl-arm-2005q3-2.bb | 2 +- meta/packages/gcc/gcc-package-sdk.inc | 64 +++++++++++++++------- 4 files changed, 47 insertions(+), 23 deletions(-) diff --git a/meta/packages/gcc/gcc-cross-sdk_3.4.4.bb b/meta/packages/gcc/gcc-cross-sdk_3.4.4.bb index 038d390..4b2c583 100644 --- a/meta/packages/gcc/gcc-cross-sdk_3.4.4.bb +++ b/meta/packages/gcc/gcc-cross-sdk_3.4.4.bb @@ -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 diff --git a/meta/packages/gcc/gcc-cross-sdk_4.1.2.bb b/meta/packages/gcc/gcc-cross-sdk_4.1.2.bb index 85ff74e..23327c0 100644 --- a/meta/packages/gcc/gcc-cross-sdk_4.1.2.bb +++ b/meta/packages/gcc/gcc-cross-sdk_4.1.2.bb @@ -1,4 +1,4 @@ -PR = "r5" +PR = "r6" inherit sdk diff --git a/meta/packages/gcc/gcc-cross-sdk_csl-arm-2005q3-2.bb b/meta/packages/gcc/gcc-cross-sdk_csl-arm-2005q3-2.bb index 15ef027..fa5794b 100644 --- a/meta/packages/gcc/gcc-cross-sdk_csl-arm-2005q3-2.bb +++ b/meta/packages/gcc/gcc-cross-sdk_csl-arm-2005q3-2.bb @@ -1,4 +1,4 @@ -PR = "r0" +PR = "r1" inherit sdk diff --git a/meta/packages/gcc/gcc-package-sdk.inc b/meta/packages/gcc/gcc-package-sdk.inc index e106abb..635ab6d 100644 --- a/meta/packages/gcc/gcc-package-sdk.inc +++ b/meta/packages/gcc/gcc-package-sdk.inc @@ -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- 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" -- 2.7.4