From 441401bb8bed5cccc48ff259d72b9717c6e5d635 Mon Sep 17 00:00:00 2001 From: Dr Owain Kenway Date: Mon, 1 Jul 2019 01:04:29 +0100 Subject: llvm: don't build CppBackend for flang versions of llvm (#11841) The version of LLVM used by flang is new enough that CppBackend doesn't exist. Unfortunately, `flang-xxxxxxxx` is seen as < `3.9.0` by the version check. * add a special case for `flang` versions. --- var/spack/repos/builtin/packages/llvm/package.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index c19c623cc9..d319da702b 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -664,10 +664,14 @@ class Llvm(CMakePackage): if '+all_targets' not in spec: # all is default on cmake targets = ['NVPTX', 'AMDGPU'] - if spec.version < Version('3.9.0'): + if (spec.version < Version('3.9.0') + and spec.version[0] != 'flang'): # Starting in 3.9.0 CppBackend is no longer a target (see # LLVM_ALL_TARGETS in llvm's top-level CMakeLists.txt for # the complete list of targets) + + # This also applies to the version of llvm used by flang + # hence the test to see if the version starts with "flang". targets.append('CppBackend') if 'x86' in spec.architecture.target.lower(): -- cgit v1.2.3-60-g2f50