diff options
author | 2025-01-29 15:14:17 -0800 | |
---|---|---|
committer | 2025-01-29 15:29:06 -0800 | |
commit | 58eef4f7de976345ce33c94cfc45440634158448 (patch) | |
tree | f67c7370762e3871e739acda33d81c4e04b2c606 /rust/compiler.go | |
parent | d2c82e1253469a518acf2cf6431ee966551da693 (diff) |
Convert rust module-info.json to soong
This leads to idendical results as before, with the exception of
the "required" field in module-info.json. Make has more complicated
logic to fill out the required field than soong, and it leads to
make-specific names such as ones suffixed with :32 and don't make sense
in soong. I'm don't think there are critical users of that field though,
so I'll try removing it.
Everything else should be identical to the make-generated information
though.
Bug: 389720048
Test: diff'd module-info.json before and after this cl in soong+make mode
Change-Id: I74aefe578287f07474c15e5f92a0c2780a679047
Diffstat (limited to 'rust/compiler.go')
-rw-r--r-- | rust/compiler.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/rust/compiler.go b/rust/compiler.go index 1d2fb58c3..f186ef38f 100644 --- a/rust/compiler.go +++ b/rust/compiler.go @@ -78,6 +78,8 @@ type compiler interface { checkedCrateRootPath() (android.Path, error) Aliases() map[string]string + + moduleInfoJSON(ctx ModuleContext, moduleInfoJSON *android.ModuleInfoJSON) } func (compiler *baseCompiler) edition() string { @@ -327,6 +329,31 @@ func (compiler *baseCompiler) stdLinkage(device bool) RustLinkage { } } +func (compiler *baseCompiler) moduleInfoJSON(ctx ModuleContext, moduleInfoJSON *android.ModuleInfoJSON) { + moduleInfoJSON.Class = []string{"ETC"} + + mod := ctx.Module().(*Module) + + moduleInfoJSON.SharedLibs = mod.transitiveAndroidMkSharedLibs.ToList() + moduleInfoJSON.Dependencies = append(moduleInfoJSON.Dependencies, mod.transitiveAndroidMkSharedLibs.ToList()...) + moduleInfoJSON.Dependencies = append(moduleInfoJSON.Dependencies, mod.Properties.AndroidMkDylibs...) + moduleInfoJSON.Dependencies = append(moduleInfoJSON.Dependencies, mod.Properties.AndroidMkHeaderLibs...) + moduleInfoJSON.Dependencies = append(moduleInfoJSON.Dependencies, mod.Properties.AndroidMkProcMacroLibs...) + moduleInfoJSON.Dependencies = append(moduleInfoJSON.Dependencies, mod.Properties.AndroidMkRlibs...) + moduleInfoJSON.Dependencies = append(moduleInfoJSON.Dependencies, mod.Properties.AndroidMkStaticLibs...) + moduleInfoJSON.SystemSharedLibs = []string{"none"} + moduleInfoJSON.StaticLibs = mod.Properties.AndroidMkStaticLibs + + if mod.sourceProvider != nil { + moduleInfoJSON.SubName += mod.sourceProvider.getSubName() + } + moduleInfoJSON.SubName += mod.AndroidMkSuffix() + + if mod.Properties.IsSdkVariant { + moduleInfoJSON.Uninstallable = true + } +} + var _ compiler = (*baseCompiler)(nil) func (compiler *baseCompiler) inData() bool { |