Removing flang variant from llvm package (#14600)
This commit is contained in:
parent
1e09de73b7
commit
1fd335d654
@ -87,20 +87,16 @@ class Llvm(CMakePackage):
|
|||||||
variant('omp_tsan', default=False,
|
variant('omp_tsan', default=False,
|
||||||
description="Build with OpenMP capable thread sanitizer")
|
description="Build with OpenMP capable thread sanitizer")
|
||||||
variant('python', default=False, description="Install python bindings")
|
variant('python', default=False, description="Install python bindings")
|
||||||
variant('flang', default=False,
|
|
||||||
description='Build flang branch version instead')
|
|
||||||
|
|
||||||
extends('python', when='+python')
|
extends('python', when='+python')
|
||||||
|
|
||||||
# Build dependency
|
# Build dependency
|
||||||
depends_on('cmake@3.4.3:', type='build')
|
depends_on('cmake@3.4.3:', type='build')
|
||||||
depends_on('python@2.7:2.8', when='@:4.999 ~python', type='build')
|
depends_on('python@2.7:2.8', when='@:4.999 ~python', type='build')
|
||||||
depends_on('python@2.7:2.8', when='@5: ~python +flang', type='build')
|
|
||||||
depends_on('python', when='@5: ~python', type='build')
|
depends_on('python', when='@5: ~python', type='build')
|
||||||
|
|
||||||
# Universal dependency
|
# Universal dependency
|
||||||
depends_on('python@2.7:2.8', when='@:4.999+python')
|
depends_on('python@2.7:2.8', when='@:4.999+python')
|
||||||
depends_on('python@2.7:2.8', when='@5:+python+flang')
|
|
||||||
depends_on('python', when='@5:+python')
|
depends_on('python', when='@5:+python')
|
||||||
|
|
||||||
# openmp dependencies
|
# openmp dependencies
|
||||||
@ -119,59 +115,6 @@ class Llvm(CMakePackage):
|
|||||||
depends_on('gmp', when='@:3.6.999 +polly')
|
depends_on('gmp', when='@:3.6.999 +polly')
|
||||||
depends_on('isl', when='@:3.6.999 +polly')
|
depends_on('isl', when='@:3.6.999 +polly')
|
||||||
|
|
||||||
resource(name='flang-llvm',
|
|
||||||
git='https://github.com/flang-compiler/llvm.git',
|
|
||||||
branch='release_60',
|
|
||||||
placement='llvm-flang',
|
|
||||||
when='llvm@develop+flang')
|
|
||||||
|
|
||||||
resource(name='flang-llvm',
|
|
||||||
git='https://github.com/flang-compiler/llvm.git',
|
|
||||||
commit='d8b30082648dc869eba68f9e539605f437d7760c',
|
|
||||||
placement='llvm-flang',
|
|
||||||
when='@7.0.1+flang')
|
|
||||||
|
|
||||||
resource(name='flang-llvm',
|
|
||||||
git='https://github.com/flang-compiler/llvm.git',
|
|
||||||
commit='f26a3ece4ccd68a52f5aa970ec42837ee0743296',
|
|
||||||
placement='llvm-flang',
|
|
||||||
when='@6.0.0+flang')
|
|
||||||
|
|
||||||
resource(name='flang-driver',
|
|
||||||
git='https://github.com/flang-compiler/flang-driver.git',
|
|
||||||
branch='release_60',
|
|
||||||
destination='llvm-flang/tools',
|
|
||||||
placement='clang',
|
|
||||||
when='llvm@develop+flang')
|
|
||||||
|
|
||||||
resource(name='flang-driver',
|
|
||||||
git='https://github.com/flang-compiler/flang-driver.git',
|
|
||||||
commit='dd7587310ae498c22514a33e1a2546b86af9cf25',
|
|
||||||
destination='llvm-flang/tools',
|
|
||||||
placement='clang',
|
|
||||||
when='@7.0.1+flang')
|
|
||||||
|
|
||||||
resource(name='flang-driver',
|
|
||||||
git='https://github.com/flang-compiler/flang-driver.git',
|
|
||||||
commit='e079fa68cb35a53c88c41a1939f90b94d539e984',
|
|
||||||
destination='llvm-flang/tools',
|
|
||||||
placement='clang',
|
|
||||||
when='@6.0.0+flang')
|
|
||||||
|
|
||||||
resource(name='openmp',
|
|
||||||
git='https://github.com/llvm-mirror/openmp.git',
|
|
||||||
branch='release_60',
|
|
||||||
destination='llvm-flang/projects',
|
|
||||||
placement='openmp',
|
|
||||||
when='@develop+flang')
|
|
||||||
|
|
||||||
resource(name='openmp',
|
|
||||||
git='https://github.com/llvm-mirror/openmp.git',
|
|
||||||
commit='d5aa29cb3bcf51289d326b4e565613db8aff65ef',
|
|
||||||
destination='llvm-flang/projects',
|
|
||||||
placement='openmp',
|
|
||||||
when='@6:7.0.1+flang')
|
|
||||||
|
|
||||||
conflicts('+clang_extra', when='~clang')
|
conflicts('+clang_extra', when='~clang')
|
||||||
conflicts('+lldb', when='~clang')
|
conflicts('+lldb', when='~clang')
|
||||||
|
|
||||||
@ -182,15 +125,6 @@ class Llvm(CMakePackage):
|
|||||||
# OMP TSAN exists in > 5.x
|
# OMP TSAN exists in > 5.x
|
||||||
conflicts('+omp_tsan', when='@:5.99')
|
conflicts('+omp_tsan', when='@:5.99')
|
||||||
|
|
||||||
# +flang conflicts other variants
|
|
||||||
conflicts('+gold', when='+flang')
|
|
||||||
conflicts('+lldb', when='+flang')
|
|
||||||
conflicts('+lld', when='+flang')
|
|
||||||
conflicts('+copiler-rt', when='+flang')
|
|
||||||
conflicts('+libcxx', when='+flang')
|
|
||||||
conflicts('+polly', when='+flang')
|
|
||||||
conflicts('+internal_unwind', when='+flang')
|
|
||||||
|
|
||||||
# Github issue #4986
|
# Github issue #4986
|
||||||
patch('llvm_gcc7.patch', when='@4.0.0:4.0.1+lldb %gcc@7.0:')
|
patch('llvm_gcc7.patch', when='@4.0.0:4.0.1+lldb %gcc@7.0:')
|
||||||
# Backport from llvm master + additional fix
|
# Backport from llvm master + additional fix
|
||||||
@ -235,13 +169,7 @@ def setup_run_environment(self, env):
|
|||||||
env.set('CC', join_path(self.spec.prefix.bin, 'clang'))
|
env.set('CC', join_path(self.spec.prefix.bin, 'clang'))
|
||||||
env.set('CXX', join_path(self.spec.prefix.bin, 'clang++'))
|
env.set('CXX', join_path(self.spec.prefix.bin, 'clang++'))
|
||||||
|
|
||||||
# When building flang we do not use the mono repo
|
root_cmakelists_dir = 'llvm'
|
||||||
@property
|
|
||||||
def root_cmakelists_dir(self):
|
|
||||||
if '+flang' in self.spec:
|
|
||||||
return 'llvm-flang'
|
|
||||||
else:
|
|
||||||
return 'llvm'
|
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
@ -283,7 +211,7 @@ def cmake_args(self):
|
|||||||
if '+libcxx' in spec:
|
if '+libcxx' in spec:
|
||||||
projects.append('libcxx')
|
projects.append('libcxx')
|
||||||
projects.append('libcxxabi')
|
projects.append('libcxxabi')
|
||||||
if spec.satisfies('@3.9.0:') and '+flang' not in spec:
|
if spec.satisfies('@3.9.0:'):
|
||||||
cmake_args.append('-DCLANG_DEFAULT_CXX_STDLIB=libc++')
|
cmake_args.append('-DCLANG_DEFAULT_CXX_STDLIB=libc++')
|
||||||
if '+internal_unwind' in spec:
|
if '+internal_unwind' in spec:
|
||||||
projects.append('libunwind')
|
projects.append('libunwind')
|
||||||
@ -300,14 +228,10 @@ def cmake_args(self):
|
|||||||
if '+all_targets' not in spec: # all is default on cmake
|
if '+all_targets' not in spec: # all is default on cmake
|
||||||
|
|
||||||
targets = ['NVPTX', 'AMDGPU']
|
targets = ['NVPTX', 'AMDGPU']
|
||||||
if (spec.version < Version('3.9.0')
|
if (spec.version < Version('3.9.0')):
|
||||||
and '+flang' not in spec):
|
|
||||||
# Starting in 3.9.0 CppBackend is no longer a target (see
|
# Starting in 3.9.0 CppBackend is no longer a target (see
|
||||||
# LLVM_ALL_TARGETS in llvm's top-level CMakeLists.txt for
|
# LLVM_ALL_TARGETS in llvm's top-level CMakeLists.txt for
|
||||||
# the complete list of targets)
|
# 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')
|
targets.append('CppBackend')
|
||||||
|
|
||||||
if spec.target.family == 'x86' or spec.target.family == 'x86_64':
|
if spec.target.family == 'x86' or spec.target.family == 'x86_64':
|
||||||
@ -340,10 +264,9 @@ def cmake_args(self):
|
|||||||
spec.satisfies('platform=linux'):
|
spec.satisfies('platform=linux'):
|
||||||
cmake_args.append('-DCMAKE_BUILD_WITH_INSTALL_RPATH=1')
|
cmake_args.append('-DCMAKE_BUILD_WITH_INSTALL_RPATH=1')
|
||||||
|
|
||||||
if '+flang' not in spec:
|
# Semicolon seperated list of projects to enable
|
||||||
# Semicolon seperated list of projects to enable
|
cmake_args.append(
|
||||||
cmake_args.append(
|
'-DLLVM_ENABLE_PROJECTS:STRING={0}'.format(';'.join(projects)))
|
||||||
'-DLLVM_ENABLE_PROJECTS:STRING={0}'.format(';'.join(projects)))
|
|
||||||
|
|
||||||
return cmake_args
|
return cmake_args
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user