From 585804fceeeb0f95fc18fbd4a072dfc9c63bee14 Mon Sep 17 00:00:00 2001 From: Zalathar Date: Tue, 20 Aug 2024 15:57:16 +1000 Subject: [PATCH] Check that `library/profiler_builtins` actually found some source files The current `build.rs` will automatically skip source files that don't exist. An unfortunate side-effect is that if _no_ files could be found (e.g. because the directory was wrong), the build fails with a mysterious linker error. We can reduce the awkwardness of this by explicitly checking that at least one source file was found. --- library/profiler_builtins/build.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/profiler_builtins/build.rs b/library/profiler_builtins/build.rs index 9d1c1ba305b..177b027e4f1 100644 --- a/library/profiler_builtins/build.rs +++ b/library/profiler_builtins/build.rs @@ -84,12 +84,16 @@ fn main() { let root = Path::new("../../src/llvm-project/compiler-rt"); let src_root = root.join("lib").join("profile"); + assert!(src_root.exists(), "profiler runtime source directory not found: {src_root:?}"); + let mut n_sources_found = 0u32; for src in profile_sources { let path = src_root.join(src); if path.exists() { cfg.file(path); + n_sources_found += 1; } } + assert!(n_sources_found > 0, "couldn't find any profiler runtime source files in {src_root:?}"); cfg.include(root.join("include")); cfg.warnings(false);