3 # Administrative build for Isabelle source distribution.
7 if [ -z "$ISABELLE_HOME" ]; then
8 ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)"
9 ISABELLE_TOOL="$ISABELLE_HOME/bin/isabelle"
15 PRG="$(basename "$0")"
23 Produce Isabelle distribution modules from current repository sources.
24 The MODULES list may contain any of the following:
27 browser graph browser (requires jdk)
28 doc documentation (requires latex and rail)
29 jars Isabelle/Scala layer (requires Scala in \$SCALA_HOME)
30 jars_fresh fresh build of jars
43 ## process command line
45 [ "$#" -eq 0 ] && usage
47 MODULES="$@"; shift "$#"
60 function build_browser ()
62 pushd "$ISABELLE_HOME/lib/browser" >/dev/null
63 "$ISABELLE_TOOL" env ./build || exit $?
71 echo "### Building documentation ..."
74 cd "$ISABELLE_HOME/doc-src"
75 for DOC in $(cat Dirs)
77 pushd "$DOC" >/dev/null
78 make clean dvi || fail "DVI document for $DOC failed!"
79 make clean pdf || fail "PDF document for $DOC failed!"
85 function build_jars ()
87 "$ISABELLE_HOME/lib/scripts/java_ext_dirs" >/dev/null
88 pushd "$ISABELLE_HOME/src/Pure" >/dev/null
89 "$ISABELLE_TOOL" env ./build-jars "$@" || exit $?
96 for MODULE in $MODULES
100 browser) build_browser;;
103 jars_fresh) build_jars -f;;
104 *) fail "Bad module $MODULE"