# IT4Innovations # LK 2024 name = 'Clang' version = '18.1.8' versionsuffix = '-CUDA-12.4.0' 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': '13.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-18.1.8.src.tar.xz': '0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a'}, ] builddependencies = [ ('CMake', '3.27.6'), ('Perl', '5.38.0'), # Including Python bindings would require this as a runtime dep ('Python', '3.11.5'), ] dependencies = [ # since Clang is a compiler, binutils is a runtime dependency too ('binutils', '2.40'), ('hwloc', '2.9.2'), ('libxml2', '2.11.5'), ('ncurses', '6.4'), ('GMP', '6.3.0'), ('Z3', '4.13.0'), ('CUDA', '12.4.0', '', True), ] # 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'