aboutsummaryrefslogtreecommitdiffstats
path: root/configure.py
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2017-12-23 16:07:26 -0500
committerJack Lloyd <[email protected]>2017-12-23 16:07:26 -0500
commitbf28de2cd2c9abd3db940fcbedeb540eaed0686b (patch)
tree3651d2dac6c598bff9c641b391bfc352adf9316f /configure.py
parentebeae68aba0d3384a00fddde77a561bb0cd88102 (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-xconfigure.py18
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)