gmp,mpc,mpfr: libs=static,shared variant (#29996)
This commit is contained in:
parent
1ea05cd456
commit
9bc5b0cad5
@ -28,10 +28,8 @@ class Gmp(AutotoolsPackage, GNUMirrorPackage):
|
|||||||
depends_on('libtool', type='build')
|
depends_on('libtool', type='build')
|
||||||
depends_on('m4', type='build')
|
depends_on('m4', type='build')
|
||||||
|
|
||||||
variant('static', default=False, description='Build static library')
|
variant('libs', default='shared,static', values=('shared', 'static'),
|
||||||
variant('shared', default=True, description='Build shared library')
|
multi=True, description='Build shared libs, static libs or both')
|
||||||
|
|
||||||
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
|
# gmp's configure script seems to be broken; it sometimes misdetects
|
||||||
# shared library support. Regenerating it fixes the issue.
|
# shared library support. Regenerating it fixes the issue.
|
||||||
@ -49,8 +47,7 @@ def flag_handler(self, name, flags):
|
|||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
args = ['--enable-cxx']
|
args = ['--enable-cxx']
|
||||||
args.extend(self.enable_or_disable('static'))
|
args += self.enable_or_disable('libs')
|
||||||
args.extend(self.enable_or_disable('shared'))
|
if 'libs=static' in self.spec:
|
||||||
if self.spec.satisfies('+static'):
|
|
||||||
args.append('--with-pic')
|
args.append('--with-pic')
|
||||||
return args
|
return args
|
||||||
|
@ -20,6 +20,9 @@ class Mpc(AutotoolsPackage, GNUMirrorPackage):
|
|||||||
version('1.0.3', sha256='617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3')
|
version('1.0.3', sha256='617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3')
|
||||||
version('1.0.2', sha256='b561f54d8a479cee3bc891ee52735f18ff86712ba30f036f8b8537bae380c488')
|
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
|
# Could also be built against mpir instead
|
||||||
depends_on('gmp@4.3.2:')
|
depends_on('gmp@4.3.2:')
|
||||||
depends_on('gmp@5.0.0:', when='@1.1.0:')
|
depends_on('gmp@5.0.0:', when='@1.1.0:')
|
||||||
@ -29,7 +32,9 @@ class Mpc(AutotoolsPackage, GNUMirrorPackage):
|
|||||||
|
|
||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
return [
|
args = [
|
||||||
'--with-mpfr={0}'.format(spec['mpfr'].prefix),
|
'--with-mpfr={0}'.format(spec['mpfr'].prefix),
|
||||||
'--with-gmp={0}'.format(spec['gmp'].prefix)
|
'--with-gmp={0}'.format(spec['gmp'].prefix)
|
||||||
]
|
]
|
||||||
|
args += self.enable_or_disable('libs')
|
||||||
|
return args
|
||||||
|
@ -34,10 +34,8 @@ class Mpfr(AutotoolsPackage, GNUMirrorPackage):
|
|||||||
depends_on('autoconf-archive', when='@4.0.2:', type='build')
|
depends_on('autoconf-archive', when='@4.0.2:', type='build')
|
||||||
depends_on('texinfo', when='@4.1.0', type='build')
|
depends_on('texinfo', when='@4.1.0', type='build')
|
||||||
|
|
||||||
variant('static', default=False, description='Build static library')
|
variant('libs', default='shared,static', values=('shared', 'static'),
|
||||||
variant('shared', default=True, description='Build shared library')
|
multi=True, description='Build shared libs, static libs or both')
|
||||||
|
|
||||||
conflicts('~static', when='~shared', msg='Please select at least one of +static or +shared')
|
|
||||||
|
|
||||||
force_autoreconf = True
|
force_autoreconf = True
|
||||||
|
|
||||||
@ -68,8 +66,7 @@ def configure_args(self):
|
|||||||
args = [
|
args = [
|
||||||
'--with-gmp=' + self.spec['gmp'].prefix,
|
'--with-gmp=' + self.spec['gmp'].prefix,
|
||||||
]
|
]
|
||||||
args.extend(self.enable_or_disable('static'))
|
args += self.enable_or_disable('libs')
|
||||||
args.extend(self.enable_or_disable('shared'))
|
if 'libs=static' in self.spec:
|
||||||
if self.spec.satisfies('+static'):
|
|
||||||
args.append('--with-pic')
|
args.append('--with-pic')
|
||||||
return args
|
return args
|
||||||
|
Loading…
Reference in New Issue
Block a user