diff options
author | iarspider <iarspider@gmail.com> | 2022-04-05 01:20:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-04 16:20:04 -0700 |
commit | d64de54ebe83853694e30e562b7f9edc996ccd2d (patch) | |
tree | 424e5bab7e4f096545aed73d62ebf19cfc434b11 | |
parent | b7eb4af98f8bee74349f45498fc51b615b47c6ee (diff) | |
download | spack-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.py | 12 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/mpfr/package.py | 9 |
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 |