diff --git a/llama-cpp-sys-2/build.rs b/llama-cpp-sys-2/build.rs index fadf1fde..c189b718 100644 --- a/llama-cpp-sys-2/build.rs +++ b/llama-cpp-sys-2/build.rs @@ -427,36 +427,45 @@ fn main() { let out_dir = env::var("OUT_DIR").unwrap(); let dummy_c = Path::new(&out_dir).join("dummy.c"); std::fs::write(&dummy_c, "int main() { return 0; }").unwrap(); - + // Use cc crate to get compiler with proper environment setup let mut build = cc::Build::new(); build.file(&dummy_c); - + // Get the actual compiler command cc would use let compiler = build.try_get_compiler().unwrap(); - + // Extract include paths by checking compiler's environment // cc crate sets up MSVC environment internally - let env_include = compiler.env().iter() + let env_include = compiler + .env() + .iter() .find(|(k, _)| k.eq_ignore_ascii_case("INCLUDE")) .map(|(_, v)| v); - + if let Some(include_paths) = env_include { - for include_path in include_paths.to_string_lossy().split(';').filter(|s| !s.is_empty()) { + for include_path in include_paths + .to_string_lossy() + .split(';') + .filter(|s| !s.is_empty()) + { bindings_builder = bindings_builder .clang_arg("-isystem") .clang_arg(include_path); debug_log!("Added MSVC include path: {}", include_path); } } - + // Add MSVC compatibility flags bindings_builder = bindings_builder .clang_arg(format!("--target={}", target_triple)) .clang_arg("-fms-compatibility") .clang_arg("-fms-extensions"); - debug_log!("Configured bindgen with MSVC toolchain for target: {}", target_triple); + debug_log!( + "Configured bindgen with MSVC toolchain for target: {}", + target_triple + ); } let bindings = bindings_builder .generate() diff --git a/llama-cpp-sys-2/llama.cpp b/llama-cpp-sys-2/llama.cpp index 3d4053f7..d7395115 160000 --- a/llama-cpp-sys-2/llama.cpp +++ b/llama-cpp-sys-2/llama.cpp @@ -1 +1 @@ -Subproject commit 3d4053f77f0f78ee2b791088c02af653ebee42dd +Subproject commit d7395115baf395b75a73a17b0b796e746e468da9