#!/bin/sh

TIME="/scratchbox/tools/bin/time -vao build.log"

log() {
	echo >>build.log -e '\n'`date +"%Y-%m-%d %H:%M:%S"` $@
}

do_toolchains() {
	local target="$1"
	local action="$2"

	log "$action i686-gcc-3.3.4-glibc-2.3.2"
	$TIME make $target \
		TC_SOURCE=gcc/glibc \
		TC_ARCH=i386 \
		TC_SUBARCH=i686 \
		TC_CPU= \
		TC_NAME=i686-gcc-3.3.4-glibc-2.3.2 \
		TC_PACKAGE=scratchbox-toolchain-i686-gcc3.3-glibc2.3 \
		TC_REPLACE=scratchbox-toolchain-i686-glibc

	log "$action arm-gcc-3.3.4-glibc-2.3.2"
	$TIME make $target \
		TC_SOURCE=gcc/glibc \
		TC_ARCH=arm \
		TC_SUBARCH=arm \
		TC_CPU= \
		TC_NAME=arm-gcc-3.3.4-glibc-2.3.2 \
		TC_PACKAGE=scratchbox-toolchain-arm-gcc3.3-glibc2.3 \
		TC_REPLACE=scratchbox-toolchain-arm-glibc

	log "$action i386-gcc-3.3.2-uclibc-snapshot-20040229"
	$TIME make $target \
		TC_SOURCE=gcc/uclibc \
		TC_ARCH=i386 \
		TC_SUBARCH=i386 \
		TC_CPU= \
		TC_NAME=i386-gcc-3.3.2-uclibc-snapshot-20040229 \
		TC_PACKAGE=scratchbox-toolchain-i386-gcc3.3-uclibc20040229 \
		TC_REPLACE="scratchbox-toolchain-i386-gcc3.2-uclibc20040229, scratchbox-toolchain-i386-uclibc"

	log "$action arm-gcc-3.3.2-uclibc-snapshot-20040229"
	$TIME make $target \
		TC_SOURCE=gcc/uclibc \
		TC_ARCH=arm \
		TC_SUBARCH=arm \
		TC_CPU= \
		TC_NAME=arm-gcc-3.3.2-uclibc-snapshot-20040229 \
		TC_PACKAGE=scratchbox-toolchain-arm-gcc3.3-uclibc20040229 \
		TC_REPLACE="scratchbox-toolchain-arm-gcc3.2-uclibc20040229, scratchbox-toolchain-arm-uclibc"
}

do_build=true
do_package=true

if [ x"$1" != x ]; then
	if [ x"$1" = x--build ]; then
		do_package=false
	elif [ x"$1" = x--package ]; then
		do_build=false
	else
		echo >&2 "Usage: $0 [--build|--package]"
		exit 1
	fi
fi

(
	set -e

	for i in `seq 70`; do
		echo >>build.log -n "="
	done
	echo >>build.log

	log "Begin"

	if $do_build; then
		log "Building libtool for host-gcc"
		$TIME make -C meta/target-kit build-libtool TARGETNAME=host-gcc

		do_toolchains build    "Building"
	fi

	if $do_package; then
		do_toolchains packages "Packaging"
	fi

	log "End"
	echo >>build.log

) 2>&1 | tee build.out
