Skip to content
Snippets Groups Projects
Commit 19cf1bbc authored by Damian Alvarez's avatar Damian Alvarez
Browse files

Merge branch 'GCC1120' into '2022'

{toolchain} GCC 11.2.0

See merge request hps-public/easybuild-repository!735
parents a3a045af c8221b0b
No related branches found
No related tags found
No related merge requests found
Showing
with 543 additions and 23 deletions
...@@ -7,7 +7,7 @@ check_style: ...@@ -7,7 +7,7 @@ check_style:
- export SYSTEMNAME="juwelsbooster" # Make this the default for packages like NVHPC - export SYSTEMNAME="juwelsbooster" # Make this the default for packages like NVHPC
- export EASYBUILD_INCLUDE_EASYBLOCKS="$CI_PROJECT_DIR/Custom_EasyBlocks/*.py,$CI_PROJECT_DIR/Custom_EasyBlocks/generic/*.py" - export EASYBUILD_INCLUDE_EASYBLOCKS="$CI_PROJECT_DIR/Custom_EasyBlocks/*.py,$CI_PROJECT_DIR/Custom_EasyBlocks/generic/*.py"
- export EASYBUILD_INCLUDE_MODULE_NAMING_SCHEMES="$CI_PROJECT_DIR/Custom_MNS/*.py" - export EASYBUILD_INCLUDE_MODULE_NAMING_SCHEMES="$CI_PROJECT_DIR/Custom_MNS/*.py"
- export EASYBUILD_INCLUDE_TOOLCHAINS="$CI_PROJECT_DIR/Custom_Toolchains/*.py,$CI_PROJECT_DIR/Custom_Toolchains/fft/*.py,$CI_PROJECT_DIR/Custom_Toolchains/compiler/*.py,$CI_PROJECT_DIR/Custom_Toolchains/linalg/*.py" - export EASYBUILD_INCLUDE_TOOLCHAINS="$CI_PROJECT_DIR/Custom_Toolchains/*.py"
- export EASYBUILD_ROBOT="$CI_PROJECT_DIR/Golden_Repo" - export EASYBUILD_ROBOT="$CI_PROJECT_DIR/Golden_Repo"
- export EASYBUILD_HOOKS="$CI_PROJECT_DIR/Custom_Hooks/eb_hooks.py" - export EASYBUILD_HOOKS="$CI_PROJECT_DIR/Custom_Hooks/eb_hooks.py"
# Let's make this a system where all the packages can be installed, so all of them can be checked without aborting # Let's make this a system where all the packages can be installed, so all of them can be checked without aborting
......
...@@ -29,13 +29,15 @@ EasyBuild support for npsmpi compiler toolchain (includes NVHPC and ParaStationM ...@@ -29,13 +29,15 @@ EasyBuild support for npsmpi compiler toolchain (includes NVHPC and ParaStationM
@author: Damian Alvarez (Forschungszentrum Juelich) @author: Damian Alvarez (Forschungszentrum Juelich)
""" """
from easybuild.toolchains.nvhpc import NvhpcToolchain from easybuild.toolchains.nvhpc import NVHPCToolchain
# We pull in MPI and CUDA at once so this maps nicely to HMNS # We pull in MPI and CUDA at once so this maps nicely to HMNS
from easybuild.toolchains.mpi.psmpi import Psmpi from easybuild.toolchains.mpi.psmpi import Psmpi
from easybuild.toolchains.compiler.cuda import Cuda from easybuild.toolchains.compiler.cuda import Cuda
# Order matters! # Order matters!
class Npsmpic(NvhpcToolchain, Cuda, Psmpi):
class Npsmpic(NVHPCToolchain, Cuda, Psmpi):
"""Compiler toolchain with NVHPC and ParaStationMPI, with CUDA as dependency.""" """Compiler toolchain with NVHPC and ParaStationMPI, with CUDA as dependency."""
NAME = 'npsmpic' NAME = 'npsmpic'
SUBTOOLCHAIN = NvhpcToolchain.NAME SUBTOOLCHAIN = NVHPCToolchain.NAME
...@@ -30,7 +30,7 @@ EasyBuild support for nvompic compiler toolchain (includes NVHPC and OpenMPI, an ...@@ -30,7 +30,7 @@ EasyBuild support for nvompic compiler toolchain (includes NVHPC and OpenMPI, an
@author: Sebastian Achilles (Forschungszentrum Juelich) @author: Sebastian Achilles (Forschungszentrum Juelich)
""" """
from easybuild.toolchains.nvhpc import NvhpcToolchain from easybuild.toolchains.nvhpc import NVHPCToolchain
# We pull in MPI and CUDA at once so this maps nicely to HMNS # We pull in MPI and CUDA at once so this maps nicely to HMNS
from easybuild.toolchains.mpi.openmpi import OpenMPI from easybuild.toolchains.mpi.openmpi import OpenMPI
from easybuild.toolchains.compiler.cuda import Cuda from easybuild.toolchains.compiler.cuda import Cuda
...@@ -38,7 +38,7 @@ from easybuild.toolchains.compiler.cuda import Cuda ...@@ -38,7 +38,7 @@ from easybuild.toolchains.compiler.cuda import Cuda
# Order matters! # Order matters!
class NVompic(NvhpcToolchain, Cuda, OpenMPI): class NVompic(NVHPCToolchain, Cuda, OpenMPI):
"""Compiler toolchain with NVHPC and OpenMPI, with CUDA as dependency.""" """Compiler toolchain with NVHPC and OpenMPI, with CUDA as dependency."""
NAME = 'nvompic' NAME = 'nvompic'
SUBTOOLCHAIN = NvhpcToolchain.NAME SUBTOOLCHAIN = NVHPCToolchain.NAME
...@@ -4,37 +4,37 @@ The table below shows the details of the toolchains in the 2022 stage: ...@@ -4,37 +4,37 @@ The table below shows the details of the toolchains in the 2022 stage:
| Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from | | Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from |
|-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------| |-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------|
| GCCcore | TBD | TBD | | | | | | | GCCcore | 11.2.0 | 11.2.0 | | | | | |
- Compilers - Compilers
| Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from | | Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from |
|-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------| |-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------|
| GCC | TBD | TBD | GCC TBD | | | | GCCcore | | GCC | 11.2.0 | 11.2.0 | GCC 11.2.0 | | | | GCCcore |
| NVHPC | TBD-GCC-TBD | TBD | NVHPC TBD | | TBD§ | | GCCcore | | NVHPC | TBD-GCC-11.2.0 | 11.2.0 | NVHPC TBD | | TBD§ | | GCCcore |
| intel-compilers | TBD-GCC-TBD | TBD | Intel TBD | | | | GCCcore | | intel-compilers | TBD-GCC-11.2.0 | 11.2.0 | Intel TBD | | | | GCCcore |
- Compilers+MPI - Compilers+MPI
| Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from | | Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from |
|-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------| |-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------|
| gpsmpi | 2022 | TBD | GCC TBD | ParaStationMPI 5.4.X | TBD§ | | GCCcore, GCC | | gpsmpi | 2022 | 11.2.0 | GCC 11.2.0 | ParaStationMPI 5.4.X | TBD§ | | GCCcore, GCC |
| nvompic | 2022 | TBD | NVHPC TBD | OpenMPI TBD | TBD | | GCCcore, NVHPC | | nvompic | 2022 | 11.2.0 | NVHPC TBD | OpenMPI TBD | TBD | | GCCcore, NVHPC |
| npsmpic | 2022 | TBD | NVHPC TBD | ParaStationMPI 5.4.X | TBD | | GCCcore, NVHPC | | npsmpic | 2022 | 11.2.0 | NVHPC TBD | ParaStationMPI 5.4.X | TBD | | GCCcore, NVHPC |
| ipsmpi | 2022 | TBD | Intel TBD | ParaStationMPI 5.4.X | TBD§ | | GCCcore, intel-compilers | | ipsmpi | 2022 | 11.2.0 | Intel TBD | ParaStationMPI 5.4.X | TBD§ | | GCCcore, intel-compilers |
| iimpi | 2022 | TBD | Intel TBD | Intel MPI TBD | | | GCCcore, intel-compilers | | iimpi | 2022 | 11.2.0 | Intel TBD | Intel MPI TBD | | | GCCcore, intel-compilers |
| gompi | 2022 | TBD | GCC TBD | OpenMPI TBD | TBD§ | | GCCcore, GCC | | gompi | 2022 | 11.2.0 | GCC 11.2.0 | OpenMPI TBD | TBD§ | | GCCcore, GCC |
| iompi | 2022 | TBD | Intel TBD | OpenMPI TBD | TBD§ | | GCCcore, intel-compilers | | iompi | 2022 | 11.2.0 | Intel TBD | OpenMPI TBD | TBD§ | | GCCcore, intel-compilers |
- Compilers+MPI+Math - Compilers+MPI+Math
| Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from | | Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from |
|-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------| |-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------|
| gpsmkl | 2022 | TBD | GCC TBD | ParaStationMPI 5.4.X | TBD§ | MKL TBD | GCCcore, GCC, gpsmpi | | gpsmkl | 2022 | 11.2.0 | GCC 11.2.0 | ParaStationMPI 5.4.X | TBD§ | MKL TBD | GCCcore, GCC, gpsmpi |
| gomkl | 2022 | TBD | GCC TBD | OpenMPI TBD | TBD§ | MKL TBD | GCCcore, GCC, gompi | | gomkl | 2022 | 11.2.0 | GCC 11.2.0 | OpenMPI TBD | TBD§ | MKL TBD | GCCcore, GCC, gompi |
| intel | 2022 | TBD | Intel TBD | Intel MPI TBD | | MKL TBD | GCCcore, GCC, iimpi | | intel | 2022 | 11.2.0 | Intel TBD | Intel MPI TBD | | MKL TBD | GCCcore, GCC, iimpi |
| intel-para | 2022 | TBD | Intel TBD | ParaStationMPI 5.4.X | | MKL TBD | GCCcore, GCC, ipsmpi | | intel-para | 2022 | 11.2.0 | Intel TBD | ParaStationMPI 5.4.X | | MKL TBD | GCCcore, GCC, ipsmpi |
| iomkl | 2022 | TBD | Intel TBD | OpenMPI TBD | TBD§ | MKL TBD | GCCcore, GCC, iompi | | iomkl | 2022 | 11.2.0 | Intel TBD | OpenMPI TBD | TBD§ | MKL TBD | GCCcore, GCC, iompi |
§ Not included in the toolchain just as dependency § Not included in the toolchain just as dependency
......
easyblock = 'ConfigureMake'
name = 'Bison'
version = '3.7.6'
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."""
site_contacts = 'sc@fz-juelich.de'
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['69dc0bb46ea8fc307d4ca1e0b61c8c355eb207d0b0c69f4f8462328e74d7b9ea']
builddependencies = [
('M4', '1.4.19'),
# use same binutils version that was used when building GCCcore toolchain
('binutils', '2.37', '', SYSTEM),
]
sanity_check_paths = {
'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')],
'dirs': [],
}
moduleclass = 'lang'
easyblock = 'ConfigureMake'
name = 'Bison'
version = '3.7.6'
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.
"""
site_contacts = 'sc@fz-juelich.de'
toolchain = SYSTEM
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['69dc0bb46ea8fc307d4ca1e0b61c8c355eb207d0b0c69f4f8462328e74d7b9ea']
builddependencies = [
('M4', '1.4.19'),
]
sanity_check_paths = {
'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')],
'dirs': [],
}
moduleclass = 'lang'
name = 'binutils'
version = '2.37'
homepage = 'https://directory.fsf.org/project/binutils/'
description = "binutils: GNU binary utilities"
site_contacts = 'sc@fz-juelich.de'
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['c44968b97cd86499efbc4b4ab7d98471f673e5414c554ef54afa930062dbbfcb']
builddependencies = [
('flex', '2.6.4'),
('Bison', '3.7.6'),
# 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.2.11'),
]
# 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'
name = 'binutils'
version = '2.37'
homepage = 'https://directory.fsf.org/project/binutils/'
description = "binutils: GNU binary utilities"
site_contacts = 'sc@fz-juelich.de'
toolchain = SYSTEM
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['c44968b97cd86499efbc4b4ab7d98471f673e5414c554ef54afa930062dbbfcb']
builddependencies = [
('flex', '2.6.4'),
('Bison', '3.7.6'),
# zlib required, but being linked in statically, so not a runtime dep
('zlib', '1.2.11'),
]
# 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'
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.
"""
site_contacts = 'sc@fz-juelich.de'
toolchain = {'name': 'GCCcore', 'version': '11.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.7.6'),
('help2man', '1.48.3'),
# use same binutils version that was used when building GCC toolchain
('binutils', '2.37', '', 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'
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."""
site_contacts = 'a.strube@fz-juelich.de'
toolchain = SYSTEM
toolchainopts = {'pic': True}
sources = [SOURCELOWER_TAR_GZ]
source_urls = [
'https://github.com/westes/flex/releases/download/v%(version)s/']
builddependencies = [
('M4', '1.4.19'),
]
dependencies = [
('Bison', '3.7.6'),
]
hidden = True
moduleclass = 'lang'
easyblock = 'Bundle'
name = 'GCC'
version = '11.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,...).
This module supports NVPTX offloading support. If you want to use this you have to load the CUDA module.
"""
site_contacts = 'Damian Alvarez <d.alvarez@fz-juelich.de>'
toolchain = SYSTEM
dependencies = [
('GCCcore', version),
# binutils built on top of GCCcore, which was built on top of (dummy-built) binutils
('binutils', '2.37', '', ('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'
easyblock = 'EB_GCC'
name = 'GCCcore'
version = '11.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,...).
This module supports NVPTX offloading support. If you want to use this you have to load the CUDA module.
"""
site_contacts = 'Damian Alvarez <d.alvarez@fz-juelich.de>'
toolchain = SYSTEM
source_urls = [
# GCC auto-resolving HTTP mirror
'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s',
'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
'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for GCC dependencies
'http://isl.gforge.inria.fr/', # original HTTP source 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.2.1.tar.bz2',
'mpfr-4.1.0.tar.bz2',
'mpc-1.2.1.tar.gz',
'isl-0.24.tar.bz2',
'newlib-4.1.0.tar.gz',
{'download_filename': 'd0524fb.tar.gz',
'filename': 'nvptx-tools-20210115.tar.gz'},
]
patches = [
'GCCcore-6.2.0-fix-find-isl.patch',
'GCCcore-9.3.0_gmp-c99.patch',
]
checksums = [
'f0837f1bf8244a5cc23bd96ff6366712a791cfae01df8e25b137698aca26efc1', # gcc-11.2.0.tar.gz
'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c', # gmp-6.2.1.tar.bz2
'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926', # mpfr-4.1.0.tar.bz2
'17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459', # mpc-1.2.1.tar.gz
'fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0', # isl-0.24.tar.bz2
'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154', # newlib-4.1.0.tar.gz
# nvptx-tools-20210115.tar.gz
'466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2',
# GCCcore-6.2.0-fix-find-isl.patch
'5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68',
# GCCcore-9.3.0_gmp-c99.patch
'0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e',
]
builddependencies = [
('M4', '1.4.19'),
('binutils', '2.37'),
]
languages = ['c', 'c++', 'fortran']
withisl = True
withnvptx = True
# Perl is only required when building with NVPTX support
if withnvptx:
osdependencies = ['perl']
# Make sure we replace the system cc with gcc with an alias
modaliases = {'cc': 'gcc'}
moduleclass = 'compiler'
# Don't use libmpc and libmpfr to find libisl
# by wpoely86@gmail.com
diff -ur gcc-6.1.0.orig/configure gcc-6.1.0/configure
--- gcc-6.1.0.orig/configure 2016-08-26 17:51:48.470524515 +0200
+++ gcc-6.1.0/configure 2016-03-17 23:54:19.000000000 +0100
@@ -6018,7 +6018,7 @@
_isl_saved_LIBS=$LIBS
CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}"
- LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}"
+ LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs}"
LIBS="${_isl_saved_LIBS} -lisl -lgmp"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for isl 0.16, 0.15, or deprecated 0.14" >&5
add -std=c99 when building GMP, to avoid compilation errors with older GCC system compilers
author: Kenneth Hoste (HPC-UGent)
--- gcc-9.3.0-RC-20200305/Makefile.in.orig 2020-03-10 20:30:39.851898414 +0100
+++ gcc-9.3.0-RC-20200305/Makefile.in 2020-03-10 20:33:13.011735787 +0100
@@ -12891,7 +12891,7 @@
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/gmp && \
- $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" \
$(TARGET-gmp))
@endif gmp
@@ -12922,7 +12922,7 @@
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
$(EXTRA_HOST_FLAGS) \
- $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
+ $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" \
TFLAGS="$(STAGE1_TFLAGS)" \
$(TARGET-stage1-gmp)
@@ -12937,7 +12937,7 @@
fi; \
cd $(HOST_SUBDIR)/gmp && \
$(MAKE) $(EXTRA_HOST_FLAGS) \
- $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
+ $(STAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" clean
@endif gmp-bootstrap
@@ -12966,7 +12966,7 @@
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
- $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" \
TFLAGS="$(STAGE2_TFLAGS)" \
$(TARGET-stage2-gmp)
@@ -12980,7 +12980,7 @@
$(MAKE) stage2-start; \
fi; \
cd $(HOST_SUBDIR)/gmp && \
- $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
+ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" clean
@endif gmp-bootstrap
@@ -13009,7 +13009,7 @@
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
- $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" \
+ $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" \
TFLAGS="$(STAGE3_TFLAGS)" \
$(TARGET-stage3-gmp)
@@ -13023,7 +13023,7 @@
$(MAKE) stage3-start; \
fi; \
cd $(HOST_SUBDIR)/gmp && \
- $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM" clean
+ $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) AM_CFLAGS="-DNO_ASM -std=c99" clean
@endif gmp-bootstrap
easyblock = 'ConfigureMake'
name = 'help2man'
version = '1.48.3'
homepage = 'https://www.gnu.org/software/help2man/'
description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands."""
site_contacts = 'sc@fz-juelich.de'
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_XZ]
checksums = ['8361ff3c643fbd391064e97e5f54592ca28b880eaffbf566a68e0ad800d1a8ac']
builddependencies = [
# use same binutils version that was used when building GCC toolchain
('binutils', '2.37', '', True),
]
sanity_check_paths = {
'files': ['bin/help2man'],
'dirs': [],
}
moduleclass = 'tools'
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."""
site_contacts = 'sc@fz-juelich.de'
toolchain = {'name': 'GCCcore', 'version': '11.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.37', '', 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'
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.
"""
site_contacts = 'sc@fz-juelich.de'
toolchain = SYSTEM
sources = [SOURCELOWER_TAR_GZ]
source_urls = [GNU_SOURCE]
checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70']
# '-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'
easyblock = 'ConfigureMake'
name = 'zlib'
version = '1.2.11'
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.
"""
site_contacts = 'sc@fz-juelich.de'
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://zlib.net/fossils']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1']
# use same binutils version that was used when building GCC toolchain
builddependencies = [('binutils', '2.37', '', SYSTEM)]
sanity_check_paths = {
'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT],
'dirs': [],
}
moduleclass = 'lib'
easyblock = 'ConfigureMake'
name = 'zlib'
version = '1.2.11'
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.
"""
site_contacts = 'sc@fz-juelich.de'
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = ['https://zlib.net/fossils/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1']
# need to take care of $CFLAGS ourselves with system toolchain
# we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC)
buildopts = 'CFLAGS="-O2 -fPIC"'
sanity_check_paths = {
'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a',
'lib/libz.%s' % SHLIB_EXT],
'dirs': [],
}
moduleclass = 'lib'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment