diff options
| author | mosimchah <mosimchah@gmail.com> | 2025-12-02 09:27:38 -0500 |
|---|---|---|
| committer | mosimchah <mosimchah@gmail.com> | 2025-12-02 09:27:38 -0500 |
| commit | c7bade461dc55726f62997d13a48582f7c4b4655 (patch) | |
| tree | ea0588da76060a2038f54f67efd046ca77634b10 /rust/toolchain_library.go | |
| parent | 0f5414d19317805e8bbbe7c4db5f0fd78769bad5 (diff) | |
| parent | 89d78cff8b00d3b20a90074635c3fe5a2ee49474 (diff) | |
Merge branch 'lineage-23.1' of https://github.com/LineageOS/android_build_soong into HEADw16.1
* 'lineage-23.1' of https://github.com/LineageOS/android_build_soong: (528 commits)
Revert "install_symlink: Make symlink target configurable"
Reapply "Clear as much of cc.Module as possible after GenerateBuildActions"
Revert "rust: config: Fix missing CPU variant LD flags in Rust"
Rename build-flag in outdir
Revert^4 "cipd: Default CIPD proxy server to on, add opt-out"
Convert check-vintf-all to phony with actions
Create a partial implementation of check-vintf-all for soong-only
Configure RBE rust pool based on build variant
Revert^3 "Add sdk version check to arr"
Add jdk.internal.invoke to the allowlist
Make droid always depend on symbols zip
Import Device and Odm skus
Don't install gob_gen in Soong
Remove bazel reference from run_integration_tests.sh
Fix bootstrap_test.sh
Don't panic in aconfig libraries when AllowMissingDependencies is set
Avoid returning nil paths from PathForModuleSrc
Revert "Flag controled clang version"
Rework module target dependencies on required deps
Revert^2 "Add sdk version check to arr"
...
Change-Id: I6e9a63fa14fda917a42e426e5dcebbad7f67e1de
Diffstat (limited to 'rust/toolchain_library.go')
| -rw-r--r-- | rust/toolchain_library.go | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/rust/toolchain_library.go b/rust/toolchain_library.go index 054104ccc..b174daf28 100644 --- a/rust/toolchain_library.go +++ b/rust/toolchain_library.go @@ -52,6 +52,16 @@ type toolchainLibraryDecorator struct { Properties toolchainLibraryProperties } +// toolchainCrateRoot implements toolchainCompiler. +func (t *toolchainLibraryDecorator) toolchainCrateRoot() *string { + return t.Properties.Toolchain_crate_root +} + +// toolchainSrcs implements toolchainCompiler. +func (t *toolchainLibraryDecorator) toolchainSrcs() []string { + return t.Properties.Toolchain_srcs +} + // rust_toolchain_library produces all rust variants. func rustToolchainLibraryFactory() android.Module { module, library := NewRustLibrary(android.HostAndDeviceSupported) @@ -87,12 +97,19 @@ func initToolchainLibrary(module *Module, library *libraryDecorator) android.Mod return module.Init() } +type toolchainCompiler interface { + toolchainCrateRoot() *string + toolchainSrcs() []string +} + +var _ toolchainCompiler = (*toolchainLibraryDecorator)(nil) + func rustSetToolchainSource(ctx android.LoadHookContext) { - if toolchainLib, ok := ctx.Module().(*Module).compiler.(*toolchainLibraryDecorator); ok { + if toolchainLib, ok := ctx.Module().(*Module).compiler.(toolchainCompiler); ok { prefix := filepath.Join("linux-x86", GetRustPrebuiltVersion(ctx)) - versionedCrateRoot := path.Join(prefix, android.String(toolchainLib.Properties.Toolchain_crate_root)) - versionedSrcs := make([]string, len(toolchainLib.Properties.Toolchain_srcs)) - for i, src := range toolchainLib.Properties.Toolchain_srcs { + versionedCrateRoot := path.Join(prefix, android.String(toolchainLib.toolchainCrateRoot())) + versionedSrcs := make([]string, len(toolchainLib.toolchainSrcs())) + for i, src := range toolchainLib.toolchainSrcs() { versionedSrcs[i] = path.Join(prefix, src) } @@ -105,7 +122,7 @@ func rustSetToolchainSource(ctx android.LoadHookContext) { p.Srcs = versionedSrcs ctx.AppendProperties(p) } else { - ctx.ModuleErrorf("Called rustSetToolchainSource on a non-Rust Module.") + ctx.ModuleErrorf("Called rustSetToolchainSource on a non-Toolchain Module.") } } |
