#! /usr/bin/env bash # Create GCC compiler Linux distribution. # # -rebuild # -arch # trap 'exit 1' ERR function error () { echo "$*" 1>&2 } arhc=x86_64-linux-gnu rebuild=n while [ $# -gt 0 ]; do case $1 in -rebuild) rebuild=y shift ;; -arch) shift arch=$1 shift ;; *) error "unknown option: $1" exit 1 ;; esac done out_root=`pwd` mkdir -p binutils-build mkdir -p gcc-build # Clean everything up if we are rebuilding. # if [ $rebuild = y ]; then rm -rf binutils-build/* rm -rf gcc-build/* rm -rf /$arch/* fi # Build binutils # cd binutils-build if [ $rebuild = y ]; then ../binutils-configure $arch fi make -j 4 make install cd .. # Remove installed binutils libraries. # rm -r /$arch/lib /$arch/include # Build gcc # cd gcc-build if [ $rebuild = y ]; then ../gcc-configure $arch fi make -j 4 make install make -C $arch/libstdc++-v3 install-strip cd ..