diff --git a/easybuild/easyconfigs/c/Clang/Clang-15.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-15.0.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..dea2f244ad36 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-15.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,58 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2015 Dmitri Gribenko, Ward Poelmans +# Authors:: Dmitri Gribenko +# Authors:: Ward Poelmans +# License:: GPLv2 or later, MIT, three-clause BSD. +# $Id$ +## + +name = 'Clang' +version = '15.0.5' + +homepage = 'https://clang.llvm.org/' +description = """C, C++, Objective-C compiler, based on LLVM. Does not + include C++ standard library -- use libstdc++ from GCC.""" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-project-%(version)s.src.tar.xz', +] +checksums = ['9c4278a6b8884eb7f4ae7dfe3c8e5445019824885e47cfdf1392563c47316fd6'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Perl', '5.34.1'), + ('elfutils', '0.187'), + # Including Python bindings would require this as a runtime dep + ('Python', '3.10.4'), +] +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.38'), + ('hwloc', '2.7.1'), + ('libxml2', '2.9.13'), + ('ncurses', '6.3'), + ('GMP', '6.2.1'), + ('Z3', '4.10.2'), +] + +# 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 +python_bindings = False +skip_all_tests = True + +llvm_runtimes = ['libunwind', 'libcxx', 'libcxxabi'] +llvm_projects = ['polly', 'lld', 'lldb', 'clang-tools-extra', 'flang'] + +moduleclass = 'compiler'