Skip to content

Commit 7339ff0

Browse files
committed
Add comments in build script for better readability
1 parent 6eb695a commit 7339ff0

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

build.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ fn main() {
4242
let kernel_out_path = out_dir.join(format!("kernel_bin-{}.o", kernel_file_name));
4343
let kernel_archive_path = out_dir.join(format!("libkernel_bin-{}.a", kernel_file_name));
4444

45+
// get access to llvm tools shipped in the llvm-tools-preview rustup component
4546
let llvm_tools = match llvm_tools::LlvmTools::new() {
4647
Ok(tools) => tools,
4748
Err(llvm_tools::Error::NotFound) => {
@@ -73,6 +74,7 @@ fn main() {
7374
Kernel executable at `{}`\n", kernel.display());
7475
}
7576

77+
// wrap the kernel executable as binary in a new ELF file
7678
let objcopy = llvm_tools
7779
.tool(&llvm_tools::exe("llvm-objcopy"))
7880
.expect("llvm-objcopy not found in llvm-tools");
@@ -102,6 +104,7 @@ fn main() {
102104
process::exit(1);
103105
}
104106

107+
// create an archive for linking
105108
let ar = llvm_tools
106109
.tool(&llvm_tools::exe("llvm-ar"))
107110
.unwrap_or_else(|| {
@@ -120,12 +123,14 @@ fn main() {
120123
process::exit(1);
121124
}
122125

123-
println!("cargo:rerun-if-env-changed=KERNEL");
124-
println!("cargo:rerun-if-changed={}", kernel.display());
125-
println!("cargo:rerun-if-changed=build.rs");
126+
// pass link arguments to rustc
126127
println!("cargo:rustc-link-search=native={}", out_dir.display());
127128
println!(
128129
"cargo:rustc-link-lib=static=kernel_bin-{}",
129130
kernel_file_name
130131
);
132+
133+
println!("cargo:rerun-if-env-changed=KERNEL");
134+
println!("cargo:rerun-if-changed={}", kernel.display());
135+
println!("cargo:rerun-if-changed=build.rs");
131136
}

0 commit comments

Comments
 (0)