#!/bin/sh -e
PREFIX=`pwd`/local/arm/
KERNEL=/boris/arm-linux-2.4.18
BIN_VER=2.13.90.0.10
GCC_VER=3.2-20021016

#HOST=sparc-linux
HOST=
mkdir -p $PREFIX
if [ "$KERNEL" = "" -o ! -f "$KERNEL/Documentation/arm/README" ]; then
  echo "You haven't changed KERNEL to point at a valid kernel tree"
  exit 1
fi
if [ ! -f binutils-$BIN_VER.tar.bz2 ]; then
  echo "Binutils-$BIN_VER seems to be missing"
  exit 1
fi
if [ ! -f gcc-$GCC_VER.tar.bz2 ]; then
  echo "GCC $GCC_VER seems to be missing"
  exit 1
fi
echo "software check done"

tar jvxf binutils-$BIN_VER.tar.bz2
pushd binutils-$BIN_VER
./configure --target=arm-linux --prefix=$PREFIX
make -j 2
make install
popd
echo "binutils done"
rm -rf binutils-$BIN_VER

PATH=$PREFIX/bin:$PATH
rm -rf gcc-$GCC_VER
tar jxvf gcc-$GCC_VER.tar.bz2
pushd gcc-$GCC_VER
perl -pi -e 's/^(TARGET_LIBGCC2_CFLAGS.*)/$1 -Dinhibit_libc -D__gthr_posix_h/' gcc/config/arm/t-linux
echo 'T_CFLAGS = -Dinhibit_libc -D__gthr_posix_h' >> gcc/config/arm/t-linux
./configure --target=arm-linux --prefix=$PREFIX $HOST --with-headers=$KERNEL/include --disable-shared --disable-threads --ena\
ble-languages="c"
make -j 2
make install
popd
rm -rf gcc-$GCC_VER

PATH=$PREFIX/bin:$PATH
echo "gcc stage 1 done"

pushd glibc-12.9
perl -pi -e 's/i386/arm*)\n\tlibc_cv_gcc_unwind_find_fde=yes\n\tarch_minimum_kernel=2.0.10\n\t;;\n   i386/' sysdeps/unix/sysv\
/linux/configure
perl -pi -e 's/weak_alias \(__old_sys_nerr/\/\/ $&/' sysdeps/unix/sysv/linux/arm/errlist.c

rm -rf sea


mkdir -p sea
pushd sea

PATH=$PREFIX/bin:$PATH
#../configure arm-linux --build=i686-pc-linux-gnu --with-headers=$KERNEL/include --enable-add-ons --enable-shared --prefix=$P\
REFIX
../configure arm-linux --build=i686-pc-linux-gnu --with-headers=$KERNEL/include --enable-add-ons=nptl --enable-shared --pref\
ix=$PREFIX

make -j 2
make install
popd

popd
echo "glibc done"
pushd $PREFIX/arm-linux/lib
ln -s $PREFIX/lib/* .
popd



#rm -rf glibc-2.2.5
tar jvxf gcc-$GCC_VER.tar.bz2

#rm -rf glibc-2.2.5
tar jvxf gcc-$GCC_VER.tar.bz2
pushd gcc-$GCC_VER
./configure --target=arm-linux --prefix=$PREFIX $HOST --with-headers=$KERNEL/include
perl -pi -e 's/int namelen/unsigned int namelen/' libjava/java/net/natInetAddress.cc
make -j 2
make install
popd

rm -rf gcc-$GCC_VER

echo "gcc stage 2 done"
