add macos sysroot (#20)

* macos sysroot

* resolve conflicts
This commit is contained in:
Théo Monnom
2023-01-03 02:45:03 +01:00
committed by GitHub
parent e5b9222f18
commit bcbce41c0f
+13 -6
View File
@@ -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);