aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/configure.py b/configure.py
index c18abbac6..203571edc 100755
--- a/configure.py
+++ b/configure.py
@@ -390,11 +390,25 @@ class CompilerInfo(object):
del self.mach_opt
+ def mach_abi_link_flags(self, osname, arch, submodel):
+
+ abi_link = set()
+ for what in ['all', osname, arch, submodel]:
+ if self.mach_abi_linking.get(what) != None:
+ abi_link.add(self.mach_abi_linking.get(what))
+
+ if len(abi_link) == 0:
+ return ''
+ return ' ' + ' '.join(abi_link)
+
def mach_opts(self, arch, submodel):
def submodel_fixup(tup):
return tup[0].replace('SUBMODEL', submodel.replace(tup[1], ''))
+ if submodel == arch:
+ return ''
+
if submodel in self.mach_opt_flags:
return submodel_fixup(self.mach_opt_flags[submodel])
if arch in self.mach_opt_flags:
@@ -600,7 +614,7 @@ def create_template_vars(build_config, options, modules, cc, arch, osinfo):
'mp_bits': choose_mp_bits(),
- 'cc': cc.binary_name,
+ 'cc': cc.binary_name + cc.mach_abi_link_flags(options.os, options.arch, options.cpu),
'lib_opt': cc.lib_opt_flags,
'mach_opt': cc.mach_opts(options.arch, options.cpu),
'check_opt': cc.check_opt_flags,