Skip to content

Commit 6dd4029

Browse files
committed
refactor(xtask): extract build_kernel, build_builtins
1 parent 1b25d48 commit 6dd4029

1 file changed

Lines changed: 22 additions & 7 deletions

File tree

xtask/src/build.rs

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,18 @@ impl Build {
4242
sh.remove_path(&dist_archive)?;
4343
dist_archive.create()?;
4444

45+
self.build_kernel()?;
46+
47+
self.build_builtins()?;
48+
49+
eprintln!("Setting OSABI");
50+
dist_archive.set_osabi()?;
51+
52+
eprintln!("Kernel available at {}", dist_archive.as_ref().display());
53+
Ok(())
54+
}
55+
56+
fn build_kernel(&self) -> Result<()> {
4557
let careful = match env::var_os("HERMIT_CAREFUL") {
4658
Some(val) if val == "1" => &["careful"][..],
4759
_ => &[],
@@ -62,10 +74,15 @@ impl Build {
6274
assert!(status.success());
6375

6476
let build_archive = self.cargo_build.artifact.build_archive();
77+
let dist_archive = self.cargo_build.artifact.dist_archive();
78+
79+
build_archive.retain_kernel_symbols()?;
6580
dist_archive.append(&build_archive)?;
6681

67-
self.cargo_build.artifact.dist_archive().retain_kernel_symbols()?;
82+
Ok(())
83+
}
6884

85+
fn build_builtins(&self) -> Result<()> {
6986
eprintln!("Building hermit-builtins");
7087
let mut cargo = crate::cargo();
7188
cargo
@@ -80,14 +97,12 @@ impl Build {
8097
let status = cargo.status()?;
8198
assert!(status.success());
8299

83-
let builtins = self.cargo_build.artifact.builtins_archive();
84-
builtins.retain_builtin_symbols()?;
85-
dist_archive.append(&builtins)?;
100+
let builtins_archive = self.cargo_build.artifact.builtins_archive();
101+
let dist_archive = self.cargo_build.artifact.dist_archive();
86102

87-
eprintln!("Setting OSABI");
88-
dist_archive.set_osabi()?;
103+
builtins_archive.retain_builtin_symbols()?;
104+
dist_archive.append(&builtins_archive)?;
89105

90-
eprintln!("Kernel available at {}", dist_archive.as_ref().display());
91106
Ok(())
92107
}
93108

0 commit comments

Comments
 (0)