ADIOS2: Dataspaces, libffi, libfabric (#13230)
* DataSpaces: 1.8.0 Add a newer release of DataSpaces for ADIOS2. Also add missing `-fPIC` flags since this is a static library. * ADIOS2: Dataspaces, libffi, libfabric Add missing dependencies to ADIOS2. Without explicit control, those dependencies might get picked up from the system environment and will cause unstable builds. * Hide transitive SST dependencies * ADIOS2: Simplify SST CMake Flags As proposed by Chuck
This commit is contained in:
parent
f9e7bf295c
commit
327a7368e9
@ -51,6 +51,8 @@ class Adios2(CMakePackage):
|
|||||||
description='Enable the SST staging engine')
|
description='Enable the SST staging engine')
|
||||||
variant('dataman', default=True,
|
variant('dataman', default=True,
|
||||||
description='Enable the DataMan engine for WAN transports')
|
description='Enable the DataMan engine for WAN transports')
|
||||||
|
variant('dataspaces', default=False,
|
||||||
|
description='Enable support for DATASPACES')
|
||||||
variant('ssc', default=True,
|
variant('ssc', default=True,
|
||||||
description='Enable the SSC staging engine')
|
description='Enable the SSC staging engine')
|
||||||
variant('hdf5', default=False,
|
variant('hdf5', default=False,
|
||||||
@ -76,9 +78,15 @@ class Adios2(CMakePackage):
|
|||||||
depends_on('cmake@3.6.0:', type='build')
|
depends_on('cmake@3.6.0:', type='build')
|
||||||
depends_on('pkgconfig', type='build')
|
depends_on('pkgconfig', type='build')
|
||||||
|
|
||||||
|
depends_on('libffi', when='+sst') # optional in DILL
|
||||||
|
depends_on('libfabric@1.6.0:', when='+sst') # optional in EVPath and SST
|
||||||
|
# depends_on('bison', when='+sst') # optional in FFS, broken package
|
||||||
|
# depends_on('flex', when='+sst') # optional in FFS, depends on BISON
|
||||||
|
|
||||||
depends_on('mpi', when='+mpi')
|
depends_on('mpi', when='+mpi')
|
||||||
depends_on('zeromq', when='+dataman')
|
depends_on('zeromq', when='+dataman')
|
||||||
depends_on('zeromq', when='@2.4: +ssc')
|
depends_on('zeromq', when='@2.4: +ssc')
|
||||||
|
depends_on('dataspaces@1.8.0:', when='+dataspaces')
|
||||||
|
|
||||||
depends_on('hdf5', when='+hdf5')
|
depends_on('hdf5', when='+hdf5')
|
||||||
depends_on('hdf5+mpi', when='+hdf5+mpi')
|
depends_on('hdf5+mpi', when='+hdf5+mpi')
|
||||||
@ -139,6 +147,22 @@ def cmake_args(self):
|
|||||||
args.append('-DADIOS2_USE_SSC={0}'.format(
|
args.append('-DADIOS2_USE_SSC={0}'.format(
|
||||||
'ON' if '+ssc' in spec else 'OFF'))
|
'ON' if '+ssc' in spec else 'OFF'))
|
||||||
|
|
||||||
|
if self.spec.version >= Version('2.5.0'):
|
||||||
|
args.append('-DADIOS2_USE_DataSpaces={0}'.format(
|
||||||
|
'ON' if '+dataspaces' in spec else 'OFF'))
|
||||||
|
|
||||||
|
if '+sst' in spec:
|
||||||
|
args.extend([
|
||||||
|
# Broken dependency package
|
||||||
|
'-DCMAKE_DISABLE_FIND_PACKAGE_BISON=TRUE',
|
||||||
|
# Depends on ^
|
||||||
|
'-DCMAKE_DISABLE_FIND_PACKAGE_FLEX=TRUE',
|
||||||
|
|
||||||
|
# Not yet packaged
|
||||||
|
'-DCMAKE_DISABLE_FIND_PACKAGE_CrayDRC=TRUE',
|
||||||
|
'-DCMAKE_DISABLE_FIND_PACKAGE_NVSTREAM=TRUE'
|
||||||
|
])
|
||||||
|
|
||||||
if spec.satisfies('~shared'):
|
if spec.satisfies('~shared'):
|
||||||
args.append('-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL={0}'.format(
|
args.append('-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL={0}'.format(
|
||||||
'ON' if '+pic' in spec else 'OFF'))
|
'ON' if '+pic' in spec else 'OFF'))
|
||||||
|
@ -23,6 +23,7 @@ class Dataspaces(AutotoolsPackage):
|
|||||||
git = "https://github.com/melrom/dataspaces.git"
|
git = "https://github.com/melrom/dataspaces.git"
|
||||||
|
|
||||||
version('develop', branch='master')
|
version('develop', branch='master')
|
||||||
|
version('1.8.0', sha256='7f204bb3c03c2990f5a2d76a29185466b584793c63ada03e5e694627e6060605')
|
||||||
version('1.6.2', sha256='3c43d551c1e8198a4ab269c83928e1dc6f8054e6d41ceaee45155d91a48cf9bf')
|
version('1.6.2', sha256='3c43d551c1e8198a4ab269c83928e1dc6f8054e6d41ceaee45155d91a48cf9bf')
|
||||||
|
|
||||||
variant('dimes',
|
variant('dimes',
|
||||||
@ -57,6 +58,7 @@ def configure_args(self):
|
|||||||
args = []
|
args = []
|
||||||
cookie = self.spec.variants['gni-cookie'].value
|
cookie = self.spec.variants['gni-cookie'].value
|
||||||
ptag = self.spec.variants['ptag'].value
|
ptag = self.spec.variants['ptag'].value
|
||||||
|
args.append('CFLAGS={0}'.format(self.compiler.pic_flag))
|
||||||
if self.spec.satisfies('+dimes'):
|
if self.spec.satisfies('+dimes'):
|
||||||
args.append('--enable-dimes')
|
args.append('--enable-dimes')
|
||||||
if self.spec.satisfies('+cray-drc'):
|
if self.spec.satisfies('+cray-drc'):
|
||||||
|
Loading…
Reference in New Issue
Block a user