+13
-6
@@ -203,14 +203,21 @@ fn main() {
|
|||||||
println!("cargo:rustc-link-lib=clang_rt.osx");
|
println!("cargo:rustc-link-lib=clang_rt.osx");
|
||||||
println!("cargo:rustc-link-arg=-ObjC");
|
println!("cargo:rustc-link-arg=-ObjC");
|
||||||
|
|
||||||
let output = Command::new("clang")
|
let sysroot = Command::new("xcrun")
|
||||||
.arg("--print-search-dirs")
|
.args(&["--sdk", "macosx", "--show-sdk-path"])
|
||||||
.output()
|
.output()
|
||||||
.ok()
|
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let stdout = String::from_utf8_lossy(&output.stdout);
|
let sysroot = String::from_utf8_lossy(&sysroot.stdout);
|
||||||
for line in stdout.lines() {
|
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: =") {
|
if line.contains("libraries: =") {
|
||||||
let path = line.split('=').nth(1).unwrap();
|
let path = line.split('=').nth(1).unwrap();
|
||||||
let path = format!("{}/lib/darwin", path);
|
let path = format!("{}/lib/darwin", path);
|
||||||
@@ -221,7 +228,7 @@ fn main() {
|
|||||||
builder
|
builder
|
||||||
.flag("-stdlib=libc++")
|
.flag("-stdlib=libc++")
|
||||||
.flag("-std=c++17")
|
.flag("-std=c++17")
|
||||||
.flag("-ObjC++")
|
.flag(format!("-isysroot{}", sysroot).as_str())
|
||||||
.define("WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT", None)
|
.define("WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT", None)
|
||||||
.define("WEBRTC_POSIX", None)
|
.define("WEBRTC_POSIX", None)
|
||||||
.define("WEBRTC_MAC", None);
|
.define("WEBRTC_MAC", None);
|
||||||
|
|||||||
Reference in New Issue
Block a user