rust: Add support to emit certain Cargo env vars.
Some crates expect Cargo to provide certain environment variables. This CL adds a compatability flag that emulates the behavior of Cargo by setting these environment variables when building. Bug: 171011485 Test: New soong tests pass Test: quiche no longer requires patch removing CARGO_PKG_VERSION Change-Id: I4c95c284846f6075428c6f61fe8c260f2e35fbd9
This commit is contained in:
@@ -269,6 +269,17 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
|
||||
|
||||
envVars = append(envVars, "ANDROID_RUST_VERSION="+config.RustDefaultVersion)
|
||||
|
||||
if ctx.RustModule().compiler.CargoEnvCompat() {
|
||||
if _, ok := ctx.RustModule().compiler.(*binaryDecorator); ok {
|
||||
envVars = append(envVars, "CARGO_BIN_NAME="+strings.TrimSuffix(outputFile.Base(), outputFile.Ext()))
|
||||
}
|
||||
envVars = append(envVars, "CARGO_CRATE_NAME="+ctx.RustModule().CrateName())
|
||||
pkgVersion := ctx.RustModule().compiler.CargoPkgVersion()
|
||||
if pkgVersion != "" {
|
||||
envVars = append(envVars, "CARGO_PKG_VERSION="+pkgVersion)
|
||||
}
|
||||
}
|
||||
|
||||
if flags.Clippy {
|
||||
clippyFile := android.PathForModuleOut(ctx, outputFile.Base()+".clippy")
|
||||
ctx.Build(pctx, android.BuildParams{
|
||||
|
Reference in New Issue
Block a user