diff --git a/README.md b/README.md index bd35e41..01b1686 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Platform | Toolchain | Supported ------------ | ------------ | ------------- AmigaOS 3.x | @bebbo toolchain - gcc 6 | **Yes** AmigaOS 4.x | @sba1 adtools - gcc 8 | **Yes** -MorphOS 3.9+ | MorphOS Team (un)official tools - gcc 6 | **Yes** +MorphOS 3.9+ | MorphOS Team SDK 3.14 - gcc 9 | **Yes** ~WarpOS~ | ~gcc 6~ | Not yet ~AROS ABIv1 x86_64~ | ~AROS Team Official - gcc 9~ | Not yet ~AROS ABIv1 x86~ | ~AROS Team Official - gcc 9~ | Not yet diff --git a/common.docker b/common.docker index 0cf3d60..3f0ffc8 100644 --- a/common.docker +++ b/common.docker @@ -1,10 +1,8 @@ +# START COMMON MAINTAINER Marlon Beijer "marlon@amigadev.com" - -RUN apt-get update && apt-get install -y apt-utils cmake wget git make autoconf pkg-config lhasa +RUN apt purge -y gcc g++ flex bison gettext texinfo binutils libgmp-dev libmpfr-dev libmpc-dev libncurses-dev && apt autoremove -y RUN echo "root:root" | chpasswd - RUN ln -s /opt/${CROSS_PFX} /tools - ENV CROSS_ROOT /opt/${CROSS_PFX} WORKDIR /work @@ -16,12 +14,23 @@ COPY imagefiles/entrypoint.sh /entry/ ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \ LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \ - AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \ - CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \ - CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \ + AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \ + CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \ + CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \ RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib - + +RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ar /usr/bin/ar && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ld /usr/bin/ld && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-gcc /usr/bin/gcc && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-g++ /usr/bin/g++ && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib /usr/bin/ranlib + COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/ +COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules +RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/ +RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr -ENV PATH ${PATH}:${CROSS_ROOT}/bin \ No newline at end of file +ENV PATH ${PATH}:${CROSS_ROOT}/bin +# END COMMON diff --git a/dependencies/toolchains b/dependencies/toolchains index 43c5eff..a1395e7 160000 --- a/dependencies/toolchains +++ b/dependencies/toolchains @@ -1 +1 @@ -Subproject commit 43c5eff7ee4a0249ab15345165127fee48eff270 +Subproject commit a1395e7201abb016728ef4ed5b474347be140e00 diff --git a/m68k-amigaos.docker b/m68k-amigaos.docker index 110f5d6..eac1597 100644 --- a/m68k-amigaos.docker +++ b/m68k-amigaos.docker @@ -1,22 +1,19 @@ -FROM sebastianbergmann/amiga-gcc:latest as build-env +FROM amigadev/m68k-amigaos-gcc:latest as build-env FROM amigadev/docker-base:latest ENV CROSS_PFX m68k-amigaos +ENV OS_NAME AmigaOS # Temporary fix -COPY --from=build-env /opt/amiga /opt/amiga -RUN ln -s /opt/amiga /opt/${CROSS_PFX} - +COPY --from=build-env /opt/amiga /opt/${CROSS_PFX} +RUN ln -s /opt/${CROSS_PFX} /opt/amiga # START COMMON MAINTAINER Marlon Beijer "marlon@amigadev.com" - -RUN apt-get update && apt-get install -y apt-utils cmake wget curl git make automake autoconf pkg-config lhasa unzip gcc-multilib libtool +RUN apt purge -y gcc g++ flex bison gettext texinfo binutils libgmp-dev libmpfr-dev libmpc-dev libncurses-dev && apt autoremove -y RUN echo "root:root" | chpasswd - RUN ln -s /opt/${CROSS_PFX} /tools - ENV CROSS_ROOT /opt/${CROSS_PFX} WORKDIR /work @@ -28,12 +25,22 @@ COPY imagefiles/entrypoint.sh /entry/ ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \ LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \ - AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \ - CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \ - CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \ + AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \ + CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \ + CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \ RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib - + +RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ar /usr/bin/ar && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ld /usr/bin/ld && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-gcc /usr/bin/gcc && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-g++ /usr/bin/g++ && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib /usr/bin/ranlib + COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/ +COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules +RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/ +RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr ENV PATH ${PATH}:${CROSS_ROOT}/bin diff --git a/ppc-amigaos.docker b/ppc-amigaos.docker index 7981ca8..964f520 100644 --- a/ppc-amigaos.docker +++ b/ppc-amigaos.docker @@ -3,17 +3,15 @@ FROM amigadev/adtools:latest as build-env FROM amigadev/docker-base:latest ENV CROSS_PFX ppc-amigaos +ENV OS_NAME AmigaOS COPY --from=build-env /opt/${CROSS_PFX} /opt/${CROSS_PFX} # START COMMON MAINTAINER Marlon Beijer "marlon@amigadev.com" - -RUN apt-get update && apt-get install -y cmake wget curl git make automake autoconf pkg-config lhasa unzip gcc-multilib libtool +RUN apt purge -y gcc g++ flex bison gettext texinfo binutils libgmp-dev libmpfr-dev libmpc-dev libncurses-dev && apt autoremove -y RUN echo "root:root" | chpasswd - RUN ln -s /opt/${CROSS_PFX} /tools - ENV CROSS_ROOT /opt/${CROSS_PFX} WORKDIR /work @@ -25,12 +23,22 @@ COPY imagefiles/entrypoint.sh /entry/ ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \ LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \ - AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \ - CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \ - CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \ + AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \ + CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \ + CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \ RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib - + +RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ar /usr/bin/ar && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ld /usr/bin/ld && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-gcc /usr/bin/gcc && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-g++ /usr/bin/g++ && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib /usr/bin/ranlib + COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/ +COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules +RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/ +RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr ENV PATH ${PATH}:${CROSS_ROOT}/bin diff --git a/ppc-morphos.docker b/ppc-morphos.docker index c71cf13..914cb12 100644 --- a/ppc-morphos.docker +++ b/ppc-morphos.docker @@ -3,17 +3,15 @@ FROM amigadev/morphos-cross-toolchain:latest as build-env FROM amigadev/docker-base:latest ENV CROSS_PFX ppc-morphos +ENV OS_NAME MorphOS COPY --from=build-env /opt/${CROSS_PFX} /opt/${CROSS_PFX} # START COMMON MAINTAINER Marlon Beijer "marlon@amigadev.com" - -RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y cmake wget curl git make automake autoconf pkg-config lhasa unzip gcc-multilib libtool libc6:i386 libstdc++6:i386 +RUN apt purge -y gcc g++ flex bison gettext texinfo binutils libgmp-dev libmpfr-dev libmpc-dev libncurses-dev && apt autoremove -y RUN echo "root:root" | chpasswd - RUN ln -s /opt/${CROSS_PFX} /tools - ENV CROSS_ROOT /opt/${CROSS_PFX} WORKDIR /work @@ -25,12 +23,22 @@ COPY imagefiles/entrypoint.sh /entry/ ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \ LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \ - AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \ - CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \ - CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \ + AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \ + CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \ + CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \ RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib - + +RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ar /usr/bin/ar && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ld /usr/bin/ld && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-gcc /usr/bin/gcc && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-g++ /usr/bin/g++ && \ + ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib /usr/bin/ranlib + COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/ +COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules +RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/ +RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr ENV PATH ${PATH}:${CROSS_ROOT}/bin