summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorTim Haines <thaines.astro@gmail.com>2020-04-22 15:34:32 -0500
committerGitHub <noreply@github.com>2020-04-22 13:34:32 -0700
commit0d2ebbf996d0ad3fa049b8f50304cd51b8c40467 (patch)
tree30b6c5eb163280b2fdbf364666e29dfd4bd56488 /var
parent63ff1219807242bbb4bea5767fb2d5fd6c632331 (diff)
downloadspack-0d2ebbf996d0ad3fa049b8f50304cd51b8c40467.tar.gz
spack-0d2ebbf996d0ad3fa049b8f50304cd51b8c40467.tar.bz2
spack-0d2ebbf996d0ad3fa049b8f50304cd51b8c40467.tar.xz
spack-0d2ebbf996d0ad3fa049b8f50304cd51b8c40467.zip
hwloc: Add netloc variant (#16001)
hwloc depends on MPI when netloc is enabled. Note that OpenMPI depends on netloc, so hwloc cannot use OpenMPI as the MPI provider when netloc is enabled (this would result in a cyclic dependency).
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/hwloc/package.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py
index 2b7968a37a..547327e60b 100644
--- a/var/spack/repos/builtin/packages/hwloc/package.py
+++ b/var/spack/repos/builtin/packages/hwloc/package.py
@@ -57,6 +57,14 @@ class Hwloc(AutotoolsPackage):
default=False,
description='Enable the Cairo back-end of hwloc\'s lstopo command'
)
+ variant(
+ 'netloc',
+ default=False,
+ description="Enable netloc [requires MPI]"
+ )
+
+ # netloc isn't available until version 2.0.0
+ conflicts('+netloc', when="@:1.99.99")
depends_on('pkgconfig', type='build')
depends_on('m4', type='build', when='@master')
@@ -71,6 +79,10 @@ class Hwloc(AutotoolsPackage):
depends_on('cairo', when='+cairo')
depends_on('numactl', when='@:1.11.11 platform=linux')
+ # When mpi=openmpi, this introduces an unresolvable dependency.
+ # See https://github.com/spack/spack/issues/15836 for details
+ depends_on('mpi', when='+netloc')
+
def url_for_version(self, version):
return "http://www.open-mpi.org/software/hwloc/v%s/downloads/hwloc-%s.tar.gz" % (version.up_to(2), version)
@@ -81,7 +93,7 @@ class Hwloc(AutotoolsPackage):
# (Alternatively, we could require OpenCL as dependency.)
"--disable-opencl",
]
- if '@2.0.0:' in self.spec:
+ if '+netloc' in self.spec:
args.append('--enable-netloc')
args.extend(self.enable_or_disable('cairo'))