diff options
author | Jack Lloyd <[email protected]> | 2017-12-23 16:07:26 -0500 |
---|---|---|
committer | Jack Lloyd <[email protected]> | 2017-12-23 16:07:26 -0500 |
commit | bf28de2cd2c9abd3db940fcbedeb540eaed0686b (patch) | |
tree | 3651d2dac6c598bff9c641b391bfc352adf9316f /configure.py | |
parent | ebeae68aba0d3384a00fddde77a561bb0cd88102 (diff) |
Add exceptions to mach_abi_linking groups
Allows avoiding -pthread on Haiku which doesn't support that flag.
(Even though it has pthreads, go figure...)
Diffstat (limited to 'configure.py')
-rwxr-xr-x | configure.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/configure.py b/configure.py index dbc42d24f..a3247bcb2 100755 --- a/configure.py +++ b/configure.py @@ -1135,13 +1135,23 @@ class CompilerInfo(InfoObject): # pylint: disable=too-many-instance-attributes if with_debug_info is None: with_debug_info = options.with_debug_info - def all_group(): + def mach_abi_groups(): if with_debug_info and 'all-debug' in self.mach_abi_linking: - return 'all-debug' - return 'all' + yield 'all-debug' + elif 'all' in self.mach_abi_linking: + yield 'all' + + for all_except in [s for s in self.mach_abi_linking.keys() if s.startswith('all!')]: + exceptions = all_except[4:].split(',') + if options.os not in exceptions and options.arch not in exceptions: + yield all_except + + yield options.os + yield options.arch + yield options.cpu abi_link = list() - for what in [all_group(), options.os, options.arch, options.cpu]: + for what in mach_abi_groups(): flag = self.mach_abi_linking.get(what) if flag != None and flag != '' and flag not in abi_link: abi_link.append(flag) |