#! /bin/bash

cd $SOURCE_DIR
if [ ! -f glibc-$GLIBC_VER.tar.bz2 ]; then
  wget http://ftp.gnu.org/gnu/glibc/glibc-$GLIBC_VER.tar.bz2
fi

# patches modified from Debian eglibc
PATCH=(hurd-i386/submitted-stat.diff
       hurd-i386/local-gcc-4.1-init-first.diff
       hurd-i386/local-tls-support.diff
       hurd-i386/local-tls.diff
       hurd-i386/submitted-libc_once.diff
       any/local-stdio-lock.diff
       hurd-i386/submitted-strtoul.diff
       hurd-i386/submitted-ptr-mangle.diff
       any/submitted-sched_h.diff
       hurd-i386/local-atomic-no-multiple_threads.diff
       hurd-i386/local-check_native.diff
       hurd-i386/local-_dl_random.diff
       hurd-i386/local-gscope.diff
       any/submitted-popen.diff
       any/local-no-SOCK_NONBLOCK.diff
       hurd-i386/submitted-dl-sysdep.diff
       hurd-i386/local-unwind-resume.diff)

cd $BUILD_DIR
rm -rf glibc-$GLIBC_VER
tar -xf $SOURCE_DIR/glibc-$GLIBC_VER.tar.bz2
cd glibc-$GLIBC_VER
for p in ${PATCH[@]}; do
  patch -p1 < $SOURCE_DIR/patches/glibc-$GLIBC_VER/${p}
done


# fix for binutils>=2.20
#sed -i "s#2.1\[3-9\]\*#2.2\[0-9\]\*#" configure

cd $BUILD_DIR
rm -rf glibc-build
mkdir -p glibc-build
cd glibc-build

CFLAGS="$CFLAGS -march=${TARGET%%-*}" \
../glibc-$GLIBC_VER/configure \
  --without-cvs \
  --build=$HOST \
  --host=$TARGET \
  --prefix= \
  --with-headers=$HURD_DIR/include \
  --disable-profile
  
make install_root=$HURD_DIR all install
ln -sf ld.so.1 $HURD_DIR/lib/ld.so
  
# prepare for pass 2
rm -f $BUILD_DIR/glibc-build/config.status

cd $ROOT