src/Pure/Tools/build.scala
changeset 68305 5321218147d3
parent 68292 7ca0c23179e6
child 68331 7eaaa8f48331
     1.1 --- a/src/Pure/Tools/build.scala	Mon May 28 11:15:17 2018 +0200
     1.2 +++ b/src/Pure/Tools/build.scala	Mon May 28 13:35:43 2018 +0200
     1.3 @@ -822,4 +822,24 @@
     1.4  
     1.5      sys.exit(results.rc)
     1.6    })
     1.7 +
     1.8 +
     1.9 +  /* build logic image */
    1.10 +
    1.11 +  def build_logic(options: Options, logic: String,
    1.12 +    progress: Progress = No_Progress,
    1.13 +    build_heap: Boolean = false,
    1.14 +    dirs: List[Path] = Nil,
    1.15 +    system_mode: Boolean = false): Int =
    1.16 +  {
    1.17 +    if (build(options, build_heap = build_heap, no_build = true, dirs = dirs,
    1.18 +        system_mode = system_mode, sessions = List(logic)).ok) 0
    1.19 +    else {
    1.20 +      progress.echo("Build started for Isabelle/" + logic + " ...")
    1.21 +      progress.interrupt_handler {
    1.22 +        Build.build(options, progress = progress, build_heap = build_heap, dirs = dirs,
    1.23 +          system_mode = system_mode, sessions = List(logic)).rc
    1.24 +      }
    1.25 +    }
    1.26 +  }
    1.27  }