mirror of
https://github.com/lovell/sharp.git
synced 2025-07-09 18:40:16 +02:00
Rename armv8 as arm64v8 to match Node's process.arch
This commit is contained in:
parent
36af74a09b
commit
d1bbe62e52
@ -2,17 +2,22 @@
|
|||||||
|
|
||||||
const detectLibc = require('detect-libc');
|
const detectLibc = require('detect-libc');
|
||||||
|
|
||||||
|
const env = process.env;
|
||||||
|
|
||||||
module.exports = function () {
|
module.exports = function () {
|
||||||
const arch = process.env.npm_config_arch || process.arch;
|
const arch = env.npm_config_arch || process.arch;
|
||||||
const platform = process.env.npm_config_platform || process.platform;
|
const platform = env.npm_config_platform || process.platform;
|
||||||
const libc = (platform === 'linux' && detectLibc.isNonGlibcLinux) ? detectLibc.family : '';
|
const libc = (platform === 'linux' && detectLibc.isNonGlibcLinux) ? detectLibc.family : '';
|
||||||
|
|
||||||
const platformId = [`${platform}${libc}`];
|
const platformId = [`${platform}${libc}`];
|
||||||
if (arch === 'arm' || arch === 'armhf' || arch === 'arm64') {
|
|
||||||
const armVersion = (arch === 'arm64') ? '8' : process.env.npm_config_armv || process.config.variables.arm_version || '6';
|
if (arch === 'arm') {
|
||||||
platformId.push(`armv${armVersion}`);
|
platformId.push(`armv${env.npm_config_arm_version || process.config.variables.arm_version || '6'}`);
|
||||||
|
} else if (arch === 'arm64') {
|
||||||
|
platformId.push(`arm64v${env.npm_config_arm_version || '8'}`);
|
||||||
} else {
|
} else {
|
||||||
platformId.push(arch);
|
platformId.push(arch);
|
||||||
}
|
}
|
||||||
|
|
||||||
return platformId.join('-');
|
return platformId.join('-');
|
||||||
};
|
};
|
||||||
|
@ -16,16 +16,24 @@ describe('Platform-detection', function () {
|
|||||||
delete process.env.npm_config_platform;
|
delete process.env.npm_config_platform;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Can override ARM version via npm_config_armv', function () {
|
it('Can override ARM version via --arm-version', function () {
|
||||||
process.env.npm_config_arch = 'arm';
|
process.env.npm_config_arch = 'arm';
|
||||||
process.env.npm_config_armv = 'test';
|
process.env.npm_config_arm_version = 'test';
|
||||||
assert.strictEqual('armvtest', platform().split('-')[1]);
|
assert.strictEqual('armvtest', platform().split('-')[1]);
|
||||||
delete process.env.npm_config_armv;
|
delete process.env.npm_config_arm_version;
|
||||||
|
delete process.env.npm_config_arch;
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Can override ARM64 version via --arm-version', function () {
|
||||||
|
process.env.npm_config_arch = 'arm64';
|
||||||
|
process.env.npm_config_arm_version = 'test';
|
||||||
|
assert.strictEqual('arm64vtest', platform().split('-')[1]);
|
||||||
|
delete process.env.npm_config_arm_version;
|
||||||
delete process.env.npm_config_arch;
|
delete process.env.npm_config_arch;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Can detect ARM version via process.config', function () {
|
it('Can detect ARM version via process.config', function () {
|
||||||
process.env.npm_config_arch = 'armhf';
|
process.env.npm_config_arch = 'arm';
|
||||||
const armVersion = process.config.variables.arm_version;
|
const armVersion = process.config.variables.arm_version;
|
||||||
process.config.variables.arm_version = 'test';
|
process.config.variables.arm_version = 'test';
|
||||||
assert.strictEqual('armvtest', platform().split('-')[1]);
|
assert.strictEqual('armvtest', platform().split('-')[1]);
|
||||||
@ -41,7 +49,7 @@ describe('Platform-detection', function () {
|
|||||||
|
|
||||||
it('Defaults to ARMv8 for 64-bit', function () {
|
it('Defaults to ARMv8 for 64-bit', function () {
|
||||||
process.env.npm_config_arch = 'arm64';
|
process.env.npm_config_arch = 'arm64';
|
||||||
assert.strictEqual('armv8', platform().split('-')[1]);
|
assert.strictEqual('arm64v8', platform().split('-')[1]);
|
||||||
delete process.env.npm_config_arch;
|
delete process.env.npm_config_arch;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user