summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@googlemail.com>2017-08-04 18:21:43 +0200
committerGitHub <noreply@github.com>2017-08-04 18:21:43 +0200
commit9be294de315e094b15865aad1a78e6433731f385 (patch)
treef0eb58cedcd5de228c3816d8d36cf309c74b6bec
parent452f382293cffe6fbf134db13cb1420d11e93689 (diff)
downloadspack-9be294de315e094b15865aad1a78e6433731f385.tar.gz
spack-9be294de315e094b15865aad1a78e6433731f385.tar.bz2
spack-9be294de315e094b15865aad1a78e6433731f385.tar.xz
spack-9be294de315e094b15865aad1a78e6433731f385.zip
Changed every 'fpic' variant to 'pic' (#4969)
* Changed every 'fpic' variant to 'pic'. fixes #2463 Every variant that activates compilation of position independent code has been changed to 'pic'. Hardcoded compiler flags in packages have been substituted with `self.compiler.pic_flag`. * Changed literal uses of '-fpic' to 'self.compiler.pic_flag'
-rw-r--r--var/spack/repos/builtin/packages/adios/package.py13
-rw-r--r--var/spack/repos/builtin/packages/arpack/package.py4
-rw-r--r--var/spack/repos/builtin/packages/cantera/package.py2
-rw-r--r--var/spack/repos/builtin/packages/hdf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/lammps/package.py2
-rw-r--r--var/spack/repos/builtin/packages/metis/package.py4
-rw-r--r--var/spack/repos/builtin/packages/mxml/package.py2
-rw-r--r--var/spack/repos/builtin/packages/nalu/package.py2
-rw-r--r--var/spack/repos/builtin/packages/netcdf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/netlib-scalapack/package.py10
-rw-r--r--var/spack/repos/builtin/packages/otf2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/parallel-netcdf/package.py14
-rw-r--r--var/spack/repos/builtin/packages/parmgridgen/package.py4
-rw-r--r--var/spack/repos/builtin/packages/scorep/package.py5
-rw-r--r--var/spack/repos/builtin/packages/scotch/package.py8
-rw-r--r--var/spack/repos/builtin/packages/sundials/package.py4
-rw-r--r--var/spack/repos/builtin/packages/superlu/package.py6
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py4
-rw-r--r--var/spack/repos/builtin/packages/yaml-cpp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/zoltan/package.py2
20 files changed, 58 insertions, 42 deletions
diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py
index 2d7b9e2997..5a7f4d91f5 100644
--- a/var/spack/repos/builtin/packages/adios/package.py
+++ b/var/spack/repos/builtin/packages/adios/package.py
@@ -103,13 +103,12 @@ class Adios(AutotoolsPackage):
spec = self.spec
self.validate(spec)
- extra_args = []
-
- # required, otherwise building its python bindings on ADIOS will fail
- extra_args.append("CFLAGS=-fPIC")
-
- # always build external MXML, even in ADIOS 1.10.0+
- extra_args.append('--with-mxml=%s' % spec['mxml'].prefix)
+ 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)
+ ]
if '+shared' in spec:
extra_args.append('--enable-shared')
diff --git a/var/spack/repos/builtin/packages/arpack/package.py b/var/spack/repos/builtin/packages/arpack/package.py
index 831a379fce..67ab050236 100644
--- a/var/spack/repos/builtin/packages/arpack/package.py
+++ b/var/spack/repos/builtin/packages/arpack/package.py
@@ -60,7 +60,9 @@ class Arpack(Package):
# Be sure to use the Spack compiler wrapper
makefile.filter('^FC.*', 'FC = {0}'.format(os.environ['F77']))
- makefile.filter('^FFLAGS.*', 'FFLAGS = -O2 -g -fPIC')
+ makefile.filter(
+ '^FFLAGS.*', 'FFLAGS = -O2 -g {0}'.format(self.compiler.pic_flag)
+ )
if not which('ranlib'):
makefile.filter('^RANLIB.*', 'RANLIB = touch')
diff --git a/var/spack/repos/builtin/packages/cantera/package.py b/var/spack/repos/builtin/packages/cantera/package.py
index e92c5b5b43..5987f0865a 100644
--- a/var/spack/repos/builtin/packages/cantera/package.py
+++ b/var/spack/repos/builtin/packages/cantera/package.py
@@ -78,7 +78,7 @@ class Cantera(Package):
'CXX={0}'.format(os.environ['CXX']),
'F77={0}'.format(os.environ['F77']),
'FORTRAN={0}'.format(os.environ['FC']),
- 'cc_flags=-fPIC',
+ 'cc_flags={0}'.format(self.compiler.pic_flag),
# Allow Spack environment variables to propagate through to SCons
'env_vars=all'
]
diff --git a/var/spack/repos/builtin/packages/hdf/package.py b/var/spack/repos/builtin/packages/hdf/package.py
index 6c0974994b..87309ed65e 100644
--- a/var/spack/repos/builtin/packages/hdf/package.py
+++ b/var/spack/repos/builtin/packages/hdf/package.py
@@ -51,7 +51,7 @@ class Hdf(AutotoolsPackage):
spec = self.spec
config_args = [
- 'CFLAGS=-fPIC',
+ 'CFLAGS={0}'.format(self.compiler.pic_flag),
'--with-jpeg={0}'.format(spec['jpeg'].prefix),
'--with-zlib={0}'.format(spec['zlib'].prefix),
'--disable-netcdf', # must be disabled to build NetCDF with HDF4
diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py
index c1909451d1..cfe5cfa4bb 100644
--- a/var/spack/repos/builtin/packages/lammps/package.py
+++ b/var/spack/repos/builtin/packages/lammps/package.py
@@ -74,7 +74,7 @@ class Lammps(MakefilePackage):
config.append('CCFLAGS = -fopenmp')
config.append('LINKFLAGS = -fopenmp $(OPTFLAGS)')
- config.append('SHFLAGS = -fPIC')
+ config.append('SHFLAGS = {0}'.format(self.compiler.pic_flag))
config.append('DEPFLAGS = -M')
config.append('LINK = c++')
diff --git a/var/spack/repos/builtin/packages/metis/package.py b/var/spack/repos/builtin/packages/metis/package.py
index 2f450951e3..43feace931 100644
--- a/var/spack/repos/builtin/packages/metis/package.py
+++ b/var/spack/repos/builtin/packages/metis/package.py
@@ -91,7 +91,7 @@ class Metis(Package):
raise InstallError('METIS@:4 does not support the following '
'variants: gdb, int64, real64.')
- options = ['COPTIONS=-fPIC']
+ options = ['COPTIONS={0}'.format(self.compiler.pic_flag)]
if '+debug' in spec:
options.append('OPTFLAGS=-g -O0')
make(*options)
@@ -119,7 +119,7 @@ class Metis(Package):
install(sharefile, prefix.share)
if '+shared' in spec:
- shared_flags = ['-fPIC', '-shared']
+ shared_flags = [self.compiler.pic_flag, '-shared']
if sys.platform == 'darwin':
shared_suffix = 'dylib'
shared_flags.extend(['-Wl,-all_load', 'libmetis.a'])
diff --git a/var/spack/repos/builtin/packages/mxml/package.py b/var/spack/repos/builtin/packages/mxml/package.py
index e8b87e52c1..da5ef6437b 100644
--- a/var/spack/repos/builtin/packages/mxml/package.py
+++ b/var/spack/repos/builtin/packages/mxml/package.py
@@ -50,7 +50,7 @@ class Mxml(AutotoolsPackage):
def configure_args(self):
return [
# ADIOS build with -fPIC, so we need it too (avoid linkage issue)
- 'CFLAGS=-fPIC',
+ 'CFLAGS={0}'.format(self.compiler.pic_flag),
# Default is non-shared, but avoid any future surprises
'--disable-shared',
]
diff --git a/var/spack/repos/builtin/packages/nalu/package.py b/var/spack/repos/builtin/packages/nalu/package.py
index 040144ff16..3836c7a17f 100644
--- a/var/spack/repos/builtin/packages/nalu/package.py
+++ b/var/spack/repos/builtin/packages/nalu/package.py
@@ -39,7 +39,7 @@ class Nalu(CMakePackage):
git='https://github.com/NaluCFD/Nalu.git', branch='master')
# Currently Nalu only builds static libraries; To be fixed soon
- depends_on('yaml-cpp+fpic~shared')
+ depends_on('yaml-cpp+pic~shared')
depends_on('trilinos~shared+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+pnetcdf@master')
def cmake_args(self):
diff --git a/var/spack/repos/builtin/packages/netcdf/package.py b/var/spack/repos/builtin/packages/netcdf/package.py
index 262036d771..90dd4dd5d7 100644
--- a/var/spack/repos/builtin/packages/netcdf/package.py
+++ b/var/spack/repos/builtin/packages/netcdf/package.py
@@ -133,7 +133,7 @@ class Netcdf(AutotoolsPackage):
config_args.append('--disable-shared')
# We don't have shared libraries but we still want it to be
# possible to use this library in shared builds
- CFLAGS.append('-fPIC')
+ CFLAGS.append(self.compiler.pic_flag)
if '+dap' in spec:
config_args.append('--enable-dap')
diff --git a/var/spack/repos/builtin/packages/netlib-scalapack/package.py b/var/spack/repos/builtin/packages/netlib-scalapack/package.py
index d6419b744e..6c6114f011 100644
--- a/var/spack/repos/builtin/packages/netlib-scalapack/package.py
+++ b/var/spack/repos/builtin/packages/netlib-scalapack/package.py
@@ -46,9 +46,9 @@ class NetlibScalapack(CMakePackage):
description='Build the shared library version'
)
variant(
- 'fpic',
+ 'pic',
default=False,
- description='Build with -fpic compiler option'
+ description='Build position independent code'
)
provides('scalapack')
@@ -87,10 +87,10 @@ class NetlibScalapack(CMakePackage):
'-DBLAS_LIBRARIES=%s' % (blas.joined(';'))
])
- if '+fpic' in spec:
+ if '+pic' in spec:
options.extend([
- "-DCMAKE_C_FLAGS=-fPIC",
- "-DCMAKE_Fortran_FLAGS=-fPIC"
+ "-DCMAKE_C_FLAGS=%s" % self.compiler.pic_flag,
+ "-DCMAKE_Fortran_FLAGS=%s" % self.compiler.pic_flag
])
return options
diff --git a/var/spack/repos/builtin/packages/otf2/package.py b/var/spack/repos/builtin/packages/otf2/package.py
index 5b78ae935b..e89fc971d5 100644
--- a/var/spack/repos/builtin/packages/otf2/package.py
+++ b/var/spack/repos/builtin/packages/otf2/package.py
@@ -41,4 +41,8 @@ class Otf2(AutotoolsPackage):
version('1.2.1', '8fb3e11fb7489896596ae2c7c83d7fc8')
def configure_args(self):
- return ["--enable-shared", "CFLAGS=-fPIC", "CXXFLAGS=-fPIC"]
+ return [
+ '--enable-shared',
+ 'CFLAGS={0}'.format(self.compiler.pic_flag),
+ 'CXXFLAGS={0}'.format(self.compiler.pic_flag)
+ ]
diff --git a/var/spack/repos/builtin/packages/parallel-netcdf/package.py b/var/spack/repos/builtin/packages/parallel-netcdf/package.py
index 6d22217440..757a336dd9 100644
--- a/var/spack/repos/builtin/packages/parallel-netcdf/package.py
+++ b/var/spack/repos/builtin/packages/parallel-netcdf/package.py
@@ -40,7 +40,7 @@ class ParallelNetcdf(AutotoolsPackage):
variant('cxx', default=True, description='Build the C++ Interface')
variant('fortran', default=True, description='Build the Fortran Interface')
- variant('fpic', default=True,
+ variant('pic', default=True,
description='Produce position-independent code (for shared libs)')
depends_on('mpi')
@@ -53,12 +53,18 @@ class ParallelNetcdf(AutotoolsPackage):
spec = self.spec
args = ['--with-mpi={0}'.format(spec['mpi'].prefix)]
- args.append('SEQ_CC=%s' % spack_cc)
+ args.append('SEQ_CC={0}'.format(spack_cc))
+
+ if '+pic' in spec:
+ args.extend([
+ 'CFLAGS={0}'.format(self.compiler.pic_flag),
+ 'CXXFLAGS={0}'.format(self.compiler.pic_flag),
+ 'FFLAGS={0}'.format(self.compiler.pic_flag)
+ ])
- if '+fpic' in spec:
- args.extend(['CFLAGS=-fPIC', 'CXXFLAGS=-fPIC', 'FFLAGS=-fPIC'])
if '~cxx' in spec:
args.append('--disable-cxx')
+
if '~fortran' in spec:
args.append('--disable-fortran')
diff --git a/var/spack/repos/builtin/packages/parmgridgen/package.py b/var/spack/repos/builtin/packages/parmgridgen/package.py
index 50eca81053..8630a139ec 100644
--- a/var/spack/repos/builtin/packages/parmgridgen/package.py
+++ b/var/spack/repos/builtin/packages/parmgridgen/package.py
@@ -47,8 +47,8 @@ class Parmgridgen(Package):
def install(self, spec, prefix):
make_opts = [
'make=make',
- 'COPTIONS=-fPIC',
- 'LDOPTIONS=-fPIC',
+ 'COPTIONS={0}'.format(self.compiler.pic_flag),
+ 'LDOPTIONS={0}'.format(self.compiler.pic_flag),
'CC={0}'.format(self.compiler.cc),
'LD={0}'.format(self.compiler.cc),
'LIBDIR=-L../..',
diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py
index d164c38f54..05482bd0c4 100644
--- a/var/spack/repos/builtin/packages/scorep/package.py
+++ b/var/spack/repos/builtin/packages/scorep/package.py
@@ -88,5 +88,8 @@ class Scorep(AutotoolsPackage):
if '~shmem' in spec:
config_args.append("--without-shmem")
- config_args.extend(["CFLAGS=-fPIC", "CXXFLAGS=-fPIC"])
+ config_args.extend([
+ 'CFLAGS={0}'.format(self.compiler.pic_flag),
+ 'CXXFLAGS={0}'.format(self.compiler.pic_flag)
+ ])
return config_args
diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py
index 8071a9765f..b5903c2789 100644
--- a/var/spack/repos/builtin/packages/scotch/package.py
+++ b/var/spack/repos/builtin/packages/scotch/package.py
@@ -129,7 +129,9 @@ class Scotch(Package):
if self.spec.satisfies('platform=darwin'):
makefile_inc.extend([
'LIB = .dylib',
- 'CLIBFLAGS = -dynamiclib -fPIC',
+ 'CLIBFLAGS = -dynamiclib {0}'.format(
+ self.compiler.pic_flag
+ ),
'RANLIB = echo',
'AR = $(CC)',
'ARFLAGS = -dynamiclib $(LDFLAGS) -Wl,-install_name -Wl,%s/$(notdir $@) -undefined dynamic_lookup -o ' % prefix.lib # noqa
@@ -137,12 +139,12 @@ class Scotch(Package):
else:
makefile_inc.extend([
'LIB = .so',
- 'CLIBFLAGS = -shared -fPIC',
+ 'CLIBFLAGS = -shared {0}'.format(self.compiler.pic_flag),
'RANLIB = echo',
'AR = $(CC)',
'ARFLAGS = -shared $(LDFLAGS) -o'
])
- cflags.append('-fPIC')
+ cflags.append(self.compiler.pic_flag)
else:
makefile_inc.extend([
'LIB = .a',
diff --git a/var/spack/repos/builtin/packages/sundials/package.py b/var/spack/repos/builtin/packages/sundials/package.py
index 98e2f8f009..18c3d409f8 100644
--- a/var/spack/repos/builtin/packages/sundials/package.py
+++ b/var/spack/repos/builtin/packages/sundials/package.py
@@ -58,8 +58,8 @@ class Sundials(Package):
cmake_args = std_cmake_args[:]
cmake_args.extend([
'-DBUILD_SHARED_LIBS=ON',
- '-DCMAKE_C_FLAGS=-fPIC',
- '-DCMAKE_Fortran_FLAGS=-fPIC',
+ '-DCMAKE_C_FLAGS={0}'.format(self.compiler.pic_flag),
+ '-DCMAKE_Fortran_FLAGS={0}'.format(self.compiler.pic_flag),
'-DEXAMPLES_ENABLE=ON',
'-DEXAMPLES_INSTALL=ON',
'-DFCMIX_ENABLE=ON'
diff --git a/var/spack/repos/builtin/packages/superlu/package.py b/var/spack/repos/builtin/packages/superlu/package.py
index 7cdf4315fc..c7ef1e3bae 100644
--- a/var/spack/repos/builtin/packages/superlu/package.py
+++ b/var/spack/repos/builtin/packages/superlu/package.py
@@ -38,7 +38,7 @@ class Superlu(Package):
version('5.2.1', '3a1a9bff20cb06b7d97c46d337504447')
version('4.3', 'b72c6309f25e9660133007b82621ba7c')
- variant('fpic', default=True,
+ variant('pic', default=True,
description='Build with position independent code')
depends_on('cmake', when='@5.2.1:', type='build')
@@ -51,7 +51,7 @@ class Superlu(Package):
'-DBLAS_blas_LIBRARY={0}'.format(spec['blas'].libs.joined())
]
- if '+fpic' in spec:
+ if '+pic' in spec:
cmake_args.extend([
'-DCMAKE_POSITION_INDEPENDENT_CODE=ON'
])
@@ -89,7 +89,7 @@ class Superlu(Package):
'CDEFS = -DAdd_'
])
- if '+fpic' in spec:
+ if '+pic' in spec:
config.extend([
# Use these lines instead when pic_flag capability arrives
'CFLAGS = -O3 {0}'.format(self.compiler.pic_flag),
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index 9d9804cf9f..f8181f77f9 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -177,7 +177,7 @@ class Trilinos(CMakePackage):
# ###################### Dependencies ##########################
- # Everything should be compiled with -fpic
+ # Everything should be compiled position independent (-fpic)
depends_on('blas')
depends_on('lapack')
depends_on('boost', when='+boost')
@@ -207,7 +207,7 @@ class Trilinos(CMakePackage):
depends_on('superlu-dist@:4.3', when='@:12.6.1+superlu-dist')
depends_on('superlu-dist@develop', when='@develop+superlu-dist')
depends_on('superlu-dist@xsdk-0.2.0', when='@xsdk-0.2.0+superlu-dist')
- depends_on('superlu+fpic@4.3', when='+superlu')
+ depends_on('superlu+pic@4.3', when='+superlu')
# Trilinos can not be built against 64bit int hypre
depends_on('hypre~internal-superlu~int64', when='+hypre')
depends_on('hypre@xsdk-0.2.0~internal-superlu', when='@xsdk-0.2.0+hypre')
diff --git a/var/spack/repos/builtin/packages/yaml-cpp/package.py b/var/spack/repos/builtin/packages/yaml-cpp/package.py
index e537af6b41..59228ec4cb 100644
--- a/var/spack/repos/builtin/packages/yaml-cpp/package.py
+++ b/var/spack/repos/builtin/packages/yaml-cpp/package.py
@@ -36,7 +36,7 @@ class YamlCpp(CMakePackage):
variant('shared', default=True,
description='Enable build of shared libraries')
- variant('fpic', default=True,
+ variant('pic', default=True,
description='Build with position independent code')
depends_on('boost', when='@:0.5.3')
@@ -49,7 +49,7 @@ class YamlCpp(CMakePackage):
'-DBUILD_SHARED_LIBS:BOOL=%s' % (
'ON' if '+shared' in spec else 'OFF'),
'-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=%s' % (
- 'ON' if '+fpic' in spec else 'OFF'),
+ 'ON' if '+pic' in spec else 'OFF'),
])
return options
diff --git a/var/spack/repos/builtin/packages/zoltan/package.py b/var/spack/repos/builtin/packages/zoltan/package.py
index 008bea9c27..6404cadbe1 100644
--- a/var/spack/repos/builtin/packages/zoltan/package.py
+++ b/var/spack/repos/builtin/packages/zoltan/package.py
@@ -76,7 +76,7 @@ class Zoltan(Package):
if '+shared' in spec:
config_args.append('RANLIB=echo')
config_args.append('--with-ar=$(CXX) -shared $(LDFLAGS) -o')
- config_cflags.append('-fPIC')
+ config_cflags.append(self.compiler.pic_flag)
if spec.satisfies('%gcc'):
config_args.append('--with-libs={0}'.format('-lgfortran'))