diff --git a/c/Clang/Clang-17.0.3-GCCcore-12.2.0.eb b/c/Clang/Clang-17.0.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000..bd2017d1 --- /dev/null +++ b/c/Clang/Clang-17.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,52 @@ +# IT4Innovations +# LK 2023 + +name = 'Clang' +version = '17.0.3' + +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': '12.2.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-project-%(version)s.src.tar.xz', +] +checksums = [ + {'llvm-project-17.0.3.src.tar.xz': 'be5a1e44d64f306bb44fce7d36e3b3993694e8e6122b2348608906283c176db8'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Perl', '5.36.0'), + # Including Python bindings would require this as a runtime dep + ('Python', '3.10.8'), +] +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.39'), + ('hwloc', '2.8.0'), + ('libxml2', '2.10.3'), + ('ncurses', '6.3'), + ('GMP', '6.2.1'), + ('Z3', '4.12.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' diff --git a/l/LLVM/LLVM-17.0.3-GCCcore-12.2.0.eb b/l/LLVM/LLVM-17.0.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000..23b34b9f --- /dev/null +++ b/l/LLVM/LLVM-17.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,51 @@ +# IT4Innovations +# LK 2023 + +name = 'LLVM' +version = '17.0.3' + +homepage = "https://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'cstd': 'gnu++11', 'pic': True} + +source_urls = ['https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/'] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'cmake-%(version)s.src.tar.xz', + 'third-party-%(version)s.src.tar.xz', +] +checksums = [ + {'llvm-17.0.3.src.tar.xz': '18fa6b5f172ddf5af9b3aedfdb58ba070fd07fc45e7e589c46c350b3cc066bc1'}, + {'cmake-17.0.3.src.tar.xz': '54fc534f0da09088adbaa6c3bfc9899a500153b96e60c2fb9322a7aa37b1027a'}, + {'third-party-17.0.3.src.tar.xz': '6e84ff16044d698ff0f24e7445f9f47818e6523913a006a5e1ea79625b429b7b'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Python', '3.10.8'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/llvm-ar', 'bin/FileCheck'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +sanity_check_commands = ["llvm-ar --help"] + +moduleclass = 'compiler'