summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index 448b601c22..7182b5b158 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -415,6 +415,26 @@ class Llvm(CMakePackage):
# Github issue #4986
patch('llvm_gcc7.patch', when='@4.0.0:4.0.1+lldb %gcc@7.0:')
+ @when('+lldb platform=darwin')
+ @run_before('cmake')
+ def check_darwin_lldb_codesign_requirement(self):
+ codesign = which('codesign')
+ cp = which('cp')
+ mkdir('tmp')
+ llvm_check_file = join_path('tmp', 'llvm_check')
+ cp('/usr/bin/false', llvm_check_file)
+
+ try:
+ codesign('-f', '-s', 'lldb_codesign', '--dryrun',
+ llvm_check_file)
+
+ except ProcessError:
+ explanation = ('The "lldb_codesign" identity must be available'
+ ' to build LLVM with LLDB. See https://llvm.org/'
+ 'svn/llvm-project/lldb/trunk/docs/code-signing'
+ '.txt for details on how to create this identity.')
+ raise RuntimeError(explanation)
+
def setup_environment(self, spack_env, run_env):
spack_env.append_flags('CXXFLAGS', self.compiler.cxx11_flag)