32 lines
816 B
Bash
32 lines
816 B
Bash
#!/bin/bash -xue
|
|
|
|
PATH=~/ocaml/bin:$PATH; export PATH
|
|
|
|
TARGET="$1"; shift
|
|
|
|
case "$TARGET" in
|
|
prepare)
|
|
if [ ! -e ~/ocaml/cached-version -o "$(cat ~/ocaml/cached-version)" != "$OCAML_VERSION.$OCAML_RELEASE" ] ; then
|
|
rm -rf ~/ocaml
|
|
mkdir -p ~/ocaml/src
|
|
cd ~/ocaml/src
|
|
wget http://caml.inria.fr/pub/distrib/ocaml-$OCAML_VERSION/ocaml-$OCAML_VERSION.$OCAML_RELEASE.tar.gz
|
|
tar -xzf ocaml-$OCAML_VERSION.$OCAML_RELEASE.tar.gz
|
|
cd ocaml-$OCAML_VERSION.$OCAML_RELEASE
|
|
./configure -prefix ~/ocaml
|
|
make world.opt
|
|
make install
|
|
cd ..
|
|
rm -rf src
|
|
echo "$OCAML_VERSION.$OCAML_RELEASE" > ~/ocaml/cached-version
|
|
fi
|
|
;;
|
|
build)
|
|
ocaml bootstrap.ml
|
|
./boot.exe --subst
|
|
./boot.exe --dev
|
|
;;
|
|
*)
|
|
echo "bad command $TARGET">&2; exit 1
|
|
esac
|