easyblock = 'CMakeMake'

name = 'LLVM'
version = '4.0.0'

homepage = "http://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': 'GCC', 'version': '6.3.0-2.27'}

source_urls = ["http://llvm.org/releases/%(version)s"]
sources = ["llvm-%(version)s.src.tar.xz"]

builddependencies = [
    ('CMake', '3.8.1', '', True),
    ('Python', '3.6.1', '', True),
]

dependencies = [
    ('ncurses', '6.0', '', True),
]

configopts = '-DBUILD_SHARED_LIBS=ON '
# required to install extra tools in bin/
configopts += "-DLLVM_INSTALL_UTILS=ON "

sanity_check_paths = {
    'files': ['bin/llvm-ar', 'bin/FileCheck'],
    'dirs': ['include/llvm', 'include/llvm-c'],
}

separate_build_dir = True

moduleclass = 'compiler'
