Description
Currently cargo supports setting linker
and ar
in a config file, which is useful but is not always sufficient for cross-compiling crates that build native libraries.
While cross-compiling Servo I found that I had to specify quite a few extra tools to get everything to compile:
https://gist.github.com/luser/a33e5070d1c55a7d2c46fe763a9d1543#file-servo-cross-mac-L59
This was mostly because various crates used different build systems for building native libraries--autotools, cmake, etc. I think it'd be useful if the gcc crate supported a convention for specifying more tools in .cargo/config
so that common crates for building native libraries (like cmake
) could use that support to drive their builds.
Specifically, I think it would be useful if it allowed at least setting cc, cxx, ranlib, and exposed those values through its API.