aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure.py22
1 files changed, 12 insertions, 10 deletions
diff --git a/configure.py b/configure.py
index 211b59547..588c33159 100755
--- a/configure.py
+++ b/configure.py
@@ -229,8 +229,10 @@ def process_command_line(args):
metavar='BINARY',
help='set the name of the compiler binary')
- target_group.add_option('--chost', dest='chost',
- help=optparse.SUPPRESS_HELP)
+ target_group.add_option('--cc-abi-flags', metavar='FLAG',
+ help='set compiler ABI flags')
+
+ target_group.add_option('--chost', help=optparse.SUPPRESS_HELP)
target_group.add_option('--with-endian', metavar='ORDER', default=None,
help='override guess of CPU byte order')
@@ -811,21 +813,23 @@ class CompilerInfo(object):
"""
Return the machine specific ABI flags
"""
- def mach_abi_link_flags(self, osname, arch, submodel, debug_p):
-
+ def mach_abi_link_flags(self, options):
def all():
- if debug_p:
+ if options.debug_build:
return 'all-debug'
return 'all'
abi_link = set()
- for what in [all(), osname, arch, submodel]:
+ for what in [all(), options.os, options.arch, options.cpu]:
if self.mach_abi_linking.get(what) != None:
abi_link.add(self.mach_abi_linking.get(what))
+ for flag in options.cc_abi_flags.split(' '):
+ abi_link.add(flag)
+
if len(abi_link) == 0:
return ''
- return ' ' + ' '.join(abi_link)
+ return ' ' + ' '.join(sorted(list(abi_link)))
"""
@@ -1139,9 +1143,7 @@ def create_template_vars(build_config, options, modules, cc, arch, osinfo):
'mp_bits': choose_mp_bits(),
- 'cc': (options.compiler_binary or cc.binary_name) +
- cc.mach_abi_link_flags(options.os, options.arch,
- options.cpu, options.debug_build),
+ 'cc': (options.compiler_binary or cc.binary_name) + cc.mach_abi_link_flags(options),
'lib_opt': cc.library_opt_flags(options),
'check_opt': '' if options.no_optimizations else cc.check_opt_flags,