diff options
author | Matt Madison <matt@madison.systems> | 2017-09-28 10:34:42 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-10-06 12:03:32 +0100 |
commit | 1bc4c1d880096083d1891a74024fb225a6340b9b (patch) | |
tree | 3ab43628286dda86f0ba54eb86c50dbc5f8e2ec3 | |
parent | ec48b8fd79181978f90b4b0ab00fbe78ddbd416e (diff) | |
download | openembedded-core-1bc4c1d880096083d1891a74024fb225a6340b9b.tar.gz openembedded-core-1bc4c1d880096083d1891a74024fb225a6340b9b.tar.bz2 openembedded-core-1bc4c1d880096083d1891a74024fb225a6340b9b.zip |
goarch.bbclass: rework mips architecture checks
Remove the TUNE_FEATURES references from go_map_arch,
to avoid an unwanted variable dependency. Direct
comparisons of the architecture name are sufficient
for covering what Go currently supports, and using
TUNE_CCARGS_remove adequately handles the conflict
with the cgo-supplied flags for mips.
Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | meta/classes/goarch.bbclass | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass index 9ed562d5ab..659b26a09e 100644 --- a/meta/classes/goarch.bbclass +++ b/meta/classes/goarch.bbclass @@ -28,6 +28,7 @@ COMPATIBLE_HOST_linux-muslx32 = "null" COMPATIBLE_HOST_powerpc = "null" COMPATIBLE_HOST_powerpc64 = "null" ARM_INSTRUCTION_SET = "arm" +TUNE_CCARGS_remove = "-march=mips32r2" def go_map_arch(a, d): import re @@ -39,18 +40,14 @@ def go_map_arch(a, d): return 'arm' elif re.match('aarch64.*', a): return 'arm64' - elif re.match('mips64el*', a): + elif re.match('mips64el.*', a): return 'mips64le' - elif re.match('mips64*', a): + elif re.match('mips64.*', a): return 'mips64' - elif re.match('mips.*', a): - tf = d.getVar('TUNE_FEATURES').split() - if 'fpu-hard' in tf and 'n32' not in tf: - if 'mips32r2' in tf: - newtf = [t for t in tf if t != 'mips32r2'] - newtf.append('mips32') - d.setVar('TUNE_FEATURES', ' '.join(newtf)) - return 'mips' if 'bigendian' in tf else 'mipsle' + elif a == 'mips': + return 'mips' + elif a == 'mipsel': + return 'mipsle' elif re.match('p(pc|owerpc)(64)', a): return 'ppc64' elif re.match('p(pc|owerpc)(64el)', a): |