diff --git a/configure b/configure index e0f38c60174a9d..1b7ea9296cf9b0 100755 --- a/configure +++ b/configure @@ -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', @@ -605,21 +613,24 @@ def configure_arm(o): arm_float_abi = 'hard' 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')