gcc

Details
Source
FROM scratch AS build
ARG VERSION
ARG GMP_VERSION
ARG MPFR_VERSION
ARG MPC_VERSION
ARG ISL_VERSION
ARG TARGETARCH
COPY --from=stagex/bootstrap-stage3 . /
ADD fetch/gcc-${VERSION}.tar.xz .
ADD fetch/gmp-${GMP_VERSION}.tar.bz2 .
ADD fetch/mpfr-${MPFR_VERSION}.tar.bz2 .
ADD fetch/mpc-${MPC_VERSION}.tar.gz .
ADD fetch/isl-${ISL_VERSION}.tar.bz2 .
WORKDIR /gcc-${VERSION}
RUN --network=none <<-EOF
	set -eux
	mv ../gmp-${GMP_VERSION} gmp
	mv ../mpfr-${MPFR_VERSION} mpfr
	mv ../mpc-${MPC_VERSION} mpc
	mv ../isl-${ISL_VERSION} isl
	export TARGET=`echo ${TARGETARCH} | sed 's/amd64/x86_64/' | sed 's/arm64/aarch64/'`-linux-musl
	./configure \
		--target=${TARGET} \
		--build=${TARGET} \
		--host=${TARGET} \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--libdir=/usr/lib \
		--disable-cet \
		--disable-fixed-point \
		--disable-libstdcxx-pch \
		--disable-multilib \
		--disable-libsanitizer \
		--disable-nls \
		--disable-werror \
		--enable-__cxa_atexit \
		--enable-default-pie \
		--enable-default-ssp \
		--enable-languages=c,c++ \
		--enable-link-serialization=2 \
		--enable-linker-build-id
	make -j "$(nproc)"
	make DESTDIR=/rootfs install-strip
	ln -s gcc /rootfs/usr/bin/cc
	mv /rootfs/usr/lib64/* /rootfs/usr/lib/
	rm -rf /rootfs/usr/lib64
EOF
FROM stagex/core-filesystem AS package
COPY --from=build /rootfs/ /