#!/bin/sh

##################################
#
#  Configuration script for otags
# 
##################################

root=/usr/local
bindir=$root/bin
bindir_spec=no
libdir=$root/lib/ocaml/camlp4
#libdir=`camlp4 -where`
libdir_spec=no
#splaydir=$root/lib/ocaml
#splaydir_spec=no
ocamlsrc_spec=false
ocamlsrc=
ncamlgoals=
full_ncamlgoals="camlp4o_pr_emacs camlp4o_pr_vi"


usage (){
    echo "Usage:"
    echo "./configure [OPTION]..."
    echo
    echo "Recognized options are:"
    echo "  --prefix <path>	installation prefix [/usr/local]"
    echo "  --bindir <path>	user executables [PREFIX/bin]"
    echo "  --libdir <path>	camlp4 libraries [PREFIX/lib/ocaml]"
    echo "  --ocamlsrc <path>	ocaml source directory [no default]"
}

while : ; do
  case "$1" in
    "") break;;
    -help|--help) usage; exit 2;;
    -prefix|--prefix) bindir_spec=yes
                      bindir=$2/bin
                      libdir_spec=yes
                      libdir=$2/lib/ocaml
#                      splaydir_spec=yes
#                      splaydir=$2/lib/ocaml
		      shift;;
    -bindir|--bindir) bindir_spec=yes
                      bindir=$2
		      shift;;
    -libdir|--libdir) libdir_spec=yes
                      libdir=$2
		      shift;;
    -ocamlsrc|--ocamlsrc)  ocamlsrc_spec=true
	                   ocamlsrc=$2
			   ncamlgoals=$full_ncamlgoals
			   shift;;
#    -splaydir|--splaydir) splaydir_spec=yes
#                      splaydir=$2
#		      shift;;
     *) echo "Unknown option \"$1\"." 1>&2; exit 2;;
  esac
  shift
done

if [ $ocamlsrc_spec = "true" ] ; then
    echo Checking ocaml source directory $ocamlsrc ...
    if [ -d $ocamlsrc ] ; then
	if [ -f $ocamlsrc/camlp4/compile/pa_o_fast.cmx -a $ocamlsrc/camlp4/odyl/odyl.cmx ] ; then
	    echo ocaml sources found
	else
	    echo $ocamlsrc/camlp4/compile/pa_o_fast.cmx or 
	    echo $ocamlsrc/camlp4/odyl/odyl.cmx not found !
	    echo
	    echo Make sure $ocamlsrc is the ocaml source directory and do \`\`make world.opt\'\' there!
	    exit 1
	fi
    else
	echo $ocamlsrc does not exist!
	exit 1
    fi
fi
#  if [ -f $splaydir/splay.cma ]
#      then echo "splay trees found in $splaydir"
#      else
#        echo "No splay lib in $splaydir";
#        echo "use ./configure --splaydir <dir>";
#        exit
#  fi

./mk_conf $libdir $bindir $ocamlsrc_spec > conf.ml

# Summary of the configuration
echo
echo "  Paths for true installation:"
echo "    binaries   will be copied to $bindir"
echo "    libraries  will be copied to $libdir"
if [ $ocamlsrc_spec = "true" ] ; then
    echo "    native-code compile for ocaml parser enabled"
    echo "    ocaml sources found in $ocamlsrc"
else
    echo "    native-code compile for ocaml parser disabled"
fi

sed -e "s|tplbin|$bindir|" \
    -e "s|tpllib|$libdir|" \
    -e "s|tplocamlspec|$ocamlsrc_spec|" \
    -e "s|tplocamlsrc|$ocamlsrc|" \
    -e "s|tplncamlgoals|$ncamlgoals|" \
    Makefile.here.tpl > Makefile.here
#    -e "s|tplsplay|$splaydir|" \
