From ae4f366b0554dafaa4aa9b669b145c19c2fd3855 Mon Sep 17 00:00:00 2001 From: Siavash Sameni Date: Thu, 9 Apr 2026 14:49:49 +0400 Subject: [PATCH] step B(android): depend on wzp-client with default-features=false MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Second incremental variable on the path to Oboe. Adds a `[target.'cfg(target_os = "android")'.dependencies]` block that pulls in wzp-client with NO features enabled — no audio (no CPAL), no vpio (no VoiceProcessingIO). This gives the Android build access to wzp-client's platform-independent modules (call, handshake, audio_ring, codec wiring) without any system audio bindings. Deliberately no new imports in lib.rs or engine.rs. The only effect should be: cargo-tauri on Android now has to compile wzp-client and all its transitive crates (wzp-codec, wzp-fec, wzp-proto, wzp-crypto already pulled directly; now also audiopus, raptorq, etc.) and link them into libwzp_desktop_lib.so. Goal: verify that merely expanding the compiled code set to include wzp-client doesn't regress the previous working state. If it does, we know one of wzp-client's transitive deps is the problem — probably a C dep like audiopus or codec2. Co-Authored-By: Claude Opus 4.6 (1M context) --- desktop/src-tauri/Cargo.toml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/desktop/src-tauri/Cargo.toml b/desktop/src-tauri/Cargo.toml index bcb5c02..eed2e1a 100644 --- a/desktop/src-tauri/Cargo.toml +++ b/desktop/src-tauri/Cargo.toml @@ -45,6 +45,14 @@ wzp-transport = { path = "../../crates/wzp-transport" } [target.'cfg(not(target_os = "android"))'.dependencies] wzp-client = { path = "../../crates/wzp-client", features = ["audio", "vpio"] } +# Step B: depend on wzp-client on Android WITHOUT the audio/vpio features, +# so we pull in only the platform-independent modules (call, handshake, +# audio_ring, codec bindings). Deliberately no imports in lib.rs yet — we +# only want to verify that compiling + linking these crates on android +# doesn't regress the working build. +[target.'cfg(target_os = "android")'.dependencies] +wzp-client = { path = "../../crates/wzp-client", default-features = false } + # Platform-specific [target.'cfg(target_os = "macos")'.dependencies] coreaudio-rs = "0.11"