build: add --with-arm-fpu option
Fixes: https://github.com/nodejs/node/issues/2942 PR-URL: https://github.com/nodejs/node/pull/3228 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Brian White <mscdex@mscdex.net>
This commit is contained in:
Родитель
099cfbc58c
Коммит
17665af02f
|
@ -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')
|
||||
|
|
Загрузка…
Ссылка в новой задаче