mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-28 11:20:36 +00:00

According to the documentation the --crate-type flag accepts a comma separated list of crate types. However, these are never actually split into individual items and passed verbatim to rustc. Since cargo fails to associate cases such as 'staticlib,cdylib' to a specific crate type internally, it has to invoke rustc to determine the output file types for this unknown crate type, which returns only the first file type of the first crate type in the list. Consequently cargo will be looking only for a single '.a' artifact on Linux to be copied to the target directory. Fix this by splitting the list of provided crate types into individual items before further processing them.