#!/bin/bash

NAME=${mpfr[0]}
PROGRAM=${mpfr[3]}
FILE=${mpfr[2]}
EXT=${mpfr[4]}
DLINK=${mpfr[1]}
MD5=${mpfr[5]}
echo -e "$L_START_UNPACK $PROGRAM $DEF"

waitUser

download ${DLINK}

waitUser

check ${FILE} ${MD5}

waitUser

gccSupProgTest

echo -e "$L_UN_SDIR"
echo -e "$G tar xjf $SOURCES_DIR/$FILE -C $BUILD_DIR/ $DEF"
tar xjf $SOURCES_DIR/$FILE -C $BUILD_DIR/
cd $ROOT

NAME=${gmp[0]}
PROGRAM=${gmp[3]}
FILE=${gmp[2]}
EXT=${gmp[4]}
DLINK=${gmp[1]}
MD5=${gmp[5]}
echo -e "$L_START_UNPACK $PROGRAM $DEF"

waitUser

download ${DLINK}

waitUser

check ${FILE} ${MD5}

waitUser

gccSupProgTest

echo -e "$L_UN_SDIR"
echo -e "$G tar xjf $SOURCES_DIR/$FILE -C $BUILD_DIR/ $DEF"
tar xjf $SOURCES_DIR/$FILE -C $BUILD_DIR/
cd $ROOT

NAME=${mpc[0]}
PROGRAM=${mpc[3]}
FILE=${mpc[2]}
EXT=${mpc[4]}
DLINK=${mpc[1]}
MD5=${mpc[5]}
echo -e "$L_START_UNPACK $PROGRAM $DEF"

waitUser

download ${DLINK}

waitUser

check ${FILE} ${MD5}

waitUser

gccSupProgTest

echo -e "$L_UN_SDIR"
echo -e "$G tar xzf $SOURCES_DIR/$FILE -C $BUILD_DIR/ $DEF"
tar xzf $SOURCES_DIR/$FILE -C $BUILD_DIR/
cd $ROOT

NAME=${gcc[0]}
PROGRAM=${gcc[3]}
FILE=${gcc[2]}
EXT=${gcc[4]}
DLINK=${gcc[1]}
MD5=${gcc[5]}
pFILE=${pgcc[1]}
pDLINK=${pgcc[0]}
pMD5=${pgcc[2]}
waitUser

download ${DLINK}
download ${pDLINK}

waitUser

check ${FILE} ${MD5}
check ${pFILE} ${pMD5}

waitUser

unpack ${EXT}

waitUser

SepBuild

waitUser

startBuild

{
cd $BUILD_DIR/$PROGRAM
  addPatch ${pFILE}
waitUser
cp -v gcc/Makefile.in{,.orig}
sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
  waitUser
cp -v gcc/Makefile.in{,.tmp}
sed 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \
  > gcc/Makefile.in
  waitUser
for file in \
 $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
  cp -uv $file{,.orig}
  sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
  -e 's@/usr@/tools@g' $file.orig > $file
  echo '
#undef STANDARD_INCLUDE_DIR
#define STANDARD_INCLUDE_DIR 0
#define STANDARD_STARTFILE_PREFIX_1 ""
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
  touch $file.orig
done
  waitUser
case $(uname -m) in
  x86_64)
    for file in $(find gcc/config -name t-linux64) ; do \
      cp -v $file{,.orig}
      sed '/MULTILIB_OSDIRNAMES/d' $file.orig > $file
    done
  ;;
esac
waitUser
echo -e "$L_MV_FILGCC"
mv -v $BUILD_DIR/$mpfr_dir $BUILD_DIR/$PROGRAM/mpfr
mv -v $BUILD_DIR/$gmp_dir $BUILD_DIR/$PROGRAM/gmp
mv -v $BUILD_DIR/$mpc_dir $BUILD_DIR/$PROGRAM/mpc
waitUser

cd $BUILD_DIR/$NAME-BUILD

CC="$LFS_TGT-gcc -B/tools/lib/" \
    AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \
    ../$PROGRAM/configure --prefix=/tools \
    --with-local-prefix=/tools --enable-clocale=gnu \
    --enable-shared --enable-threads=posix \
    --enable-__cxa_atexit --enable-languages=c,c++ \
    --disable-libstdcxx-pch --disable-multilib \
    --disable-bootstrap --disable-libgomp \
    --with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
    --without-ppl --without-cloog || exit 1
StartMake
  waitUser
  make || exit 1
  StartMakeInstall
  waitUser
  make install || exit 1
  waitUser
  ln -vs gcc /tools/bin/cc

} 2>&1 | tee $BUILD_DIR/LOG_$PROGRAM-P2.log
if [ $PIPESTATUS -ne 0 ]
	then
		echo -e "$L_FAIL_BUIL"
		exit 1
fi  

waitUser
RMbuild
cd $ROOT
