Description
It would be nice if cargo lipo
will support skipping create types like cargo build --create-type
. Reasoning is below.
PR rust-lang/rust#73516 added support of cdylib
crate types on iOS. This new feature in Rust 1.46 added a lot of headache for iOS builds with cdylib
targets. cdylib
target is near impossible to build on iOS if you are using any crate with native dependencies (ex. openssl, libsodium, zmq). You can't just find .so files for all architectures to perform correct linking and any vendored build paths don't support iOS properly. Usual workflow is the following:
- You build
staticlib
and rely that native dependencies will be linked as frameworks later - You setup right cocoapods in ObjectiveC/Swift wrapper.
As cargo doesn't support platform-dependent crate types rust-lang/cargo#4881 as a result a lot of projects that require iOS support are now broken on Rust 1.46.