libunwind: add variants (#26099)
This commit is contained in:
parent
f1839c6aae
commit
bf9cf87d9b
@ -21,10 +21,37 @@ class Libunwind(AutotoolsPackage):
|
|||||||
version('1.4.0', sha256='df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435')
|
version('1.4.0', sha256='df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435')
|
||||||
version('1.3.1', sha256='43997a3939b6ccdf2f669b50fdb8a4d3205374728c2923ddc2354c65260214f8')
|
version('1.3.1', sha256='43997a3939b6ccdf2f669b50fdb8a4d3205374728c2923ddc2354c65260214f8')
|
||||||
version('1.2.1', sha256='3f3ecb90e28cbe53fba7a4a27ccce7aad188d3210bb1964a923a731a27a75acb')
|
version('1.2.1', sha256='3f3ecb90e28cbe53fba7a4a27ccce7aad188d3210bb1964a923a731a27a75acb')
|
||||||
version('1.1', sha256='9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a')
|
version('1.1', sha256='9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a',
|
||||||
|
deprecated=True)
|
||||||
|
|
||||||
|
variant('docs', default=True, description='Build man page')
|
||||||
|
variant('libs', default='shared,static', values=('shared', 'static'),
|
||||||
|
multi=True, description='Build shared libs, static libs or both')
|
||||||
variant('pic', default=False,
|
variant('pic', default=False,
|
||||||
description='Compile with position independent code.')
|
description='Compile with position independent code.')
|
||||||
|
variant('tests', default=True, description='Build tests')
|
||||||
|
|
||||||
|
variant('block_signals', default=False,
|
||||||
|
description='Block signals before performing mutex operations')
|
||||||
|
|
||||||
|
variant('components',
|
||||||
|
values=any_combination_of('coredump', 'ptrace', 'setjump'),
|
||||||
|
description='Build specified libunwind libraries')
|
||||||
|
|
||||||
|
variant('conservative_checks', default=False,
|
||||||
|
description='Validate all memory addresses before use')
|
||||||
|
|
||||||
|
variant('cxx_exceptions', default=False,
|
||||||
|
description='Use libunwind to handle C++ exceptions')
|
||||||
|
|
||||||
|
variant('debug', default=False,
|
||||||
|
description='Turn on debug support (slows down execution)')
|
||||||
|
|
||||||
|
variant('debug_frame', default=False,
|
||||||
|
description='Load the ".debug_frame" section if available')
|
||||||
|
|
||||||
|
variant('weak_backtrace', default=True,
|
||||||
|
description="Provide the weak 'backtrace' symbol")
|
||||||
|
|
||||||
variant('xz', default=False,
|
variant('xz', default=False,
|
||||||
description='Support xz (lzma) compressed symbol tables.')
|
description='Support xz (lzma) compressed symbol tables.')
|
||||||
@ -67,16 +94,23 @@ def configure_args(self):
|
|||||||
spec = self.spec
|
spec = self.spec
|
||||||
args = []
|
args = []
|
||||||
|
|
||||||
if '+xz' in spec:
|
args += self.enable_or_disable('documentation', variant='docs')
|
||||||
args.append('--enable-minidebuginfo')
|
args += self.enable_or_disable('libs')
|
||||||
else:
|
args += self.enable_or_disable('tests')
|
||||||
args.append('--disable-minidebuginfo')
|
|
||||||
|
|
||||||
|
args += self.enable_or_disable('block-signals', variant='block_signals')
|
||||||
|
args += self.enable_or_disable('components')
|
||||||
|
args += self.enable_or_disable('conservative-checks',
|
||||||
|
variant='conservative_checks')
|
||||||
|
args += self.enable_or_disable('cxx-exceptions', variant='cxx_exceptions')
|
||||||
|
args += self.enable_or_disable('debug')
|
||||||
|
args += self.enable_or_disable('debug-frame', variant='debug_frame')
|
||||||
|
args += self.enable_or_disable('minidebuginfo', variant='xz')
|
||||||
|
# building without weak backtrace symbol is possible in 1.5.x and later
|
||||||
|
if self.spec.satisfies('@1.5:'):
|
||||||
|
args += self.enable_or_disable('weak-backtrace', variant='weak_backtrace')
|
||||||
# zlib support is available in 1.5.x and later
|
# zlib support is available in 1.5.x and later
|
||||||
if spec.satisfies('@1.5:'):
|
if spec.satisfies('@1.5:'):
|
||||||
if '+zlib' in spec:
|
args += self.enable_or_disable('zlibdebuginfo', variant='zlib')
|
||||||
args.append('--enable-zlibdebuginfo')
|
|
||||||
else:
|
|
||||||
args.append('--disable-zlibdebuginfo')
|
|
||||||
|
|
||||||
return args
|
return args
|
||||||
|
Loading…
Reference in New Issue
Block a user