#! /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

PATCH_SOURCE=http://www.schwinge.homeip.net/~thomas/tmp/glibc-patches/

PATCH1=(0003-2007-09-13-H.J.-Lu-hongjiu.lu-intel.com.patch
        0005-Hurd-specific-kernel-features.h.patch
        0007-2007-10-05-version-of-stat.patch
        0008-r2425-of-debian-patches-hurd-i386-local-atomic-no-mu.patch
        0010-r2425-of-debian-patches-hurd-i386-local-gscope.diff.patch
        0012-r2425-of-debian-patches-hurd-i386-local-no-strerror_.patch
        0013-r2626-of-debian-patches-hurd-i386-local-tls-support.patch
        0014-r2591-of-debian-patches-hurd-i386-local-tls.diff.patch
        0015-r2630-of-debian-patches-hurd-i386-submitted-libc_onc.patch
        0016-Include-stdint.h.patch
        0017-r2598-of-debian-patches-any-local-stdio-lock.diff.patch
        0018-r2650-of-debian-patches-hurd-i386-submitted-strtoul.patch
        0019-2007-11-12-Aurelien-Jarno-aurelien-aurel32.net-Tho.patch
        0020-r2656-of-debian-patches-any-submitted-sched_h.diff.patch
        0022-2007-11-18-Roland-McGrath-roland-frob.com.patch
        0024-2007-03-18-Joseph-Myers-joseph-codesourcery.com.patch)

PATCH0=(0009-2007-07-22-version-of-init-first.c_vs._GCC_4.1.patch
        0011-2007-02-08-version-of-resolv_res_send.c.patch.patch
        new-needed-1.patch
        cvs-MSG_NOSIGNAL.diff)

mkdir -p $SOURCE_DIR//patches/glibc-$GLIBC_VER
cd $SOURCE_DIR/patches/glibc-$GLIBC_VER/

for p in ${PATCH1[@]} ${PATCH0[@]}; do
  if [ ! -f $p ]; then
    wget $PATCH_SOURCE/$p
  fi
done

cd $BUILD_DIR
rm -rf glibc-$GLIBC_VER
tar -xf $SOURCE_DIR/glibc-$GLIBC_VER.tar.bz2
cd glibc-$GLIBC_VER
for p in ${PATCH1[@]}; do
  patch -p1 < $SOURCE_DIR/patches/glibc-$GLIBC_VER/$p
done
for p in ${PATCH0[@]}; do
  patch -p0 < $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