()
| 3 | use std::path::{Path, PathBuf}; |
| 4 | |
| 5 | fn main() { |
| 6 | let manifest_dir = |
| 7 | PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR")); |
| 8 | let out_dir = PathBuf::from(std::env::var("OUT_DIR").expect("OUT_DIR")); |
| 9 | |
| 10 | println!("cargo:rerun-if-changed=build.rs"); |
| 11 | for dir in ["boot", "kernel", "stdlib"] { |
| 12 | println!("cargo:rerun-if-changed={dir}"); |
| 13 | watch_dir(Path::new(dir)); |
| 14 | } |
| 15 | |
| 16 | let mut sources = Vec::new(); |
| 17 | collect_sources(&manifest_dir.join("kernel"), &manifest_dir, &mut sources); |
| 18 | collect_sources(&manifest_dir.join("stdlib"), &manifest_dir, &mut sources); |
| 19 | sources.sort_by(|a, b| a.key.cmp(&b.key)); |
| 20 | |
| 21 | let mut tree = Vec::new(); |
| 22 | for dir in ["boot", "kernel", "stdlib"] { |
| 23 | collect_tree(&manifest_dir.join(dir), &manifest_dir, &mut tree); |
| 24 | } |
| 25 | tree.sort_by(|a, b| a.key.cmp(&b.key)); |
| 26 |
nothing calls this directly
no test coverage detected