|
|
@ -30,6 +30,7 @@ valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', |
|
|
|
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') |
|
|
@ -219,6 +220,13 @@ parser.add_option('--with-arm-float-abi', |
|
|
|
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', |
|
|
@ -607,20 +615,23 @@ def configure_arm(o): |
|
|
|
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') |
|
|
|