diff options
Diffstat (limited to 'rust/rust.go')
-rw-r--r-- | rust/rust.go | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/rust/rust.go b/rust/rust.go index e56a6ae26..17fd04225 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -807,8 +807,8 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps { directSrcProvidersDeps = append(directSrcProvidersDeps, rustDep) } - //Append the dependencies exportedDirs - if lib, ok := rustDep.compiler.(exportedFlagsProducer); ok { + //Append the dependencies exportedDirs, except for proc-macros which target a different arch/OS + if lib, ok := rustDep.compiler.(exportedFlagsProducer); ok && depTag != procMacroDepTag { depPaths.linkDirs = append(depPaths.linkDirs, lib.exportedLinkDirs()...) depPaths.depFlags = append(depPaths.depFlags, lib.exportedDepFlags()...) } @@ -848,8 +848,8 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps { } exportDep := false - switch depTag { - case cc.StaticDepTag: + switch { + case cc.IsStaticDepTag(depTag): depFlag = "-lstatic=" + libName depPaths.linkDirs = append(depPaths.linkDirs, linkPath) depPaths.depFlags = append(depPaths.depFlags, depFlag) @@ -861,7 +861,7 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps { depPaths.coverageFiles = append(depPaths.coverageFiles, ccDep.CoverageFiles()...) directStaticLibDeps = append(directStaticLibDeps, ccDep) mod.Properties.AndroidMkStaticLibs = append(mod.Properties.AndroidMkStaticLibs, depName) - case cc.SharedDepTag: + case cc.IsSharedDepTag(depTag): depFlag = "-ldylib=" + libName depPaths.linkDirs = append(depPaths.linkDirs, linkPath) depPaths.depFlags = append(depPaths.depFlags, depFlag) @@ -873,9 +873,9 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps { directSharedLibDeps = append(directSharedLibDeps, ccDep) mod.Properties.AndroidMkSharedLibs = append(mod.Properties.AndroidMkSharedLibs, depName) exportDep = true - case cc.CrtBeginDepTag: + case depTag == cc.CrtBeginDepTag: depPaths.CrtBegin = linkFile - case cc.CrtEndDepTag: + case depTag == cc.CrtEndDepTag: depPaths.CrtEnd = linkFile } @@ -998,10 +998,10 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { actx.AddVariationDependencies(append(commonDepVariations, blueprint.Variation{Mutator: "link", Variation: "shared"}), - cc.SharedDepTag, deps.SharedLibs...) + cc.SharedDepTag(), deps.SharedLibs...) actx.AddVariationDependencies(append(commonDepVariations, blueprint.Variation{Mutator: "link", Variation: "static"}), - cc.StaticDepTag, deps.StaticLibs...) + cc.StaticDepTag(), deps.StaticLibs...) if deps.CrtBegin != "" { actx.AddVariationDependencies(commonDepVariations, cc.CrtBeginDepTag, deps.CrtBegin) |