2022-04-25 16:35:26 +03:00
|
|
|
#!/usr/bin/env node
|
|
|
|
|
|
|
|
const child_process = require('child_process');
|
|
|
|
|
|
|
|
const XCODE_VERSIONS = {
|
|
|
|
"macos-10.15": {
|
|
|
|
webkit: '11.7',
|
|
|
|
},
|
|
|
|
"macos-11": {
|
|
|
|
webkit: '12.5', // WebKit strongly requires xcode 12.5 and not higher on MacOS 11
|
|
|
|
firefox: '13.2', // As of Oct 2021 building Firefox requires XCode 13
|
|
|
|
ffmpeg: '13.2',
|
|
|
|
},
|
|
|
|
"macos-12": {
|
2022-05-10 14:05:06 +03:00
|
|
|
webkit: '13.2', // WebKit requires xcode 13.2 to work on MacOS 12.2.
|
2022-04-25 16:35:26 +03:00
|
|
|
firefox: '13.2', // As of Oct 2021 building Firefox requires XCode 13
|
|
|
|
chromium: '13.3', // As of Apr 2022 Chromium requires Xcode13.3
|
|
|
|
ffmpeg: '13.2',
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
const [major, minor, patch] = child_process.execSync(`sw_vers -productVersion`).toString().trim().split('.');
|
|
|
|
const browserName = process.argv[2];
|
|
|
|
const macosVersion = major === '10' ? `macos-${major}.${minor}` : `macos-${major}`;
|
|
|
|
const versions = XCODE_VERSIONS[macosVersion];
|
|
|
|
if (!versions || !versions[browserName.toLowerCase()])
|
|
|
|
throw new Error(`Compilation of ${browserName} is not supported on ${macosVersion}`);
|
|
|
|
|
|
|
|
console.log(versions[browserName.toLowerCase()]);
|
|
|
|
|