mirror of
https://github.com/LIV2/container-amiga-godbolt.git
synced 2025-12-06 00:32:47 +00:00
Add GCC 13.2
This commit is contained in:
parent
4a0be33f37
commit
a30b6c2b6e
60
Dockerfile
60
Dockerfile
@ -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 \
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user