Revert "build: remove mips support"
This reverts commit 9334e45aa0ed815c2745bcc2bb606d91be64998d. PR-URL: https://github.com/nodejs/node/pull/27992 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
This commit is contained in:
parent
2a9f1ad4b0
commit
eaddb22d92
45
configure.py
45
configure.py
@ -45,10 +45,13 @@ parser = optparse.OptionParser()
|
|||||||
|
|
||||||
valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
|
valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
|
||||||
'android', 'aix', 'cloudabi')
|
'android', 'aix', 'cloudabi')
|
||||||
valid_arch = ('arm', 'arm64', 'ia32', 'ppc',
|
valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc',
|
||||||
'ppc64', 'x32','x64', 'x86', 'x86_64', 's390', 's390x')
|
'ppc64', 'x32','x64', 'x86', 'x86_64', 's390', 's390x')
|
||||||
valid_arm_float_abi = ('soft', 'softfp', 'hard')
|
valid_arm_float_abi = ('soft', 'softfp', 'hard')
|
||||||
valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'neon')
|
valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'neon')
|
||||||
|
valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx')
|
||||||
|
valid_mips_fpu = ('fp32', 'fp64', 'fpxx')
|
||||||
|
valid_mips_float_abi = ('soft', 'hard')
|
||||||
valid_intl_modes = ('none', 'small-icu', 'full-icu', 'system-icu')
|
valid_intl_modes = ('none', 'small-icu', 'full-icu', 'system-icu')
|
||||||
with open ('tools/icu/icu_versions.json') as f:
|
with open ('tools/icu/icu_versions.json') as f:
|
||||||
icu_versions = json.load(f)
|
icu_versions = json.load(f)
|
||||||
@ -365,6 +368,30 @@ parser.add_option('--with-arm-fpu',
|
|||||||
help='ARM FPU mode ({0}) [default: %default]'.format(
|
help='ARM FPU mode ({0}) [default: %default]'.format(
|
||||||
', '.join(valid_arm_fpu)))
|
', '.join(valid_arm_fpu)))
|
||||||
|
|
||||||
|
parser.add_option('--with-mips-arch-variant',
|
||||||
|
action='store',
|
||||||
|
dest='mips_arch_variant',
|
||||||
|
default='r2',
|
||||||
|
choices=valid_mips_arch,
|
||||||
|
help='MIPS arch variant ({0}) [default: %default]'.format(
|
||||||
|
', '.join(valid_mips_arch)))
|
||||||
|
|
||||||
|
parser.add_option('--with-mips-fpu-mode',
|
||||||
|
action='store',
|
||||||
|
dest='mips_fpu_mode',
|
||||||
|
default='fp32',
|
||||||
|
choices=valid_mips_fpu,
|
||||||
|
help='MIPS FPU mode ({0}) [default: %default]'.format(
|
||||||
|
', '.join(valid_mips_fpu)))
|
||||||
|
|
||||||
|
parser.add_option('--with-mips-float-abi',
|
||||||
|
action='store',
|
||||||
|
dest='mips_float_abi',
|
||||||
|
default='hard',
|
||||||
|
choices=valid_mips_float_abi,
|
||||||
|
help='MIPS floating-point ABI ({0}) [default: %default]'.format(
|
||||||
|
', '.join(valid_mips_float_abi)))
|
||||||
|
|
||||||
parser.add_option('--with-dtrace',
|
parser.add_option('--with-dtrace',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
dest='with_dtrace',
|
dest='with_dtrace',
|
||||||
@ -846,6 +873,8 @@ def host_arch_cc():
|
|||||||
'__aarch64__' : 'arm64',
|
'__aarch64__' : 'arm64',
|
||||||
'__arm__' : 'arm',
|
'__arm__' : 'arm',
|
||||||
'__i386__' : 'ia32',
|
'__i386__' : 'ia32',
|
||||||
|
'__MIPSEL__' : 'mipsel',
|
||||||
|
'__mips__' : 'mips',
|
||||||
'__PPC64__' : 'ppc64',
|
'__PPC64__' : 'ppc64',
|
||||||
'__PPC__' : 'ppc64',
|
'__PPC__' : 'ppc64',
|
||||||
'__x86_64__' : 'x64',
|
'__x86_64__' : 'x64',
|
||||||
@ -861,6 +890,9 @@ def host_arch_cc():
|
|||||||
if rtn != 's390':
|
if rtn != 's390':
|
||||||
break
|
break
|
||||||
|
|
||||||
|
if rtn == 'mipsel' and '_LP64' in k:
|
||||||
|
rtn = 'mips64el'
|
||||||
|
|
||||||
return rtn
|
return rtn
|
||||||
|
|
||||||
|
|
||||||
@ -874,6 +906,7 @@ def host_arch_win():
|
|||||||
'AMD64' : 'x64',
|
'AMD64' : 'x64',
|
||||||
'x86' : 'ia32',
|
'x86' : 'ia32',
|
||||||
'arm' : 'arm',
|
'arm' : 'arm',
|
||||||
|
'mips' : 'mips',
|
||||||
}
|
}
|
||||||
|
|
||||||
return matchup.get(arch, 'ia32')
|
return matchup.get(arch, 'ia32')
|
||||||
@ -905,6 +938,14 @@ def configure_arm(o):
|
|||||||
o['variables']['arm_fpu'] = options.arm_fpu or arm_fpu
|
o['variables']['arm_fpu'] = options.arm_fpu or arm_fpu
|
||||||
|
|
||||||
|
|
||||||
|
def configure_mips(o):
|
||||||
|
can_use_fpu_instructions = (options.mips_float_abi != 'soft')
|
||||||
|
o['variables']['v8_can_use_fpu_instructions'] = b(can_use_fpu_instructions)
|
||||||
|
o['variables']['v8_use_mips_abi_hardfloat'] = b(can_use_fpu_instructions)
|
||||||
|
o['variables']['mips_arch_variant'] = options.mips_arch_variant
|
||||||
|
o['variables']['mips_fpu_mode'] = options.mips_fpu_mode
|
||||||
|
|
||||||
|
|
||||||
def gcc_version_ge(version_checked):
|
def gcc_version_ge(version_checked):
|
||||||
for compiler in [(CC, 'c'), (CXX, 'c++')]:
|
for compiler in [(CC, 'c'), (CXX, 'c++')]:
|
||||||
ok, is_clang, clang_version, compiler_version = \
|
ok, is_clang, clang_version, compiler_version = \
|
||||||
@ -949,6 +990,8 @@ def configure_node(o):
|
|||||||
|
|
||||||
if target_arch == 'arm':
|
if target_arch == 'arm':
|
||||||
configure_arm(o)
|
configure_arm(o)
|
||||||
|
elif target_arch in ('mips', 'mipsel', 'mips64el'):
|
||||||
|
configure_mips(o)
|
||||||
|
|
||||||
if flavor == 'aix':
|
if flavor == 'aix':
|
||||||
o['variables']['node_target_type'] = 'static_library'
|
o['variables']['node_target_type'] = 'static_library'
|
||||||
|
@ -541,8 +541,8 @@ added: v0.5.0
|
|||||||
The `process.arch` property returns a string identifying the operating system
|
The `process.arch` property returns a string identifying the operating system
|
||||||
CPU architecture for which the Node.js binary was compiled.
|
CPU architecture for which the Node.js binary was compiled.
|
||||||
|
|
||||||
The current possible values are: `'arm'`, `'arm64'`, `'ia32'`,
|
The current possible values are: `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,
|
||||||
`'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, `'x32'`, and `'x64'`.
|
`'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, `'x32'`, and `'x64'`.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
console.log(`This processor architecture is ${process.arch}`);
|
console.log(`This processor architecture is ${process.arch}`);
|
||||||
|
@ -81,5 +81,5 @@ need to be attached anymore, as only important bugfixes will be included.
|
|||||||
* `macos`, `windows`, `smartos`, `aix`
|
* `macos`, `windows`, `smartos`, `aix`
|
||||||
* No linux, linux is the implied default
|
* No linux, linux is the implied default
|
||||||
* Architecture labels
|
* Architecture labels
|
||||||
* `arm`, `s390`, `ppc`
|
* `arm`, `mips`, `s390`, `ppc`
|
||||||
* No x86{_64}, since that is the implied default
|
* No x86{_64}, since that is the implied default
|
||||||
|
Loading…
x
Reference in New Issue
Block a user