Repository navigation
Skip the stdio child-process transport on watchOS - #38
Conversation
watchOS hides execv the same way tvOS does, so nix under process-wrap doesn't compile there. Gate the rmcp child-process feature, the TokioChildProcess import and the Transport::Stdio arm on any(tvos, watchos). Http stays available on both. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
This change extends the existing tvOS-specific exclusion of the stdio child-process transport to also include watchOS, due to watchOS hiding execv similarly to tvOS. The Cargo.toml dependency on rmcp with the child-process feature is gated on not tvOS and not watchOS. In the Rust source, the TokioChildProcess import and the Transport::Stdio match arm are gated on not tvOS and not watchOS. The doc comment for Transport::Stdio is updated to mention both tvOS and watchOS. The runtime error arm for Transport::Stdio on unsupported platforms is updated to cover both tvOS and watchOS. This enables building for watchOS targets that previously failed due to missing execv support.
Automated review by siGit Code Review · commit db0039c · see the review dashboard
watchOS hides execv the same way tvOS does, so nix (pulled in by process-wrap) doesn't compile for the watchOS targets. #37 fixed this for tvOS; this widens the same gate.
The rmcp child-process feature, the TokioChildProcess import and the Transport::Stdio arm are now gated on any(tvos, watchos). Transport::Http is unaffected. The doc comment on Transport::Stdio names both platforms.
SplitFire's agent framework needs this to build its aarch64-apple-watchos and watchos-sim slices. I checked that through the patch.crates-io override in the splitfire repo; the watchOS and tvOS xcframework slices both build.