diff options
Diffstat (limited to 'rust')
| -rw-r--r-- | rust/bindgen.go | 2 | ||||
| -rw-r--r-- | rust/builder.go | 7 | ||||
| -rw-r--r-- | rust/config/global.go | 2 | ||||
| -rw-r--r-- | rust/project_json.go | 2 |
4 files changed, 12 insertions, 1 deletions
diff --git a/rust/bindgen.go b/rust/bindgen.go index 32d02e4f6..5e1b4b74a 100644 --- a/rust/bindgen.go +++ b/rust/bindgen.go @@ -30,7 +30,7 @@ var ( defaultBindgenFlags = []string{""} // bindgen should specify its own Clang revision so updating Clang isn't potentially blocked on bindgen failures. - bindgenClangVersion = "clang-r433403" + bindgenClangVersion = "clang-r437112" _ = pctx.VariableFunc("bindgenClangVersion", func(ctx android.PackageVarContext) string { if override := ctx.Config().Getenv("LLVM_BINDGEN_PREBUILTS_VERSION"); override != "" { diff --git a/rust/builder.go b/rust/builder.go index 60b5926e8..a7efc282a 100644 --- a/rust/builder.go +++ b/rust/builder.go @@ -216,6 +216,13 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl // Suppress an implicit sysroot rustcFlags = append(rustcFlags, "--sysroot=/dev/null") + // Enable incremental compilation if requested by user + if ctx.Config().IsEnvTrue("SOONG_RUSTC_INCREMENTAL") { + incrementalPath := android.PathForOutput(ctx, "rustc").String() + + rustcFlags = append(rustcFlags, "-C incremental="+incrementalPath) + } + // Collect linker flags linkFlags = append(linkFlags, flags.GlobalLinkFlags...) linkFlags = append(linkFlags, flags.LinkFlags...) diff --git a/rust/config/global.go b/rust/config/global.go index 78c8dae11..23384e551 100644 --- a/rust/config/global.go +++ b/rust/config/global.go @@ -55,6 +55,8 @@ var ( deviceGlobalRustFlags = []string{ "-C panic=abort", "-Z link-native-libraries=no", + // Generate additional debug info for AutoFDO + "-Z debug-info-for-profiling", } deviceGlobalLinkFlags = []string{ diff --git a/rust/project_json.go b/rust/project_json.go index ae48312b5..fe259d6c2 100644 --- a/rust/project_json.go +++ b/rust/project_json.go @@ -211,6 +211,8 @@ func isModuleSupported(ctx android.SingletonContext, module android.Module) (*Mo comp = c.binaryDecorator.baseCompiler case *procMacroDecorator: comp = c.baseCompiler + case *toolchainLibraryDecorator: + comp = c.baseCompiler default: return nil, nil, false } |