
Description
I'd like to easily manage a common collection of functionality for application plugins. I've tried doing this by linking all plugins to functionality in Cargo's target/deps folder, but as Cargo compiles all dependencies to rlibs, and Rust has issues linking plugins (dylibs) that are statically linked to common libraries, terrible thing happen. However, terrible things don't happen if plugin dependencies are also compiled as dylibs.
Unfortunately, the manifest guide states, for crate-type
"The available options are dylib, rlib, and staticlib. You should only use this option in a project. Cargo will always compile packages (dependencies) based on the requirements of the project that includes them."
This automation stops me from achieving the result needed. Some solutions:
- Have Cargo allow defining of crate-type for each dependency.
- Have Cargo allow defining of crate-type for all dependencies in the package.
- Write my own project-specific package manager from hell.
1 or 2 seem the most preferable options. Would one of these be suitable for the Cargo project?