# Download some prerequisites needed by gcc.
# Run this from the top level of the gcc source tree and the gcc
# build will do the right thing.
#
# (C) 2010 Free Software Foundation
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.

# If you want to disable Graphite loop optimizations while building GCC,
# DO NOT set GRAPHITE_LOOP_OPT as yes so that the isl package will not
# be downloaded.

# Modified by Kaz Kuroi 2022. Requires scnily tar and optxeno (see forums.irixnet.org)
GRAPHITE_LOOP_OPT=yes

if [ ! -e gcc/BASE-VER ] ; then
        echo "You must run this script in the top level GCC source directory."
        exit 1
fi

# Necessary to build GCC.
MPFR=mpfr-3.1.4
GMP=gmp-6.1.0
MPC=mpc-1.0.3

/opt/xeno/bin/curl -OL http://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2 || exit 1
star xjf $MPFR.tar.bz2 || exit 1
ln -sf $MPFR mpfr || exit 1

/opt/xeno/bin/curl -OL http://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 || exit 1
star xjf $GMP.tar.bz2  || exit 1
ln -sf $GMP gmp || exit 1

/opt/xeno/bin/curl -OL http://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz || exit 1
star xzf $MPC.tar.gz || exit 1
ln -sf $MPC mpc || exit 1

# Necessary to build GCC with the Graphite loop optimizations.
if [ "$GRAPHITE_LOOP_OPT" = "yes" ] ; then
  ISL=isl-0.15

  /opt/xeno/bin/curl -OL http://gcc.gnu.org/pub/gcc/infrastructure/$ISL.tar.bz2 || exit 1
  star xjf $ISL.tar.bz2  || exit 1
  # Fix trailing comma which errors with -pedantic for host GCC <= 4.3
  sed -e 's/isl_stat_ok = 0,/isl_stat_ok = 0/' isl-0.15/include/isl/ctx.h > isl-0.15/include/isl/ctx.h.tem && mv isl-0.15/include/isl/ctx.h.tem isl-0.15/include/isl/ctx.h
  ln -sf $ISL isl || exit 1
fi
