@@ -8,9 +8,8 @@ use std::env;
8
8
use std:: path:: PathBuf ;
9
9
10
10
fn main ( ) {
11
- println ! ( "cargo:rerun-if-env-changed=LLVM_PROFILER_RT_LIB" ) ;
12
- if let Ok ( rt) = env:: var ( "LLVM_PROFILER_RT_LIB" ) {
13
- println ! ( "cargo:rustc-link-lib=static:+verbatim={rt}" ) ;
11
+ if let Ok ( rt) = tracked_env_var ( "LLVM_PROFILER_RT_LIB" ) {
12
+ println ! ( "cargo::rustc-link-lib=static:+verbatim={rt}" ) ;
14
13
return ;
15
14
}
16
15
@@ -82,12 +81,10 @@ fn main() {
82
81
}
83
82
84
83
// Get the LLVM `compiler-rt` directory from bootstrap.
85
- println ! ( "cargo:rerun-if-env-changed=RUST_COMPILER_RT_FOR_PROFILER" ) ;
86
- let root = PathBuf :: from ( env:: var ( "RUST_COMPILER_RT_FOR_PROFILER" ) . unwrap_or_else ( |_| {
87
- let path = "../../src/llvm-project/compiler-rt" ;
88
- println ! ( "RUST_COMPILER_RT_FOR_PROFILER was not set; falling back to {path:?}" ) ;
89
- path. to_owned ( )
90
- } ) ) ;
84
+ let root = PathBuf :: from ( tracked_env_var_or_fallback (
85
+ "RUST_COMPILER_RT_FOR_PROFILER" ,
86
+ "../../src/llvm-project/compiler-rt" ,
87
+ ) ) ;
91
88
92
89
let src_root = root. join ( "lib" ) . join ( "profile" ) ;
93
90
assert ! ( src_root. exists( ) , "profiler runtime source directory not found: {src_root:?}" ) ;
@@ -105,3 +102,14 @@ fn main() {
105
102
cfg. warnings ( false ) ;
106
103
cfg. compile ( "profiler-rt" ) ;
107
104
}
105
+
106
+ fn tracked_env_var ( key : & str ) -> Result < String , env:: VarError > {
107
+ println ! ( "cargo::rerun-if-env-changed={key}" ) ;
108
+ env:: var ( key)
109
+ }
110
+ fn tracked_env_var_or_fallback ( key : & str , fallback : & str ) -> String {
111
+ tracked_env_var ( key) . unwrap_or_else ( |_| {
112
+ println ! ( "cargo::warning={key} was not set; falling back to {fallback:?}" ) ;
113
+ fallback. to_owned ( )
114
+ } )
115
+ }
0 commit comments