56 lines
1.8 KiB
Bash
56 lines
1.8 KiB
Bash
# Part of JoeyLib, Copyright (c) 2026 Scott Duensing, under the MIT License.
|
|
# See LICENSE.md for license information.
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
# 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"
|
|
}
|