#!/bin/bash

set -e
#set -x

mkdir -p logs

[ "$1" ] || set gcc-*

for x in $* ; do
	prefix="$PWD/${x/gcc/bin}"
	confopt="--with-gnu-as --enable-version-specific-runtime-libs \
                 --with-gnu-ld --enable-threads=posix --prefix=$prefix"

	pushd $x > /dev/null
	case $x in
		gcc-2*)
			echo "Building old-style $x ..."
			if [ ! -f Makefile ] ; then
			  echo "  Configuring ..."
			  ./configure $confopt \
			    > ../logs/$x-configure 2>&1
			fi
			# seems the Makefile does not like some dirs lying
			# around - ReneR
			echo "  Building ..."
			rm -rf libobjc ibchill libf2c
			make LANGUAGES="c c++" bootstrap > \
			  ../logs/$x-make 2>&1
			make LANGUAGES="c c++" install > \
			  ../logs/$x-install 2>&1
			;;
		*)
			echo "Building new-style $x ..."
			rm -rf objdir ; mkdir -p objdir ; cd objdir
			if [ ! -f Makefile ] ; then
			  echo "  Configuring ..."
			  ../configure $confopt \
			              --enable-languages="c,c++" \
			              --disable-checking \
			              --enable-__cxa_atexit \
			    > ../../logs/$x-configure 2>&1
			fi
			echo "  Building ..."
			make bootstrap > ../../logs/$x-make 2>&1
			make install > ../../logs/$x-install 2>&1
			;;
	esac
	popd > /dev/null
done
