]> code.ossystems Code Review - openembedded-core.git/commitdiff
llvm: Raise SkipRecipe exception for unsupported architectures
authorNathan Rossi <nathan@nathanrossi.com>
Wed, 2 Aug 2017 11:09:16 +0000 (21:09 +1000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 9 Aug 2017 08:24:04 +0000 (09:24 +0100)
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

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-devtools/llvm/llvm_git.bb

index 722bc53aa116e7e9f67f6c431fea9e955589bf0a..f36e6978ede2b1e498db93e846771a950e27cdb5 100644 (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')