Unpin Amiga compiler

This commit is contained in:
MoonBnuuy
2026-08-09 18:02:57 +02:00
committed by GitHub
parent 7519b38471
commit 882b836fc4
2 changed files with 16 additions and 1 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ concurrency:
jobs:
build:
runs-on: ubuntu-latest
container: amigadev/crosstools:m68k-amigaos-gcc10@sha256:e0ee27eb4174ba8f95143273dd2ecb0ffa23ca6a195e013030a681ab541b4a37
container: amigadev/crosstools:m68k-amigaos-gcc10
steps:
- name: Checkout
uses: actions/checkout@v7
+15
View File
@@ -24,6 +24,21 @@ cd deps
wget https://github.com/AmigaPorts/libSDL12/archive/master.tar.gz -O SDL-1.2.tar.gz
tar -xvf SDL-1.2.tar.gz
cd libSDL12-master
# GCC 14+ promotes several legacy-C conformance warnings to hard errors by
# default (implicit-function-declaration, implicit-int, int-conversion,
# incompatible-pointer-types, return-mismatch, etc). This codebase predates
# that change and trips all of them; downgrade back to warnings so it still
# builds on newer GCC. Some of these warning names don't exist before GCC 14
# at all, so -Wno-error=<name> is a hard "unrecognized option" error on
# older GCC rather than a no-op -- gate this on the actual compiler version
# rather than applying it unconditionally.
# Appended at end-of-file rather than a specific line, since this Makefile
# is fetched from the upstream master branch and its exact contents can
# change; Make variable assignments apply regardless of where they appear.
GCC_MAJOR_VERSION="$(m68k-amigaos-gcc -dumpversion | cut -d. -f1)"
if [ "$GCC_MAJOR_VERSION" -ge 14 ]; then
printf '\nGCCFLAGS += -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=int-conversion -Wno-error=incompatible-pointer-types -Wno-error=return-mismatch -Wno-error=return-type -Wno-error=pointer-sign -Wno-error=pointer-to-int-cast -Wno-error=int-to-pointer-cast\n' >> Makefile
fi
make PREFX=${SYSROOT} PREF=${SYSROOT} -j"$PARALLELISM"
mkdir -p ${SYSROOT}/usr/lib
mkdir -p ${SYSROOT}/usr/include