Add GCC 13.2

This commit is contained in:
Matt Harlum 2025-06-07 00:06:43 +12:00
parent 4a0be33f37
commit a30b6c2b6e
4 changed files with 96 additions and 32 deletions

View File

@ -1,14 +1,58 @@
FROM liv2/amiga-gcc:latest
EXPOSE 10240/tcp
ENV EXTRA_ARGS="--language c --language c++"
ARG NODE_VERSION=v22.16.0
FROM ubuntu:24.04 AS build-base
ENV DEBIAN_FRONTEND=noninteractive
# Install all prereqs
RUN apt-get -y update && \
apt-get -y install \
apt-utils curl git jlha-utils lhasa python3 python3-pip srecord wget \
autoconf bison flex g++ gcc gettext git libgmpxx4ldbl libgmp-dev \
libmpfr6 libmpfr-dev libmpc3 libmpc-dev libncurses-dev make rsync \
texinfo
# Make jlha the default
RUN cd /usr/bin && mv lha lha.lhasa && ln -s jlha lha
FROM build-base AS build-gcc6
ENV PREFIX=/opt/amiga-gcc-6.5.0
# Install Bebbo's amiga-gcc6
RUN git config --global pull.rebase false && \
cd /root && \
git clone --depth 1 https://github.com/AmigaPorts/m68k-amigaos-gcc amiga-gcc && \
cd /root/amiga-gcc && \
mkdir -p ${PREFIX} && \
make update && \
make -j2 min ndk && \
cd / && \
rm -rf /root/amiga-gcc
FROM build-base AS build-gcc13
# Install Bebbo's amiga-gcc 13.2
ENV PREFIX=/opt/amiga-gcc-13.2
RUN git config --global pull.rebase false && \
cd /root && \
git clone --depth 1 https://github.com/AmigaPorts/m68k-amigaos-gcc amiga-gcc && \
cd /root/amiga-gcc && \
mkdir -p ${PREFIX} && \
make branch branch=amiga13.2 mod=gcc && \
make update && \
make -j2 min ndk && \
cd / && \
rm -rf /root/amiga-gcc
FROM ubuntu:24.04
EXPOSE 10240/tcp
ENV EXTRA_ARGS="--language c --language c++"
ARG NODE_VERSION=v22.16.0
ENV DEBIAN_FRONTEND=noninteractive
COPY --from=build-gcc6 /opt/amiga-gcc-6.5.0 /opt/amiga-gcc-6.5.0
COPY --from=build-gcc13 /opt/amiga-gcc-13.2 /opt/amiga-gcc-13.2
RUN apt-get update && apt-get install -y \
make \
curl \
git \
rsync \

View File

@ -1,10 +1,10 @@
# Amiga-Godbolt Docker Container
This repository provides a Docker container for running the Godbolt Compiler Explorer configured with `amiga-gcc`, enabling compilation and exploration of Amiga-specific C/C++ code in a web-based interface.
This repository provides a Docker container for running the Godbolt Compiler Explorer configured with `amiga-gcc` (GCC 6.5 and GCC 13.2), enabling compilation and exploration of Amiga-specific C/C++ code in a web-based interface.
## Overview
The container is pre-configured with the Godbolt Compiler Explorer and the `amiga-gcc` toolchain, allowing developers to write, compile, and analyze Amiga code directly from a browser. The web interface is accessible via an exposed port (default: 10240).
The container is pre-configured with the Godbolt Compiler Explorer and the `amiga-gcc` toolchain (GCC 6.5 and GCC 13.2), allowing developers to write, compile, and analyze Amiga code directly from a browser. The web interface is accessible via an exposed port (default: 10240).
## Getting Started

View File

@ -1,13 +1,23 @@
compilers=&amiga
group.amiga.compilers=amigagpp
group.amiga.compilers=gpp6_5:gpp13_2
group.amiga.groupName=Amiga
compiler.amigagpp.exe=/opt/amiga/bin/m68k-amigaos-g++
compiler.amigagpp.name=g++-6.5.0b
compiler.amigagpp.options=-mcpu=68000
compiler.amigagpp.supportsExecute=false
compiler.amigagpp.supportsBinary=false
compiler.amigagpp.supportsBinaryObject=false
compiler.amigagpp.demangler=/opt/amiga/bin/m68k-amigaos-c++filt
compiler.amigagpp.objdumper=/opt/amiga/bin/m68k-amigaos-objdump
compiler.amigagpp.nm=/opt/amiga/bin/m68k-amigaos-nm
compiler.amigagcc.needsMulti=false
compiler.gpp6_5.exe=/opt/amiga-gcc-6.5.0/bin/m68k-amigaos-g++
compiler.gpp6_5.name=g++-6.5.0b
compiler.gpp6_5.options=
compiler.gpp6_5.supportsExecute=false
compiler.gpp6_5.supportsBinary=false
compiler.gpp6_5.supportsBinaryObject=false
compiler.gpp6_5.demangler=/opt/amiga-gcc-6.5.0/bin/m68k-amigaos-c++filt
compiler.gpp6_5.objdumper=/opt/amiga-gcc-6.5.0/bin/m68k-amigaos-objdump
compiler.gpp6_5.nm=/opt/amiga-gcc-6.5.0/bin/m68k-amigaos-nm
compiler.gpp6_5.needsMulti=false
compiler.gpp13_2.exe=/opt/amiga-gcc-13.2/bin/m68k-amigaos-g++
compiler.gpp13_2.name=g++-13.2b
compiler.gpp13_2.options=
compiler.gpp13_2.supportsExecute=false
compiler.gpp13_2.supportsBinary=false
compiler.gpp13_2.supportsBinaryObject=false
compiler.gpp13_2.demangler=/opt/amiga-gcc-13.2/bin/m68k-amigaos-c++filt
compiler.gpp13_2.objdumper=/opt/amiga-gcc-13.2/bin/m68k-amigaos-objdump
compiler.gpp13_2.nm=/opt/amiga-gcc-13.2/bin/m68k-amigaos-nm
compiler.gpp13_2.needsMulti=false

View File

@ -1,13 +1,23 @@
compilers=&amiga
group.amiga.compilers=amigagcc
group.amiga.compilers=gcc6_5:gcc13_2
group.amiga.groupName=Amiga
compiler.amigagcc.exe=/opt/amiga/bin/m68k-amigaos-gcc
compiler.amigagcc.name=gcc-6.5.0b
compiler.amigagcc.options=-mcpu=68000
compiler.amigagcc.supportsExecute=false
compiler.amigagcc.supportsBinary=false
compiler.amigagcc.supportsBinaryObject=false
compiler.amigagcc.demangler=/opt/amiga/bin/m68k-amigaos-c++filt
compiler.amigagcc.objdumper=/opt/amiga/bin/m68k-amigaos-objdump
compiler.amigagcc.nm=/opt/amiga/bin/m68k-amigaos-nm
compiler.amigagcc.needsMulti=false
compiler.gcc6_5.exe=/opt/amiga-gcc-6.5.0/bin/m68k-amigaos-gcc
compiler.gcc6_5.name=gcc-6.5.0b
compiler.gcc6_5.options=
compiler.gcc6_5.supportsExecute=false
compiler.gcc6_5.supportsBinary=false
compiler.gcc6_5.supportsBinaryObject=false
compiler.gcc6_5.demangler=/opt/amiga-gcc-6.5.0/bin/m68k-amigaos-c++filt
compiler.gcc6_5.objdumper=/opt/amiga-gcc-6.5.0/bin/m68k-amigaos-objdump
compiler.gcc6_5.nm=/opt/amiga-gcc-6.5.0/bin/m68k-amigaos-nm
compiler.gcc6_5.needsMulti=false
compiler.gcc13_2.exe=/opt/amiga-gcc-13.2/bin/m68k-amigaos-gcc
compiler.gcc13_2.name=gcc-13.2
compiler.gcc13_2.options=
compiler.gcc13_2.supportsExecute=false
compiler.gcc13_2.supportsBinary=false
compiler.gcc13_2.supportsBinaryObject=false
compiler.gcc13_2.demangler=/opt/amiga-gcc-13.2/bin/m68k-amigaos-c++filt
compiler.gcc13_2.objdumper=/opt/amiga-gcc-13.2/bin/m68k-amigaos-objdump
compiler.gcc13_2.nm=/opt/amiga-gcc-13.2/bin/m68k-amigaos-nm
compiler.gcc13_2.needsMulti=false