diff options
author | Harmen Stoppels <harmenstoppels@gmail.com> | 2022-04-11 09:33:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-11 09:33:15 +0200 |
commit | 9bc5b0cad526f6a2f8757b5f94b8e92a6a3bceae (patch) | |
tree | a948d73c25ff4a8ca93e423a910e1a6a82641a40 | |
parent | 1ea05cd456a773be4f46a5ef535893ab106b2d8b (diff) | |
download | spack-9bc5b0cad526f6a2f8757b5f94b8e92a6a3bceae.tar.gz spack-9bc5b0cad526f6a2f8757b5f94b8e92a6a3bceae.tar.bz2 spack-9bc5b0cad526f6a2f8757b5f94b8e92a6a3bceae.tar.xz spack-9bc5b0cad526f6a2f8757b5f94b8e92a6a3bceae.zip |
gmp,mpc,mpfr: libs=static,shared variant (#29996)
-rw-r--r-- | var/spack/repos/builtin/packages/gmp/package.py | 11 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/mpc/package.py | 7 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/mpfr/package.py | 11 |
3 files changed, 14 insertions, 15 deletions
diff --git a/var/spack/repos/builtin/packages/gmp/package.py b/var/spack/repos/builtin/packages/gmp/package.py index c5f8c2881b..e20489f55f 100644 --- a/var/spack/repos/builtin/packages/gmp/package.py +++ b/var/spack/repos/builtin/packages/gmp/package.py @@ -28,10 +28,8 @@ 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') + variant('libs', default='shared,static', values=('shared', 'static'), + multi=True, description='Build shared libs, static libs or both') # gmp's configure script seems to be broken; it sometimes misdetects # shared library support. Regenerating it fixes the issue. @@ -49,8 +47,7 @@ class Gmp(AutotoolsPackage, GNUMirrorPackage): def configure_args(self): args = ['--enable-cxx'] - args.extend(self.enable_or_disable('static')) - args.extend(self.enable_or_disable('shared')) - if self.spec.satisfies('+static'): + args += self.enable_or_disable('libs') + if 'libs=static' in self.spec: args.append('--with-pic') return args diff --git a/var/spack/repos/builtin/packages/mpc/package.py b/var/spack/repos/builtin/packages/mpc/package.py index 41eac55fd2..277b1653f6 100644 --- a/var/spack/repos/builtin/packages/mpc/package.py +++ b/var/spack/repos/builtin/packages/mpc/package.py @@ -20,6 +20,9 @@ class Mpc(AutotoolsPackage, GNUMirrorPackage): version('1.0.3', sha256='617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3') version('1.0.2', sha256='b561f54d8a479cee3bc891ee52735f18ff86712ba30f036f8b8537bae380c488') + variant('libs', default='shared,static', values=('shared', 'static'), + multi=True, description='Build shared libs, static libs or both') + # Could also be built against mpir instead depends_on('gmp@4.3.2:') depends_on('gmp@5.0.0:', when='@1.1.0:') @@ -29,7 +32,9 @@ class Mpc(AutotoolsPackage, GNUMirrorPackage): def configure_args(self): spec = self.spec - return [ + args = [ '--with-mpfr={0}'.format(spec['mpfr'].prefix), '--with-gmp={0}'.format(spec['gmp'].prefix) ] + args += self.enable_or_disable('libs') + return args diff --git a/var/spack/repos/builtin/packages/mpfr/package.py b/var/spack/repos/builtin/packages/mpfr/package.py index 2d62836da8..7b1b4259f8 100644 --- a/var/spack/repos/builtin/packages/mpfr/package.py +++ b/var/spack/repos/builtin/packages/mpfr/package.py @@ -34,10 +34,8 @@ 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') + variant('libs', default='shared,static', values=('shared', 'static'), + multi=True, description='Build shared libs, static libs or both') force_autoreconf = True @@ -68,8 +66,7 @@ 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 += self.enable_or_disable('libs') + if 'libs=static' in self.spec: args.append('--with-pic') return args |