@@ -29,7 +29,7 @@ use crate::{CLang, GitRepo, Kind, trace};
29
29
pub struct LlvmResult {
30
30
/// Path to llvm-config binary.
31
31
/// NB: This is always the host llvm-config!
32
- pub llvm_config : PathBuf ,
32
+ pub host_llvm_config : PathBuf ,
33
33
/// Path to LLVM cmake directory for the target.
34
34
pub llvm_cmake_dir : PathBuf ,
35
35
}
@@ -109,14 +109,14 @@ pub fn prebuilt_llvm_config(
109
109
&& let Some ( ref s) = config. llvm_config
110
110
{
111
111
check_llvm_version ( builder, s) ;
112
- let llvm_config = s. to_path_buf ( ) ;
113
- let mut llvm_cmake_dir = llvm_config . clone ( ) ;
112
+ let host_llvm_config = s. to_path_buf ( ) ;
113
+ let mut llvm_cmake_dir = host_llvm_config . clone ( ) ;
114
114
llvm_cmake_dir. pop ( ) ;
115
115
llvm_cmake_dir. pop ( ) ;
116
116
llvm_cmake_dir. push ( "lib" ) ;
117
117
llvm_cmake_dir. push ( "cmake" ) ;
118
118
llvm_cmake_dir. push ( "llvm" ) ;
119
- return LlvmBuildStatus :: AlreadyBuilt ( LlvmResult { llvm_config , llvm_cmake_dir } ) ;
119
+ return LlvmBuildStatus :: AlreadyBuilt ( LlvmResult { host_llvm_config , llvm_cmake_dir } ) ;
120
120
}
121
121
122
122
if handle_submodule_when_needed {
@@ -141,7 +141,7 @@ pub fn prebuilt_llvm_config(
141
141
} ;
142
142
143
143
let llvm_cmake_dir = out_dir. join ( "lib/cmake/llvm" ) ;
144
- let res = LlvmResult { llvm_config : build_llvm_config, llvm_cmake_dir } ;
144
+ let res = LlvmResult { host_llvm_config : build_llvm_config, llvm_cmake_dir } ;
145
145
146
146
static STAMP_HASH_MEMO : OnceLock < String > = OnceLock :: new ( ) ;
147
147
let smart_stamp_hash = STAMP_HASH_MEMO . get_or_init ( || {
@@ -483,11 +483,11 @@ impl Step for Llvm {
483
483
484
484
// https://llvm.org/docs/HowToCrossCompileLLVM.html
485
485
if !builder. config . is_host_target ( target) {
486
- let LlvmResult { llvm_config , .. } =
486
+ let LlvmResult { host_llvm_config , .. } =
487
487
builder. ensure ( Llvm { target : builder. config . host_target } ) ;
488
488
if !builder. config . dry_run ( ) {
489
489
let llvm_bindir =
490
- command ( & llvm_config ) . arg ( "--bindir" ) . run_capture_stdout ( builder) . stdout ( ) ;
490
+ command ( & host_llvm_config ) . arg ( "--bindir" ) . run_capture_stdout ( builder) . stdout ( ) ;
491
491
let host_bin = Path :: new ( llvm_bindir. trim ( ) ) ;
492
492
cfg. define (
493
493
"LLVM_TABLEGEN" ,
@@ -496,7 +496,7 @@ impl Step for Llvm {
496
496
// LLVM_NM is required for cross compiling using MSVC
497
497
cfg. define ( "LLVM_NM" , host_bin. join ( "llvm-nm" ) . with_extension ( EXE_EXTENSION ) ) ;
498
498
}
499
- cfg. define ( "LLVM_CONFIG_PATH" , llvm_config ) ;
499
+ cfg. define ( "LLVM_CONFIG_PATH" , host_llvm_config ) ;
500
500
if builder. config . llvm_clang {
501
501
let build_bin =
502
502
builder. llvm_out ( builder. config . host_target ) . join ( "build" ) . join ( "bin" ) ;
@@ -538,7 +538,7 @@ impl Step for Llvm {
538
538
539
539
// Helper to find the name of LLVM's shared library on darwin and linux.
540
540
let find_llvm_lib_name = |extension| {
541
- let major = get_llvm_version_major ( builder, & res. llvm_config ) ;
541
+ let major = get_llvm_version_major ( builder, & res. host_llvm_config ) ;
542
542
match & llvm_version_suffix {
543
543
Some ( version_suffix) => format ! ( "libLLVM-{major}{version_suffix}.{extension}" ) ,
544
544
None => format ! ( "libLLVM-{major}.{extension}" ) ,
@@ -915,7 +915,7 @@ impl Step for Enzyme {
915
915
}
916
916
let target = self . target ;
917
917
918
- let LlvmResult { llvm_config , .. } = builder. ensure ( Llvm { target : self . target } ) ;
918
+ let LlvmResult { host_llvm_config , .. } = builder. ensure ( Llvm { target : self . target } ) ;
919
919
920
920
static STAMP_HASH_MEMO : OnceLock < String > = OnceLock :: new ( ) ;
921
921
let smart_stamp_hash = STAMP_HASH_MEMO . get_or_init ( || {
@@ -969,7 +969,7 @@ impl Step for Enzyme {
969
969
970
970
cfg. out_dir ( & out_dir)
971
971
. profile ( profile)
972
- . env ( "LLVM_CONFIG_REAL" , & llvm_config )
972
+ . env ( "LLVM_CONFIG_REAL" , & host_llvm_config )
973
973
. define ( "LLVM_ENABLE_ASSERTIONS" , "ON" )
974
974
. define ( "ENZYME_EXTERNAL_SHARED_LIB" , "ON" )
975
975
. define ( "ENZYME_BC_LOADER" , "OFF" )
@@ -1006,13 +1006,13 @@ impl Step for Lld {
1006
1006
}
1007
1007
let target = self . target ;
1008
1008
1009
- let LlvmResult { llvm_config , llvm_cmake_dir } = builder. ensure ( Llvm { target } ) ;
1009
+ let LlvmResult { host_llvm_config , llvm_cmake_dir } = builder. ensure ( Llvm { target } ) ;
1010
1010
1011
1011
// The `dist` step packages LLD next to LLVM's binaries for download-ci-llvm. The root path
1012
1012
// we usually expect here is `./build/$triple/ci-llvm/`, with the binaries in its `bin`
1013
1013
// subfolder. We check if that's the case, and if LLD's binary already exists there next to
1014
1014
// `llvm-config`: if so, we can use it instead of building LLVM/LLD from source.
1015
- let ci_llvm_bin = llvm_config . parent ( ) . unwrap ( ) ;
1015
+ let ci_llvm_bin = host_llvm_config . parent ( ) . unwrap ( ) ;
1016
1016
if ci_llvm_bin. is_dir ( ) && ci_llvm_bin. file_name ( ) . unwrap ( ) == "bin" {
1017
1017
let lld_path = ci_llvm_bin. join ( exe ( "lld" , target) ) ;
1018
1018
if lld_path. exists ( ) {
@@ -1095,7 +1095,7 @@ impl Step for Lld {
1095
1095
// Use the host llvm-tblgen binary.
1096
1096
cfg. define (
1097
1097
"LLVM_TABLEGEN_EXE" ,
1098
- llvm_config . with_file_name ( "llvm-tblgen" ) . with_extension ( EXE_EXTENSION ) ,
1098
+ host_llvm_config . with_file_name ( "llvm-tblgen" ) . with_extension ( EXE_EXTENSION ) ,
1099
1099
) ;
1100
1100
}
1101
1101
@@ -1136,7 +1136,7 @@ impl Step for Sanitizers {
1136
1136
return runtimes;
1137
1137
}
1138
1138
1139
- let LlvmResult { llvm_config , .. } =
1139
+ let LlvmResult { host_llvm_config , .. } =
1140
1140
builder. ensure ( Llvm { target : builder. config . host_target } ) ;
1141
1141
1142
1142
static STAMP_HASH_MEMO : OnceLock < String > = OnceLock :: new ( ) ;
@@ -1176,7 +1176,7 @@ impl Step for Sanitizers {
1176
1176
cfg. define ( "COMPILER_RT_BUILD_XRAY" , "OFF" ) ;
1177
1177
cfg. define ( "COMPILER_RT_DEFAULT_TARGET_ONLY" , "ON" ) ;
1178
1178
cfg. define ( "COMPILER_RT_USE_LIBCXX" , "OFF" ) ;
1179
- cfg. define ( "LLVM_CONFIG_PATH" , & llvm_config ) ;
1179
+ cfg. define ( "LLVM_CONFIG_PATH" , & host_llvm_config ) ;
1180
1180
1181
1181
if self . target . contains ( "ohos" ) {
1182
1182
cfg. define ( "COMPILER_RT_USE_BUILTINS_LIBRARY" , "ON" ) ;
0 commit comments