summaryrefslogtreecommitdiff
path: root/packages/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc')
-rw-r--r--packages/gcc/avr32-gcc-cross_4.1.2.bb22
-rw-r--r--packages/gcc/avr32-gcc_4.1.2.bb24
-rw-r--r--packages/gcc/gcc-cross_4.1.2.bb2
-rw-r--r--packages/gcc/gcc-package-cross.inc10
-rw-r--r--packages/gcc/gcc_4.1.2.bb19
5 files changed, 72 insertions, 5 deletions
diff --git a/packages/gcc/avr32-gcc-cross_4.1.2.bb b/packages/gcc/avr32-gcc-cross_4.1.2.bb
new file mode 100644
index 0000000000..765619ad69
--- /dev/null
+++ b/packages/gcc/avr32-gcc-cross_4.1.2.bb
@@ -0,0 +1,22 @@
+require avr32-gcc_${PV}.bb
+# path mangling, needed by the cross packaging
+require gcc-paths-cross.inc
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+# NOTE: split PR. If the main .oe changes something that affects its *build*
+# remember to increment this one too.
+PR = "r1"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# cross build
+require gcc3-build-cross.inc
+# cross packaging
+require gcc-package-cross.inc
+
+SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
+
+EXTRA_OECONF += " --disable-libmudflap \
+ --disable-libunwind-exceptions \
+ --with-mpfr=${STAGING_DIR}/${BUILD_SYS}"
diff --git a/packages/gcc/avr32-gcc_4.1.2.bb b/packages/gcc/avr32-gcc_4.1.2.bb
new file mode 100644
index 0000000000..fd461728bd
--- /dev/null
+++ b/packages/gcc/avr32-gcc_4.1.2.bb
@@ -0,0 +1,24 @@
+require gcc_${PV}.bb
+
+PR = "r1"
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-4.1.2', '${FILE_DIRNAME}/gcc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+SRC_URI = "http://www.angstrom-distribution.org/unstable/sources/gcc-4.1.2-atmel.1.1.0.tar.gz \
+# file://100-uclibc-conf.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://gcc41-configure.in.patch;patch=1 \
+ file://ldflags.patch;patch=1 \
+ file://zecke-xgcc-cpp.patch;patch=1 \
+ file://cache-amnesia.patch;patch=1 \
+ "
+
+do_compile_prepend() {
+ln -sf ${S}/libstdc++-v3/config/os/uclibc/ ${S}/libstdc++-v3/config/os/uclibc-linux
+}
diff --git a/packages/gcc/gcc-cross_4.1.2.bb b/packages/gcc/gcc-cross_4.1.2.bb
index 0f63487f2c..306cf9539c 100644
--- a/packages/gcc/gcc-cross_4.1.2.bb
+++ b/packages/gcc/gcc-cross_4.1.2.bb
@@ -17,4 +17,6 @@ require gcc-package-cross.inc
SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
+EXTRA_OECONF_append_avr32= " --disable-libmudflap "
+
EXTRA_OECONF += "--disable-libunwind-exceptions --with-mpfr=${STAGING_DIR_NATIVE}${layout_exec_prefix}"
diff --git a/packages/gcc/gcc-package-cross.inc b/packages/gcc/gcc-package-cross.inc
index 5c6b370d82..51a45cd633 100644
--- a/packages/gcc/gcc-package-cross.inc
+++ b/packages/gcc/gcc-package-cross.inc
@@ -43,12 +43,12 @@ do_install () {
# Already in the right location
:
elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then
- mv -f ${D}${prefix}/lib/libgcc_s.so* ${D}${target_base_libdir}
+ mv -f ${D}${prefix}/lib/libgcc_s.so* ${D}${target_base_libdir} || true
elif [ -f ${D}${prefix}/*/lib/nof/libgcc_s.so.? ]; then
mv -f ${D}${prefix}/*/lib/nof/libgcc_s.so* ${D}${target_base_libdir}
else
- mv -f ${D}${prefix}/*/lib/libgcc_s.so* ${D}${target_base_libdir}
+ mv -f ${D}${prefix}/*/lib/libgcc_s.so* ${D}${target_base_libdir} || true
fi
@@ -58,12 +58,12 @@ do_install () {
if [ -f ${D}${prefix}/*/lib/nof/libstdc++.so ]; then
- mv -f ${D}${prefix}/*/lib/nof/libstdc++.so* ${D}${target_libdir}
+ mv -f ${D}${prefix}/*/lib/nof/libstdc++.so* ${D}${target_libdir} || true
mv -f ${D}${prefix}/*/lib/nof/libg2c.so* ${D}${target_libdir} || true
mv -f ${D}${prefix}/*/lib/nof/libgfortran*.so* ${D}${target_libdir} || true
else
- mv -f ${D}${prefix}/*/lib/libstdc++.so* ${D}${target_libdir}
+ mv -f ${D}${prefix}/*/lib/libstdc++.so* ${D}${target_libdir} || true
mv -f ${D}${prefix}/*/lib/libg2c.so* ${D}${target_libdir} || true
mv -f ${D}${prefix}/*/lib/libgfortran*.so* ${D}${target_libdir} || true
fi
@@ -75,7 +75,7 @@ do_install () {
if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.*
${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.* || true
- ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.*
+ ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.* || true
${TARGET_PREFIX}strip ${D}${target_libdir}/libgfortran*.so* || true
fi
diff --git a/packages/gcc/gcc_4.1.2.bb b/packages/gcc/gcc_4.1.2.bb
index e0801d3c7f..b3eb0100e8 100644
--- a/packages/gcc/gcc_4.1.2.bb
+++ b/packages/gcc/gcc_4.1.2.bb
@@ -39,6 +39,25 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 \
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
+SRC_URI_avr32 = "http://www.angstrom-distribution.org/unstable/sources/gcc-4.1.2-atmel.1.1.0.tar.gz \
+# file://100-uclibc-conf.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://gcc41-configure.in.patch;patch=1 \
+ file://ldflags.patch;patch=1 \
+ file://zecke-xgcc-cpp.patch;patch=1 \
+ file://cache-amnesia.patch;patch=1 \
+ "
+
+do_compile_prepend_avr32() {
+ ln -sf ${S}/libstdc++-v3/config/os/uclibc/ ${S}/libstdc++-v3/config/os/uclibc-linux
+}
+
#Set the fortran bits
# ',fortran' or '', not 'f77' like gcc3 had
FORTRAN = ""