mirror of https://github.com/aminya/setup-cpp
fix: use the default version on Ubuntu, Fedora, Arch, macOS, etc.
This commit is contained in:
parent
324effb605
commit
81c10d4abc
|
@ -11,6 +11,7 @@ ignorePaths:
|
||||||
- "**/node_modules/"
|
- "**/node_modules/"
|
||||||
- .vscode/extensions.json
|
- .vscode/extensions.json
|
||||||
- patches/*.patch
|
- patches/*.patch
|
||||||
|
- "**/github_brechtsanders_winlibs_mingw.json"
|
||||||
words:
|
words:
|
||||||
- aarch
|
- aarch
|
||||||
- aminya
|
- aminya
|
||||||
|
|
|
@ -110,6 +110,11 @@ export async function setupGcc(version: string, setupDir: string, arch: string,
|
||||||
{ name: "libstdc++-devel" },
|
{ name: "libstdc++-devel" },
|
||||||
])
|
])
|
||||||
} else if (isUbuntu()) {
|
} else if (isUbuntu()) {
|
||||||
|
if (version === undefined) {
|
||||||
|
// the default version
|
||||||
|
installationInfo = await installAptPack([{ name: "gcc" }, { name: "g++" }])
|
||||||
|
} else {
|
||||||
|
// add the PPA for access to more versions
|
||||||
installationInfo = await installAptPack([
|
installationInfo = await installAptPack([
|
||||||
{
|
{
|
||||||
name: "gcc",
|
name: "gcc",
|
||||||
|
@ -125,11 +130,17 @@ export async function setupGcc(version: string, setupDir: string, arch: string,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
info(`Install g++-multilib because gcc for ${arch} was requested`)
|
info(`Install g++-multilib because gcc for ${arch} was requested`)
|
||||||
if (isArch()) {
|
if (isArch()) {
|
||||||
await setupPacmanPack("gcc-multilib", version)
|
await setupPacmanPack("gcc-multilib", version)
|
||||||
} else if (isUbuntu()) {
|
} else if (isUbuntu()) {
|
||||||
|
if (version === undefined) {
|
||||||
|
// the default version
|
||||||
|
await installAptPack([{ name: "gcc-multilib" }])
|
||||||
|
} else {
|
||||||
|
// add the PPA for access to more versions
|
||||||
await installAptPack([{
|
await installAptPack([{
|
||||||
name: "gcc-multilib",
|
name: "gcc-multilib",
|
||||||
version,
|
version,
|
||||||
|
@ -138,6 +149,7 @@ export async function setupGcc(version: string, setupDir: string, arch: string,
|
||||||
}])
|
}])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
// TODO support bare-metal (need to support passing it as the input)
|
// TODO support bare-metal (need to support passing it as the input)
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { isArch } from "../utils/env/isArch.js"
|
import { isArch } from "../utils/env/isArch.js"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu.js"
|
||||||
|
|
||||||
// passing "" to a tool installed by a package manager (apt, brew, choco) will result in the default version of that package manager.
|
// passing "" to a tool installed by a package manager (apt, brew, choco) will result in the default version of that package manager.
|
||||||
// the directly downloaded tools require a given version ("" doesn't work).
|
// the directly downloaded tools require a given version ("" doesn't work).
|
||||||
|
@ -30,8 +31,10 @@ export const DefaultVersions: Record<string, string | undefined> = {
|
||||||
kcov: "42", // https://github.com/SimonKagstrom/kcov/releases
|
kcov: "42", // https://github.com/SimonKagstrom/kcov/releases
|
||||||
task: "3.38.0", // https://github.com/go-task/task/releases
|
task: "3.38.0", // https://github.com/go-task/task/releases
|
||||||
doxygen: isArch() ? "1.11.0-4" : "1.11.0", // https://www.doxygen.nl/download.html // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=doxygen // https://formulae.brew.sh/formula/doxygen // https://archlinux.org/packages/extra/x86_64/doxygen/
|
doxygen: isArch() ? "1.11.0-4" : "1.11.0", // https://www.doxygen.nl/download.html // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=doxygen // https://formulae.brew.sh/formula/doxygen // https://archlinux.org/packages/extra/x86_64/doxygen/
|
||||||
gcc: isArch() ? "13.2.1-3" : "13", // https://github.com/brechtsanders/winlibs_mingw/releases and // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=gcc
|
gcc: process.platform === "win32"
|
||||||
// mingw: isArch() ? "12.2.0-1" : "8", // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=mingw-w64 // https://archlinux.org/packages/extra/x86_64/mingw-w64-gcc/
|
? "13"
|
||||||
|
: undefined, // use the default version on Ubuntu, Fedora, Arch, macOS, etc.
|
||||||
|
// mingw: isArch() ? "12.2.0-1" : "8", // https://archlinux.org/packages/extra/x86_64/mingw-w64-gcc/
|
||||||
powershell: "7.4.5", // https://github.com/PowerShell/PowerShell/releases/tag/v7.4.5
|
powershell: "7.4.5", // https://github.com/PowerShell/PowerShell/releases/tag/v7.4.5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,14 +47,7 @@ export const MinVersions: Record<string, string | undefined> = {
|
||||||
// - the newer ubuntu versions use the first entry (e.g. v20),
|
// - the newer ubuntu versions use the first entry (e.g. v20),
|
||||||
// - the older ones use ""
|
// - the older ones use ""
|
||||||
export const DefaultLinuxVersion: Record<string, Record<number, string> | undefined> = {
|
export const DefaultLinuxVersion: Record<string, Record<number, string> | undefined> = {
|
||||||
gcc: {
|
// https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=mingw-w64
|
||||||
24: "13",
|
|
||||||
22: "13",
|
|
||||||
20: "11",
|
|
||||||
18: "11",
|
|
||||||
16: "11",
|
|
||||||
14: "11",
|
|
||||||
},
|
|
||||||
mingw: {
|
mingw: {
|
||||||
24: "8.0.0-1",
|
24: "8.0.0-1",
|
||||||
22: "8.0.0-1",
|
22: "8.0.0-1",
|
||||||
|
|
Loading…
Reference in New Issue