Merge "Only store what's used in SharedLibraryInfo" am: 75851d2fb6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1730553 Change-Id: I9ef1100bc430cffaa4d44f8a906ee7f41ec4c16b
This commit is contained in:
4
cc/cc.go
4
cc/cc.go
@@ -2922,8 +2922,8 @@ func orderStaticModuleDeps(staticDeps []StaticLibraryInfo, sharedDeps []SharedLi
|
||||
transitiveStaticLibsBuilder.Transitive(staticDep.TransitiveStaticLibrariesForOrdering)
|
||||
}
|
||||
for _, sharedDep := range sharedDeps {
|
||||
if sharedDep.StaticAnalogue != nil {
|
||||
transitiveStaticLibsBuilder.Transitive(sharedDep.StaticAnalogue.TransitiveStaticLibrariesForOrdering)
|
||||
if sharedDep.TransitiveStaticLibrariesForOrdering != nil {
|
||||
transitiveStaticLibsBuilder.Transitive(sharedDep.TransitiveStaticLibrariesForOrdering)
|
||||
}
|
||||
}
|
||||
transitiveStaticLibs := transitiveStaticLibsBuilder.Build()
|
||||
|
@@ -1354,19 +1354,17 @@ func (library *libraryDecorator) linkShared(ctx ModuleContext,
|
||||
library.coverageOutputFile = transformCoverageFilesToZip(ctx, objs, library.getLibName(ctx))
|
||||
library.linkSAbiDumpFiles(ctx, objs, fileName, unstrippedOutputFile)
|
||||
|
||||
var staticAnalogue *StaticLibraryInfo
|
||||
var transitiveStaticLibrariesForOrdering *android.DepSet
|
||||
if static := ctx.GetDirectDepsWithTag(staticVariantTag); len(static) > 0 {
|
||||
s := ctx.OtherModuleProvider(static[0], StaticLibraryInfoProvider).(StaticLibraryInfo)
|
||||
staticAnalogue = &s
|
||||
transitiveStaticLibrariesForOrdering = s.TransitiveStaticLibrariesForOrdering
|
||||
}
|
||||
|
||||
ctx.SetProvider(SharedLibraryInfoProvider, SharedLibraryInfo{
|
||||
TableOfContents: android.OptionalPathForPath(tocFile),
|
||||
SharedLibrary: unstrippedOutputFile,
|
||||
UnstrippedSharedLibrary: library.unstrippedOutputFile,
|
||||
CoverageSharedLibrary: library.coverageOutputFile,
|
||||
StaticAnalogue: staticAnalogue,
|
||||
Target: ctx.Target(),
|
||||
TableOfContents: android.OptionalPathForPath(tocFile),
|
||||
SharedLibrary: unstrippedOutputFile,
|
||||
TransitiveStaticLibrariesForOrdering: transitiveStaticLibrariesForOrdering,
|
||||
Target: ctx.Target(),
|
||||
})
|
||||
|
||||
stubs := ctx.GetDirectDepsWithTag(stubImplDepTag)
|
||||
|
@@ -305,14 +305,13 @@ func HeaderDepTag() blueprint.DependencyTag {
|
||||
|
||||
// SharedLibraryInfo is a provider to propagate information about a shared C++ library.
|
||||
type SharedLibraryInfo struct {
|
||||
SharedLibrary android.Path
|
||||
UnstrippedSharedLibrary android.Path
|
||||
Target android.Target
|
||||
SharedLibrary android.Path
|
||||
Target android.Target
|
||||
|
||||
TableOfContents android.OptionalPath
|
||||
CoverageSharedLibrary android.OptionalPath
|
||||
TableOfContents android.OptionalPath
|
||||
|
||||
StaticAnalogue *StaticLibraryInfo
|
||||
// should be obtained from static analogue
|
||||
TransitiveStaticLibrariesForOrdering *android.DepSet
|
||||
}
|
||||
|
||||
var SharedLibraryInfoProvider = blueprint.NewProvider(SharedLibraryInfo{})
|
||||
|
@@ -186,9 +186,8 @@ func (ndk *ndkPrebuiltStlLinker) link(ctx ModuleContext, flags Flags,
|
||||
})
|
||||
} else {
|
||||
ctx.SetProvider(SharedLibraryInfoProvider, SharedLibraryInfo{
|
||||
SharedLibrary: lib,
|
||||
UnstrippedSharedLibrary: lib,
|
||||
Target: ctx.Target(),
|
||||
SharedLibrary: lib,
|
||||
Target: ctx.Target(),
|
||||
})
|
||||
}
|
||||
|
||||
|
@@ -183,9 +183,8 @@ func (p *prebuiltLibraryLinker) link(ctx ModuleContext,
|
||||
})
|
||||
|
||||
ctx.SetProvider(SharedLibraryInfoProvider, SharedLibraryInfo{
|
||||
SharedLibrary: outputFile,
|
||||
UnstrippedSharedLibrary: p.unstrippedOutputFile,
|
||||
Target: ctx.Target(),
|
||||
SharedLibrary: outputFile,
|
||||
Target: ctx.Target(),
|
||||
|
||||
TableOfContents: p.tocFile,
|
||||
})
|
||||
|
@@ -642,9 +642,8 @@ func (p *snapshotLibraryDecorator) link(ctx ModuleContext, flags Flags, deps Pat
|
||||
transformSharedObjectToToc(ctx, in, tocFile, builderFlags)
|
||||
|
||||
ctx.SetProvider(SharedLibraryInfoProvider, SharedLibraryInfo{
|
||||
SharedLibrary: in,
|
||||
UnstrippedSharedLibrary: p.unstrippedOutputFile,
|
||||
Target: ctx.Target(),
|
||||
SharedLibrary: in,
|
||||
Target: ctx.Target(),
|
||||
|
||||
TableOfContents: p.tocFile,
|
||||
})
|
||||
|
@@ -168,9 +168,8 @@ func (p *vndkPrebuiltLibraryDecorator) link(ctx ModuleContext,
|
||||
}
|
||||
|
||||
ctx.SetProvider(SharedLibraryInfoProvider, SharedLibraryInfo{
|
||||
SharedLibrary: in,
|
||||
UnstrippedSharedLibrary: p.unstrippedOutputFile,
|
||||
Target: ctx.Target(),
|
||||
SharedLibrary: in,
|
||||
Target: ctx.Target(),
|
||||
|
||||
TableOfContents: p.tocFile,
|
||||
})
|
||||
|
@@ -503,9 +503,8 @@ func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps Pa
|
||||
|
||||
if library.shared() {
|
||||
ctx.SetProvider(cc.SharedLibraryInfoProvider, cc.SharedLibraryInfo{
|
||||
SharedLibrary: outputFile,
|
||||
UnstrippedSharedLibrary: outputFile,
|
||||
Target: ctx.Target(),
|
||||
SharedLibrary: outputFile,
|
||||
Target: ctx.Target(),
|
||||
})
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user