build: build ia32 remote extension for Windows on Arm

Because the remote part of the code can run under emulation (like
ripgrep), temporarily build this portion for ia32 until the underlying
problem is resolved.
This commit is contained in:
Richard Townsend 2019-11-20 16:50:53 +00:00
parent 17c6d123d2
commit 84f6086813

View file

@ -23,9 +23,17 @@ function yarnInstall(location, opts) {
const args = original.filter(arg => arg === '--ignore-optional' || arg === '--frozen-lockfile');
console.log(`Installing dependencies in ${location}...`);
const oldConfigArch = process.env['npm_config_arch']
if (location.startsWith("remote") && oldConfigArch == "arm64") {
// Temporarily set remote arch to x86, because remote portion builds
// against node, which is not consistently supported on Windows on Arm
// (yet).
process.env["npm_config_arch"] = "ia32"
}
console.log(`$ yarn ${args.join(' ')}`);
const result = cp.spawnSync(yarn, args, opts);
// Restore the architecture, if temporarily swapped.
process.env["npm_config_arch"] = oldConfigArch
if (result.error || result.status !== 0) {
process.exit(1);
}