summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-09 18:51:44 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-11 19:08:02 +0100
commit8f8facbed42afb186a92f314bf2f04c5858f0c3e (patch)
tree1ecfe93fab63b08dc3e40124b62b4ccef0bfb649 /meta
parent6697ce28851121fa570b93949b82a36c322e4014 (diff)
downloadpoky-8f8facbed42afb186a92f314bf2f04c5858f0c3e.tar.gz
gcc: Various fixups to ensure consistent gcc builds
We ensure that: * the shared work directory contains PR and ensure PR values are consistent across gcc builds * the regexp to handle library directories is in a specific task and run once This avoids breakage that was seen in incremental builds after commit be1f70d68b6b75772ebab8bdff683ddd7c42b0cd where the interpretor could become corrupted. This was due to the sed expression corrupting the source directory. (From OE-Core rev: 970af6b09e1d69041b0d82fa56ace19543405eb1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.5.1.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.inc4
-rw-r--r--meta/recipes-devtools/gcc/gcc-common.inc9
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-common.inc10
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb1
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm-2008q1.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc_4.5.1.bb1
-rw-r--r--meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb2
-rw-r--r--meta/recipes-devtools/gcc/libgcc_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/libgcc_4.6.bb2
18 files changed, 17 insertions, 33 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1.inc b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
index 1b21a75eb3..6eb30443f0 100644
--- a/meta/recipes-devtools/gcc/gcc-4.5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
@@ -1,5 +1,7 @@
1require gcc-common.inc 1require gcc-common.inc
2 2
3PR = "r8"
4
3DEPENDS =+ "mpfr gmp libmpc elfutils" 5DEPENDS =+ "mpfr gmp libmpc elfutils"
4NATIVEDEPS = "mpfr-native gmp-native gettext-native libmpc-native elfutils-native" 6NATIVEDEPS = "mpfr-native gmp-native gettext-native libmpc-native elfutils-native"
5 7
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
index f952ac88d9..0a148b43b7 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.inc
@@ -1,6 +1,6 @@
1require gcc-common.inc 1require gcc-common.inc
2 2
3PR = "r4" 3PR = "r7"
4 4
5# Third digit in PV should be incremented after a minor release 5# Third digit in PV should be incremented after a minor release
6# happens from this branch on gcc e.g. currently its 4.6.0 6# happens from this branch on gcc e.g. currently its 4.6.0
@@ -73,7 +73,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
73SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " 73SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
74 74
75#S = "${WORKDIR}/${BRANCH}" 75#S = "${WORKDIR}/${BRANCH}"
76S = "${TMPDIR}/work-shared/gcc-${PV}/${BRANCH}" 76S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
77B = "${WORKDIR}/${BRANCH}/build.${HOST_SYS}.${TARGET_SYS}" 77B = "${WORKDIR}/${BRANCH}/build.${HOST_SYS}.${TARGET_SYS}"
78 78
79# Language Overrides 79# Language Overrides
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
index 1684e78feb..52431fa4f2 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -40,17 +40,18 @@ ${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/ \n \
40gcclibdir = "${libdir}/gcc" 40gcclibdir = "${libdir}/gcc"
41BINV = "${PV}" 41BINV = "${PV}"
42#S = "${WORKDIR}/gcc-${PV}" 42#S = "${WORKDIR}/gcc-${PV}"
43S = "${TMPDIR}/work-shared/gcc-${PV}/gcc-${PV}" 43S = "${TMPDIR}/work-shared/gcc-${PV}/gcc-${PV}-${PR}"
44B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" 44B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
45 45
46# SS means Shared Stamps directory 46# SS means Shared Stamps directory
47SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}" 47SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}-${PR}"
48do_fetch[stamp-base] = "${SS}" 48do_fetch[stamp-base] = "${SS}"
49do_unpack[stamp-base] = "${SS}" 49do_unpack[stamp-base] = "${SS}"
50do_headerfix[stamp-base] = "${SS}"
50do_patch[stamp-base] = "${SS}" 51do_patch[stamp-base] = "${SS}"
51 52
52# SW means Shared Work directory 53# SW means Shared Work directory
53SW = "${TMPDIR}/work-shared/gcc-${PV}" 54SW = "${TMPDIR}/work-shared/gcc-${PV}-${PR}"
54WORKDIR_task-unpack = "${SW}" 55WORKDIR_task-unpack = "${SW}"
55WORKDIR_task-patch = "${SW}" 56WORKDIR_task-patch = "${SW}"
56 57
@@ -61,7 +62,7 @@ target_prefix ?= "${prefix}"
61 62
62CLEANFUNCS += "workshared_clean" 63CLEANFUNCS += "workshared_clean"
63# The do_clean should be exclusive since share ${S} 64# The do_clean should be exclusive since share ${S}
64do_clean[lockfiles] = "${TMPDIR}/stamps/work-shared/gcc-${PV}.clean.lock" 65do_clean[lockfiles] = "${SW}.clean.lock"
65 66
66python workshared_clean () { 67python workshared_clean () {
67 """clear the source directory""" 68 """clear the source directory"""
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 869d1b6d60..2ddc3d7c9f 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -61,9 +61,9 @@ SYSTEMHEADERS = "${target_includedir}"
61SYSTEMLIBS = "${target_base_libdir}/" 61SYSTEMLIBS = "${target_base_libdir}/"
62SYSTEMLIBS1 = "${target_libdir}/" 62SYSTEMLIBS1 = "${target_libdir}/"
63 63
64do_configure_prepend () { 64do_headerfix () {
65 # Change the default dynamic linker path, only useful for SDK, other's value 65 # Change the default dynamic linker path, in case $base_liddir is non-standard
66 # are not changed according to the SYSTEMLIBS_DIR 66 # (e.g. in multilib or sdk cases)
67 # 67 #
68 # We want something like the following: 68 # We want something like the following:
69 # #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" 69 # #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
@@ -72,7 +72,11 @@ do_configure_prepend () {
72 # 72 #
73 sed -i ${S}/gcc/config/*/linux*.h -e \ 73 sed -i ${S}/gcc/config/*/linux*.h -e \
74 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\) \( *"/lib.*\)/\(.*\)#\1 SYSTEMLIBS_DIR "\3#' 74 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\) \( *"/lib.*\)/\(.*\)#\1 SYSTEMLIBS_DIR "\3#'
75}
75 76
77addtask headerfix after do_unpack before do_patch
78
79do_configure_prepend () {
76 # teach gcc to find correct target includedir when checking libc ssp support 80 # teach gcc to find correct target includedir when checking libc ssp support
77 mkdir -p ${B}/gcc 81 mkdir -p ${B}/gcc
78 echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${B}/gcc/t-oe 82 echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${B}/gcc/t-oe
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
index 92708d44e7..da3210fc35 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
@@ -5,8 +5,6 @@ require gcc-cross-canadian.inc
5require gcc-configure-sdk.inc 5require gcc-configure-sdk.inc
6require gcc-package-sdk.inc 6require gcc-package-sdk.inc
7 7
8PR = "r4"
9
10DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" 8DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
11RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" 9RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
12 10
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
index 081b7d60fb..16d8181774 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
@@ -1,5 +1,3 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-cross-initial.inc 2require gcc-cross-initial.inc
3 3
4PR = "r4"
5
diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
index a8473b0ebe..42fd0f0f59 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
@@ -1,4 +1,3 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc 2require gcc-cross-intermediate.inc
3PR = "r5"
4 3
diff --git a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
index af6daf41bd..97a0c81920 100644
--- a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
@@ -1,5 +1,3 @@
1PR = "r4"
2
3require gcc-${PV}.inc 1require gcc-${PV}.inc
4require gcc-cross4.inc 2require gcc-cross4.inc
5 3
diff --git a/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb b/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb
index 3c9a7f85b4..58eba46ddd 100644
--- a/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross_csl-arm-2008q1.bb
@@ -1,5 +1,3 @@
1PR = "r5"
2
3require gcc-csl-arm-2008q1.inc 1require gcc-csl-arm-2008q1.inc
4require gcc-cross4.inc 2require gcc-cross4.inc
5require gcc-configure-cross.inc 3require gcc-configure-cross.inc
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
index 970824805f..0c9fdd3449 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
@@ -1,4 +1,2 @@
1require gcc-cross-initial_${PV}.bb 1require gcc-cross-initial_${PV}.bb
2require gcc-crosssdk-initial.inc 2require gcc-crosssdk-initial.inc
3
4PR = "r4"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
index d235969591..1aa588ac9f 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
@@ -1,4 +1,2 @@
1require gcc-cross-intermediate_${PV}.bb 1require gcc-cross-intermediate_${PV}.bb
2require gcc-crosssdk-intermediate.inc 2require gcc-crosssdk-intermediate.inc
3
4PR = "r4"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
index bae238970a..7430888ed7 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
@@ -1,4 +1,2 @@
1require gcc-cross_${PV}.bb 1require gcc-cross_${PV}.bb
2require gcc-crosssdk.inc 2require gcc-crosssdk.inc
3
4PR = "r4"
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm-2008q1.inc b/meta/recipes-devtools/gcc/gcc-csl-arm-2008q1.inc
index cb5b087286..062f1c5a47 100644
--- a/meta/recipes-devtools/gcc/gcc-csl-arm-2008q1.inc
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm-2008q1.inc
@@ -2,6 +2,7 @@ require gcc-common.inc
2 2
3BINV = "4.2.3" 3BINV = "4.2.3"
4PV = "4.2.3+csl-arm-2008q1-126" 4PV = "4.2.3+csl-arm-2008q1-126"
5PR = "r6"
5 6
6FILESDIR = "${FILE_DIRNAME}/gcc-csl-arm" 7FILESDIR = "${FILE_DIRNAME}/gcc-csl-arm"
7 8
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
index 0a7056c228..bd3bacfe3a 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
@@ -1,5 +1,3 @@
1PR = "r6"
2
3require gcc-${PV}.inc 1require gcc-${PV}.inc
4require gcc-configure-runtime.inc 2require gcc-configure-runtime.inc
5require gcc-package-runtime.inc 3require gcc-package-runtime.inc
diff --git a/meta/recipes-devtools/gcc/gcc_4.5.1.bb b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
index f036cb146b..4dfb12e82e 100644
--- a/meta/recipes-devtools/gcc/gcc_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
@@ -1,4 +1,3 @@
1PR = "r8"
2require gcc-${PV}.inc 1require gcc-${PV}.inc
3require gcc-configure-target.inc 2require gcc-configure-target.inc
4require gcc-package-target.inc 3require gcc-package-target.inc
diff --git a/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb b/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
index 9fd2b0acc3..5bb8e58dcd 100644
--- a/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
+++ b/meta/recipes-devtools/gcc/gcc_csl-arm-2008q1.bb
@@ -1,5 +1,3 @@
1PR = "r5"
2
3require gcc-${PV}.inc 1require gcc-${PV}.inc
4require gcc-configure-target.inc 2require gcc-configure-target.inc
5require gcc-package-target.inc 3require gcc-package-target.inc
diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb
index b0523c78ac..49555377c9 100644
--- a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb
@@ -1,7 +1,5 @@
1require gcc-${PV}.inc 1require gcc-${PV}.inc
2 2
3PR = "r0"
4
5INHIBIT_DEFAULT_DEPS = "1" 3INHIBIT_DEFAULT_DEPS = "1"
6DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" 4DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
7 5
diff --git a/meta/recipes-devtools/gcc/libgcc_4.6.bb b/meta/recipes-devtools/gcc/libgcc_4.6.bb
index a6e1146be9..81664e3465 100644
--- a/meta/recipes-devtools/gcc/libgcc_4.6.bb
+++ b/meta/recipes-devtools/gcc/libgcc_4.6.bb
@@ -1,7 +1,5 @@
1require gcc-${PV}.inc 1require gcc-${PV}.inc
2 2
3PR = "r1"
4
5INHIBIT_DEFAULT_DEPS = "1" 3INHIBIT_DEFAULT_DEPS = "1"
6DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" 4DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
7 5