-
Notifications
You must be signed in to change notification settings - Fork 705
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #21114 from boegel/20240802175744_new_pr_GCC1420
{compiler} GCC v14.2.0
- Loading branch information
Showing
8 changed files
with
259 additions
and
0 deletions.
There are no files selected for viewing
28 changes: 28 additions & 0 deletions
28
easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.2.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'Bison' | ||
version = '3.8.2' | ||
|
||
homepage = 'https://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': '14.2.0'} | ||
|
||
source_urls = [GNU_SOURCE] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] | ||
|
||
builddependencies = [ | ||
('M4', '1.4.19'), | ||
# use same binutils version that was used when building GCCcore toolchain | ||
('binutils', '2.42', '', SYSTEM), | ||
] | ||
|
||
|
||
sanity_check_paths = { | ||
'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], | ||
'dirs': [], | ||
} | ||
|
||
moduleclass = 'lang' |
31 changes: 31 additions & 0 deletions
31
easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.2.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
name = 'binutils' | ||
version = '2.42' | ||
|
||
homepage = 'https://directory.fsf.org/project/binutils/' | ||
description = "binutils: GNU binary utilities" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '14.2.0'} | ||
|
||
source_urls = [GNU_SOURCE] | ||
sources = [SOURCE_TAR_GZ] | ||
checksums = ['5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc'] | ||
|
||
builddependencies = [ | ||
('flex', '2.6.4'), | ||
('Bison', '3.8.2'), | ||
# use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils | ||
('binutils', version, '', SYSTEM) | ||
] | ||
|
||
dependencies = [ | ||
# zlib is a runtime dep to avoid that it gets embedded in libbfd.so, | ||
# see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 | ||
('zlib', '1.3.1'), | ||
] | ||
|
||
# avoid build failure when makeinfo command is not available | ||
# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 | ||
buildopts = 'MAKEINFO=true' | ||
installopts = buildopts | ||
|
||
moduleclass = 'tools' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name = 'flex' | ||
version = '2.6.4' | ||
|
||
homepage = 'https://github.com/westes/flex' | ||
|
||
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': '14.2.0'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] | ||
|
||
builddependencies = [ | ||
('Bison', '3.8.2'), | ||
('help2man', '1.49.3'), | ||
# use same binutils version that was used when building GCC toolchain | ||
('binutils', '2.42', '', SYSTEM), | ||
] | ||
|
||
dependencies = [ | ||
('M4', '1.4.19'), | ||
] | ||
|
||
# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct | ||
# header, see https://github.com/westes/flex/issues/241 | ||
preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' | ||
|
||
moduleclass = 'lang' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
easyblock = 'Bundle' | ||
|
||
name = 'GCC' | ||
version = '14.2.0' | ||
|
||
homepage = 'https://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 = SYSTEM | ||
|
||
dependencies = [ | ||
('GCCcore', version), | ||
# binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) | ||
('binutils', '2.42', '', ('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' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
easyblock = 'EB_GCC' | ||
|
||
name = 'GCCcore' | ||
version = '14.2.0' | ||
|
||
homepage = 'https://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 = SYSTEM | ||
|
||
source_urls = [ | ||
'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror | ||
'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC | ||
'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP | ||
'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR | ||
'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC | ||
'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies | ||
'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies | ||
'https://libisl.sourceforge.io/', # fallback URL for isl | ||
'https://sourceware.org/pub/newlib/', # for newlib | ||
'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools | ||
] | ||
sources = [ | ||
'gcc-%(version)s.tar.gz', | ||
'gmp-6.3.0.tar.bz2', | ||
'mpfr-4.2.1.tar.bz2', | ||
'mpc-1.3.1.tar.gz', | ||
'isl-0.26.tar.bz2', | ||
'newlib-4.4.0.20231231.tar.gz', | ||
{'download_filename': '3136cf9.tar.gz', 'filename': 'nvptx-tools-20240801.tar.gz'}, | ||
] | ||
patches = [ | ||
'GCCcore-6.2.0-fix-find-isl.patch', | ||
'GCCcore-9.3.0_gmp-c99.patch', | ||
] | ||
checksums = [ | ||
{'gcc-14.2.0.tar.gz': '7d376d445f93126dc545e2c0086d0f647c3094aae081cdb78f42ce2bc25e7293'}, | ||
{'gmp-6.3.0.tar.bz2': 'ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'}, | ||
{'mpfr-4.2.1.tar.bz2': 'b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0'}, | ||
{'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, | ||
{'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, | ||
{'newlib-4.4.0.20231231.tar.gz': '0c166a39e1bf0951dfafcd68949fe0e4b6d3658081d6282f39aeefc6310f2f13'}, | ||
{'nvptx-tools-20240801.tar.gz': 'a1106bf11b66d12e67194d8aa37196bb96996b614f44b3d3bc1b5854eefec03c'}, | ||
{'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, | ||
{'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, | ||
] | ||
|
||
builddependencies = [ | ||
('M4', '1.4.19'), | ||
('binutils', '2.42'), | ||
] | ||
|
||
languages = ['c', 'c++', 'fortran'] | ||
|
||
withisl = True | ||
withnvptx = True | ||
|
||
# Perl is only required when building with NVPTX support | ||
if withnvptx: | ||
osdependencies = ['perl'] | ||
|
||
moduleclass = 'compiler' |
25 changes: 25 additions & 0 deletions
25
easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.2.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'help2man' | ||
version = '1.49.3' | ||
|
||
homepage = 'https://www.gnu.org/software/help2man/' | ||
description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '14.2.0'} | ||
|
||
source_urls = [GNU_SOURCE] | ||
sources = [SOURCE_TAR_XZ] | ||
checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] | ||
|
||
builddependencies = [ | ||
# use same binutils version that was used when building GCC toolchain | ||
('binutils', '2.42', '', SYSTEM), | ||
] | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/help2man'], | ||
'dirs': [], | ||
} | ||
|
||
moduleclass = 'tools' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'M4' | ||
version = '1.4.19' | ||
|
||
homepage = 'https://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': 'GCCcore', 'version': '14.2.0'} | ||
|
||
source_urls = [GNU_SOURCE] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] | ||
|
||
# use same binutils version that was used when building GCC toolchain | ||
builddependencies = [('binutils', '2.42', '', SYSTEM)] | ||
|
||
# '-fgnu89-inline' is required to avoid linking errors with older glibc's, | ||
# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 | ||
configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/m4'], | ||
'dirs': [], | ||
} | ||
|
||
moduleclass = 'devel' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'zlib' | ||
version = '1.3.1' | ||
|
||
homepage = 'https://www.zlib.net/' | ||
description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, | ||
not covered by any patents -- lossless data-compression library for use on virtually any | ||
computer hardware and operating system.""" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '14.2.0'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = ['https://zlib.net/fossils'] | ||
sources = [SOURCELOWER_TAR_GZ] | ||
# patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] | ||
checksums = ['9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23'] | ||
|
||
# use same binutils version that was used when building GCC toolchain | ||
builddependencies = [('binutils', '2.42', '', SYSTEM)] | ||
|
||
sanity_check_paths = { | ||
'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], | ||
'dirs': [], | ||
} | ||
|
||
moduleclass = 'lib' |