recovered option -C from 092449efcb0e (still required for isabelle_cronjob.scala on Windows), but with slightly different meaning;
authorwenzelm
Wed, 25 Jan 2023 13:38:26 +0100
changeset 77091 15e710116a16
parent 77090 d3437203c1df
child 77092 4d9f3d1e1749
recovered option -C from 092449efcb0e (still required for isabelle_cronjob.scala on Windows), but with slightly different meaning;
src/Pure/Admin/build_history.scala
--- a/src/Pure/Admin/build_history.scala	Wed Jan 25 13:16:43 2023 +0100
+++ b/src/Pure/Admin/build_history.scala	Wed Jan 25 13:38:26 2023 +0100
@@ -104,6 +104,7 @@
     isabelle_identifier: String = default_isabelle_identifier,
     ml_statistics_step: Int = 1,
     component_repository: String = Components.default_component_repository,
+    components_base: String = Components.standard_components_base,
     fresh: Boolean = false,
     hostname: String = "",
     multicore_base: Boolean = false,
@@ -186,6 +187,7 @@
       val component_settings =
         other_isabelle.init_components(
           component_repository = component_repository,
+          components_base = components_base,
           catalogs = Components.optional_catalogs)
       other_isabelle.init_settings(component_settings ::: init_settings)
       other_isabelle.resolve_components(echo = verbose)
@@ -392,6 +394,7 @@
     Command_Line.tool {
       var afp = false
       var multicore_base = false
+      var components_base = Components.standard_components_base
       var heap: Option[Int] = None
       var max_heap: Option[Int] = None
       var multicore_list = List(default_multicore)
@@ -416,6 +419,8 @@
   Options are:
     -A           include $ISABELLE_HOME/AFP directory
     -B           first multicore build serves as base for scheduling information
+    -C DIR       base directory for Isabelle components (default: """ +
+      quote(Components.standard_components_base) + """)
     -H SIZE      minimal ML heap in MB (default: """ + default_heap + """ for x86, """ +
       default_heap * 2 + """ for x86_64)
     -M MULTICORE multicore configurations (see below)
@@ -445,6 +450,7 @@
 """,
         "A" -> (_ => afp = true),
         "B" -> (_ => multicore_base = true),
+        "C:" -> (arg => components_base = arg),
         "H:" -> (arg => heap = Some(Value.Int.parse(arg))),
         "M:" -> (arg => multicore_list = space_explode(',', arg).map(Multicore.parse)),
         "N:" -> (arg => isabelle_identifier = arg),
@@ -481,7 +487,7 @@
         local_build(Options.init(), root, progress = progress,
           afp = afp, afp_partition = afp_partition,
           isabelle_identifier = isabelle_identifier, ml_statistics_step = ml_statistics_step,
-          component_repository = component_repository,
+          component_repository = component_repository, components_base = components_base,
           fresh = fresh, hostname = hostname, multicore_base = multicore_base,
           multicore_list = multicore_list, arch_64 = arch_64,
           heap = heap.getOrElse(if (arch_64) default_heap * 2 else default_heap),