From 487689eaee9edf5163ed31e3a66f8e35f1dfcfb6 Mon Sep 17 00:00:00 2001 From: Kiyoung Kim Date: Tue, 26 Jul 2022 09:48:22 +0900 Subject: Introduce cc_api_library Introduce cc_api_library, which reflects imported API from other inner-tree. This cc_api_library module type will later refer from the other ninja module which generates stub library from the interface description. Tested environment : * original libc definition has been removed temporarily, to ensure that imported api stub library is being used from build * Added new definition of libc as below cc_api_library { name: "libc", arch: { x86: { src: "libs/x86/libc.so", }, x86_64: { src: "libs/x86_64/libc.so", }, }, header_libs: [ "libc_headers", ], export_header_lib_headers: ["libc_headers"], min_sdk_version: "9", vendor_available: true, } Bug: 236087698 Test: `ALLOW_MISSING_DEPENDENCIES=true m vendorimage` succeeded Change-Id: I67070b0f3561aa2afd73b6c1c0fdf4255218baac --- rust/rust.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'rust/rust.go') diff --git a/rust/rust.go b/rust/rust.go index d5d492971..4c3d25aba 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -1380,6 +1380,11 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { var commonDepVariations []blueprint.Variation var snapshotInfo *cc.SnapshotInfo + apiImportInfo := cc.GetApiImports(mod, actx) + for idx, lib := range deps.SharedLibs { + deps.SharedLibs[idx] = cc.GetReplaceModuleName(lib, apiImportInfo.SharedLibs) + } + if ctx.Os() == android.Android { deps.SharedLibs, _ = cc.RewriteLibs(mod, &snapshotInfo, actx, ctx.Config(), deps.SharedLibs) } @@ -1400,7 +1405,7 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { rlibDepVariations = append(rlibDepVariations, blueprint.Variation{Mutator: "rust_libraries", Variation: rlibVariation}) for _, lib := range deps.Rlibs { depTag := rlibDepTag - lib = cc.RewriteSnapshotLib(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).Rlibs) + lib = cc.GetReplaceModuleName(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).Rlibs) actx.AddVariationDependencies(rlibDepVariations, depTag, lib) } @@ -1438,7 +1443,7 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { if mod.compiler.stdLinkage(ctx) == RlibLinkage { for _, lib := range deps.Stdlibs { depTag := rlibDepTag - lib = cc.RewriteSnapshotLib(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).Rlibs) + lib = cc.GetReplaceModuleName(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).Rlibs) actx.AddVariationDependencies(append(commonDepVariations, []blueprint.Variation{{Mutator: "rust_libraries", Variation: "rlib"}}...), depTag, lib) @@ -1462,7 +1467,7 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { for _, lib := range deps.WholeStaticLibs { depTag := cc.StaticDepTag(true) - lib = cc.RewriteSnapshotLib(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).StaticLibs) + lib = cc.GetReplaceModuleName(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).StaticLibs) actx.AddVariationDependencies([]blueprint.Variation{ {Mutator: "link", Variation: "static"}, @@ -1471,7 +1476,7 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { for _, lib := range deps.StaticLibs { depTag := cc.StaticDepTag(false) - lib = cc.RewriteSnapshotLib(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).StaticLibs) + lib = cc.GetReplaceModuleName(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).StaticLibs) actx.AddVariationDependencies([]blueprint.Variation{ {Mutator: "link", Variation: "static"}, @@ -1483,11 +1488,11 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { crtVariations := cc.GetCrtVariations(ctx, mod) for _, crt := range deps.CrtBegin { actx.AddVariationDependencies(crtVariations, cc.CrtBeginDepTag, - cc.RewriteSnapshotLib(crt, cc.GetSnapshot(mod, &snapshotInfo, actx).Objects)) + cc.GetReplaceModuleName(crt, cc.GetSnapshot(mod, &snapshotInfo, actx).Objects)) } for _, crt := range deps.CrtEnd { actx.AddVariationDependencies(crtVariations, cc.CrtEndDepTag, - cc.RewriteSnapshotLib(crt, cc.GetSnapshot(mod, &snapshotInfo, actx).Objects)) + cc.GetReplaceModuleName(crt, cc.GetSnapshot(mod, &snapshotInfo, actx).Objects)) } if mod.sourceProvider != nil { @@ -1510,7 +1515,7 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { // addRlibDependency will add an rlib dependency, rewriting to the snapshot library if available. func addRlibDependency(actx android.BottomUpMutatorContext, lib string, mod *Module, snapshotInfo *cc.SnapshotInfo, variations []blueprint.Variation) { - lib = cc.RewriteSnapshotLib(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).Rlibs) + lib = cc.GetReplaceModuleName(lib, cc.GetSnapshot(mod, &snapshotInfo, actx).Rlibs) actx.AddVariationDependencies(variations, rlibDepTag, lib) } -- cgit v1.2.3-59-g8ed1b