1# -*- shell-script -*- :mode=shellscript:
2#
3# Author: Makarius
4#
5# Static Isabelle environment for root of process tree.
6
7export ISABELLE_HOME
8
9export BASH_ENV="$ISABELLE_HOME/lib/scripts/getfunctions"
10source "$BASH_ENV"
11
12
13if [ -z "$ISABELLE_SETTINGS_PRESENT" ]
14then
15
16export ISABELLE_SETTINGS_PRESENT=true
17
18set -o allexport
19
20#sane environment defaults (notably on Mac OS X)
21if [ "$ISABELLE_APP" = true -a -x /usr/libexec/path_helper ]; then
22  eval $(/usr/libexec/path_helper -s)
23fi
24
25#Cygwin vs. POSIX
26if [ "$OSTYPE" = cygwin ]
27then
28  unset INI_DIR
29
30  if [ -n "$TEMP_WINDOWS" ]; then
31    TMPDIR="$(cygpath -u "$TEMP_WINDOWS")"
32    TMP="$TMPDIR"
33    TEMP="$TMPDIR"
34  fi
35
36  if [ -z "$USER_HOME" ]; then
37    USER_HOME="$(cygpath -u "$USERPROFILE")"
38  fi
39
40  CYGWIN_ROOT="$(platform_path "/")"
41  ISABELLE_ROOT="$(platform_path "$ISABELLE_HOME")"
42
43  ISABELLE_CLASSPATH="$(cygpath -i -u -p "$CLASSPATH")"
44  unset CLASSPATH
45else
46  if [ -z "$USER_HOME" ]; then
47    USER_HOME="$HOME"
48  fi
49
50  ISABELLE_ROOT="$ISABELLE_HOME"
51
52  ISABELLE_CLASSPATH="$CLASSPATH"
53  unset CLASSPATH
54fi
55
56#main executables
57ISABELLE_TOOL="$ISABELLE_HOME/bin/isabelle"
58ISABELLE_SCALA_SCRIPT="$ISABELLE_HOME/bin/isabelle_scala_script"
59PATH="$ISABELLE_HOME/bin:$PATH"
60
61#platform
62source "$ISABELLE_HOME/lib/scripts/isabelle-platform"
63if [ -z "$ISABELLE_PLATFORM" ]; then
64  echo 1>&2 "Failed to determine hardware and operating system type!"
65  exit 2
66fi
67
68#Isabelle distribution identifier -- filled in automatically!
69ISABELLE_ID=""
70[ -z "$ISABELLE_IDENTIFIER" ] && ISABELLE_IDENTIFIER=""
71
72
73# components
74
75ISABELLE_COMPONENTS=""
76ISABELLE_COMPONENTS_MISSING=""
77
78#main components
79init_component "$ISABELLE_HOME"
80[ -d "$ISABELLE_HOME/Admin" ] && init_component "$ISABELLE_HOME/Admin"
81if [ -d "$ISABELLE_HOME_USER" ]; then
82  init_component "$ISABELLE_HOME_USER"
83else
84  mkdir -p "$ISABELLE_HOME_USER"
85  chmod $(umask -S) "$ISABELLE_HOME_USER"
86fi
87
88#POLYML_EXE
89if [ "$ISABELLE_PLATFORM_FAMILY" = "windows" ]; then
90  POLYML_EXE="$ML_HOME/poly.exe"
91else
92  POLYML_EXE="$ML_HOME/poly"
93fi
94
95#ML system identifier
96if [ -z "$ML_PLATFORM" ]; then
97  ML_IDENTIFIER="$ML_SYSTEM"
98else
99  ML_IDENTIFIER="${ML_SYSTEM}_${ML_PLATFORM}"
100fi
101
102#enforce JAVA_HOME
103if [ -d "$ISABELLE_JDK_HOME/jre" ]
104then
105  export JAVA_HOME="$ISABELLE_JDK_HOME/jre"
106else
107  export JAVA_HOME="$ISABELLE_JDK_HOME"
108fi
109
110set +o allexport
111
112fi
113