summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriarspider <iarspider@gmail.com>2022-04-05 01:20:04 +0200
committerGitHub <noreply@github.com>2022-04-04 16:20:04 -0700
commitd64de54ebe83853694e30e562b7f9edc996ccd2d (patch)
tree424e5bab7e4f096545aed73d62ebf19cfc434b11
parentb7eb4af98f8bee74349f45498fc51b615b47c6ee (diff)
downloadspack-d64de54ebe83853694e30e562b7f9edc996ccd2d.tar.gz
spack-d64de54ebe83853694e30e562b7f9edc996ccd2d.tar.bz2
spack-d64de54ebe83853694e30e562b7f9edc996ccd2d.tar.xz
spack-d64de54ebe83853694e30e562b7f9edc996ccd2d.zip
Add shared/static variants to gmp and mpfr (#29836)
* Add shared/static variants to gmp and mpfr * Update package.py * Update package.py
-rw-r--r--var/spack/repos/builtin/packages/gmp/package.py12
-rw-r--r--var/spack/repos/builtin/packages/mpfr/package.py9
2 files changed, 20 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/gmp/package.py b/var/spack/repos/builtin/packages/gmp/package.py
index 40a2608ea2..c5f8c2881b 100644
--- a/var/spack/repos/builtin/packages/gmp/package.py
+++ b/var/spack/repos/builtin/packages/gmp/package.py
@@ -28,6 +28,11 @@ class Gmp(AutotoolsPackage, GNUMirrorPackage):
depends_on('libtool', type='build')
depends_on('m4', type='build')
+ variant('static', default=False, description='Build static library')
+ variant('shared', default=True, description='Build shared library')
+
+ conflicts('~shared', when='~static', msg='Please select at least one of +static or +shared')
+
# gmp's configure script seems to be broken; it sometimes misdetects
# shared library support. Regenerating it fixes the issue.
force_autoreconf = True
@@ -43,4 +48,9 @@ class Gmp(AutotoolsPackage, GNUMirrorPackage):
return (flags, None, None)
def configure_args(self):
- return ['--enable-cxx']
+ args = ['--enable-cxx']
+ args.extend(self.enable_or_disable('static'))
+ args.extend(self.enable_or_disable('shared'))
+ if self.spec.satisfies('+static'):
+ args.append('--with-pic')
+ return args
diff --git a/var/spack/repos/builtin/packages/mpfr/package.py b/var/spack/repos/builtin/packages/mpfr/package.py
index 960a958b09..2d62836da8 100644
--- a/var/spack/repos/builtin/packages/mpfr/package.py
+++ b/var/spack/repos/builtin/packages/mpfr/package.py
@@ -34,6 +34,11 @@ class Mpfr(AutotoolsPackage, GNUMirrorPackage):
depends_on('autoconf-archive', when='@4.0.2:', type='build')
depends_on('texinfo', when='@4.1.0', type='build')
+ variant('static', default=False, description='Build static library')
+ variant('shared', default=True, description='Build shared library')
+
+ conflicts('~static', when='~shared', msg='Please select at least one of +static or +shared')
+
force_autoreconf = True
# Check the Bugs section of old release pages for patches.
@@ -63,4 +68,8 @@ class Mpfr(AutotoolsPackage, GNUMirrorPackage):
args = [
'--with-gmp=' + self.spec['gmp'].prefix,
]
+ args.extend(self.enable_or_disable('static'))
+ args.extend(self.enable_or_disable('shared'))
+ if self.spec.satisfies('+static'):
+ args.append('--with-pic')
return args