5 # makebin -- make Isabelle logic images for current platform.
11 DISTBASE=~/tmp/isadist
12 TMP="/var/tmp/isabelle-makebin$$"
15 type -path gtar >/dev/null && TAR=gtar
17 export THIS_IS_ISABELLE_BUILD=true
27 echo "Usage: $PRG ARCHIVE"
29 echo " Make Isabelle logic images for current platform."
41 ## process command line
43 [ "$#" -gt 1 ] && usage
50 [ ! -f "$ARCHIVE" ] && fail "Bad archive file $ARCHIVE"
51 ARCHIVE_BASE=$(basename "$ARCHIVE")
52 ARCHIVE_DIR=$(cd $(dirname "$ARCHIVE"); echo "$PWD")
53 ARCHIVE_FULL="$ARCHIVE_DIR/$ARCHIVE_BASE"
55 ISABELLE_NAME=$(basename "$ARCHIVE_BASE" .tar.gz)
56 ISABELLE_HOME="$TMP/$ISABELLE_NAME"
61 mkdir "$TMP" || fail "Cannot create directory $TMP"
64 "$TAR" xzf "$ARCHIVE_FULL"
67 #activate default for precompiled distribution ...
68 perl -pi -e 's/#ISABELLE_USEDIR_OPTIONS/ISABELLE_USEDIR_OPTIONS/' etc/settings
70 ISABELLE_HOME_USER=$(./bin/isatool getenv -b ISABELLE_HOME_USER)
71 [ -f "$ISABELLE_HOME_USER/etc/settings" ] && \
72 echo "### WARNING! Personal Isabelle settings present. " >&2
74 COMPILER=$(./bin/isatool getenv -b ML_IDENTIFIER)
75 PLATFORM=$(./bin/isatool getenv -b ML_PLATFORM)
77 if [ -n "$FAKE_BUILD" ]; then
78 mkdir -p "heaps/$COMPILER"
79 touch "heaps/$COMPILER/HOL"
80 touch "heaps/$COMPILER/HOL-Real"
81 touch "heaps/$COMPILER/ZF"
83 ./build -b -m HOL-Real HOL
85 rm -f "heaps/$COMPILER/Pure" "heaps/$COMPILER/FOL"
94 chgrp -R isabelle "$TMP"
96 for IMG in HOL HOL-Real ZF
98 "$TAR" cf "${IMG}_$PLATFORM.tar" \
99 "$ISABELLE_NAME/heaps/$COMPILER/$IMG" \
100 "$ISABELLE_NAME/heaps/$COMPILER/log/$IMG.gz"
101 gzip "${IMG}_$PLATFORM.tar"
102 cp -f "${IMG}_$PLATFORM.tar.gz" "$ARCHIVE_DIR"