#!/bin/sh

# Select which libc to build against
libc="glibc" # assumed native
# static, cross-compilation
libc="uclibc"
# x86 32-bit:
uclibc_cross="i486-linux-uclibc-"
# My system has strange prefix for x86 64-bit uclibc:
#uclibc_cross="x86_64-pc-linux-gnu-"

test -d tree || exit 1

dir=test.$$
while test -e "$dir" -o -e failed."$dir"; do
    dir=test."$RANDOM"
done

cp -dpr tree "$dir" || exit 1
cd "$dir" || exit 1

echo "Running randconfig test in $dir..." >&2

make randconfig >/dev/null || exit 1

cat .config \
| grep -v ^CONFIG_DEBUG_PESSIMIZE= \
| grep -v CONFIG_WERROR \
| cat >.config.new
mv .config.new .config
#echo CONFIG_WERROR=y >>.config
echo '# CONFIG_WERROR is not set' >>.config

test "$libc" = glibc && {
cat .config \
| grep -v CONFIG_STATIC \
| grep -v CONFIG_SELINUX \
| grep -v CONFIG_EFENCE \
| grep -v CONFIG_DMALLOC \
| cat >.config.new
mv .config.new .config
echo '# CONFIG_STATIC is not set' >>.config
}

test "$libc" = uclibc && {
cat .config \
| grep -v ^CONFIG_SELINUX= \
| grep -v ^CONFIG_EFENCE= \
| grep -v ^CONFIG_DMALLOC= \
| grep -v ^CONFIG_BUILD_LIBBUSYBOX= \
| grep -v ^CONFIG_PAM= \
| grep -v ^CONFIG_TASKSET= \
| grep -v ^CONFIG_FEATURE_ASSUME_UNICODE= \
| grep -v ^CONFIG_PIE= \
| grep -v CONFIG_STATIC \
| grep -v CONFIG_CROSS_COMPILER_PREFIX \
| cat >.config.new
mv .config.new .config
echo 'CONFIG_CROSS_COMPILER_PREFIX="'"$uclibc_cross"'"' >>.config
echo 'CONFIG_STATIC=y' >>.config
}

# If STATIC, remove some things
# PAM with static linking is probably pointless
# (but I need to try - now I don't have libpam.a on my system, only libpam.so)
grep -q ^CONFIG_STATIC= .config && {
cat .config \
| grep -v ^CONFIG_PAM= \
| cat >.config.new
mv .config.new .config
}

# Regenerate .config with default answers for yanked-off options
{ yes "" | make oldconfig >/dev/null; } || exit 1

nice -n 10 make $MAKEOPTS 2>&1 | tee -a make.log

test -x busybox && {
    cd ..
    rm -rf "$dir"
    exit 0
}

cd ..
mv "$dir" "failed.$dir"
exit 1
