llvm: Raise SkipRecipe exception for unsupported architectures

When parsing this recipe on an unsupported or non-mappable architecture
an error is generated despite no dependencies on the recipe. E.g.

  ERROR: .../llvm_git.bb: cannot map 'microblazeel' to a supported llvm architecture

Instead of generating an error which might confuse users, raise a
SkipRecipe exception similar to other arch-style mapping functions (e.g.
go_map_arch). This avoids showing the error during parse, and prevents
the use of the recipe on unsupported targets. Resulting in an error like
so when trying to build llvm:

  ERROR: Nothing PROVIDES 'llvm'
  llvm was skipped: Cannot map 'microblazeel' to a supported LLVM architecture

(From OE-Core rev: d796abac982f368aa088a291560b565cc47a2c27)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Nathan Rossi
2017-08-02 21:09:16 +10:00
committed by Richard Purdie
parent a479bdd4fb
commit f42754a2d8

View File

@@ -42,8 +42,7 @@ def get_llvm_arch(bb, d, arch_var):
elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips'
elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC'
else:
bb.error("cannot map '%s' to a supported llvm architecture" % a)
return ""
raise bb.parse.SkipRecipe("Cannot map '%s' to a supported LLVM architecture" % a)
def get_llvm_target_arch(bb, d):
return get_llvm_arch(bb, d, 'TARGET_ARCH')