valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 'x32',
'x64', 'x86')
valid_arm_float_abi = ('soft', 'softfp', 'hard')
+valid_arm_fpu = ('vfp', 'vfpv2', 'vfpv3', 'vfpv3-d16', 'neon')
valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx')
valid_mips_fpu = ('fp32', 'fp64', 'fpxx')
valid_mips_float_abi = ('soft', 'hard')
help='specifies which floating-point ABI to use ({0}).'.format(
', '.join(valid_arm_float_abi)))
+parser.add_option('--with-arm-fpu',
+ action='store',
+ dest='arm_fpu',
+ choices=valid_arm_fpu,
+ help='ARM FPU mode ({0}) [default: %default]'.format(
+ ', '.join(valid_arm_fpu)))
+
parser.add_option('--with-mips-arch-variant',
action='store',
dest='mips_arch_variant',
else:
arm_float_abi = 'default'
+ arm_fpu = 'vfpv2'
+
if is_arch_armv7():
- o['variables']['arm_fpu'] = 'vfpv3'
+ arm_fpu = 'vfpv3'
o['variables']['arm_version'] = '7'
else:
- o['variables']['arm_fpu'] = 'vfpv2'
o['variables']['arm_version'] = '6' if is_arch_armv6() else 'default'
o['variables']['arm_thumb'] = 0 # -marm
o['variables']['arm_float_abi'] = arm_float_abi
if options.dest_os == 'android':
- o['variables']['arm_fpu'] = 'vfpv3'
+ arm_fpu = 'vfpv3'
o['variables']['arm_version'] = '7'
+ o['variables']['arm_fpu'] = options.arm_fpu or arm_fpu
+
def configure_mips(o):
can_use_fpu_instructions = (options.mips_float_abi != 'soft')