#! /bin/bash

# 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
       i686-cpuclock_which.patch)

cd $BLDDIR
rm -rf glibc-$GLIBC_VER
tar -xf $SRCDIR/glibc-$GLIBC_VER.tar.bz2
cd glibc-$GLIBC_VER
for p in ${PATCH[@]}; do
  patch -p1 < $SRCDIR/patches/glibc-$GLIBC_VER/${p}
done
patch -p1 < $SRCDIR/patches/glibc-$GLIBC_VER/glibc-2.7-libgcc_eh-1.patch
#patch -p1 < $SRCDIR/patches/glibc-$GLIBC_VER/glibc-2.7-i586_chk-2.patch


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

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

BUILD_CC="gcc" CC="${CHFS_TARGET}-gcc" \
    AR="${CHFS_TARGET}-ar" RANLIB="${CHFS_TARGET}-ranlib" \
    CFLAGS="-march=${CHFS_TARGET%%-*} -mtune=generic -g -O2" \
    ../glibc-2.10.1/configure --prefix=/tools \
    --host=${CHFS_TARGET} --build=${CHFS_HOST} \
    --disable-profile \
    --with-binutils=/cross-tools/bin --with-headers=/tools/include
make
make install
  
# prepare for pass 2
rm -f $BLDDIR/glibc-build/config.status

cd $ROOT
