aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Lozano <ivanlozano@google.com>2020-02-10 16:50:40 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-02-10 16:50:40 +0000
commit2b2aee33a77e2da23da6bfa8f3d355b21dcb4cd4 (patch)
tree4091867c7793a8074770210a9a969fdf74735371
parent0bdcb27970c2dc209a43a58d3e7f71a93e879c1f (diff)
parent6aa660218e799faf003e6e7133b71c6c7038528b (diff)
downloadbuild_soong-2b2aee33a77e2da23da6bfa8f3d355b21dcb4cd4.tar.gz
build_soong-2b2aee33a77e2da23da6bfa8f3d355b21dcb4cd4.tar.bz2
build_soong-2b2aee33a77e2da23da6bfa8f3d355b21dcb4cd4.zip
Merge "Pass library kind when linking native libraries."
-rw-r--r--rust/rust.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/rust/rust.go b/rust/rust.go
index e4f85f0f..33ef7147 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -623,21 +623,24 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
linkFile := ccDep.OutputFile()
linkPath := linkPathFromFilePath(linkFile.Path())
libName := libNameFromFilePath(linkFile.Path())
+ depFlag := "-l" + libName
+
if !linkFile.Valid() {
ctx.ModuleErrorf("Invalid output file when adding dep %q to %q", depName, ctx.ModuleName())
}
exportDep := false
-
switch depTag {
case cc.StaticDepTag:
+ depFlag = "-lstatic=" + libName
depPaths.linkDirs = append(depPaths.linkDirs, linkPath)
- depPaths.depFlags = append(depPaths.depFlags, "-l"+libName)
+ depPaths.depFlags = append(depPaths.depFlags, depFlag)
directStaticLibDeps = append(directStaticLibDeps, ccDep)
mod.Properties.AndroidMkStaticLibs = append(mod.Properties.AndroidMkStaticLibs, depName)
case cc.SharedDepTag:
+ depFlag = "-ldylib=" + libName
depPaths.linkDirs = append(depPaths.linkDirs, linkPath)
- depPaths.depFlags = append(depPaths.depFlags, "-l"+libName)
+ depPaths.depFlags = append(depPaths.depFlags, depFlag)
directSharedLibDeps = append(directSharedLibDeps, ccDep)
mod.Properties.AndroidMkSharedLibs = append(mod.Properties.AndroidMkSharedLibs, depName)
exportDep = true
@@ -650,10 +653,10 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
// Make sure these dependencies are propagated
if lib, ok := mod.compiler.(*libraryDecorator); ok && exportDep {
lib.linkDirs = append(lib.linkDirs, linkPath)
- lib.depFlags = append(lib.depFlags, "-l"+libName)
+ lib.depFlags = append(lib.depFlags, depFlag)
} else if procMacro, ok := mod.compiler.(*procMacroDecorator); ok && exportDep {
procMacro.linkDirs = append(procMacro.linkDirs, linkPath)
- procMacro.depFlags = append(procMacro.depFlags, "-l"+libName)
+ procMacro.depFlags = append(procMacro.depFlags, depFlag)
}
}