diff options
author | Ivan Lozano <ivanlozano@google.com> | 2020-02-10 16:50:40 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-02-10 16:50:40 +0000 |
commit | 2b2aee33a77e2da23da6bfa8f3d355b21dcb4cd4 (patch) | |
tree | 4091867c7793a8074770210a9a969fdf74735371 /rust | |
parent | 0bdcb27970c2dc209a43a58d3e7f71a93e879c1f (diff) | |
parent | 6aa660218e799faf003e6e7133b71c6c7038528b (diff) | |
download | build_soong-2b2aee33a77e2da23da6bfa8f3d355b21dcb4cd4.tar.gz build_soong-2b2aee33a77e2da23da6bfa8f3d355b21dcb4cd4.tar.bz2 build_soong-2b2aee33a77e2da23da6bfa8f3d355b21dcb4cd4.zip |
Merge "Pass library kind when linking native libraries."
Diffstat (limited to 'rust')
-rw-r--r-- | rust/rust.go | 13 |
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) } } |