Merge "rust: Depend on CC a shared library's TOC, not .so"
This commit is contained in:
@@ -188,7 +188,7 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
|
|||||||
implicits = append(implicits, rustLibsToPaths(deps.DyLibs)...)
|
implicits = append(implicits, rustLibsToPaths(deps.DyLibs)...)
|
||||||
implicits = append(implicits, rustLibsToPaths(deps.ProcMacros)...)
|
implicits = append(implicits, rustLibsToPaths(deps.ProcMacros)...)
|
||||||
implicits = append(implicits, deps.StaticLibs...)
|
implicits = append(implicits, deps.StaticLibs...)
|
||||||
implicits = append(implicits, deps.SharedLibs...)
|
implicits = append(implicits, deps.SharedLibDeps...)
|
||||||
implicits = append(implicits, deps.srcProviderFiles...)
|
implicits = append(implicits, deps.srcProviderFiles...)
|
||||||
|
|
||||||
if deps.CrtBegin.Valid() {
|
if deps.CrtBegin.Valid() {
|
||||||
|
@@ -270,6 +270,7 @@ type PathDeps struct {
|
|||||||
DyLibs RustLibraries
|
DyLibs RustLibraries
|
||||||
RLibs RustLibraries
|
RLibs RustLibraries
|
||||||
SharedLibs android.Paths
|
SharedLibs android.Paths
|
||||||
|
SharedLibDeps android.Paths
|
||||||
StaticLibs android.Paths
|
StaticLibs android.Paths
|
||||||
ProcMacros RustLibraries
|
ProcMacros RustLibraries
|
||||||
linkDirs []string
|
linkDirs []string
|
||||||
@@ -952,10 +953,16 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
|||||||
staticLibDepFiles = append(staticLibDepFiles, dep.OutputFile().Path())
|
staticLibDepFiles = append(staticLibDepFiles, dep.OutputFile().Path())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var sharedLibFiles android.Paths
|
||||||
var sharedLibDepFiles android.Paths
|
var sharedLibDepFiles android.Paths
|
||||||
for _, dep := range directSharedLibDeps {
|
for _, dep := range directSharedLibDeps {
|
||||||
|
sharedLibFiles = append(sharedLibFiles, dep.OutputFile().Path())
|
||||||
|
if dep.Toc().Valid() {
|
||||||
|
sharedLibDepFiles = append(sharedLibDepFiles, dep.Toc().Path())
|
||||||
|
} else {
|
||||||
sharedLibDepFiles = append(sharedLibDepFiles, dep.OutputFile().Path())
|
sharedLibDepFiles = append(sharedLibDepFiles, dep.OutputFile().Path())
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var srcProviderDepFiles android.Paths
|
var srcProviderDepFiles android.Paths
|
||||||
for _, dep := range directSrcProvidersDeps {
|
for _, dep := range directSrcProvidersDeps {
|
||||||
@@ -970,12 +977,14 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
|||||||
depPaths.RLibs = append(depPaths.RLibs, rlibDepFiles...)
|
depPaths.RLibs = append(depPaths.RLibs, rlibDepFiles...)
|
||||||
depPaths.DyLibs = append(depPaths.DyLibs, dylibDepFiles...)
|
depPaths.DyLibs = append(depPaths.DyLibs, dylibDepFiles...)
|
||||||
depPaths.SharedLibs = append(depPaths.SharedLibs, sharedLibDepFiles...)
|
depPaths.SharedLibs = append(depPaths.SharedLibs, sharedLibDepFiles...)
|
||||||
|
depPaths.SharedLibDeps = append(depPaths.SharedLibDeps, sharedLibDepFiles...)
|
||||||
depPaths.StaticLibs = append(depPaths.StaticLibs, staticLibDepFiles...)
|
depPaths.StaticLibs = append(depPaths.StaticLibs, staticLibDepFiles...)
|
||||||
depPaths.ProcMacros = append(depPaths.ProcMacros, procMacroDepFiles...)
|
depPaths.ProcMacros = append(depPaths.ProcMacros, procMacroDepFiles...)
|
||||||
depPaths.SrcDeps = append(depPaths.SrcDeps, srcProviderDepFiles...)
|
depPaths.SrcDeps = append(depPaths.SrcDeps, srcProviderDepFiles...)
|
||||||
|
|
||||||
// Dedup exported flags from dependencies
|
// Dedup exported flags from dependencies
|
||||||
depPaths.linkDirs = android.FirstUniqueStrings(depPaths.linkDirs)
|
depPaths.linkDirs = android.FirstUniqueStrings(depPaths.linkDirs)
|
||||||
|
depPaths.linkObjects = android.FirstUniqueStrings(depPaths.linkObjects)
|
||||||
depPaths.depFlags = android.FirstUniqueStrings(depPaths.depFlags)
|
depPaths.depFlags = android.FirstUniqueStrings(depPaths.depFlags)
|
||||||
depPaths.depClangFlags = android.FirstUniqueStrings(depPaths.depClangFlags)
|
depPaths.depClangFlags = android.FirstUniqueStrings(depPaths.depClangFlags)
|
||||||
depPaths.depIncludePaths = android.FirstUniquePaths(depPaths.depIncludePaths)
|
depPaths.depIncludePaths = android.FirstUniquePaths(depPaths.depIncludePaths)
|
||||||
|
Reference in New Issue
Block a user