@@ -31,7 +31,7 @@ use crate::{CLang, GitRepo, Kind, trace};
31
31
pub struct LlvmResult {
32
32
/// Path to llvm-config binary.
33
33
/// NB: This is always the host llvm-config!
34
- pub llvm_config : PathBuf ,
34
+ pub host_llvm_config : PathBuf ,
35
35
/// Path to LLVM cmake directory for the target.
36
36
pub llvm_cmake_dir : PathBuf ,
37
37
}
@@ -111,14 +111,14 @@ pub fn prebuilt_llvm_config(
111
111
&& let Some ( ref s) = config. llvm_config
112
112
{
113
113
check_llvm_version ( builder, s) ;
114
- let llvm_config = s. to_path_buf ( ) ;
115
- let mut llvm_cmake_dir = llvm_config . clone ( ) ;
114
+ let host_llvm_config = s. to_path_buf ( ) ;
115
+ let mut llvm_cmake_dir = host_llvm_config . clone ( ) ;
116
116
llvm_cmake_dir. pop ( ) ;
117
117
llvm_cmake_dir. pop ( ) ;
118
118
llvm_cmake_dir. push ( "lib" ) ;
119
119
llvm_cmake_dir. push ( "cmake" ) ;
120
120
llvm_cmake_dir. push ( "llvm" ) ;
121
- return LlvmBuildStatus :: AlreadyBuilt ( LlvmResult { llvm_config , llvm_cmake_dir } ) ;
121
+ return LlvmBuildStatus :: AlreadyBuilt ( LlvmResult { host_llvm_config , llvm_cmake_dir } ) ;
122
122
}
123
123
124
124
if handle_submodule_when_needed {
@@ -143,7 +143,7 @@ pub fn prebuilt_llvm_config(
143
143
} ;
144
144
145
145
let llvm_cmake_dir = out_dir. join ( "lib/cmake/llvm" ) ;
146
- let res = LlvmResult { llvm_config : build_llvm_config, llvm_cmake_dir } ;
146
+ let res = LlvmResult { host_llvm_config : build_llvm_config, llvm_cmake_dir } ;
147
147
148
148
static STAMP_HASH_MEMO : OnceLock < String > = OnceLock :: new ( ) ;
149
149
let smart_stamp_hash = STAMP_HASH_MEMO . get_or_init ( || {
@@ -488,11 +488,11 @@ impl Step for Llvm {
488
488
489
489
// https://llvm.org/docs/HowToCrossCompileLLVM.html
490
490
if !builder. config . is_host_target ( target) {
491
- let LlvmResult { llvm_config , .. } =
491
+ let LlvmResult { host_llvm_config , .. } =
492
492
builder. ensure ( Llvm { target : builder. config . host_target } ) ;
493
493
if !builder. config . dry_run ( ) {
494
494
let llvm_bindir =
495
- command ( & llvm_config ) . arg ( "--bindir" ) . run_capture_stdout ( builder) . stdout ( ) ;
495
+ command ( & host_llvm_config ) . arg ( "--bindir" ) . run_capture_stdout ( builder) . stdout ( ) ;
496
496
let host_bin = Path :: new ( llvm_bindir. trim ( ) ) ;
497
497
cfg. define (
498
498
"LLVM_TABLEGEN" ,
@@ -501,7 +501,7 @@ impl Step for Llvm {
501
501
// LLVM_NM is required for cross compiling using MSVC
502
502
cfg. define ( "LLVM_NM" , host_bin. join ( "llvm-nm" ) . with_extension ( EXE_EXTENSION ) ) ;
503
503
}
504
- cfg. define ( "LLVM_CONFIG_PATH" , llvm_config ) ;
504
+ cfg. define ( "LLVM_CONFIG_PATH" , host_llvm_config ) ;
505
505
if builder. config . llvm_clang {
506
506
let build_bin =
507
507
builder. llvm_out ( builder. config . host_target ) . join ( "build" ) . join ( "bin" ) ;
@@ -543,7 +543,7 @@ impl Step for Llvm {
543
543
544
544
// Helper to find the name of LLVM's shared library on darwin and linux.
545
545
let find_llvm_lib_name = |extension| {
546
- let major = get_llvm_version_major ( builder, & res. llvm_config ) ;
546
+ let major = get_llvm_version_major ( builder, & res. host_llvm_config ) ;
547
547
match & llvm_version_suffix {
548
548
Some ( version_suffix) => format ! ( "libLLVM-{major}{version_suffix}.{extension}" ) ,
549
549
None => format ! ( "libLLVM-{major}.{extension}" ) ,
@@ -929,7 +929,7 @@ impl Step for Enzyme {
929
929
}
930
930
let target = self . target ;
931
931
932
- let LlvmResult { llvm_config , .. } = builder. ensure ( Llvm { target : self . target } ) ;
932
+ let LlvmResult { host_llvm_config , .. } = builder. ensure ( Llvm { target : self . target } ) ;
933
933
934
934
static STAMP_HASH_MEMO : OnceLock < String > = OnceLock :: new ( ) ;
935
935
let smart_stamp_hash = STAMP_HASH_MEMO . get_or_init ( || {
@@ -983,7 +983,7 @@ impl Step for Enzyme {
983
983
984
984
cfg. out_dir ( & out_dir)
985
985
. profile ( profile)
986
- . env ( "LLVM_CONFIG_REAL" , & llvm_config )
986
+ . env ( "LLVM_CONFIG_REAL" , & host_llvm_config )
987
987
. define ( "LLVM_ENABLE_ASSERTIONS" , "ON" )
988
988
. define ( "ENZYME_EXTERNAL_SHARED_LIB" , "ON" )
989
989
. define ( "LLVM_DIR" , builder. llvm_out ( target) ) ;
@@ -1019,13 +1019,13 @@ impl Step for Lld {
1019
1019
}
1020
1020
let target = self . target ;
1021
1021
1022
- let LlvmResult { llvm_config , llvm_cmake_dir } = builder. ensure ( Llvm { target } ) ;
1022
+ let LlvmResult { host_llvm_config , llvm_cmake_dir } = builder. ensure ( Llvm { target } ) ;
1023
1023
1024
1024
// The `dist` step packages LLD next to LLVM's binaries for download-ci-llvm. The root path
1025
1025
// we usually expect here is `./build/$triple/ci-llvm/`, with the binaries in its `bin`
1026
1026
// subfolder. We check if that's the case, and if LLD's binary already exists there next to
1027
1027
// `llvm-config`: if so, we can use it instead of building LLVM/LLD from source.
1028
- let ci_llvm_bin = llvm_config . parent ( ) . unwrap ( ) ;
1028
+ let ci_llvm_bin = host_llvm_config . parent ( ) . unwrap ( ) ;
1029
1029
if ci_llvm_bin. is_dir ( ) && ci_llvm_bin. file_name ( ) . unwrap ( ) == "bin" {
1030
1030
let lld_path = ci_llvm_bin. join ( exe ( "lld" , target) ) ;
1031
1031
if lld_path. exists ( ) {
@@ -1108,7 +1108,7 @@ impl Step for Lld {
1108
1108
// Use the host llvm-tblgen binary.
1109
1109
cfg. define (
1110
1110
"LLVM_TABLEGEN_EXE" ,
1111
- llvm_config . with_file_name ( "llvm-tblgen" ) . with_extension ( EXE_EXTENSION ) ,
1111
+ host_llvm_config . with_file_name ( "llvm-tblgen" ) . with_extension ( EXE_EXTENSION ) ,
1112
1112
) ;
1113
1113
}
1114
1114
@@ -1149,7 +1149,7 @@ impl Step for Sanitizers {
1149
1149
return runtimes;
1150
1150
}
1151
1151
1152
- let LlvmResult { llvm_config , .. } =
1152
+ let LlvmResult { host_llvm_config , .. } =
1153
1153
builder. ensure ( Llvm { target : builder. config . host_target } ) ;
1154
1154
1155
1155
static STAMP_HASH_MEMO : OnceLock < String > = OnceLock :: new ( ) ;
@@ -1189,7 +1189,7 @@ impl Step for Sanitizers {
1189
1189
cfg. define ( "COMPILER_RT_BUILD_XRAY" , "OFF" ) ;
1190
1190
cfg. define ( "COMPILER_RT_DEFAULT_TARGET_ONLY" , "ON" ) ;
1191
1191
cfg. define ( "COMPILER_RT_USE_LIBCXX" , "OFF" ) ;
1192
- cfg. define ( "LLVM_CONFIG_PATH" , & llvm_config ) ;
1192
+ cfg. define ( "LLVM_CONFIG_PATH" , & host_llvm_config ) ;
1193
1193
1194
1194
if self . target . contains ( "ohos" ) {
1195
1195
cfg. define ( "COMPILER_RT_USE_BUILTINS_LIBRARY" , "ON" ) ;
0 commit comments