equal
deleted
inserted
replaced
5 */ |
5 */ |
6 |
6 |
7 package isabelle |
7 package isabelle |
8 |
8 |
9 |
9 |
10 object Build_E |
10 object Build_E { |
11 { |
|
12 /* build E prover */ |
11 /* build E prover */ |
13 |
12 |
14 val default_version = "2.6" |
13 val default_version = "2.6" |
15 val default_download_url = "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD" |
14 val default_download_url = "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD" |
16 |
15 |
17 def build_e( |
16 def build_e( |
18 version: String = default_version, |
17 version: String = default_version, |
19 download_url: String = default_download_url, |
18 download_url: String = default_download_url, |
20 verbose: Boolean = false, |
19 verbose: Boolean = false, |
21 progress: Progress = new Progress, |
20 progress: Progress = new Progress, |
22 target_dir: Path = Path.current): Unit = |
21 target_dir: Path = Path.current |
23 { |
22 ): Unit = { |
24 Isabelle_System.with_tmp_dir("build")(tmp_dir => |
23 Isabelle_System.with_tmp_dir("build")(tmp_dir => { |
25 { |
|
26 /* component */ |
24 /* component */ |
27 |
25 |
28 val component_name = "e-" + version |
26 val component_name = "e-" + version |
29 val component_dir = Isabelle_System.new_directory(target_dir + Path.basic(component_name)) |
27 val component_dir = Isabelle_System.new_directory(target_dir + Path.basic(component_name)) |
30 progress.echo("Component " + component_dir) |
28 progress.echo("Component " + component_dir) |
49 /* build */ |
47 /* build */ |
50 |
48 |
51 progress.echo("Building E prover for " + platform_name + " ...") |
49 progress.echo("Building E prover for " + platform_name + " ...") |
52 |
50 |
53 val build_dir = tmp_dir + Path.basic("E") |
51 val build_dir = tmp_dir + Path.basic("E") |
54 val build_options = |
52 val build_options = { |
55 { |
|
56 val result = Isabelle_System.bash("./configure --help", cwd = build_dir.file) |
53 val result = Isabelle_System.bash("./configure --help", cwd = build_dir.file) |
57 if (result.check.out.containsSlice("--enable-ho")) " --enable-ho" else "" |
54 if (result.check.out.containsSlice("--enable-ho")) " --enable-ho" else "" |
58 } |
55 } |
59 |
56 |
60 val build_script = "./configure" + build_options + " && make" |
57 val build_script = "./configure" + build_options + " && make" |
108 |
105 |
109 /* Isabelle tool wrapper */ |
106 /* Isabelle tool wrapper */ |
110 |
107 |
111 val isabelle_tool = |
108 val isabelle_tool = |
112 Isabelle_Tool("build_e", "build prover component from source distribution", Scala_Project.here, |
109 Isabelle_Tool("build_e", "build prover component from source distribution", Scala_Project.here, |
113 args => |
110 args => { |
114 { |
|
115 var target_dir = Path.current |
111 var target_dir = Path.current |
116 var version = default_version |
112 var version = default_version |
117 var download_url = default_download_url |
113 var download_url = default_download_url |
118 var verbose = false |
114 var verbose = false |
119 |
115 |