#! /usr/bin/env bash # Create GCC compiler Solaris distribution. # # -rebuild # -arch # trap 'exit 1' ERR function error () { echo "$*" 1>&2 } arhc=i686-solaris2.10 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 # Make sure we have objdump. # objdump --version 2>/dev/null 1>&2 || { error "no objdump can be found" error "consider: ln -s /usr/sfw/bin/gobjdump /usr/local/bin/objdump" exit 1 } cpu=`echo $arch | sed -e 's/^\([^-]*\)-.*$/\1/'` mkdir -p gcc-build # Clean everything up if we are rebuilding. # if [ $rebuild = y ]; then rm -rf gcc-build/* rm -rf /$arch/* fi # Build gcc # cd gcc-build if [ $rebuild = y ]; then ../gcc-configure $arch $cpu fi # SPARC gas is buggy and cannot handle -g. # make -j 2 make install make -C $arch/libstdc++-v3 install-strip cd ..