#!/bin/sh
#
# $Id: install,v 1.25 2005/07/01 12:41:57 wenzelm Exp $
# Author: Markus Wenzel, TU Muenchen
#
# DESCRIPTION: install standalone Isabelle executables
PRG=$(basename "$0")
usage()
{
echo
echo "Usage: $PRG [OPTIONS]"
echo
echo " Options are:"
echo " -d DISTDIR refer to DISTDIR as Isabelle distribution"
echo " (default ISABELLE_HOME)"
echo " -p DIR install standalone binaries in DIR"
echo
echo " Install Isabelle executables with absolute references to the current"
echo " distribution directory."
echo
exit 1
}
fail()
{
echo "$1" >&2
exit 2
}
## process command line
# options
NO_OPTS=true
DISTDIR="$ISABELLE_HOME"
BINDIR=""
while getopts "d:p:" OPT
do
NO_OPTS=""
case "$OPT" in
d)
DISTDIR="$OPTARG"
;;
p)
BINDIR="$OPTARG"
;;
\?)
usage
;;
esac
done
shift $(($OPTIND - 1))
# args
[ "$#" -ne 0 -o -n "$NO_OPTS" ] && usage
## main
echo "referring to distribution at $DISTDIR"
# standalone binaries
if [ -n "$BINDIR" ]; then
mkdir -p "$BINDIR" || fail "Bad directory: $BINDIR"
for NAME in isatool isabelle-process isabelle-interface
do
BIN="$BINDIR/$NAME"
DIST="$DISTDIR/bin/$NAME"
echo "installing $BIN"
rm -f "$BIN"
echo "#!/bin/sh" > "$BIN" || fail "Cannot write file: $BIN"
echo >> "$BIN"
echo "exec \"$DIST\" \"\$@\"" >> "$BIN"
chmod +x "$BIN"
done
for NAME in Isabelle isabelle
do
BIN="$BINDIR/$NAME"
echo "installing $BIN"
rm -f "$BIN"
cp "$ISABELLE_HOME/bin/$NAME" "$BIN" || fail "Cannot write file: $BIN"
chmod +x "$BIN"
done
fi
syntax highlighted by Code2HTML, v. 0.9.1