joeylib2/installer/components/mintGcc.sh

52 lines
1.7 KiB
Bash

# Atari ST C toolchain: Vincent Riviere's m68k-atari-mint gcc 15.2 +
# binutils 2.45, with MiNTLib 0.60.1, as prebuilt Linux x86-64 tarballs
# from Thorsten Otto's mirror. Each tarball is rooted at usr/, so stripping
# one component lays all three into one relocatable prefix.
compDescription="Atari ST compiler: m68k-atari-mint gcc 15.2 + binutils 2.45 + MiNTLib 0.60.1"
compGroups="toolchain:atarist"
compRequires="host"
compHostDeps="xz"
compBase="https://tho-otto.de/download/mint"
# file sha256
tarballs=(
"gcc-15.2.0-mint-20250810-bin-linux64.tar.xz 82cce07b1ce3c9f176854e3c5f75ca64ae67d5924da82fc55390d0e59014ae84"
"binutils-2.45-mint-20250812-bin-linux64.tar.xz 0f70905ccec202cb6fa7809ce9749c3fa7bda08a80b06e4efed7e5cfd5f58a5e"
"mintlib-0.60.1-mint-20240718-dev.tar.xz 60e5205cf11d94eaa024a4f11a39107833add073abdddbe1cb8bf46fc3cd0548"
)
compPin="${tarballs[*]}"
compInstall() {
local entry
local name
local sha
local archive
rm -rf "$compDir"
for entry in "${tarballs[@]}"; do
read -r name sha <<< "$entry"
archive="$(fetchFile "$compBase/$name" "$sha")"
extractArchive "$archive" "$compDir" 1
done
}
compInstalled() {
[ -x "$compDir/bin/m68k-atari-mint-gcc" ] && [ -d "$compDir/m68k-atari-mint/sys-root" ]
}
compVerify() {
verifyLinked "$compDir/bin" "$compDir/m68k-atari-mint/bin" "$compDir"/lib64/gcc/*/*
verifyCompiles "$compDir/bin/m68k-atari-mint-gcc" -m68000 -O2
}
compEnv() {
envVar ST_PREFIX "$compDir"
envVar ST_CC "$compDir/bin/m68k-atari-mint-gcc"
envVar ST_AR "$compDir/bin/m68k-atari-mint-ar"
envVar ST_LD "$compDir/bin/m68k-atari-mint-ld"
envPath "$compDir/bin"
}