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)
42 ## process command line
44 [ "$#" -eq 0 ] && usage
46 MODULES="$@"; shift "$#"
59 function build_browser ()
61 pushd "$ISABELLE_HOME/lib/browser" >/dev/null
62 "$ISABELLE_TOOL" env ./build || exit $?
70 echo "### Building documentation ..."
73 cd "$ISABELLE_HOME/doc-src"
74 for DOC in $(cat Dirs)
76 pushd "$DOC" >/dev/null
77 make clean dvi || fail "DVI document for $DOC failed!"
78 make clean pdf || fail "PDF document for $DOC failed!"
84 function build_jars ()
86 pushd "$ISABELLE_HOME/src/Pure" >/dev/null
87 "$ISABELLE_TOOL" env ./build-jars || exit $?
94 for MODULE in $MODULES
98 browser) build_browser;;
101 *) fail "Bad module $MODULE"