| author | blanchet | 
| Mon, 20 Jan 2014 18:24:56 +0100 | |
| changeset 55076 | 1e73e090a514 | 
| parent 53578 | 838d9e058a1a | 
| child 56664 | 8ff8e5d00115 | 
| permissions | -rwxr-xr-x | 
| 27628 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 1 | #!/usr/bin/env bash | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 2 | # | 
| 27629 | 3 | # Administrative build for Isabelle source distribution. | 
| 27628 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 4 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 5 | ## directory layout | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 6 | |
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: 
31831diff
changeset | 7 | if [ -z "$ISABELLE_HOME" ]; then | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: 
31831diff
changeset | 8 | ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)" | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: 
31831diff
changeset | 9 | ISABELLE_TOOL="$ISABELLE_HOME/bin/isabelle" | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: 
31831diff
changeset | 10 | fi | 
| 27628 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 11 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 12 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 13 | ## diagnostics | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 14 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 15 | PRG="$(basename "$0")" | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 16 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 17 | function usage() | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 18 | {
 | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 19 | cat <<EOF | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 20 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 21 | Usage: $PRG [MODULES] | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 22 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 23 | Produce Isabelle distribution modules from current repository sources. | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 24 | The MODULES list may contain any of the following: | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 25 | |
| 48691 
335d60e1e328
discontinued presumably obsolete attempts at doc-src testing (cf. 3b02b0ef8d48, 89cc3dfb383b);
 wenzelm parents: 
48498diff
changeset | 26 | all all modules below | 
| 27628 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 27 | browser graph browser (requires jdk) | 
| 49173 
fa01a202399c
eliminated potentially confusing terminology of Scala "layer";
 wenzelm parents: 
48972diff
changeset | 28 | jars Isabelle/Scala (requires \$ISABELLE_JDK_HOME and \$SCALA_HOME) | 
| 47408 
63c05991882e
slightly faster default compilation of Isabelle/Scala;
 wenzelm parents: 
47115diff
changeset | 29 | jars_test test separate build of jars | 
| 43280 | 30 | jars_fresh fresh build of jars | 
| 27628 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 31 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 32 | EOF | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 33 | exit 1 | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 34 | } | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 35 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 36 | function fail() | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 37 | {
 | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 38 | echo "$1" >&2 | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 39 | exit 2 | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 40 | } | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 41 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 42 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 43 | ## process command line | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 44 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 45 | [ "$#" -eq 0 ] && usage | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 46 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 47 | MODULES="$@"; shift "$#" | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 48 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 49 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 50 | ## modules | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 51 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 52 | function build_all () | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 53 | {
 | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 54 | build_browser | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 55 | build_jars | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 56 | } | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 57 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 58 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 59 | function build_browser () | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 60 | {
 | 
| 34283 
7911e83d06c0
simplified build/bootstrap of graph browser -- avoid make;
 wenzelm parents: 
34282diff
changeset | 61 | pushd "$ISABELLE_HOME/lib/browser" >/dev/null | 
| 34297 | 62 | "$ISABELLE_TOOL" env ./build || exit $? | 
| 34283 
7911e83d06c0
simplified build/bootstrap of graph browser -- avoid make;
 wenzelm parents: 
34282diff
changeset | 63 | popd >/dev/null | 
| 27628 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 64 | } | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 65 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 66 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 67 | function build_jars () | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 68 | {
 | 
| 28956 | 69 | pushd "$ISABELLE_HOME/src/Pure" >/dev/null | 
| 43280 | 70 | "$ISABELLE_TOOL" env ./build-jars "$@" || exit $? | 
| 27904 | 71 | popd >/dev/null | 
| 27628 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 72 | } | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 73 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 74 | |
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 75 | ## main | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 76 | |
| 53578 | 77 | #workaround for scalac 2.10.2 | 
| 53450 | 78 | function stty() { :; }
 | 
| 79 | export -f stty | |
| 80 | ||
| 27628 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 81 | for MODULE in $MODULES | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 82 | do | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 83 | case $MODULE in | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 84 | all) build_all;; | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 85 | browser) build_browser;; | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 86 | jars) build_jars;; | 
| 43280 | 87 | jars_fresh) build_jars -f;; | 
| 47408 
63c05991882e
slightly faster default compilation of Isabelle/Scala;
 wenzelm parents: 
47115diff
changeset | 88 | jars_test) build_jars -t;; | 
| 27628 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 89 | *) fail "Bad module $MODULE" | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 90 | esac | 
| 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 wenzelm parents: diff
changeset | 91 | done |