#!/bin/bash
#
# Script to install the IIT Bombay GCC MD mode support
# Assume that an Emacs 21.* installation exists!
#

# Prepend the following to everything WE print out.
PRINTPREFIX="=> "

# Remember our directory
CWD=`pwd`

# Check if user has required version of Emacs
# FIXME: We really should be checking for all supported versions.
\emacs --version | grep "21\." > /dev/null 2>&1 
VERSION=$?
[ "$VERSION" != "0" ] && \
    echo "${PRINTPREFIX} Emacs 21.* required. Aborting install!" && \
    exit
[ "$VERSION" == "0" ] && \
    echo "${PRINTPREFIX} Emacs 21 exists. Good. Continuing install!"


echo "${PRINTPREFIX} Install for user: $USER"
SITELISPFILE=${HOME}/.emacs
SITELISPDIR=${HOME}/${USER}-emacs-lisp
echo    "${PRINTPREFIX} Directory to install user specific Emacs lisp files"
echo -n "${PRINTPREFIX} Directory [${SITELISPDIR}] : "
read useremacslispdir
[ "$useremacslispdir" != "" ] && SITELISPDIR=$useremacslispdir
EMACSLOADPATH=$SITELISPDIR

# Set up the load path setup elisp code
[ "$EMACSLOADPATH" != "" ] && \
    ADDLOADPATH="; Add the directory of GCC MD elisp code to load path
(setq load-path
      (cons \"$EMACSLOADPATH\"  ; Directory where GCC MD elisp files reside
            load-path))"

TMPSITELISPFILE=./site-start.el
[ "$SITELISPFILE" != "" ] && \
cat <<EOF >> $TMPSITELISPFILE

;; Emacs with IIT Bombay GCC MD mode

${ADDLOADPATH}

; Arrange for automatic loading of the elisp code when MD file is opened
(autoload 'md-mode "md-mode" "Major mode for editing GCC MD files" t)

; Automatically set GCC MD mode if a file is a GCC MD file (based on extension)
(setq auto-mode-alist 
      (append auto-mode-alist
              '(("\\.md$" . md-mode))))

;; END Emacs with IIT Bombay GCC MD mode support

EOF

# Ready to install
echo ${PRINTPREFIX} 
echo "${PRINTPREFIX} Ready to install."
echo "${PRINTPREFIX} Will add the following lines to your $SITELISPFILE"
cat $TMPSITELISPFILE
echo "${PRINTPREFIX} Will extract the MD elisp files to: $SITELISPDIR"
echo ${PRINTPREFIX}
echo -n "${PRINTPREFIX} Ok to continue? [y/n] (default: NO) : "
read yn

test "$yn" != "y"  && /bin/rm -f $TMPSITELISPFILE && exit

echo "${PRINTPREFIX} Installing GCC MD mode for Emacs 21 ... "
## Save original SITELISPFILE if it exists and has something in it ...
[ -s $SITELISPFILE ] && \
    echo -n "${PRINTPREFIX} Saving your current $SITELISPFILE (if any) to: " && \
    echo    "${SITELISPFILE}-before-iitb-md" && \
    cp -f ${SITELISPFILE} ${SITELISPFILE}-before-iitb-md
echo "${PRINTPREFIX} Adding to your $SITELISPFILE ..."
cat ${TMPSITELISPFILE} >> ${SITELISPFILE}
echo "${PRINTPREFIX} Extracting GCC MD mode elisp files to $SITELISPDIR ..."
[ ! -d $SITELISPDIR ] && mkdir -p ${SITELISPDIR}
uudecode $0
cd ${SITELISPDIR}
tar zxf ${CWD}/gcc-md-mode.tgz 
cd ${CWD}
echo $PRINTPREFIX
echo "$PRINTPREFIX Installation of GCC MD mode for Emacs 21 done."
echo "$PRINTPREFIX Try editing some GCC MD file, e.g. \"emacs try.md\""
cat <<EOF > ${SITELISPDIR}/basic.emacs.help.txt
--- Basic help

In Emacs:

 "C" denotes the "Control" key, "M" denotes the "Meta" key
 "C-c"   means - Press   the  "Control"  and  "c"  (lower  case)  keys
                 together.
 "C-c h" means - Press the "Control" and  "c"  keys  together, release 
                 them, and then press the "h" key.

 If "Meta"  key does not exist  on your keyboard, then  use "Esc" key.
 However, "M-x" when using "Esc" means - Press "Esc", release it, then
 press "x" and release it.  Do NOT press "Esc" and "x" together.

The second last line of an  Emacs window is called the "mode line". It
displays brief information about the file being edited.

The last line of an Emacs window is called the minibuffer.

For the IIT Bombay GCC MD mode, the following keys are helpful.

Key             Use
---             ---
M-x md-version  Display current version of GCC MD mode in minibuffer
C-h m           Describes the GCC MD mode in a separate window
C-c TAB         Guided "define_insn" insertion (NOTE: TAB = C-i)
C-c C-e         Guided "define_expand" insertion
C-c C-a         Guided "define_attr" insertion
C-c C-q         Accept insertion in a guided insertion sequence
C-x C-f         Open file (give the pathname in the minibuffer)
C-x C-s         Write file to file system
C-x C-c         Exit Emacs

The mode line should read  "(GCC MD)" if Emacs has successfully loaded
the IIT Bombay GCC MD major  mode.  If it displays anything else, then
Emacs has not loaded GCC MD mode.  Contact: amvichare@iitb.ac.in

The minibuffer  area gives short *temporary* hints  guiding each point
of insertion.  Have a look at it *before* typing in the window.

Enjoy.

Feedback solicited: amvichare@iitb.ac.in

EOF
echo "$PRINTPREFIX See ${SITELISPDIR}/basic.emacs.help.txt for basic help in using Emacs."
echo $PRINTPREFIX 
echo "$PRINTPREFIX Enjoy."
echo #$PRINTPREFIX

# Cleanup
/bin/rm -f $TMPSITELISPFILE
/bin/rm -f gcc-md-mode.tgz
exit

begin 664 gcc-md-mode.tgz
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
L<ZATTFC"$X0.OG2\5TPQQ1133#'%%%-,,<444TPQQ?3SI7\!#<PW50"@````
`
end

