summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorCameron Stanavige <stanavige1@llnl.gov>2019-08-14 15:50:10 -0700
committerGreg Becker <becker33@llnl.gov>2019-08-14 15:50:10 -0700
commit226f23bc43e42b09324ceb0ff978f0872692f3b9 (patch)
tree9b050ccc821920ee6eea2962c3db048811e5a56b /var
parent9e08c7ff478ab188ae569f617238b02019aeb51f (diff)
downloadspack-226f23bc43e42b09324ceb0ff978f0872692f3b9.tar.gz
spack-226f23bc43e42b09324ceb0ff978f0872692f3b9.tar.bz2
spack-226f23bc43e42b09324ceb0ff978f0872692f3b9.tar.xz
spack-226f23bc43e42b09324ceb0ff978f0872692f3b9.zip
UnifyCR: update dependencies and build options (#12216)
* UnifyCR: update dependencies and build options This adds some specifics about dependencies and conflicts and adds additional build options and variants. UnifyCR now also has limited fortran support. * Remove debug statements condition on Spack debug Change debug print statements to now be turned on when the -g cflag is found in the flags the user sets.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/unifycr/package.py42
1 files changed, 36 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/unifycr/package.py b/var/spack/repos/builtin/packages/unifycr/package.py
index 8dde50f95b..6945f66c81 100644
--- a/var/spack/repos/builtin/packages/unifycr/package.py
+++ b/var/spack/repos/builtin/packages/unifycr/package.py
@@ -17,13 +17,17 @@ class Unifycr(AutotoolsPackage):
homepage = "https://github.com/LLNL/UnifyCR"
git = "https://github.com/LLNL/UnifyCR.git"
url = "https://github.com/LLNL/UnifyCR/releases/download/v0.2.0/unifycr-0.2.0.tar.gz"
+ maintainers = ['CamStan']
version('develop', branch='dev', preferred=True)
version('0.2.0', sha256='7439b0e885234bc64e8cbb449d8abfadd386692766b6f00647a7b6435efb2066')
- variant('debug', default='False', description='Enable debug build options')
variant('hdf5', default='False', description='Build with parallel HDF5 (install with `^hdf5~mpi` for serial)')
+ variant('fortran', default='False', description='Build with gfortran support')
variant('numa', default='False', description='Build with NUMA')
+ variant('pmpi', default='False', description='Enable transparent mount/unmount at MPI_Init/Finalize')
+ variant('pmi', default='False', description='Enable PMI2 build options')
+ variant('pmix', default='False', description='Enable PMIx build options')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
@@ -32,26 +36,43 @@ class Unifycr(AutotoolsPackage):
depends_on('pkgconfig', type='build')
# Required dependencies
+ depends_on('flatcc')
# Latest version of GOTCHA has API changes that break UnifyCR.
# Updates to UnifyCR are coming in order to fix this.
- depends_on('flatcc')
depends_on('gotcha@0.0.2')
depends_on('leveldb')
depends_on('margo')
+ depends_on('mercury+bmi+sm')
depends_on('mpi')
# Optional dependencies
depends_on('hdf5', when='+hdf5')
depends_on('numactl', when='+numa')
- # we depend on numactl, which doesn't currently build on darwin
+ conflicts('^mercury~bmi')
+ conflicts('^mercury~sm')
+ # UnifyCR depends on numactl, which doesn't currently build on darwin.
conflicts('platform=darwin', when='+numa')
+ # Known compatibility issues with ifort and xlf. Fixes coming.
+ conflicts('%intel', when='+fortran')
+ conflicts('%xl', when='+fortran')
# Parallel disabled to prevent tests from being run out-of-order when
# installed with the --test={root, all} option.
parallel = False
+ debug_build = False
build_directory = 'spack-build'
+ # Only builds properly with debug symbols when flag_handler =
+ # build_system_flags.
+ # Override the default behavior in order to set debug_build which is used
+ # to set the --disable-silent-rules option when configuring.
+ def flag_handler(self, name, flags):
+ if name in ('cflags', 'cppflags'):
+ if '-g' in flags:
+ self.debug_build = True
+ return (None, None, flags)
+
def configure_args(self):
spec = self.spec
args = []
@@ -67,10 +88,19 @@ class Unifycr(AutotoolsPackage):
lambda x: spec['numactl'].prefix))
args.extend(self.with_or_without('hdf5', hdf5_compiler_path))
- if '+debug' in spec:
- args.append('--enable-debug')
+ if '+fortran' in spec:
+ args.append('--enable-fortran')
+
+ if '+pmpi' in spec:
+ args.append('--enable-mpi-mount')
+
+ if '+pmi' in spec:
+ args.append('--enable-pmi')
+
+ if '+pmix' in spec:
+ args.append('--enable-pmix')
- if spack.config.get('config:debug'):
+ if self.debug_build:
args.append('--disable-silent-rules')
else:
args.append('--enable-silent-rules')