Yucom/docker/gcc.Dockerfile.in
Rémi Bernon 470f3084eb docker: Build MinGW with -mcmodel=small.
(cherry picked from commit c90d4c34d8)
2023-02-14 16:07:43 +02:00

48 lines
1.8 KiB
Docker

FROM @PROTONSDK_URLBASE@/binutils-@ARCH@-@TARGET@:@BINUTILS_VERSION@ AS binutils
FROM @PROTONSDK_URLBASE@/mingw-headers-@ARCH@:@MINGW_VERSION@ AS mingw-headers
FROM @PROTONSDK_URLBASE@/mingw-crt-@ARCH@:@MINGW_VERSION@ AS mingw-crt
FROM @PROTONSDK_URLBASE@/mingw-pthreads-@ARCH@:@MINGW_VERSION@ AS mingw-pthreads
FROM @PROTONSDK_URLBASE@/build-base-@ARCH@:latest AS build
COPY --from=binutils /opt/usr /usr
COPY --from=mingw-headers /opt/usr /usr
COPY --from=mingw-crt /opt/usr /usr
COPY --from=mingw-pthreads /opt/usr /usr
RUN wget -q @GCC_URLBASE@/@GCC_SOURCE@ \
&& echo '@GCC_SHA256@ @GCC_SOURCE@' | sha256sum -c - \
&& tar xf @GCC_SOURCE@ -C /tmp && rm @GCC_SOURCE@ \
&& mkdir /tmp/gcc-@GCC_VERSION@/build && cd /tmp/gcc-@GCC_VERSION@/build \
&& ../configure --quiet \
--prefix=/usr \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--host=@ARCH@-linux-gnu \
--build=@ARCH@-linux-gnu \
--target=@ARCH@-@TARGET@ \
--program-prefix=@ARCH@-@TARGET@- \
--enable-languages=c,c++,lto \
--enable-libstdcxx-time=yes \
--enable-lto \
--enable-threads=posix \
--disable-bootstrap \
--disable-checking \
--disable-multilib \
--disable-nls \
--disable-plugin \
@TARGET_FLAGS@ \
--disable-sjlj-exceptions \
--disable-werror \
--with-arch=nocona \
--with-default-libstdcxx-abi=new \
--with-dwarf2 \
--with-system-gmp \
--with-system-isl \
--with-system-mpc \
--with-system-mpfr \
--with-system-zlib \
--with-tune=core-avx2 \
@ARCH_FLAGS@ \
MAKEINFO=true \
&& make --quiet -j@J@ MAKEINFO=true CFLAGS="-static --static" LDFLAGS="-s -static --static" \
&& make --quiet -j@J@ MAKEINFO=true CFLAGS="-static --static" LDFLAGS="-s -static --static" install-strip DESTDIR=/opt \
&& rm -rf /opt/usr/share/doc /opt/usr/share/info /opt/usr/share/man \
&& rm -rf /tmp/gcc-@GCC_VERSION@