src/Pure/System/platform.scala
changeset 75393 87ebf5a50283
parent 75212 7870cdaa3f1f
child 78610 fd1fec53665b
equal deleted inserted replaced
75388:b3ca4a6ed74b 75393:87ebf5a50283
     5 */
     5 */
     6 
     6 
     7 package isabelle
     7 package isabelle
     8 
     8 
     9 
     9 
    10 object Platform
    10 object Platform {
    11 {
       
    12   /* platform family */
    11   /* platform family */
    13 
    12 
    14   val is_windows: Boolean = isabelle.setup.Environment.is_windows()
    13   val is_windows: Boolean = isabelle.setup.Environment.is_windows()
    15   val is_linux: Boolean = System.getProperty("os.name", "") == "Linux"
    14   val is_linux: Boolean = System.getProperty("os.name", "") == "Linux"
    16   val is_macos: Boolean = System.getProperty("os.name", "") == "Mac OS X"
    15   val is_macos: Boolean = System.getProperty("os.name", "") == "Mac OS X"
    23     else if (is_linux) Family.linux
    22     else if (is_linux) Family.linux
    24     else if (is_macos) Family.macos
    23     else if (is_macos) Family.macos
    25     else if (is_windows) Family.windows
    24     else if (is_windows) Family.windows
    26     else error("Failed to determine current platform family")
    25     else error("Failed to determine current platform family")
    27 
    26 
    28   object Family extends Enumeration
    27   object Family extends Enumeration {
    29   {
       
    30     val linux_arm, linux, macos, windows = Value
    28     val linux_arm, linux, macos, windows = Value
    31     val list0: List[Value] = List(linux, windows, macos)
    29     val list0: List[Value] = List(linux, windows, macos)
    32     val list: List[Value] = List(linux, linux_arm, windows, macos)
    30     val list: List[Value] = List(linux, linux_arm, windows, macos)
    33 
    31 
    34     def unapply(name: String): Option[Value] =
    32     def unapply(name: String): Option[Value] =