lib/scripts/getsettings
author wenzelm
Thu Feb 25 19:22:13 2016 +0100 (2016-02-25)
changeset 62416 cb6c4e307b1c
parent 62414 1abd90afe387
child 62588 cd266473b81b
permissions -rwxr-xr-x
slightly more robust re-initialization;
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@56439
    58
ISABELLE_PROCESS="$ISABELLE_HOME/bin/isabelle_process"
wenzelm@56448
    59
ISABELLE_SCALA_SCRIPT="$ISABELLE_HOME/bin/isabelle_scala_script"
wenzelm@62414
    60
PATH="$ISABELLE_HOME/bin:$PATH"
wenzelm@56440
    61
wenzelm@36196
    62
#platform
wenzelm@41758
    63
source "$ISABELLE_HOME/lib/scripts/isabelle-platform"
wenzelm@48455
    64
if [ -z "$ISABELLE_PLATFORM" ]; then
wenzelm@48455
    65
  echo 1>&2 "Failed to determine hardware and operating system type!"
wenzelm@48455
    66
  exit 2
wenzelm@48455
    67
fi
wenzelm@36196
    68
wenzelm@25434
    69
#Isabelle distribution identifier -- filled in automatically!
wenzelm@41511
    70
ISABELLE_ID=""
wenzelm@48837
    71
[ -z "$ISABELLE_IDENTIFIER" ] && ISABELLE_IDENTIFIER=""
wenzelm@21490
    72
wenzelm@48838
    73
wenzelm@48838
    74
# components
wenzelm@48838
    75
wenzelm@32305
    76
ISABELLE_COMPONENTS=""
wenzelm@48838
    77
ISABELLE_COMPONENTS_MISSING=""
wenzelm@48838
    78
wenzelm@32305
    79
#main components
wenzelm@32305
    80
init_component "$ISABELLE_HOME"
wenzelm@48725
    81
[ -d "$ISABELLE_HOME/Admin" ] && init_component "$ISABELLE_HOME/Admin"
wenzelm@61319
    82
if [ -d "$ISABELLE_HOME_USER" ]; then
wenzelm@61319
    83
  init_component "$ISABELLE_HOME_USER"
wenzelm@61319
    84
else
wenzelm@61319
    85
  mkdir -p "$ISABELLE_HOME_USER"
wenzelm@61319
    86
  chmod $(umask -S) "$ISABELLE_HOME_USER"
wenzelm@61319
    87
fi
wenzelm@48838
    88
wenzelm@21490
    89
#ML system identifier
wenzelm@6413
    90
if [ -z "$ML_PLATFORM" ]; then
wenzelm@6413
    91
  ML_IDENTIFIER="$ML_SYSTEM"
wenzelm@6413
    92
else
wenzelm@6413
    93
  ML_IDENTIFIER="${ML_SYSTEM}_${ML_PLATFORM}"
wenzelm@6413
    94
fi
wenzelm@21468
    95
wenzelm@48838
    96
ISABELLE_OUTPUT="$ISABELLE_OUTPUT/$ML_IDENTIFIER"
wenzelm@48838
    97
wenzelm@47748
    98
#enforce JAVA_HOME
wenzelm@58791
    99
export JAVA_HOME="$ISABELLE_JDK_HOME/jre"
wenzelm@47748
   100
wenzelm@2299
   101
set +o allexport
wenzelm@7770
   102
wenzelm@7770
   103
fi