cargo-zigbuild.patch•2.16 kB
diff --git a/src/zig.rs b/src/zig.rs
index 9890768..354246c 100644
--- a/src/zig.rs
+++ b/src/zig.rs
@@ -394,12 +394,12 @@ impl Zig {
let sdkroot = Self::macos_sdk_root();
if (zig_version.major, zig_version.minor) >= (0, 12) {
// Zig 0.12.0+ requires passing `--sysroot`
- if let Some(ref sdkroot) = sdkroot {
- new_cmd_args.push(format!("--sysroot={}", sdkroot.display()));
- }
+ // if let Some(ref sdkroot) = sdkroot {
+ // new_cmd_args.push(format!("--sysroot={}", sdkroot.display()));
+ // }
}
if let Some(ref sdkroot) = sdkroot {
- let include_prefix = if (zig_version.major, zig_version.minor) < (0, 14) {
+ let include_prefix = if (zig_version.major, zig_version.minor) <= (0, 14) {
sdkroot
} else {
Path::new("/")
@@ -1282,6 +1282,27 @@ pub fn prepare_zig_linker(target: &str) -> Result<ZigWrapper> {
} else {
cc_args.push(format!("-target {arch}-macos-gnu{abi_suffix}"));
}
+
+ let sdkroot: Option<PathBuf> = match env::var_os("SDKROOT") {
+ Some(sdkroot) if !sdkroot.is_empty() => Some(sdkroot.into()),
+ _ => None,
+ };
+ if let Some(ref sdkroot) = sdkroot {
+ let include_prefix = sdkroot;
+ cc_args.extend_from_slice(&[
+ format!("-I{}", include_prefix.join("usr").join("include").display()),
+ format!("-L{}", include_prefix.join("usr").join("lib").display()),
+ format!(
+ "-F{}",
+ include_prefix
+ .join("System")
+ .join("Library")
+ .join("Frameworks")
+ .display()
+ ),
+ "-headerpad_max_install_names".to_string(),
+ ]);
+ }
}
OperatingSystem::Windows { .. } => {
let zig_arch = match arch.as_str() {