#!/bin/sh -e apk --update add build-base apk add gmp-dev mpfr-dev mpc1-dev apk add make apk add grub-bios xorriso apk add python3 git rsync rm -rf /var/cache/apk/* target=x86_64-elf SYSROOT=/opt/sysroot binutils=binutils-2.37 gcc=gcc-11.2.0 mkdir -p /opt/external cd /opt/external [ -d musl ] || git clone --depth=1 git://git.musl-libc.org/musl cd musl git reset --hard git pull cat > config.mak << EOF ARCH=x86_64 prefix=${SYSROOT}/usr includedir=\$(prefix)/include EOF make install-headers # Build binutils cd /opt wget http://ftp.gnu.org/gnu/binutils/${binutils}.tar.gz tar -xf ${binutils}.tar.gz mkdir binutils-build && cd binutils-build ../${binutils}/configure \ --target=${target} \ --disable-nls \ --disable-werror \ --with-sysroot=${SYSROOT} make -j 4 make install # Build gcc and libgcc cd /opt wget http://ftp.gnu.org/gnu/gcc/${gcc}/${gcc}.tar.gz tar -xf ${gcc}.tar.gz mkdir gcc-build && cd gcc-build ../${gcc}/configure \ --target=${target} \ --disable-nls \ --enable-languages=c \ --with-sysroot=${SYSROOT} make all-gcc all-target-libgcc -j 4 make install-gcc install-target-libgcc apk del build-base cd / rm -rf /opt