src/Pure/Tools/build.scala
changeset 65360 3ff88fece1f6
parent 65359 9ca34f0407a9
child 65365 d32e702d7ab8
equal deleted inserted replaced
65359:9ca34f0407a9 65360:3ff88fece1f6
   217 
   217 
   218         def save_heap: String =
   218         def save_heap: String =
   219           "ML_Heap.share_common_data (); ML_Heap.save_child " +
   219           "ML_Heap.share_common_data (); ML_Heap.save_child " +
   220             ML_Syntax.print_string0(File.platform_path(output))
   220             ML_Syntax.print_string0(File.platform_path(output))
   221 
   221 
   222         if (pide && !Sessions.pure_name(name)) {
   222         if (pide && !Sessions.is_pure(name)) {
   223           val resources = new Resources(name, deps(parent))
   223           val resources = new Resources(name, deps(parent))
   224           val session = new Session(options, resources)
   224           val session = new Session(options, resources)
   225           val handler = new Handler(progress, session, name)
   225           val handler = new Handler(progress, session, name)
   226           session.init_protocol_handler(handler)
   226           session.init_protocol_handler(handler)
   227 
   227 
   253             "Command_Line.tool0 (fn () => (" +
   253             "Command_Line.tool0 (fn () => (" +
   254             "Build.build " + ML_Syntax.print_string0(File.standard_path(args_file)) +
   254             "Build.build " + ML_Syntax.print_string0(File.standard_path(args_file)) +
   255             (if (do_output) "; " + save_heap else "") + "));"
   255             (if (do_output) "; " + save_heap else "") + "));"
   256 
   256 
   257           val process =
   257           val process =
   258             if (Sessions.pure_name(name)) {
   258             if (Sessions.is_pure(name)) {
   259               ML_Process(options, raw_ml_system = true, cwd = info.dir.file,
   259               ML_Process(options, raw_ml_system = true, cwd = info.dir.file,
   260                 args =
   260                 args =
   261                   (for ((root, _) <- Thy_Header.ml_roots) yield List("--use", root)).flatten :::
   261                   (for ((root, _) <- Thy_Header.ml_roots) yield List("--use", root)).flatten :::
   262                   List("--eval", eval),
   262                   List("--eval", eval),
   263                 env = env, tree = Some(tree), store = store, cleanup = () => args_file.delete)
   263                 env = env, tree = Some(tree), store = store, cleanup = () => args_file.delete)
   517             pending.dequeue(running.isDefinedAt(_)) match {
   517             pending.dequeue(running.isDefinedAt(_)) match {
   518               case Some((name, info)) =>
   518               case Some((name, info)) =>
   519                 val ancestor_results = selected_tree.ancestors(name).map(results(_))
   519                 val ancestor_results = selected_tree.ancestors(name).map(results(_))
   520                 val ancestor_heaps = ancestor_results.flatMap(_.heap_stamp)
   520                 val ancestor_heaps = ancestor_results.flatMap(_.heap_stamp)
   521 
   521 
   522                 val do_output = build_heap || Sessions.pure_name(name) || queue.is_inner(name)
   522                 val do_output = build_heap || Sessions.is_pure(name) || queue.is_inner(name)
   523 
   523 
   524                 val (current, heap_stamp) =
   524                 val (current, heap_stamp) =
   525                 {
   525                 {
   526                   store.find_database_heap(name) match {
   526                   store.find_database_heap(name) match {
   527                     case Some((database, heap_stamp)) =>
   527                     case Some((database, heap_stamp)) =>