#!/bin/bash
program=agordejo
version=0.3.1

#debugsym=true
prefix=/usr/local
required_version_python=3.8
required_version_pyqt=5.0



for arg in "$@"; do
    case "$arg" in
    --prefix=*)
        prefix=`echo $arg | sed 's/--prefix=//'`
        ;;

    #--enable-debug)
    #    debugsym=true;;
    #--disable-debug)
    #    debugsym=false;;

    --help)
        echo 'usage: ./configure [options]'
        echo 'options:'
        echo '  --prefix=<path>: installation prefix'
        #echo '  --enable-debug: include debug symbols'
        #echo '  --disable-debug: do not include debug symbols'
        echo 'all invalid options are silently ignored'
        exit 0
        ;;
    esac
done

echo "PREFIX=$prefix"

echo "Checking Dependencies. No output is good"

function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; }

command -v python3 >/dev/null 2>&1 || { echo >&2 "Python3 >= $required_version_python  is required but it's not installed.  Aborting."; exit 1; }
PY3VERSION=$(python3 -c 'import platform; print(platform.python_version())')
if version_gt $required_version_python $PY3VERSION; then echo "Python3 must be version >= $required_version_python but is $PY3VERSION. Aborting."; exit 1; fi

python3 -c 'import PyQt5' >/dev/null 2>&1 || { echo >&2 "PyQt for Python3 >= $required_version_pyqt is required but it's not installed.  Aborting."; exit 1; }
PYQTVERSION=$(python3 -c 'from PyQt5.QtCore import QT_VERSION_STR; print(QT_VERSION_STR)')
if version_gt $required_version_pyqt $PYQTVERSION; then echo "PyQt must be version >= $required_version_pyqt but is $PYQTVERSION. Aborting."; exit 1; fi

echo "generating makefile"
printf "PREFIX=$prefix\nPROGRAM=$program\nVERSION=$version\n" >Makefile

#if $debugsym; then
#    echo 'dbg = -g' >>Makefile
#fi
cat Makefile.in >>Makefile

echo 'configuration complete, type make to build.'
