Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
##
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2013-2015 Dmitri Gribenko, Ward Poelmans
# Authors:: Dmitri Gribenko <gribozavr@gmail.com>
# Authors:: Ward Poelmans <wpoely86@gmail.com>
# License:: GPLv2 or later, MIT, three-clause BSD.
# $Id$
##
easyblock = 'EB_LLVM'

name = 'Clang'
version = '18.1.8'
Expand All @@ -24,14 +16,26 @@ source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%
sources = [
'llvm-project-%(version)s.src.tar.xz',
]
checksums = ['0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a']
patches = [
{'name': 'LLVM-18.1.8_envintest.patch', 'alt_location': 'LLVM'},
{'name': 'LLVM-18.1.8_libomptarget_tests.patch', 'alt_location': 'LLVM'},
{'name': 'LLVM-19.1.7_clang_rpathwrap_test.patch', 'alt_location': 'LLVM'},
]
checksums = [
{'llvm-project-18.1.8.src.tar.xz': '0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a'},
{'LLVM-18.1.8_envintest.patch': '8e25dfab8a29a860717b4bd2d8cdd0e795433766d7fffbda32d06a2bde47058d'},
{'LLVM-18.1.8_libomptarget_tests.patch': '858669446358d24936e2c85fa2bdc0b9e77427dc4a6f2aaa9c6d8e28638041c8'},
{'LLVM-19.1.7_clang_rpathwrap_test.patch': '5ee6a87ec8ff1c8b736ffe0513aa2098bd2b83a1ffc647a1ad2cf966f567e8a1'},
]

builddependencies = [
('CMake', '3.29.3'),
('Perl', '5.38.2'),
# Including Python bindings would require this as a runtime dep
# and SWIG as an additional build dep
('Python', '3.12.3'),
# For testing
('psutil', '6.0.0'),
('lit', '18.1.8'),
]
dependencies = [
# since Clang is a compiler, binutils is a runtime dependency too
Expand All @@ -42,17 +46,35 @@ dependencies = [
('GMP', '6.3.0'),
('Z3', '4.13.0'),
('CUDA', '12.6.0', '', SYSTEM),

]

# If True, Flang does not currently support building with LLVM exceptions enabled.
cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0']

# enabling RTTI makes the flang compiler need to link to libc++ so instead of
# flang-new -flang-experimental-exec -fopenmp hello_openmp.f90
# you would need
# flang-new -flang-experimental-exec -fopenmp hello_openmp.f90 -l c++
enable_rtti = False

assertions = True
build_clang_extras = True
build_openmp_library_aliases = True
build_lld = True
build_lldb = True
build_runtimes = True
build_shared_libs = True
python_bindings = False
skip_all_tests = True
use_polly = True

llvm_runtimes = ['libunwind', 'libcxx', 'libcxxabi']
llvm_projects = ['polly', 'lld', 'lldb', 'clang-tools-extra', 'flang']
skip_sanitizer_tests = True
test_suite_max_failed = 10
test_suite_ignore_patterns = [
# https://reviews.llvm.org/D129116
"mlir-pdll-lsp-server/",
# GMT vs UCT mismatch
"std/time/time.syn/",
# Fails due to missing CUDA context, likely an upstream issue
"api/omp_host_pinned_memory",
]

moduleclass = 'compiler'
49 changes: 34 additions & 15 deletions easybuild/easyconfigs/c/Clang/Clang-18.1.8-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
##
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2013-2015 Dmitri Gribenko, Ward Poelmans
# Authors:: Dmitri Gribenko <gribozavr@gmail.com>
# Authors:: Ward Poelmans <wpoely86@gmail.com>
# License:: GPLv2 or later, MIT, three-clause BSD.
# $Id$
##
easyblock = 'EB_LLVM'

name = 'Clang'
version = '18.1.8'
Expand All @@ -23,14 +15,26 @@ source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%
sources = [
'llvm-project-%(version)s.src.tar.xz',
]
checksums = ['0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a']
patches = [
{'name': 'LLVM-18.1.8_envintest.patch', 'alt_location': 'LLVM'},
{'name': 'LLVM-18.1.8_libomptarget_tests.patch', 'alt_location': 'LLVM'},
{'name': 'LLVM-19.1.7_clang_rpathwrap_test.patch', 'alt_location': 'LLVM'},
]
checksums = [
{'llvm-project-18.1.8.src.tar.xz': '0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a'},
{'LLVM-18.1.8_envintest.patch': '8e25dfab8a29a860717b4bd2d8cdd0e795433766d7fffbda32d06a2bde47058d'},
{'LLVM-18.1.8_libomptarget_tests.patch': '858669446358d24936e2c85fa2bdc0b9e77427dc4a6f2aaa9c6d8e28638041c8'},
{'LLVM-19.1.7_clang_rpathwrap_test.patch': '5ee6a87ec8ff1c8b736ffe0513aa2098bd2b83a1ffc647a1ad2cf966f567e8a1'},
]

builddependencies = [
('CMake', '3.29.3'),
('Perl', '5.38.2'),
# Including Python bindings would require this as a runtime dep
# and SWIG as an additional build dep
('Python', '3.12.3'),
# For testing
('psutil', '6.0.0'),
('lit', '18.1.8'),
]
dependencies = [
# since Clang is a compiler, binutils is a runtime dependency too
Expand All @@ -42,14 +46,29 @@ dependencies = [
('Z3', '4.13.0'),
]

# If True, Flang does not currently support building with LLVM exceptions enabled.
# enabling RTTI makes the flang compiler need to link to libc++ so instead of
# flang-new -flang-experimental-exec -fopenmp hello_openmp.f90
# you would need
# flang-new -flang-experimental-exec -fopenmp hello_openmp.f90 -l c++
enable_rtti = False

assertions = True
build_clang_extras = True
build_openmp_library_aliases = True
build_lld = True
build_lldb = True
build_runtimes = True
build_shared_libs = True
python_bindings = False
skip_all_tests = True
use_polly = True

llvm_runtimes = ['libunwind', 'libcxx', 'libcxxabi']
llvm_projects = ['polly', 'lld', 'lldb', 'clang-tools-extra', 'flang']
skip_sanitizer_tests = True
test_suite_max_failed = 10
test_suite_ignore_patterns = [
# https://reviews.llvm.org/D129116
"mlir-pdll-lsp-server/",
# GMT vs UCT mismatch
"std/time/time.syn/",
]

moduleclass = 'compiler'