From bcbce41c0f03d8f2b2e28b767e69d4b37ca7d530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Tue, 3 Jan 2023 02:45:03 +0100 Subject: [PATCH] add macos sysroot (#20) * macos sysroot * resolve conflicts --- webrtc-sys/build.rs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/webrtc-sys/build.rs b/webrtc-sys/build.rs index 79847dd..4a2f6b8 100644 --- a/webrtc-sys/build.rs +++ b/webrtc-sys/build.rs @@ -203,14 +203,21 @@ fn main() { println!("cargo:rustc-link-lib=clang_rt.osx"); println!("cargo:rustc-link-arg=-ObjC"); - let output = Command::new("clang") - .arg("--print-search-dirs") + let sysroot = Command::new("xcrun") + .args(&["--sdk", "macosx", "--show-sdk-path"]) .output() - .ok() .unwrap(); - let stdout = String::from_utf8_lossy(&output.stdout); - for line in stdout.lines() { + let sysroot = String::from_utf8_lossy(&sysroot.stdout); + let sysroot = sysroot.trim(); + + let search_dirs = Command::new("clang") + .arg("--print-search-dirs") + .output() + .unwrap(); + + let search_dirs = String::from_utf8_lossy(&search_dirs.stdout); + for line in search_dirs.lines() { if line.contains("libraries: =") { let path = line.split('=').nth(1).unwrap(); let path = format!("{}/lib/darwin", path); @@ -221,7 +228,7 @@ fn main() { builder .flag("-stdlib=libc++") .flag("-std=c++17") - .flag("-ObjC++") + .flag(format!("-isysroot{}", sysroot).as_str()) .define("WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT", None) .define("WEBRTC_POSIX", None) .define("WEBRTC_MAC", None);