Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.4.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
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': 'GCCcore', 'version': '6.4.0'}

sources = [SOURCELOWER_TAR_GZ]
source_urls = [GNU_SOURCE]
checksums = ['b67fd2daae7a64b5ba862c66c07c1addb9e6b1b05c5f2049392cfd8a2172952e']

builddependencies = [
('M4', '1.4.18'),
# use same binutils version that was used when building GCCcore toolchain
('binutils', '2.28', '', True),
]


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/b/binutils/binutils-2.28-GCCcore-6.4.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name = 'binutils'
version = '2.28'

homepage = 'http://directory.fsf.org/project/binutils/'
description = "binutils: GNU binary utilities"

toolchain = {'name': 'GCCcore', 'version': '6.4.0'}

sources = [SOURCE_TAR_GZ]
source_urls = [GNU_SOURCE]
checksums = ['cd717966fc761d840d451dbd58d44e1e5b92949d2073d75b73fccb476d772fcf']

builddependencies = [
('flex', '2.6.4'),
('Bison', '3.0.4'),
# zlib required, but being linked in statically, so not a runtime dep
('zlib', '1.2.11'),
# use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils
('binutils', version, '', True)
]

moduleclass = 'tools'
24 changes: 24 additions & 0 deletions easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-6.4.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name = 'flex'
version = '2.6.4'

homepage = 'http://flex.sourceforge.net/'
description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner,
sometimes called a tokenizer, is a program which recognizes lexical patterns in text."""

toolchain = {'name': 'GCCcore', 'version': '6.4.0'}
toolchainopts = {'pic': True}

sources = [SOURCELOWER_TAR_GZ]
source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/']

checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995']

dependencies = [('M4', '1.4.18')]
builddependencies = [
('Bison', '3.0.4'),
('help2man', '1.47.4'),
# use same binutils version that was used when building GCC toolchain
('binutils', '2.28', '', True),
]

moduleclass = 'lang'
25 changes: 25 additions & 0 deletions easybuild/easyconfigs/g/GCC/GCC-6.4.0-2.28.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
easyblock = 'Bundle'

name = 'GCC'
version = '6.4.0'

binutilsver = '2.28'
versionsuffix = '-%s' % binutilsver

homepage = 'http://gcc.gnu.org/'
description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada,
as well as libraries for these languages (libstdc++, libgcj,...)."""

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

dependencies = [
('GCCcore', version),
# binutils built on top of GCCcore, which was built on top of (dummy-built) binutils
('binutils', binutilsver, '', ('GCCcore', version)),
]

altroot = 'GCCcore'
altversion = 'GCCcore'

# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS)
moduleclass = 'compiler'
56 changes: 56 additions & 0 deletions easybuild/easyconfigs/g/GCCcore/GCCcore-6.4.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
easyblock = 'EB_GCC'

name = 'GCCcore'
version = '6.4.0'

homepage = 'http://gcc.gnu.org/'
description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada,
as well as libraries for these languages (libstdc++, libgcj,...)."""

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

mpfr_version = '3.1.5'

source_urls = [
'http://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror
'http://ftpmirror.gnu.org/gnu/gmp', # idem for GMP
'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR
'http://www.multiprecision.org/mpc/download', # MPC official
'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies
'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for GCC dependencies
'http://isl.gforge.inria.fr/', # original HTTP source for ISL
]

sources = [
'gcc-%(version)s.tar.gz',
'gmp-6.1.2.tar.bz2',
'mpfr-%s.tar.bz2' % mpfr_version,
'mpc-1.0.3.tar.gz',
'isl-0.16.1.tar.bz2',
]

builddependencies = [
('M4', '1.4.18'),
('binutils', '2.28'),
]

patches = [
('mpfr-%s-allpatches-20170606.patch' % mpfr_version, '../mpfr-%s' % mpfr_version),
'GCCcore-6.2.0-fix-find-isl.patch',
]

checksums = [
'4715f02413f8a91d02d967521c084990c99ce1a671b8a450a80fbd4245f4b728', # gcc-6.4.0.tar.gz
'5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2', # gmp-6.1.2.tar.bz2
'ca498c1c7a74dd37a576f353312d1e68d490978de4395fa28f1cbd46a364e658', # mpfr-3.1.5.tar.gz
'617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3', # mpc-1.0.3.tar.gz
'412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2', # isl-0.16.1.tar.bz2
'137108952139486755e8c1bee30314ffa9233cc05cddfd848aa85503a6fea9d7', # mpfr-3.1.5-allpatches-20170606.patch
'5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch
]

languages = ['c', 'c++', 'fortran']

withisl = True

moduleclass = 'compiler'
Loading