summaryrefslogtreecommitdiffstats
path: root/library/stdarch/crates/stdarch-verify/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/stdarch/crates/stdarch-verify/build.rs')
-rw-r--r--library/stdarch/crates/stdarch-verify/build.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/library/stdarch/crates/stdarch-verify/build.rs b/library/stdarch/crates/stdarch-verify/build.rs
new file mode 100644
index 000000000..c0dc81b6a
--- /dev/null
+++ b/library/stdarch/crates/stdarch-verify/build.rs
@@ -0,0 +1,28 @@
+use std::path::Path;
+
+fn main() {
+ let dir = Path::new(env!("CARGO_MANIFEST_DIR"));
+ let root = dir.parent().unwrap();
+ eprintln!("root: {}", root.display());
+ walk(&root.join("core_arch/src/x86"));
+ walk(&root.join("core_arch/src/x86_64"));
+ walk(&root.join("core_arch/src/arm"));
+ walk(&root.join("core_arch/src/aarch64"));
+}
+
+fn walk(root: &Path) {
+ for file in root.read_dir().unwrap() {
+ eprintln!("root: {}", root.display());
+ let file = file.unwrap();
+ if file.file_type().unwrap().is_dir() {
+ walk(&file.path());
+ continue;
+ }
+ let path = file.path();
+ if path.extension().and_then(|s| s.to_str()) != Some("rs") {
+ continue;
+ }
+
+ println!("cargo:rerun-if-changed={}", path.display());
+ }
+}