summaryrefslogtreecommitdiff
path: root/meta/packages/gcc
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-07-24 20:30:37 +0000
committerRichard Purdie <richard@openedhand.com>2008-07-24 20:30:37 +0000
commit87796f6ce02df30375057fac934685d109f99be3 (patch)
tree419fb9887ca981ada36fc0071c8078f35d4f82f2 /meta/packages/gcc
parentf9651fac68352c9cfa6c616ae50f711c32e7bf32 (diff)
downloadopenembedded-core-87796f6ce02df30375057fac934685d109f99be3.tar.gz
openembedded-core-87796f6ce02df30375057fac934685d109f99be3.tar.bz2
openembedded-core-87796f6ce02df30375057fac934685d109f99be3.tar.xz
openembedded-core-87796f6ce02df30375057fac934685d109f99be3.zip
gcc: Add toolchain build process changes from OE which adds gcc-cross-intermediate and removes glibc-intermediate based on a patch from Khem Raj as will be aplied to OE.dev making the build process much more rebust/stable/correct.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4943 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/gcc')
-rw-r--r--meta/packages/gcc/gcc-3.4.4.inc1
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch21
-rw-r--r--meta/packages/gcc/gcc-configure-cross.inc4
-rw-r--r--meta/packages/gcc/gcc-cross-initial.inc8
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate.inc21
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb2
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb5
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb5
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb14
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb2
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb7
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb12
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb12
-rw-r--r--meta/packages/gcc/gcc-cross_3.4.4.bb2
-rw-r--r--meta/packages/gcc/gcc-cross_4.1.2.bb2
-rw-r--r--meta/packages/gcc/gcc-cross_4.2.3.bb2
-rw-r--r--meta/packages/gcc/gcc-cross_4.3.1.bb2
17 files changed, 107 insertions, 15 deletions
diff --git a/meta/packages/gcc/gcc-3.4.4.inc b/meta/packages/gcc/gcc-3.4.4.inc
index 704d9bc5c..5700a7c83 100644
--- a/meta/packages/gcc/gcc-3.4.4.inc
+++ b/meta/packages/gcc/gcc-3.4.4.inc
@@ -17,6 +17,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://always-fixincperm.patch;patch=1 \
file://GCOV_PREFIX_STRIP-cross-profile_3.4.patch;patch=1 \
file://zecke-xgcc-cpp.patch;patch=1 \
+ file://gcc-libgcc2-inhibit-libc.patch;patch=1 \
file://gcc4-mtune-compat.patch;patch=1"
SRC_URI += "file://gcc34-configure.in.patch;patch=1"
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch b/meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch
new file mode 100644
index 000000000..f3f7048b8
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch
@@ -0,0 +1,21 @@
+---
+ gcc/config/i386/linux.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: gcc-3.4.4/gcc/config/i386/linux.h
+===================================================================
+--- gcc-3.4.4.orig/gcc/config/i386/linux.h 2008-07-17 23:40:00.000000000 -0700
++++ gcc-3.4.4/gcc/config/i386/linux.h 2008-07-17 23:40:41.000000000 -0700
+@@ -218,6 +218,7 @@ Boston, MA 02111-1307, USA. */
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
+ #ifdef IN_LIBGCC2
+ /* There's no sys/ucontext.h for some (all?) libc1, so no
+ signal-turned-exceptions for them. There's also no configure-run for
+@@ -282,3 +283,4 @@ Boston, MA 02111-1307, USA. */
+ } while (0)
+ #endif /* not USE_GNULIBC_1 */
+ #endif /* IN_LIBGCC2 */
++#endif
diff --git a/meta/packages/gcc/gcc-configure-cross.inc b/meta/packages/gcc/gcc-configure-cross.inc
index c05cf3dff..da66e8e85 100644
--- a/meta/packages/gcc/gcc-configure-cross.inc
+++ b/meta/packages/gcc/gcc-configure-cross.inc
@@ -7,10 +7,6 @@ EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix}
--with-sysroot=${STAGING_DIR_TARGET} \
--with-build-sysroot=${STAGING_DIR_TARGET}"
-do_configure_prepend () {
- rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
-}
-
do_compile_prepend () {
export CC="${BUILD_CC}"
export AR_FOR_TARGET="${TARGET_SYS}-ar"
diff --git a/meta/packages/gcc/gcc-cross-initial.inc b/meta/packages/gcc/gcc-cross-initial.inc
index e0675263e..15e5fa62f 100644
--- a/meta/packages/gcc/gcc-cross-initial.inc
+++ b/meta/packages/gcc/gcc-cross-initial.inc
@@ -1,6 +1,4 @@
DEPENDS = "virtual/${TARGET_PREFIX}binutils"
-# @todo Please add comment on why this is (still?) needed?
-DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel', 'powerpc']]}"
PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
PACKAGES = ""
@@ -8,6 +6,7 @@ PACKAGES = ""
# sysroot is needed in case we use libc-initial
EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
--with-newlib \
+ --without-headers \
--disable-shared \
--disable-threads \
--disable-multilib \
@@ -19,11 +18,6 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
--with-build-sysroot=${STAGING_DIR_TARGET} \
${@get_gcc_fpu_setting(bb, d)}"
-do_stage_prepend () {
- mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
- ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
-}
-
do_install () {
:
}
diff --git a/meta/packages/gcc/gcc-cross-intermediate.inc b/meta/packages/gcc/gcc-cross-intermediate.inc
new file mode 100644
index 000000000..4fa12886f
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-intermediate.inc
@@ -0,0 +1,21 @@
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "virtual/${TARGET_PREFIX}libc-initial"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-intermediate"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+# sysroot is needed in case we use libc-initial
+EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
+ --enable-shared \
+ --disable-multilib \
+ --disable-threads \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ --with-sysroot=${STAGING_DIR_TARGET} \
+ --with-build-sysroot=${STAGING_DIR_TARGET} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_install () {
+ :
+}
diff --git a/meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb b/meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb
new file mode 100644
index 000000000..eb59de946
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb
@@ -0,0 +1,2 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb b/meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb
new file mode 100644
index 000000000..3e103aa24
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb
@@ -0,0 +1,5 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-libmudflap \
+ --disable-libssp"
diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb b/meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb
new file mode 100644
index 000000000..7acca81c3
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb
@@ -0,0 +1,5 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+EXTRA_OECONF += "--disable-libmudflap --disable-libgomp \
+ --disable-libssp"
diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb b/meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb
new file mode 100644
index 000000000..b0932f520
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb
@@ -0,0 +1,14 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+DEPENDS += "gmp-native mpfr-native"
+
+EXTRA_OECONF += " --disable-libmudflap \
+ --disable-libgomp \
+ --disable-libssp"
+
+# Hack till we fix *libc properly
+do_stage_append() {
+ ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
+}
+
diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb
new file mode 100644
index 000000000..6e9c252e7
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb
@@ -0,0 +1,2 @@
+require gcc-cross_csl-arm-2005q3.bb
+require gcc-cross-intermediate.inc
diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb
new file mode 100644
index 000000000..2d4b55f99
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb
@@ -0,0 +1,7 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+S = "${WORKDIR}/gcc-2006q1"
+
+EXTRA_OECONF += "--disable-libmudflap \
+ --disable-libssp"
diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb
new file mode 100644
index 000000000..114d9831c
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb
@@ -0,0 +1,12 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+S = "${WORKDIR}/gcc-4.2"
+
+EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap "
+
+# Hack till we fix *libc properly
+do_stage_append() {
+ ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
+}
+
diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb
new file mode 100644
index 000000000..114d9831c
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb
@@ -0,0 +1,12 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+S = "${WORKDIR}/gcc-4.2"
+
+EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap "
+
+# Hack till we fix *libc properly
+do_stage_append() {
+ ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
+}
+
diff --git a/meta/packages/gcc/gcc-cross_3.4.4.bb b/meta/packages/gcc/gcc-cross_3.4.4.bb
index c9b5cc992..c7a4cfe85 100644
--- a/meta/packages/gcc/gcc-cross_3.4.4.bb
+++ b/meta/packages/gcc/gcc-cross_3.4.4.bb
@@ -1,4 +1,4 @@
-PR = "r9"
+PR = "r10"
require gcc-${PV}.inc
require gcc-cross.inc
diff --git a/meta/packages/gcc/gcc-cross_4.1.2.bb b/meta/packages/gcc/gcc-cross_4.1.2.bb
index 43f21735e..c9e3279ff 100644
--- a/meta/packages/gcc/gcc-cross_4.1.2.bb
+++ b/meta/packages/gcc/gcc-cross_4.1.2.bb
@@ -1,4 +1,4 @@
-PR = "r16"
+PR = "r17"
require gcc-${PV}.inc
require gcc-cross4.inc
diff --git a/meta/packages/gcc/gcc-cross_4.2.3.bb b/meta/packages/gcc/gcc-cross_4.2.3.bb
index 11e04594f..72f72835c 100644
--- a/meta/packages/gcc/gcc-cross_4.2.3.bb
+++ b/meta/packages/gcc/gcc-cross_4.2.3.bb
@@ -1,4 +1,4 @@
-PR = "r6"
+PR = "r7"
require gcc-${PV}.inc
require gcc-cross4.inc
diff --git a/meta/packages/gcc/gcc-cross_4.3.1.bb b/meta/packages/gcc/gcc-cross_4.3.1.bb
index 9821d3cd8..11e04594f 100644
--- a/meta/packages/gcc/gcc-cross_4.3.1.bb
+++ b/meta/packages/gcc/gcc-cross_4.3.1.bb
@@ -1,4 +1,4 @@
-PR = "r5"
+PR = "r6"
require gcc-${PV}.inc
require gcc-cross4.inc