#!/bin/bash

usage () {
    BN=$(basename $0)
    echo "USAGE: $BN <version> [-d] [-p]"
    echo "-d: don't download; -p: don't parallelize make"
}

check () {
    X=$(echo $1 | sed -e 's/^[0-9]\{4\}[a-z]//')
    if [ $X ]
    then
	echo "$1: invalid version number (must be 4 digits + 1 letter)"
	exit 1
    fi
}

###
# argument parsing
###

if [ $1x == "--helpx" ] || [ $1x == "-hx" ]
then
    usage
    exit 0
fi

if [ -z $1 ]
then
    usage
    exit 1
fi

VERSION="$1"
check $VERSION
shift
DNL=1
PARALLEL=1
while [ -n "$1" ]; do # while loop starts
    case "$1" in
	-d) DNL=0
	    ;;
	-p) PARALLEL=0
	    ;;
	*) echo "unrecognized option $1"
	   exit 1
	   ;;
    esac
    shift
done

###
# download and untar
###

NAME="gretl-"$VERSION
TARBALL=$NAME".tar.xz"
URL="http://prdownloads.sourceforge.net/gretl/"$TARBALL

if [ $DNL == 1 ]
then
    wget $URL
fi

tar -xvJf $TARBALL
cd $NAME

###
# build
###

mkdir build
cd build
../configure --enable-quiet-build --enable-build-addons --with-odbc
if [ $PARALLEL == 1 ]
then
    OPTS="-j"$(nproc)
fi

make $OPTS && sudo make install && sudo ldconfig  # should do no harm anyway
