#!/bin/sh

umount /mnt # optional

test -x "bin/busybox-$HOST" && {
	echo "Found bin/busybox-$HOST, using it"
	cp -a "bin/busybox-$HOST" bin/busybox
	bin/busybox --install -s bin/
	# Supply missing stuff (e.g. bzip2):
	PATH="$PATH:$PWD/bin"
	# Override known-buggy host binaries:
	cp -af bin/od `which od`
}

(
	#set -e -x
	cd busybox

	make defconfig
	# Want static build
	sed 's/^.*CONFIG_STATIC.*$/CONFIG_STATIC=y/' -i .config
	bzip2 </dev/null >/dev/null || {
		# Drats, newer Aboriginal Linux has no bzip2
		sed 's/^.*CONFIG_FEATURE_COMPRESS_USAGE.*$/# CONFIG_FEATURE_COMPRESS_USAGE is not set/' -i .config
	}
	test x"`uname -m`" = x"mips" && {
		# Without this, I get MIPS-I binary instead of MIPS32.
		# No idea what's the difference, but my router wants MIPS32.
		sed 's/^.*CONFIG_EXTRA_CFLAGS.*$/CONFIG_EXTRA_CFLAGS="-mips32"/' -i .config
	}
	# These won't build because of toolchain/libc breakage:
	sed 's/^.*CONFIG_FEATURE_SYNC_FANCY.*$/# CONFIG_FEATURE_SYNC_FANCY is not set/' -i .config # no syncfs()
	sed 's/^.*CONFIG_FEATURE_WTMP.*$/# CONFIG_FEATURE_WTMP is not set/' -i .config
	sed 's/^.*CONFIG_FEATURE_UTMP.*$/# CONFIG_FEATURE_UTMP is not set/' -i .config
	sed 's/^.*CONFIG_FEATURE_INETD_RPC.*$/# CONFIG_FEATURE_INETD_RPC is not set/' -i .config

	make #V=1 || sh
	size busybox
	./busybox || echo "Exit code: $?"
	if uuencode TEST </dev/null >/dev/null && bzip2 </dev/null >/dev/null; then
		bzip2 <busybox | uuencode busybox.bz2
	else
		od -v -tx1 <busybox
	fi
	#test "x$FTP_PORT" = x ||
	#	ftpput -P "$FTP_PORT" "$FTP_SERVER" strace
) 2>&1 | tee build.log
mount -o remount,ro /home
sync
sleep 1
