summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/adios/package.py
blob: 9e0452ba6f131782bfaeb30c1a807fcd39d60e5b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import os

from spack import *


class Adios(Package):
    """
    The Adaptable IO System (ADIOS) provides a simple,
    flexible way for scientists to describe the
    data in their code that may need to be written,
    read, or processed outside of the running simulation
    """

    homepage = "http://www.olcf.ornl.gov/center-projects/adios/"
    url = "http://users.nccs.gov/~pnorbert/adios-1.9.0.tar.gz"

    version('1.9.0', 'dbf5cb10e32add2f04c9b4052b7ffa76')

    # Lots of setting up here for this package
    # module swap PrgEnv-intel PrgEnv-$COMP
    # module load cray-netcdf/4.3.3.1
    # module load cray-hdf5/1.8.14
    # module load python/2.7.10
    depends_on('hdf5')
    depends_on('mxml')

    def install(self, spec, prefix):
        configure_args = ["--prefix=%s" % prefix,
                          "--with-mxml=%s" % spec['mxml'].prefix,
                          "--with-hdf5=%s" % spec['hdf5'].prefix,
                          "--with-netcdf=%s" % os.environ["NETCDF_DIR"],
                          "--with-infiniband=no",
                          "MPICC=cc", "MPICXX=CC", "MPIFC=ftn",
                          "CPPFLAGS=-DMPICH_IGNORE_CXX_SEEK"]

        if spec.satisfies('%gcc'):
            configure_args.extend(["CC=gcc", "CXX=g++", "FC=gfortran"])

        configure(*configure_args)
        make()
        make("install")