blob: c9e1a37e564d84841b0ce072d8e885eb731bd9ed [file] [log] [blame]
#!/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() on armv4l, sparc
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
test -f busybox || exit 1
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