mirror of
https://github.com/diasurgical/DevilutionX.git
synced 2026-10-12 02:13:06 +00:00
Unpin Amiga compiler
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user