src/Pure/Admin/build_vampire.scala
author wenzelm
Sat, 12 Dec 2020 16:43:34 +0100
changeset 72888 74d785882737
parent 72887 970bad477c13
child 72889 5db643841f5d
permissions -rw-r--r--
prefer cmake build for standard version: more portable; prefer static build for Linux: allow newer Linux version;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
     1
/*  Title:      Pure/Admin/build_vampire.scala
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
     2
    Author:     Makarius
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
     3
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
     4
Build Isabelle Vampire component from repository.
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
     5
*/
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
     6
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
     7
package isabelle
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
     8
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
     9
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    10
object Build_Vampire
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    11
{
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    12
  val default_repository = "https://github.com/vprover/vampire.git"
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    13
  val default_version1 = "4.5.1"
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    14
  val default_version2 = "7638614fc288"
72887
970bad477c13 clarified default name;
wenzelm
parents: 72886
diff changeset
    15
970bad477c13 clarified default name;
wenzelm
parents: 72886
diff changeset
    16
  def make_component_name(version: String) = "vampire-" + version
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    17
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    18
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    19
  /* build Vampire */
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    20
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    21
  def build_vampire(
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    22
    repository: String = default_repository,
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    23
    version1: String = default_version1,
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    24
    version2: String = default_version2,
72887
970bad477c13 clarified default name;
wenzelm
parents: 72886
diff changeset
    25
    component_name: String = "",
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    26
    verbose: Boolean = false,
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    27
    progress: Progress = new Progress,
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    28
    target_dir: Path = Path.current)
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    29
  {
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    30
    Isabelle_System.with_tmp_dir("build")(tmp_dir =>
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    31
    {
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    32
      /* component and platform */
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    33
72887
970bad477c13 clarified default name;
wenzelm
parents: 72886
diff changeset
    34
      val component = proper_string(component_name) getOrElse make_component_name(version1)
970bad477c13 clarified default name;
wenzelm
parents: 72886
diff changeset
    35
      val component_dir = Isabelle_System.new_directory(target_dir + Path.basic(component))
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    36
      progress.echo("Component " + component_dir)
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    37
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    38
      val platform_name =
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    39
        proper_string(Isabelle_System.getenv("ISABELLE_PLATFORM64")) getOrElse
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    40
          error("No 64bit platform")
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    41
      val platform_dir = Isabelle_System.make_directory(component_dir + Path.basic(platform_name))
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    42
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    43
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    44
      /* clone repository */
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    45
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    46
      progress.echo("Cloning repository " + repository)
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    47
      progress.bash("git clone " + Bash.string(repository) + " vampire",
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    48
        cwd = tmp_dir.file, echo = verbose).check
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    49
72888
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    50
      val source_dir = tmp_dir + Path.explode("vampire")
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    51
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    52
      File.copy(source_dir + Path.explode("LICENCE"), component_dir)
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    53
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    54
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    55
      /* build */
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    56
72888
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    57
      val build_static = Platform.is_linux
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    58
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    59
      def build_init(exe: String, rev: String): Unit =
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    60
      {
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    61
        progress.echo("Building " + exe + " (rev " + rev + ")")
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    62
        progress.bash("git checkout --quiet --detach " + Bash.string(rev),
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    63
          cwd = source_dir.file, echo = verbose).check
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    64
      }
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    65
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    66
72888
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    67
      /* build standard version */
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    68
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    69
      {
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    70
        val exe = "vampire"
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    71
        build_init(exe, version1)
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    72
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    73
        val build_dir = Isabelle_System.make_directory(source_dir + Path.explode("build"))
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    74
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    75
        val cmake_opts = if (build_static) "-DBUILD_SHARED_LIBS=0 " else ""
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    76
        val cmake_out =
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    77
          progress.bash("cmake " + cmake_opts + """-G "Unix Makefiles" ..""",
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    78
            cwd = build_dir.file, echo = verbose).check.out
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
    79
72888
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    80
        val Pattern = """-- Setting binary name to (\S*)""".r
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    81
        val binary =
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    82
          split_lines(cmake_out).collectFirst({ case Pattern(name) => name })
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    83
            .getOrElse(error("Failed to determine binary name from cmake output:\n" + cmake_out))
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    84
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    85
        progress.bash("make", cwd = build_dir.file, echo = verbose).check
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    86
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    87
        File.copy(build_dir + Path.basic("bin") + Path.basic(binary).platform_exe,
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    88
          platform_dir + Path.basic(exe).platform_exe)
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    89
      }
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    90
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    91
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    92
      /* build polymorphic version */
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    93
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    94
      {
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    95
        val exe = "vampire_polymorphic"
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    96
        build_init(exe, version2)
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    97
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    98
        val target = if (build_static) "vampire_rel_static" else "vampire_rel"
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
    99
        progress.bash("make " + target, cwd = source_dir.file, echo = verbose).check
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   100
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   101
        val rev_count =
72888
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
   102
          progress.bash("git rev-list HEAD --count", cwd = source_dir.file).check.out
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
   103
        val binary = target + "_detached_" + rev_count
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
   104
        File.copy(source_dir + Path.basic(binary).platform_exe,
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
   105
          platform_dir + Path.basic(exe).platform_exe)
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   106
      }
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   107
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   108
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   109
      /* settings */
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   110
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   111
      val etc_dir = Isabelle_System.make_directory(component_dir + Path.basic("etc"))
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   112
      File.write(etc_dir + Path.basic("settings"),
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   113
        """# -*- shell-script -*- :mode=shellscript:
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   114
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   115
VAMPIRE_HOME="$COMPONENT/$ISABELLE_PLATFORM64"
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   116
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   117
ISABELLE_VAMPIRE="$VAMPIRE_HOME/vampire"
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   118
ISABELLE_VAMPIRE_POLYMORPHIC="$VAMPIRE_HOME/vampire_polymorphic"
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   119
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   120
VAMPIRE_EXTRA_OPTIONS=""
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   121
""")
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   122
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   123
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   124
      /* README */
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   125
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   126
      File.write(component_dir + Path.basic("README"),
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   127
        "This Isabelle component provides two versions of Vampire from\n" + repository + """
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   128
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   129
  * vampire: standard version (regular stable release)
72888
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
   130
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
   131
      cmake . && make
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
   132
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   133
  * vampire_polymorphic: special version for polymorphic FOL and HOL
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   134
    (intermediate repository version)
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   135
72888
74d785882737 prefer cmake build for standard version: more portable;
wenzelm
parents: 72887
diff changeset
   136
      make vampire_rel
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   137
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   138
The precise commit id is revealed by executing "vampire --version".
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   139
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   140
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   141
        Makarius
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   142
        """ + Date.Format.date(Date.now()) + "\n")
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   143
    })
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   144
  }
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   145
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   146
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   147
  /* Isabelle tool wrapper */
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   148
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   149
  val isabelle_tool =
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   150
    Isabelle_Tool("build_vampire", "build prover component from repository", Scala_Project.here,
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   151
    args =>
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   152
    {
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   153
      var target_dir = Path.current
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   154
      var repository = default_repository
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   155
      var version1 = default_version1
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   156
      var version2 = default_version2
72887
970bad477c13 clarified default name;
wenzelm
parents: 72886
diff changeset
   157
      var component_name = ""
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   158
      var verbose = false
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   159
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   160
      val getopts = Getopts("""
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   161
Usage: isabelle build_vampire [OPTIONS]
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   162
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   163
  Options are:
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   164
    -D DIR       target directory (default ".")
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   165
    -U URL       repository (default: """" + default_repository + """")
72887
970bad477c13 clarified default name;
wenzelm
parents: 72886
diff changeset
   166
    -V REV1      standard version (default: """" + default_version1 + """")
970bad477c13 clarified default name;
wenzelm
parents: 72886
diff changeset
   167
    -W REV2      polymorphic version (default: """" + default_version2 + """")
970bad477c13 clarified default name;
wenzelm
parents: 72886
diff changeset
   168
    -n NAME      component name (default: """" + make_component_name("REV1") + """")
72886
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   169
    -v           verbose
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   170
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   171
  Build prover component from official download.
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   172
""",
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   173
        "D:" -> (arg => target_dir = Path.explode(arg)),
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   174
        "U:" -> (arg => repository = arg),
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   175
        "V:" -> (arg => version1 = arg),
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   176
        "W:" -> (arg => version2 = arg),
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   177
        "n:" -> (arg => component_name = arg),
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   178
        "v" -> (_ => verbose = true))
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   179
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   180
      val more_args = getopts(args)
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   181
      if (more_args.nonEmpty) getopts.usage()
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   182
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   183
      val progress = new Console_Progress()
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   184
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   185
      build_vampire(repository = repository, version1 = version1, version2 = version2,
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   186
        component_name = component_name, verbose = verbose, progress = progress,
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   187
        target_dir = target_dir)
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   188
    })
ac64b753a65f build Isabelle Vampire component from repository;
wenzelm
parents:
diff changeset
   189
}