Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{toolchains} add [Clang/3.6.0] and deps, and toolchains above it, aligned with goolf/1.7.20 (REVIEW) #1410

Closed
22 changes: 22 additions & 0 deletions easybuild/easyconfigs/b/Bison/Bison-3.0.4-ClangGCC-1.7.20.eb
@@ -0,0 +1,22 @@
easyblock = 'ConfigureMake'

name = 'Bison'
version = '3.0.4'

homepage = 'http://www.gnu.org/software/bison'
description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar
into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables."""

toolchain = {'name': 'ClangGCC', 'version': '1.7.20'}

sources = [SOURCELOWER_TAR_GZ]
source_urls = [GNU_SOURCE]

builddependencies = [('M4', '1.4.17')]

sanity_check_paths = {
'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"],
'dirs': [],
}

moduleclass = 'lang'
22 changes: 22 additions & 0 deletions easybuild/easyconfigs/c/CMake/CMake-3.2.1-GCC-4.8.4.eb
@@ -0,0 +1,22 @@
easyblock = 'ConfigureMake'

name = 'CMake'
version = '3.2.1'

homepage = 'http://www.cmake.org'
description = """CMake, the cross-platform, open-source build system.
CMake is a family of tools designed to build, test and package software."""

toolchain = {'name': 'GCC', 'version': '4.8.4'}

source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s']
sources = [SOURCELOWER_TAR_GZ]

dependencies = [('ncurses', '5.9')]

sanity_check_paths = {
'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']],
'dirs': [],
}

moduleclass = 'devel'
50 changes: 50 additions & 0 deletions easybuild/easyconfigs/c/Clang/Clang-3.6.0-GCC-4.8.4.eb
@@ -0,0 +1,50 @@
##
# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild
#
# Copyright:: Copyright 2013 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$
##

name = "Clang"
version = "3.6.0"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upgrade to 3.6.1?


homepage = "http://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': 'GCC', 'version': '4.8.4'} # Why this? explained in #1294
# Do not set optarch to True: it will cause the build to fail
toolchainopts = {'optarch': False}

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

builddependencies = [('CMake', '3.2.1')]

dependencies = [
('GMP', '6.0.0'),
('ISL', '0.14')
]

sanity_check_paths = {
'files': ['bin/clang', 'bin/clang++', 'lib/libclang.so', 'lib/clang/%(version)s/include/stddef.h'],
'dirs': [],
}

assertions = True

usepolly = True

build_targets = ['X86']

moduleclass = 'compiler'
18 changes: 18 additions & 0 deletions easybuild/easyconfigs/c/ClangGCC/ClangGCC-1.7.20.eb
@@ -0,0 +1,18 @@
easyblock = "Toolchain"

name = 'ClangGCC'
version = '1.7.20'

homepage = '(none)'
description = """Clang and GCC based compiler toolchain. Clang will use libstdc++.
GFortran will be used to compile Fortran code."""

toolchain = {'name': 'dummy', 'version': 'dummy'}

comp = ('GCC', '4.8.4')
dependencies = [
comp,
('Clang', '3.6.0', '', comp),
]

moduleclass = 'toolchain'
21 changes: 21 additions & 0 deletions easybuild/easyconfigs/c/cgmvapich2/cgmvapich2-1.7.20.eb
@@ -0,0 +1,21 @@
easyblock = "Toolchain"

name = 'cgmvapich2'
version = '1.7.20'

homepage = '(none)'
description = """Clang and GFortran based compiler toolchain,
including MVAPICH2 for MPI support."""

toolchain = {'name': 'dummy', 'version': 'dummy'}

comp = ('GCC', '4.8.4')

# Compiler toolchain dependencies.
dependencies = [
comp,
('Clang', '3.6.0', '', comp),
('MVAPICH2', '2.0.1', '', ('ClangGCC', '1.7.20')),
]

moduleclass = 'toolchain'
25 changes: 25 additions & 0 deletions easybuild/easyconfigs/g/GMP/GMP-6.0.0-GCC-4.8.4.eb
@@ -0,0 +1,25 @@
easyblock = 'ConfigureMake'

name = 'GMP'
version = '6.0.0'

homepage = 'http://gmplib.org/'
description = """GMP is a free library for arbitrary precision arithmetic,
operating on signed integers, rational numbers, and floating point numbers. """

toolchain = {'name': 'GCC', 'version': '4.8.4'}

sources = ["%(namelower)s-%(version)sa.tar.bz2"]
source_urls = [GNU_SOURCE]

# enable C++ interface
configopts = '--enable-cxx'

runtest = 'check'

sanity_check_paths = {
'files': ['lib/libgmp.so', 'include/gmp.h'],
'dirs': [],
}

moduleclass = 'math'
21 changes: 21 additions & 0 deletions easybuild/easyconfigs/i/ISL/ISL-0.14-GCC-4.8.4.eb
@@ -0,0 +1,21 @@
easyblock = 'ConfigureMake'

name = 'ISL'
version = '0.14'

homepage = 'http://isl.gforge.inria.fr/'
description = """isl is a library for manipulating sets and relations of integer points bounded by linear constraints."""

toolchain = {'name': 'GCC', 'version': '4.8.4'}

source_urls = ['http://isl.gforge.inria.fr/']
sources = [SOURCELOWER_TAR_BZ2]

dependencies = [('GMP', '6.0.0')]

sanity_check_paths = {
'files': ['lib/libisl.so', 'lib/libisl.a'],
'dirs': ['include/isl']
}

moduleclass = 'math'
23 changes: 23 additions & 0 deletions easybuild/easyconfigs/m/M4/M4-1.4.17-ClangGCC-1.7.20.eb
@@ -0,0 +1,23 @@
easyblock = 'ConfigureMake'

name = 'M4'
version = '1.4.17'

homepage = 'http://www.gnu.org/software/m4/m4.html'
description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible
although it has some extensions (for example, handling more than 9 positional parameters to macros).
GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc."""

toolchain = {'name': 'ClangGCC', 'version': '1.7.20'}

sources = [SOURCELOWER_TAR_GZ]
source_urls = [GNU_SOURCE]

configopts = "--enable-cxx"

sanity_check_paths = {
'files': ["bin/m4"],
'dirs': [],
}

moduleclass = 'devel'
17 changes: 17 additions & 0 deletions easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.0.1-ClangGCC-1.7.20.eb
@@ -0,0 +1,17 @@
name = 'MVAPICH2'
version = '2.0.1'

homepage = 'http://mvapich.cse.ohio-state.edu/overview/mvapich2/'
description = "This is an MPI 3.0 implementation. It is based on MPICH2 and MVICH."

toolchain = {'name': 'ClangGCC', 'version': '1.7.20'}

source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/']
sources = [SOURCELOWER_TAR_GZ]

# Let's store the checksum in order to be sure it doesn't suddenly change
checksums = ['77bba29442f81e196155e87869cdceda']

builddependencies = [('Bison', '3.0.4')]

moduleclass = 'mpi'