#!/bin/sh
#
# configure
#
# Copyright (C) 2017 Matthew R. Wette
#
# Copying and distribution of this file, with or without modification
# is granted.  This file is offered as-is, without any warranty.

help() {
    echo "'configure' sets up the top-level Makefile for your local guile"
    echo " "
    echo "Usage: ./configure [OPTION]"
    echo "       GUILE=/path/to/guile ./configure [OPTION]"
    echo
    echo "Configuration options are:"
    echo "  -h --help            show options and quit"
    echo "  --prefix             guile-relative prefix as usual"
    echo "  --site_scm_dir       where to install site-local scm files"
    echo "  --site_scm_go_dir    where to install site-local go files"
    echo " "
    echo "The guile-relative paths are:"
    echo "  site_scm_dir=\$prefix/share/guile/site/\$EV"
    echo "  site_scm_go_dir=\$prefix/share/lib/guile/\$EV/site-ccache"
    echo "where \$EV is the effective version (e.g., 2.2)"
    echo " "
}

if [ "X$GUILE" == "X" ]; then
    GUIlE=guile
fi

prefix=
site_scm_dir=
site_scm_go_dir=

while [ "$*" ]; do
    case $1 in
	-h|--help)
	    help
	    exit 0
	    ;;
	--prefix=*)
	    prefix=`echo $1 | sed -e 's/^--prefix=//'`
	    ;;
	--site_scm_dir=*)
	    site_scm_dir=`echo $1 | sed -e 's/^--site_scm_dir=//'`
	    ;;
	--site_scm_go_dir=*)
	    site_scm_go_dir=`echo $1 | sed -e 's/^--site_scm_go_dir=//'`
	    ;;
    esac
    shift
done

if [ "X$GUILE" == "X" ]; then
    GUILE=guile
fi

if [ "X$site_scm_dir" == "X" ]; then
    if [ "X$prefix" == "X" ]; then
	SITE_SCM_DIR=`$GUILE -c '(display (%site-dir))'`
    else
	EFF_VER=`$GUILE -c "(display (effective-version))"`
	SITE_SCM_DIR=$prefix/share/guile/site/$EFF_VER
    fi
else
    SITE_SCM_DIR=$site_scm_dir
fi

if [ "X$site_scm_go_dir" == "X" ]; then
    if [ "X$prefix" == "X" ]; then
	SITE_SCM_GO_DIR=`$GUILE -c '(display (%site-ccache-dir))'`
    else
	EFF_VER=`$GUILE -c "(display (effective-version))"`
	SITE_SCM_GO_DIR=$prefix/lib/guile/$EFF_VER/site-ccache
    fi
else
    SITE_SCM_GO_DIR=$site_scm_go_dir
fi

echo "creating Makefile"
sed -e "s|@guile@|$GUILE|" \
    -e "s|@site_scm_dir@|$SITE_SCM_DIR|" \
    -e "s|@site_scm_go_dir@|$SITE_SCM_GO_DIR|" \
    < Makefile.in > Makefile

# --- last line ---
