src/Pure/System/isabelle_system.scala
changeset 58640 37f852399a32
parent 57411 9444489766a1
child 60013 42d34eeb283c
equal deleted inserted replaced
58639:1df53737c59b 58640:37f852399a32
    74             ("CYGWIN_ROOT" -> find_cygwin_root(cygwin_root)))
    74             ("CYGWIN_ROOT" -> find_cygwin_root(cygwin_root)))
    75       }
    75       }
    76 
    76 
    77       set_cygwin_root()
    77       set_cygwin_root()
    78 
    78 
       
    79       def default(env: Map[String, String], entry: (String, String)): Map[String, String] =
       
    80         if (env.isDefinedAt(entry._1) || entry._2 == "") env
       
    81         else env + entry
       
    82 
    79       val env =
    83       val env =
    80       {
    84       {
       
    85         val temp_windows =
       
    86         {
       
    87           val temp = System.getenv("TEMP")
       
    88           if (temp != null && temp.contains('\\')) temp else ""
       
    89         }
    81         val user_home = System.getProperty("user.home", "")
    90         val user_home = System.getProperty("user.home", "")
    82         val isabelle_app = System.getProperty("isabelle.app", "")
    91         val isabelle_app = System.getProperty("isabelle.app", "")
    83 
    92 
    84         val env0 = sys.env + ("ISABELLE_JDK_HOME" -> posix_path(jdk_home()))
    93         default(
    85         val env1 =
    94           default(
    86           if (user_home == "" || env0.isDefinedAt("HOME")) env0
    95             default(sys.env + ("ISABELLE_JDK_HOME" -> posix_path(jdk_home())),
    87           else env0 + ("HOME" -> user_home)
    96               ("TEMP_WINDOWS" -> temp_windows)),
    88         val env2 =
    97             ("HOME" -> user_home)),
    89           if (isabelle_app == "") env1
    98           ("ISABELLE_APP" -> "true"))
    90           else env1 + ("ISABELLE_APP" -> "true")
       
    91 
       
    92         env2
       
    93       }
    99       }
    94 
   100 
    95       val system_home =
   101       val system_home =
    96         if (isabelle_home != null && isabelle_home != "") isabelle_home
   102         if (isabelle_home != null && isabelle_home != "") isabelle_home
    97         else
   103         else