#!/bin/sh
#
# set up grcs-5.9.4p4 on OpenBSD
# for use with emacs
#
# set variable g_dir to the directory you wnat to use, default
#     $HOME/bin
#

f_link()
{
   l_rmode="$1"
   l_prog="$2"
   l_base=`basename "$l_prog"`
   l_new=`echo "$l_base" | sed 's/^g//'`
   l_new_rcs="$g_dir/$l_new"
   l_new_grcs="$g_dir/$l_base"

   if test ! -x "$l_prog"
   then
       echo "E100: missing $l_prog" ; exit 2
   fi

   case "$l_rmode" in
       "LINK")
           if test -L "$l_new_rcs"
           then
               echo "W110: found $l_new_rcs" ; return
           fi
           if test -x "$l_new_rcs"
           then
               echo "W111: found $l_new_rcs" ; return
           fi
           if test -L "$l_new_grcs"
           then
               echo "W110: found $l_new_grcs" ; return
           fi
           if test -x "$l_new_grcs"
           then
               echo "W111: found $l_new_grcs" ; return
           fi
           ln -s "$l_prog" "$l_new_rcs"
           ln -s "$l_prog" "$l_new_grcs"
           ;;
       "UNDO")
           if test ! -L "$l_new_rcs"
           then
               echo "W120: missing  $l_new_rcs" ; return
           fi
           if test ! -x "$l_new_rcs"
           then
               echo "W121: missing $l_new_rcs" ; return
           fi
           if test ! -L "$l_new_grcs"
           then
               echo "W120: missing  $l_new_grcs" ; return
           fi
           if test ! -x "$l_new_grcs"
           then
               echo "W121: missing $l_new_grcs" ; return
           fi
           rm "$l_new_rcs"
           rm "$l_new_grcs"
           ;;
       *)
           echo "E130: $l_rmode in valid" ; exit 2
           ;;
   esac

} # END: f_link()

#
# main
#

g_dir="$HOME/bin"  # should be first Dir in your path
g_rmode="LINK"     # SET to either LINK or UNDO

if test "`uname -s`" != "OpenBSD"
then
   echo "$OS NOT SUPORTED"
   exit 2
fi

# all we need is to update ~/.xessions
# with PATH from ~/.profile and execute
# these commands and emacs will work

f_link "$g_rmode" "/usr/local/bin/gci"
f_link "$g_rmode" "/usr/local/bin/gco"
f_link "$g_rmode" "/usr/local/bin/gident"
f_link "$g_rmode" "/usr/local/bin/gmerge"
f_link "$g_rmode" "/usr/local/bin/grcs"
f_link "$g_rmode" "/usr/local/bin/grcsclean"
f_link "$g_rmode" "/usr/local/bin/grcsdiff"
f_link "$g_rmode" "/usr/local/bin/grcsmerge"
f_link "$g_rmode" "/usr/local/bin/grlog"

exit 0