#! /bin/sh -e
#  /usr/lib/emacsen-common/packages/install/foo
# [ This particular script hasn't been tested, so be careful. ]

set -e

FLAVOR=$1
PACKAGE="flim"
VERSION=1.14.8

if [ "X${FLAVOR}" = "X" ]; then
    echo Need argument to determin FLAVOR of emacs;
    exit 1
fi

if [ "X${PACKAGE}" = "X" ]; then
    echo Internal error: need package name;
    exit 1;
fi

ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}

STARTDIR=/etc/${FLAVOR}/site-start.d
STARTFILE="${PACKAGE}-init.el";

SITELISP=/usr/share/${FLAVOR}/site-lisp

EFLAGS="-batch -q -l FLIM-MK"
COMPILE="-batch -q -f batch-byte-compile"

STAMP=${ELCDIR}/compile-stamp

case "${FLAVOR}" in

    emacs)
	;;

    *)

	echo -n "install/${PACKAGE}: Byte-compiling for ${FLAVOR} ..."

	if [ "${FLAVOR}" = "emacs19" ]; then
	    if [ ! -f /usr/share/emacs/site-lisp/custom-init.el ]; then
		echo -n " exited. "
		echo "W: Please install custom package for emacs19." ;
		exit 0;
	    fi
	fi

	if [ "${FLAVOR}" = "mule2" ]; then
	    if [ ! -f /usr/share/emacs/site-lisp/custom-mule-init.el ]; then
		echo -n " exited. "
		echo "W: Please install custom-mule package for mule2." ;
		exit 0;
	    fi
	fi

	if [ -e ${STAMP} ]; then
	    if [ "${VERSION}" = "`cat ${STAMP}`" ]; then
		echo " exited. (already compiled)" 
		exit
	    fi
	fi

	rm -rf ${ELCDIR}
	install -m 755 -d ${ELCDIR}

	# Copy the temp .el files
	# cp ${ELDIR}/* ${ELCDIR}/

	# Byte compile them
	(cd ${ELDIR}
	    make EMACS=${FLAVOR} LISPDIR=${SITELISP} install \
		> ${ELCDIR}/CompilationLog 2>&1
	)

	# remove mel-b-ccl.el* for xemacs
	# (see http://lists.airs.net/wl/archive/200101/msg00077.html)
	case "${FLAVOR}" in
	    xemacs-21.1*)
		rm -f ${ELCDIR}/mel-b-ccl.el*
		;;
	    *)
		;;
	esac

	gzip -9 ${ELCDIR}/CompilationLog
	echo ${VERSION} > ${STAMP}

	if [ -e  ${ELCDIR}/${STARTFILE}c ]; then
	    mv ${ELCDIR}/${STARTFILE}c ${STARTDIR}/50${STARTFILE}c;
	else
	    ln -f -s ${ELDIR}/${STARTFILE} ${STARTDIR}/50${STARTFILE};
	fi
	echo " done."
	;;

esac

exit 0;
