lib/scripts/getsettings
author wenzelm
Wed Mar 20 21:57:02 2019 +0100 (2 months ago)
changeset 69930 b5286c564861
parent 69926 110fff287217
permissions -rwxr-xr-x
more robust reference to ghc exe (with multi-platform support);
wenzelm@25434
     1
# -*- shell-script -*- :mode=shellscript:
wenzelm@29145
     2
#
wenzelm@62412
     3
# Author: Makarius
wenzelm@2299
     4
#
wenzelm@62412
     5
# Static Isabelle environment for root of process tree.
wenzelm@2299
     6
wenzelm@62416
     7
export ISABELLE_HOME
wenzelm@62416
     8
wenzelm@62416
     9
export BASH_ENV="$ISABELLE_HOME/lib/scripts/getfunctions"
wenzelm@62416
    10
source "$BASH_ENV"
wenzelm@62416
    11
wenzelm@62416
    12
wenzelm@7770
    13
if [ -z "$ISABELLE_SETTINGS_PRESENT" ]
wenzelm@7770
    14
then
wenzelm@7770
    15
wenzelm@62413
    16
export ISABELLE_SETTINGS_PRESENT=true
wenzelm@3185
    17
wenzelm@62412
    18
set -o allexport
wenzelm@53913
    19
wenzelm@57411
    20
#sane environment defaults (notably on Mac OS X)
wenzelm@57411
    21
if [ "$ISABELLE_APP" = true -a -x /usr/libexec/path_helper ]; then
wenzelm@57411
    22
  eval $(/usr/libexec/path_helper -s)
wenzelm@57411
    23
fi
wenzelm@57411
    24
wenzelm@48838
    25
#Cygwin vs. POSIX
wenzelm@47461
    26
if [ "$OSTYPE" = cygwin ]
wenzelm@47461
    27
then
wenzelm@53970
    28
  unset INI_DIR
wenzelm@53970
    29
wenzelm@58640
    30
  if [ -n "$TEMP_WINDOWS" ]; then
wenzelm@58640
    31
    TMPDIR="$(cygpath -u "$TEMP_WINDOWS")"
wenzelm@58640
    32
    TMP="$TMPDIR"
wenzelm@58640
    33
    TEMP="$TMPDIR"
wenzelm@58640
    34
  fi
wenzelm@58640
    35
wenzelm@47661
    36
  if [ -z "$USER_HOME" ]; then
wenzelm@60531
    37
    USER_HOME="$(cygpath -u "$USERPROFILE")"
wenzelm@47661
    38
  fi
wenzelm@47661
    39
wenzelm@61294
    40
  CYGWIN_ROOT="$(platform_path "/")"
wenzelm@61294
    41
  ISABELLE_ROOT="$(platform_path "$ISABELLE_HOME")"
wenzelm@53576
    42
wenzelm@53576
    43
  ISABELLE_CLASSPATH="$(cygpath -i -u -p "$CLASSPATH")"
wenzelm@53576
    44
  unset CLASSPATH
wenzelm@47461
    45
else
wenzelm@47661
    46
  if [ -z "$USER_HOME" ]; then
wenzelm@47661
    47
    USER_HOME="$HOME"
wenzelm@47661
    48
  fi
wenzelm@47661
    49
wenzelm@61293
    50
  ISABELLE_ROOT="$ISABELLE_HOME"
wenzelm@61293
    51
wenzelm@53576
    52
  ISABELLE_CLASSPATH="$CLASSPATH"
wenzelm@53576
    53
  unset CLASSPATH
wenzelm@47461
    54
fi
wenzelm@47461
    55
wenzelm@62412
    56
#main executables
wenzelm@56440
    57
ISABELLE_TOOL="$ISABELLE_HOME/bin/isabelle"
wenzelm@56448
    58
ISABELLE_SCALA_SCRIPT="$ISABELLE_HOME/bin/isabelle_scala_script"
wenzelm@62414
    59
PATH="$ISABELLE_HOME/bin:$PATH"
wenzelm@56440
    60
wenzelm@36196
    61
#platform
wenzelm@41758
    62
source "$ISABELLE_HOME/lib/scripts/isabelle-platform"
wenzelm@48455
    63
if [ -z "$ISABELLE_PLATFORM" ]; then
wenzelm@48455
    64
  echo 1>&2 "Failed to determine hardware and operating system type!"
wenzelm@48455
    65
  exit 2
wenzelm@48455
    66
fi
wenzelm@36196
    67
wenzelm@25434
    68
#Isabelle distribution identifier -- filled in automatically!
wenzelm@41511
    69
ISABELLE_ID=""
wenzelm@48837
    70
[ -z "$ISABELLE_IDENTIFIER" ] && ISABELLE_IDENTIFIER=""
wenzelm@21490
    71
wenzelm@48838
    72
wenzelm@48838
    73
# components
wenzelm@48838
    74
wenzelm@32305
    75
ISABELLE_COMPONENTS=""
wenzelm@48838
    76
ISABELLE_COMPONENTS_MISSING=""
wenzelm@48838
    77
wenzelm@32305
    78
#main components
wenzelm@32305
    79
init_component "$ISABELLE_HOME"
wenzelm@48725
    80
[ -d "$ISABELLE_HOME/Admin" ] && init_component "$ISABELLE_HOME/Admin"
wenzelm@61319
    81
if [ -d "$ISABELLE_HOME_USER" ]; then
wenzelm@61319
    82
  init_component "$ISABELLE_HOME_USER"
wenzelm@61319
    83
else
wenzelm@61319
    84
  mkdir -p "$ISABELLE_HOME_USER"
wenzelm@61319
    85
  chmod $(umask -S) "$ISABELLE_HOME_USER"
wenzelm@61319
    86
fi
wenzelm@48838
    87
wenzelm@67099
    88
#POLYML_EXE
wenzelm@67099
    89
if [ "$ISABELLE_PLATFORM_FAMILY" = "windows" ]; then
wenzelm@67099
    90
  POLYML_EXE="$ML_HOME/poly.exe"
wenzelm@67099
    91
else
wenzelm@67099
    92
  POLYML_EXE="$ML_HOME/poly"
wenzelm@67099
    93
fi
wenzelm@67099
    94
wenzelm@21490
    95
#ML system identifier
wenzelm@6413
    96
if [ -z "$ML_PLATFORM" ]; then
wenzelm@6413
    97
  ML_IDENTIFIER="$ML_SYSTEM"
wenzelm@6413
    98
else
wenzelm@6413
    99
  ML_IDENTIFIER="${ML_SYSTEM}_${ML_PLATFORM}"
wenzelm@6413
   100
fi
wenzelm@21468
   101
wenzelm@69926
   102
#enforce ISABELLE_OCAMLFIND
haftmann@69910
   103
if [ -d "$ISABELLE_OPAM_ROOT/$ISABELLE_OCAML_VERSION/bin" ]; then
wenzelm@69926
   104
  ISABELLE_OCAMLFIND="$ISABELLE_HOME/lib/scripts/ocamlfind"
haftmann@69910
   105
fi
haftmann@69910
   106
wenzelm@69152
   107
#enforce ISABELLE_GHC
wenzelm@69930
   108
if [ -f "$ISABELLE_STACK_ROOT/ISABELLE_GHC_EXE-$ISABELLE_PLATFORM_FAMILY" ]; then
wenzelm@69930
   109
  if [ -f "$(cat "$ISABELLE_STACK_ROOT/ISABELLE_GHC_EXE-$ISABELLE_PLATFORM_FAMILY")" ]; then
wenzelm@69268
   110
    ISABELLE_GHC="$ISABELLE_HOME/lib/scripts/ghc"
wenzelm@69444
   111
    ISABELLE_GHC_STACK=true
wenzelm@69153
   112
  fi
wenzelm@69151
   113
fi
wenzelm@69151
   114
wenzelm@47748
   115
#enforce JAVA_HOME
wenzelm@68012
   116
if [ -d "$ISABELLE_JDK_HOME/jre" ]
wenzelm@68012
   117
then
wenzelm@68012
   118
  export JAVA_HOME="$ISABELLE_JDK_HOME/jre"
wenzelm@68012
   119
else
wenzelm@68012
   120
  export JAVA_HOME="$ISABELLE_JDK_HOME"
wenzelm@68012
   121
fi
wenzelm@47748
   122
wenzelm@2299
   123
set +o allexport
wenzelm@7770
   124
wenzelm@7770
   125
fi