Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions libwebrtc/src/native/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ pub mod audio_source;
pub mod audio_stream;
pub mod audio_track;
pub mod data_channel;
#[cfg(any(target_os = "macos", target_os = "windows", target_os = "linux"))]
pub mod desktop_capturer;
pub mod frame_cryptor;
pub mod ice_candidate;
Expand Down
23 changes: 16 additions & 7 deletions webrtc-sys/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,14 @@ fn main() {
return;
}

let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap();
let target_arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap();
let is_desktop = target_os == "linux" || target_os == "windows" || target_os == "macos";

println!("cargo:rerun-if-env-changed=LK_DEBUG_WEBRTC");
println!("cargo:rerun-if-env-changed=LK_CUSTOM_WEBRTC");

let mut builder = cxx_build::bridges([
let mut rust_files = vec![
"src/peer_connection.rs",
"src/peer_connection_factory.rs",
"src/media_stream.rs",
Expand All @@ -49,9 +53,14 @@ fn main() {
"src/android.rs",
"src/prohibit_libsrtp_initialization.rs",
"src/apm.rs",
"src/desktop_capturer.rs",
"src/audio_mixer.rs",
]);
];

if is_desktop {
rust_files.push("src/desktop_capturer.rs");
}

let mut builder = cxx_build::bridges(rust_files);

builder.files(&[
"src/peer_connection.cpp",
Expand Down Expand Up @@ -79,10 +88,13 @@ fn main() {
"src/global_task_queue.cpp",
"src/prohibit_libsrtp_initialization.cpp",
"src/apm.cpp",
"src/desktop_capturer.cpp",
"src/audio_mixer.cpp",
]);

if is_desktop {
builder.file("src/desktop_capturer.cpp");
}

let webrtc_dir = webrtc_sys_build::webrtc_dir();
let webrtc_include = webrtc_dir.join("include");
let webrtc_lib = webrtc_dir.join("lib");
Expand Down Expand Up @@ -112,9 +124,6 @@ fn main() {

// Link webrtc library
println!("cargo:rustc-link-lib=static=webrtc");

let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap();
let target_arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap();
match target_os.as_str() {
"windows" => {
println!("cargo:rustc-link-lib=dylib=msdmo");
Expand Down
1 change: 1 addition & 0 deletions webrtc-sys/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ pub mod audio_resampler;
pub mod audio_track;
pub mod candidate;
pub mod data_channel;
#[cfg(any(target_os = "macos", target_os = "windows", target_os = "linux"))]
pub mod desktop_capturer;
pub mod frame_cryptor;
pub mod helper;
Expand Down