From 39bfa0dd3237cbca47e7fca1075d521f9d073f25 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Tue, 11 Apr 2017 20:38:38 +0200 Subject: recipes/*-cross recipes: ignore TARGET_ARCH sstate hash "yocto-compat-layer.py --machines" showed that shared packages like gcc-cross-powerpc64 have a sstate signature that depends on TUNEFLAGS. As a result, there are unnecessary rebuilds and potential conflicts in a multiconfig. That's due to the way how TARGET_ARCH is set. Richard Purdie suggested setting TARGET_ARCH[vardepvalue] as fix, which works. It would be shorter to do that in cross.bbclass instead of repeating the relevant line in different recipes, but Richard was concerned about potential side-effects in other usages of cross.bbclass. TARGET_GOARM as used in go.inc is still causing signature differences for go-cross-powerpc64 and machines b4420qds-64b and p5020ds-64b. This needs further investigation. Signed-off-by: Patrick Ohly Signed-off-by: Richard Purdie --- meta/recipes-devtools/binutils/binutils-cross.inc | 3 +++ meta/recipes-devtools/gcc/gcc-cross.inc | 3 +++ meta/recipes-devtools/gdb/gdb-cross.inc | 3 +++ meta/recipes-devtools/go/go-cross.inc | 3 +++ 4 files changed, 12 insertions(+) (limited to 'meta') diff --git a/meta/recipes-devtools/binutils/binutils-cross.inc b/meta/recipes-devtools/binutils/binutils-cross.inc index 5e6f468f2e..02ec891606 100644 --- a/meta/recipes-devtools/binutils/binutils-cross.inc +++ b/meta/recipes-devtools/binutils/binutils-cross.inc @@ -4,6 +4,9 @@ PROVIDES = "virtual/${TARGET_PREFIX}binutils" PN = "binutils-cross-${TARGET_ARCH}" BPN = "binutils" +# Ignore how TARGET_ARCH is computed. +TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}" + INHIBIT_DEFAULT_DEPS = "1" INHIBIT_AUTOTOOLS_DEPS = "1" diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc index bb5f7a0a5e..c5c1645f69 100644 --- a/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/meta/recipes-devtools/gcc/gcc-cross.inc @@ -11,6 +11,9 @@ python () { PN = "gcc-cross-${TARGET_ARCH}" +# Ignore how TARGET_ARCH is computed. +TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}" + require gcc-configure-common.inc # While we want the 'gnu' hash style, we explicitly set it to sysv here to diff --git a/meta/recipes-devtools/gdb/gdb-cross.inc b/meta/recipes-devtools/gdb/gdb-cross.inc index d92f31fb01..ebe329f6d3 100644 --- a/meta/recipes-devtools/gdb/gdb-cross.inc +++ b/meta/recipes-devtools/gdb/gdb-cross.inc @@ -21,6 +21,9 @@ GDBPROPREFIX = "" PN = "gdb-cross-${TARGET_ARCH}" BPN = "gdb" +# Ignore how TARGET_ARCH is computed. +TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}" + inherit cross inherit gettext diff --git a/meta/recipes-devtools/go/go-cross.inc b/meta/recipes-devtools/go/go-cross.inc index 68f5efd6c0..93206a5d05 100644 --- a/meta/recipes-devtools/go/go-cross.inc +++ b/meta/recipes-devtools/go/go-cross.inc @@ -4,6 +4,9 @@ DEPENDS += "gcc-cross-${TARGET_ARCH}" PN = "go-cross-${TARGET_ARCH}" +# Ignore how TARGET_ARCH is computed. +TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}" + FILESEXTRAPATHS =. "${FILE_DIRNAME}/go-cross:" GOROOT_FINAL = "${libdir}/go" -- cgit 1.2.3-korg