#!/bin/bash

if [ $# -eq 0 ] || [ $# -gt 2 ]; then
  echo "Library installation script"
  echo "Usage: sh build-libraries.sh mode [path]"
  echo "   mode : gmp"
  echo "      - download, build and install gmp"
  echo "   mode : ppl"
  echo "      - download, build and install ppl"
  echo "   mode : all"
  echo "      - download, build and install gmp + ppl"
  echo "   path : directory into which to install"
  echo "          (default: $HOME/local)"
  exit 0
fi

# Use second argument as path to install directories
MYPREFIX=$HOME/local;
if [ $# -eq 2 ]; then
  MYPREFIX=$2;
fi

if [ $1 = "gmp" ] || [ $1 = "all" ]; then
# GMP
wget ftp://ftp.gnu.org/gnu/gmp/gmp-4.2.2.tar.bz2 || exit 1;
tar -xvjf gmp-4.2.2.tar.bz2  || exit 1;
rm -f gmp-4.2.2.tar.bz2  || exit 1;
cd gmp-4.2.2 || exit 1;
CXXFLAGS=-fexceptions ./configure --enable-cxx --prefix=$MYPREFIX || exit 1;
make || exit 1;
make install || exit 1;
cd .. || exit 1;
rm -rf gmp-4.2.2 || exit 1;
fi

if [ $1 = "ppl" ] || [ $1 = "all" ]; then
# PPL
wget http://www.cs.unipr.it/ppl/Download/ftp/releases/0.9/ppl-0.9.tar.bz2 || exit 1;
tar -xvjf ppl-0.9.tar.bz2  || exit 1;
rm ppl-0.9.tar.bz2  || exit 1;
cd ppl-0.9 || exit 1;
C_INCLUDE_PATH=$MYPREFIX/include CXX_INCLUDE_PATH=$MYPREFIX/include LIBRARY_PATH=$MYPREFIX/lib ./configure --prefix=$MYPREFIX --with-libgmp-prefix=$MYPREFIX || exit 1;
make || exit 1;
make install || exit 1;
cd .. || exit 1;
rm -rf ppl-0.9/ || exit 1;
fi

