diff options
author | Kshitij Mehta <kshitij-v-mehta@users.noreply.github.com> | 2017-08-07 15:36:16 -0400 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2017-08-07 14:36:16 -0500 |
commit | 13cd98ac4a93a392fa6325996ce851abfaf8a0b2 (patch) | |
tree | 3d12b0fa8baf02fd375a2e7e6e7073506ef5aae4 /var | |
parent | a5e44504b048c991201d21c673bcaebb00317e88 (diff) | |
download | spack-13cd98ac4a93a392fa6325996ce851abfaf8a0b2.tar.gz spack-13cd98ac4a93a392fa6325996ce851abfaf8a0b2.tar.bz2 spack-13cd98ac4a93a392fa6325996ce851abfaf8a0b2.tar.xz spack-13cd98ac4a93a392fa6325996ce851abfaf8a0b2.zip |
Adios (#4857)
* adios: conform to pep8
* adios: added versions 1.11.0 and 1.12.0
* adios: added variant no_mpi to explicitly disable mpi support
* adios: add new variant mxml
adios v1.12.0 onwards contains an xml library built within.
To build with an external mxml, a new variant must be used
* adios: new variant for sz transform
* adios: flexpath and dataspaces staging variants
Two new variants for staging: flexpath and dataspaces.
New variant 'staging' that will enable both
* adios: dependency on libtool:2.4.2 since adios does not build with newer libtool 2.4.6
* adios: better description for variant no-mpi
* adios: new variant for netcdf
as requested by @mamelara from LBL
* adios: renamed variant 'no_mpi' to 'serial'
* adios: removed variant mxml
* adios: corrected implementation of the mpi dependency, along with its relation with the 'serial' variant
Added conflicts between 'serial' and other variants
* adios: added 'else' clause when variants are not added
* adios: replaced variant 'serial' with 'mpi'
* adios: Added configure option to explicitly disable variants that are not enabled.
* adios: setting default zfp to true
* adios: fixed flake8 errors
* adios: removed some old comments
* adios: setting default sz to False.
It is recommended to set default to False when dependency is on develop (sz@develop).
* adios: removing dependency on develop for sz and setting default sz to true
* adios: updated url to latest release.
Just keeping it clean
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/adios/package.py | 69 |
1 files changed, 55 insertions, 14 deletions
diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py index 5a7f4d91f5..cebd90144f 100644 --- a/var/spack/repos/builtin/packages/adios/package.py +++ b/var/spack/repos/builtin/packages/adios/package.py @@ -22,7 +22,6 @@ # License along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## - from spack import * @@ -34,11 +33,13 @@ class Adios(AutotoolsPackage): """ homepage = "http://www.olcf.ornl.gov/center-projects/adios/" - url = "https://github.com/ornladios/ADIOS/archive/v1.11.1.tar.gz" + url = "https://github.com/ornladios/ADIOS/archive/v1.12.0.tar.gz" version('develop', git='https://github.com/ornladios/ADIOS.git', branch='master') + version('1.12.0', '84a1c71b6698009224f6f748c5257fc9') version('1.11.1', '5639bfc235e50bf17ba9dafb14ea4185') + version('1.11.0', '5eead5b2ccf962f5e6d5f254d29d5238') version('1.10.0', 'eff450a4c0130479417cfd63186957f3') version('1.9.0', '310ff02388bbaa2b1c1710ee970b5678') @@ -55,29 +56,37 @@ class Adios(AutotoolsPackage): variant('zlib', default=True, description='Enable zlib transform support') variant('bzip2', default=False, description='Enable bzip2 transform support') variant('szip', default=False, description='Enable szip transform support') - variant('zfp', default=False, description='Enable ZFP transform support') + variant('zfp', default=True, description='Enable ZFP transform support') + variant('sz', default=True, description='Enable SZ transform support') # transports and serial file converters variant('hdf5', default=False, description='Enable parallel HDF5 transport and serial bp2h5 converter') - - # Lots of setting up here for this package - # module swap PrgEnv-intel PrgEnv-$COMP - # module load cray-hdf5/1.8.14 - # module load python/2.7.10 + variant('netcdf', default=False, description='Enable netcdf support') + variant('flexpath', default=False, description='Enable flexpath transport') + variant('dataspaces', default=False, description='Enable dataspaces transport') + variant('staging', default=False, description='Enable dataspaces and flexpath staging transports') depends_on('autoconf', type='build') depends_on('automake', type='build') - depends_on('libtool', type='build') + depends_on('libtool@:2.4.2', type='build') depends_on('python', type='build') depends_on('mpi', when='+mpi') - depends_on('mxml@2.9:') # optional transformations depends_on('zlib', when='+zlib') depends_on('bzip2', when='+bzip2') depends_on('szip', when='+szip') + depends_on('sz', when='+sz') depends_on('zfp@:0.5.0', when='+zfp') # optional transports & file converters depends_on('hdf5@1.8:+mpi', when='+hdf5') + depends_on('netcdf', when='+netcdf') + depends_on('libevpath', when='+flexpath') + depends_on('libevpath', when='+staging') + depends_on('dataspaces+mpi', when='+dataspaces') + depends_on('dataspaces+mpi', when='+staging') + + for p in ['+hdf5', '+netcdf', '+flexpath', '+dataspaces', '+staging']: + conflicts(p, when='~mpi') build_directory = 'spack-build' @@ -105,16 +114,16 @@ class Adios(AutotoolsPackage): extra_args = [ # required, otherwise building its python bindings will fail - 'CFLAGS={0}'.format(self.compiler.pic_flag), - # always build external MXML, even in ADIOS 1.10.0+ - '--with-mxml={0}'.format(spec['mxml'].prefix) + 'CFLAGS={0}'.format(self.compiler.pic_flag) ] if '+shared' in spec: extra_args.append('--enable-shared') if '+mpi' in spec: - extra_args.append('--with-mpi') + extra_args.append('--with-mpi=%s' % spec['mpi'].prefix) + else: + extra_args.append('--without-mpi') if '+infiniband' in spec: extra_args.append('--with-infiniband') else: @@ -125,15 +134,47 @@ class Adios(AutotoolsPackage): else: extra_args.append('--disable-fortran') + # Transforms if '+zlib' in spec: extra_args.append('--with-zlib=%s' % spec['zlib'].prefix) + else: + extra_args.append('--without-zlib') if '+bzip2' in spec: extra_args.append('--with-bzip2=%s' % spec['bzip2'].prefix) + else: + extra_args.append('--without-bzip2') if '+szip' in spec: extra_args.append('--with-szip=%s' % spec['szip'].prefix) + else: + extra_args.append('--without-szip') if '+zfp' in spec: extra_args.append('--with-zfp=%s' % spec['zfp'].prefix) + else: + extra_args.append('--without-zfp') + if '+sz' in spec: + extra_args.append('--with-sz=%s' % spec['sz'].prefix) + else: + extra_args.append('--without-sz') + + # External I/O libraries if '+hdf5' in spec: extra_args.append('--with-phdf5=%s' % spec['hdf5'].prefix) + else: + extra_args.append('--without-phdf5') + if '+netcdf' in spec: + extra_args.append('--with-netcdf=%s' % spec['netcdf'].prefix) + else: + extra_args.append('--without-netcdf') + + # Staging transports + if '+flexpath' in spec or '+staging' in spec: + extra_args.append('--with-flexpath=%s' % spec['libevpath'].prefix) + else: + extra_args.append('--without-flexpath') + if '+dataspaces' in spec or '+staging' in spec: + extra_args.append('--with-dataspaces=%s' + % spec['dataspaces'].prefix) + else: + extra_args.append('--without-dataspaces') return extra_args |