summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMark W. Krentel <krentel@rice.edu>2020-07-29 20:29:24 -0500
committerGitHub <noreply@github.com>2020-07-29 20:29:24 -0500
commit896e83e3e6f7b93e0eb6dbd81fcfdae79ea732b9 (patch)
tree65ff99a99aba59bf50a98cf0ab7fa59eea3bf3c3 /var
parent8435016a43d345aa22c8d4becf3fa4cc4c3b4464 (diff)
downloadspack-896e83e3e6f7b93e0eb6dbd81fcfdae79ea732b9.tar.gz
spack-896e83e3e6f7b93e0eb6dbd81fcfdae79ea732b9.tar.bz2
spack-896e83e3e6f7b93e0eb6dbd81fcfdae79ea732b9.tar.xz
spack-896e83e3e6f7b93e0eb6dbd81fcfdae79ea732b9.zip
libunwind: add +pic variant (#17762)
Libunwind already builds a shared library. The +pic variant adds the compiler pic flag to the static archive so that it can be linked into another shared library.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/libunwind/package.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/libunwind/package.py b/var/spack/repos/builtin/packages/libunwind/package.py
index dcabc86ec5..69f34f7504 100644
--- a/var/spack/repos/builtin/packages/libunwind/package.py
+++ b/var/spack/repos/builtin/packages/libunwind/package.py
@@ -25,6 +25,9 @@ class Libunwind(AutotoolsPackage):
version('1.2.1', sha256='3f3ecb90e28cbe53fba7a4a27ccce7aad188d3210bb1964a923a731a27a75acb')
version('1.1', sha256='9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a')
+ variant('pic', default=False,
+ description='Compile with position independent code.')
+
variant('xz', default=False,
description='Support xz (lzma) compressed symbol tables.')
@@ -48,12 +51,15 @@ class Libunwind(AutotoolsPackage):
provides('unwind')
def flag_handler(self, name, flags):
- wrapper_flags = None
+ wrapper_flags = []
if name == 'cflags':
# https://github.com/libunwind/libunwind/pull/166
if self.spec.satisfies('@:1.4 %gcc@10:'):
- wrapper_flags = ['-fcommon']
+ wrapper_flags.append('-fcommon')
+
+ if '+pic' in self.spec:
+ wrapper_flags.append(self.compiler.cc_pic_flag)
return (wrapper_flags, None, flags)