#!/bin/sh

# Wrapper around ocamldebug for Coq

# This file is to be launched via the generated script ocamldebug-coq,
# which will set the env variables $OCAMLDEBUG, $CAMLP5LIB, $COQTOP
# Anyway, just in case someone tries to use this script directly,
# here are some reasonable default values

[ -z "$OCAMLDEBUG" ] && OCAMLDEBUG=ocamldebug
[ -z "$COQTOP" -a -d "$PWD/kernel" ] && COQTOP=$PWD
[ -z "$COQTOP" -a -d "$PWD/../kernel" ] && COQTOP=`dirname $PWD`

export CAML_LD_LIBRARY_PATH=$COQTOP/kernel/byterun:$CAML_LD_LIBRARY_PATH

exec $OCAMLDEBUG \
    -I +threads \
    -I $COQTOP \
    -I $COQTOP/config -I $COQTOP/printing -I $COQTOP/grammar -I $COQTOP/clib \
    -I $COQTOP/gramlib/.pack \
    -I $COQTOP/lib -I $COQTOP/kernel -I $COQTOP/kernel/byterun \
    -I $COQTOP/library -I $COQTOP/engine -I $COQTOP/sysinit \
    -I $COQTOP/pretyping -I $COQTOP/parsing -I $COQTOP/vernac \
    -I $COQTOP/interp -I $COQTOP/proofs -I $COQTOP/tactics -I $COQTOP/stm \
    -I $COQTOP/toplevel -I $COQTOP/dev -I $COQTOP/config -I $COQTOP/ltac \
    -I $COQTOP/plugins/cc         -I $COQTOP/plugins/dp \
    -I $COQTOP/plugins/extraction -I $COQTOP/plugins/field \
    -I $COQTOP/plugins/firstorder \
    -I $COQTOP/plugins/funind     -I $COQTOP/plugins/groebner \
    -I $COQTOP/plugins/interface  -I $COQTOP/plugins/micromega \
    -I $COQTOP/plugins/omega      -I $COQTOP/plugins/quote \
    -I $COQTOP/plugins/ring \
    -I $COQTOP/plugins/rtauto \
    -I $COQTOP/plugins/subtac     -I $COQTOP/plugins/syntax \
    -I $COQTOP/plugins/xml        -I $COQTOP/plugins/ltac \
    -I $COQTOP/ide \
    $(ocamlfind query -recursive -i-format zarith) \
    "$@"
