summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorcarlabguillen <carla.guillen@lrz.de>2020-08-05 23:31:49 +0200
committerGitHub <noreply@github.com>2020-08-05 16:31:49 -0500
commitcc0a1283c41daf2388186128eacb77c2918acd3f (patch)
tree72ba4b2aa93014a2490dc25dc9841be18439d9d2 /var
parenta5914cecb470d1391332b525f48235891ea2161d (diff)
downloadspack-cc0a1283c41daf2388186128eacb77c2918acd3f.tar.gz
spack-cc0a1283c41daf2388186128eacb77c2918acd3f.tar.bz2
spack-cc0a1283c41daf2388186128eacb77c2918acd3f.tar.xz
spack-cc0a1283c41daf2388186128eacb77c2918acd3f.zip
Variant with fortran for likwid package (#17889)
* Option to build likwid with fortran interface * Removing white spaces * Flake8 conform
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/likwid/package.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/likwid/package.py b/var/spack/repos/builtin/packages/likwid/package.py
index a104b67003..0bbf69a89b 100644
--- a/var/spack/repos/builtin/packages/likwid/package.py
+++ b/var/spack/repos/builtin/packages/likwid/package.py
@@ -32,6 +32,8 @@ class Likwid(Package):
patch('https://github.com/RRZE-HPC/likwid/commit/e0332ace8fe8ca7dcd4b4477a25e37944f173a5c.patch', sha256='c3b8f939a46b425665577ce764d4fba080a23cab5999c53db71655fd54d7e0b1', when='@5.0.1')
patch('https://github.com/RRZE-HPC/likwid/commit/d2d0ef333b5e0997d7c80fc6ac1a473b5e47d084.patch', sha256='636cbf40669261fdb36379d67253be2b731cfa7b6d610d232767d72fbdf08bc0', when='@4.3.4')
+ variant('fortran', default=True, description='with fortran interface')
+
# NOTE: There is no way to use an externally provided hwloc with Likwid.
# The reason is that the internal hwloc is patched to contain extra
# functionality and functions are prefixed with "likwid_".
@@ -96,6 +98,20 @@ class Likwid(Package):
'BUILDDAEMON = false',
'config.mk')
+ if '+fortran' in self.spec:
+ filter_file('^FORTRAN_INTERFACE .*',
+ 'FORTRAN_INTERFACE = true',
+ 'config.mk')
+ if self.compiler.name == 'gcc':
+ filter_file('ifort', 'gfortran',
+ join_path('make', 'include_GCC.mk'))
+ filter_file('-module', '-I', join_path('make',
+ 'include_GCC.mk'))
+ else:
+ filter_file('^FORTRAN_INTERFACE .*',
+ 'FORTRAN_INTERFACE = false',
+ 'config.mk')
+
if spec.satisfies('^lua'):
filter_file('^#LUA_INCLUDE_DIR.*',
'LUA_INCLUDE_DIR = {0}'.format(