Merge "Pass library kind when linking native libraries."
diff --git a/rust/rust.go b/rust/rust.go
index e4f85f0..33ef714 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -623,21 +623,24 @@
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 @@
// 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)
}
}