From 340033af829d2614874bf7e95a277664b65d866d Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 1 Sep 2007 17:18:08 +0000 Subject: gcc4-sdk: Use sysroot to workaround various path problems with external toolchains (from Poky) --- packages/gcc/gcc-cross-sdk_3.4.4.bb | 2 +- packages/gcc/gcc-cross-sdk_4.1.0.bb | 2 +- packages/gcc/gcc-cross-sdk_4.1.1.bb | 2 +- packages/gcc/gcc-cross-sdk_4.1.2.bb | 2 +- packages/gcc/gcc4-build-sdk.inc | 16 +++++++--------- 5 files changed, 11 insertions(+), 13 deletions(-) (limited to 'packages/gcc') diff --git a/packages/gcc/gcc-cross-sdk_3.4.4.bb b/packages/gcc/gcc-cross-sdk_3.4.4.bb index e6907deb1b..a8e9a67a96 100644 --- a/packages/gcc/gcc-cross-sdk_3.4.4.bb +++ b/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 = "r0" +PR = "r1" inherit sdk diff --git a/packages/gcc/gcc-cross-sdk_4.1.0.bb b/packages/gcc/gcc-cross-sdk_4.1.0.bb index 7233f79504..2308f2f9eb 100644 --- a/packages/gcc/gcc-cross-sdk_4.1.0.bb +++ b/packages/gcc/gcc-cross-sdk_4.1.0.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/gcc/" SECTION = "devel" LICENSE = "GPL" require gcc_${PV}.bb -PR = "r0" +PR = "r1" inherit sdk diff --git a/packages/gcc/gcc-cross-sdk_4.1.1.bb b/packages/gcc/gcc-cross-sdk_4.1.1.bb index e3050d3926..51470c7214 100644 --- a/packages/gcc/gcc-cross-sdk_4.1.1.bb +++ b/packages/gcc/gcc-cross-sdk_4.1.1.bb @@ -2,7 +2,7 @@ DESCRIPTION = "The GNU cc and gcc C compilers." HOMEPAGE = "http://www.gnu.org/software/gcc/" SECTION = "devel" LICENSE = "GPL" -PR = "r0" +PR = "r1" inherit sdk diff --git a/packages/gcc/gcc-cross-sdk_4.1.2.bb b/packages/gcc/gcc-cross-sdk_4.1.2.bb index 5bfb454452..6964199f17 100644 --- a/packages/gcc/gcc-cross-sdk_4.1.2.bb +++ b/packages/gcc/gcc-cross-sdk_4.1.2.bb @@ -1,4 +1,4 @@ -PR = "r3" +PR = "r4" inherit sdk diff --git a/packages/gcc/gcc4-build-sdk.inc b/packages/gcc/gcc4-build-sdk.inc index b75e8a57c9..77d326b3ee 100644 --- a/packages/gcc/gcc4-build-sdk.inc +++ b/packages/gcc/gcc4-build-sdk.inc @@ -1,19 +1,17 @@ USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}' USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibcgnueabi", "no", "", d )}' - -STAGING_TARGET_INCDIR = "${STAGING_DIR}/${TARGET_SYS}/include" -STAGING_TARGET_LIBDIR = "${STAGING_DIR}/${TARGET_SYS}/lib" +SYSROOT = "${WORKDIR}/sysroot" +EXTRA_OECONF += "--with-sysroot=${SYSROOT}" do_configure () { + # Work around Hardcoded path assumptions in gcc + mkdir -p ${SYSROOT}/usr/ + ln -s ${STAGING_DIR}/${TARGET_SYS}/include ${SYSROOT}/usr/include + ln -s ${STAGING_DIR}/${TARGET_SYS}/lib ${SYSROOT}/usr/lib (cd ${S} && gnu-configize) || die "failure running gnu-configize" (cd ${S}/libstdc++-v3 && autoreconf) oe_runconf - mkdir -p gcc - ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}as gcc/as - ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}ld gcc/ld - ln -sf ${STAGING_TARGET_INCDIR}/* ${S}/include - ln -sf ${STAGING_TARGET_LIBDIR}/crt*.o gcc/ } do_compile () { @@ -23,5 +21,5 @@ do_compile () { export LD_FOR_TARGET="${TARGET_SYS}-ld" export NM_FOR_TARGET="${TARGET_SYS}-nm" export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc ${TARGET_CC_ARCH}" - oe_runmake CFLAGS_FOR_TARGET="-I${STAGING_TARGET_INCDIR}" + oe_runmake } -- cgit v1.2.3 From db2189f618e7d048252683b203882fbab6684375 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 1 Sep 2007 17:24:17 +0000 Subject: gcc-cross-sdk-4.1.2: Second try and cleaning up SRC_URI (if this fails for anyone, please post the errors to the list) (from poky) --- packages/gcc/gcc-cross-sdk_4.1.2.bb | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) (limited to 'packages/gcc') diff --git a/packages/gcc/gcc-cross-sdk_4.1.2.bb b/packages/gcc/gcc-cross-sdk_4.1.2.bb index 6964199f17..238f5c2fd0 100644 --- a/packages/gcc/gcc-cross-sdk_4.1.2.bb +++ b/packages/gcc/gcc-cross-sdk_4.1.2.bb @@ -4,35 +4,10 @@ inherit sdk FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}" -DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc" -PACKAGES = "${PN}" +DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native" require gcc_${PV}.bb require gcc4-build-sdk.inc require gcc-package-sdk.inc -SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 \ - file://100-uclibc-conf.patch;patch=1 \ - file://110-arm-eabi.patch;patch=1 \ - file://200-uclibc-locale.patch;patch=1 \ - file://300-libstdc++-pic.patch;patch=1 \ - file://301-missing-execinfo_h.patch;patch=1 \ - file://302-c99-snprintf.patch;patch=1 \ - file://303-c99-complex-ugly-hack.patch;patch=1 \ - file://304-index_macro.patch;patch=1 \ - file://602-sdk-libstdc++-includes.patch;patch=1 \ - file://740-sh-pr24836.patch;patch=1 \ - file://800-arm-bigendian.patch;patch=1 \ - file://arm-nolibfloat.patch;patch=1 \ - file://arm-softfloat.patch;patch=1 \ - file://gcc41-configure.in.patch;patch=1 \ - file://arm-thumb.patch;patch=1 \ - file://arm-thumb-cache.patch;patch=1 \ - file://ldflags.patch;patch=1 \ - file://unbreak-armv4t.patch;patch=1 \ - file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 \ - " - -SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " - - +EXTRA_OECONF += "--disable-libunwind-exceptions --with-mpfr=${STAGING_DIR}/${BUILD_SYS}" -- cgit v1.2.3 From 5f900133d62cda43d5600686eefea11e89679b54 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 1 Sep 2007 18:01:09 +0000 Subject: gcc-package-sdk.inc: Update packaging after sysroot changes (from poky) --- packages/gcc/gcc-package-sdk.inc | 45 ++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 27 deletions(-) (limited to 'packages/gcc') diff --git a/packages/gcc/gcc-package-sdk.inc b/packages/gcc/gcc-package-sdk.inc index 1e5f2aaa5d..a910a8dc4d 100644 --- a/packages/gcc/gcc-package-sdk.inc +++ b/packages/gcc/gcc-package-sdk.inc @@ -6,7 +6,6 @@ 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) @@ -16,32 +15,24 @@ python do_package() { do_install () { oe_runmake 'DESTDIR=${D}' install - # Move libgcc_s into /lib - mkdir -p ${D}${base_libdir} - if [ -f ${D}${base_libdir}/libgcc_s.so.? ]; then - # Already in the right location - : - elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then - mv -f ${D}${prefix}/lib/libgcc_s.so.* ${D}${base_libdir} - else - mv -f ${D}${prefix}/*/lib/libgcc_s.so.* ${D}${base_libdir} + # Manually run the target stripper since we won't get it run by + # the packaging. + if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then + ${TARGET_PREFIX}strip ${D}${prefix}/${TARGET_SYS}/lib/libstdc++.so.* + ${TARGET_PREFIX}strip ${D}${prefix}/${TARGET_SYS}/lib/libg2c.so.* || true + ${TARGET_PREFIX}strip ${D}${prefix}/${TARGET_SYS}/lib/libgcc_s.so.* fi +} - # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr - mkdir -p ${D}${libdir} - mv -f ${D}${prefix}/*/lib/libstdc++.so.* ${D}${libdir} - if [ "${HAS_G2C}" = "yes" ]; then - mv -f ${D}${prefix}/*/lib/libg2c.so.* ${D}${libdir} - fi - if [ "${HAS_GFORTRAN}" = "yes" ]; then - mv -f ${D}${prefix}/*/lib/libgfortran*.so.* ${D}${libdir} - fi +FILES_libgcc = "${prefix}/${TARGET_SYS}/lib/libgcc*.so.*" +FILES_libgcc-dev = "${prefix}/${TARGET_SYS}/lib/libgcc*.so" - # Manually run the target stripper since we won't get it run by - # the packaging. - if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then - ${TARGET_PREFIX}strip ${D}${libdir}/libstdc++.so.* - ${TARGET_PREFIX}strip ${D}${libdir}/libg2c.so.* || true - ${TARGET_PREFIX}strip ${D}${base_libdir}/libgcc_s.so.* - fi -} +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" -- cgit v1.2.3