| author | huffman | 
| Sat, 27 Feb 2010 18:09:11 -0800 | |
| changeset 35462 | f5461b02d754 | 
| parent 34876 | b52e03f68cc3 | 
| child 43280 | e5dd0ae1b054 | 
| 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: 
31831 
diff
changeset
 | 
7  | 
if [ -z "$ISABELLE_HOME" ]; then  | 
| 
 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 
wenzelm 
parents: 
31831 
diff
changeset
 | 
8  | 
ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)"  | 
| 
 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 
wenzelm 
parents: 
31831 
diff
changeset
 | 
9  | 
ISABELLE_TOOL="$ISABELLE_HOME/bin/isabelle"  | 
| 
 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 
wenzelm 
parents: 
31831 
diff
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  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
26  | 
all all modules below  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
27  | 
browser graph browser (requires jdk)  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
28  | 
doc documentation (requires latex and rail)  | 
| 34876 | 29  | 
jars Isabelle/Scala layer (requires Scala in \$SCALA_HOME)  | 
| 
27628
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
30  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
31  | 
EOF  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
32  | 
exit 1  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
33  | 
}  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
34  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
35  | 
function fail()  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
36  | 
{
 | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
37  | 
echo "$1" >&2  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
38  | 
exit 2  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
39  | 
}  | 
| 
 
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  | 
## process command line  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
43  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
44  | 
[ "$#" -eq 0 ] && usage  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
45  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
46  | 
MODULES="$@"; shift "$#"  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
47  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
48  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
49  | 
## modules  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
50  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
51  | 
function build_all ()  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
52  | 
{
 | 
| 27649 | 53  | 
build_doc  | 
| 
27628
 
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: 
34282 
diff
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: 
34282 
diff
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_doc ()  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
68  | 
{
 | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
69  | 
echo "###"  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
70  | 
echo "### Building documentation ..."  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
71  | 
echo "###"  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
72  | 
|
| 28956 | 73  | 
cd "$ISABELLE_HOME/doc-src"  | 
| 
27628
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
74  | 
for DOC in $(cat Dirs)  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
75  | 
do  | 
| 27629 | 76  | 
pushd "$DOC" >/dev/null  | 
| 
27628
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
77  | 
make clean dvi || fail "DVI document for $DOC failed!"  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
78  | 
make clean pdf || fail "PDF document for $DOC failed!"  | 
| 27629 | 79  | 
popd >/dev/null  | 
| 
27628
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
80  | 
done  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
81  | 
}  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
82  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
83  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
84  | 
function build_jars ()  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
85  | 
{
 | 
| 28956 | 86  | 
pushd "$ISABELLE_HOME/src/Pure" >/dev/null  | 
| 34297 | 87  | 
"$ISABELLE_TOOL" env ./build-jars || exit $?  | 
| 27904 | 88  | 
popd >/dev/null  | 
| 
27628
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
89  | 
}  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
90  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
91  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
92  | 
## main  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
93  | 
|
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
94  | 
for MODULE in $MODULES  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
95  | 
do  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
96  | 
case $MODULE in  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
97  | 
all) build_all;;  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
98  | 
browser) build_browser;;  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
99  | 
doc) build_doc;;  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
100  | 
jars) build_jars;;  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
101  | 
*) fail "Bad module $MODULE"  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
102  | 
esac  | 
| 
 
901656b3205d
Administrative build -- finish Isabelle source distribution.
 
wenzelm 
parents:  
diff
changeset
 | 
103  | 
done  |