summaryrefslogtreecommitdiff
path: root/packages/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc')
-rw-r--r--packages/gcc/gcc-cross-sdk_3.4.4.bb2
-rw-r--r--packages/gcc/gcc-cross-sdk_4.1.0.bb2
-rw-r--r--packages/gcc/gcc-cross-sdk_4.1.1.bb2
-rw-r--r--packages/gcc/gcc-cross-sdk_4.1.2.bb31
-rw-r--r--packages/gcc/gcc-package-sdk.inc45
-rw-r--r--packages/gcc/gcc4-build-sdk.inc16
6 files changed, 31 insertions, 67 deletions
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..238f5c2fd0 100644
--- a/packages/gcc/gcc-cross-sdk_4.1.2.bb
+++ b/packages/gcc/gcc-cross-sdk_4.1.2.bb
@@ -1,38 +1,13 @@
-PR = "r3"
+PR = "r4"
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}"
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"
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
}