diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py index 9defe6ed5e2d6df7ca3c1eacb69d7895fc184fe4..ef61b312fe180943ad818cd19e7b96d068f85614 100644 --- a/var/spack/repos/builtin/packages/hdf5/package.py +++ b/var/spack/repos/builtin/packages/hdf5/package.py @@ -63,6 +63,8 @@ class Hdf5(AutotoolsPackage): variant('szip', default=False, description='Enable szip support') variant('threadsafe', default=False, description='Enable thread-safe capabilities') + variant('pic', default=True, + description='Produce position-independent code (for shared libs)') depends_on('mpi', when='+mpi') depends_on('szip', when='+szip') @@ -121,6 +123,11 @@ def configure_args(self): if spec.satisfies('@:1.8.16'): extra_args.append('--enable-fortran2003') + if '+pic' in spec: + extra_args.append('CFLAGS={0}'.format(self.compiler.pic_flag)) + extra_args.append('CXXFLAGS={0}'.format(self.compiler.pic_flag)) + extra_args.append('FFLAGS={0}'.format(self.compiler.pic_flag)) + if '+mpi' in spec: # The HDF5 configure script warns if cxx and mpi are enabled # together. There doesn't seem to be a real reason for this, except