rust: Use host linker when building for Mac host.
This behavior is non-hermetic, but matches the behavior of the C++ support. On Linux, using lld works, but on OSX, this fails because lld does not support Apple's new .tbd files. Bug: 155302034 Test: On both Linux and Mac hosts: cd external/rust; mma Change-Id: I0ad489113d720bdb9c3b7a67cce9d1e72266f428
This commit is contained in:
@@ -54,6 +54,9 @@ var (
|
|||||||
"-Wl,--pack-dyn-relocs=android+relr",
|
"-Wl,--pack-dyn-relocs=android+relr",
|
||||||
"-Wl,--no-undefined",
|
"-Wl,--no-undefined",
|
||||||
"-Wl,--hash-style=gnu",
|
"-Wl,--hash-style=gnu",
|
||||||
|
|
||||||
|
"-B${ccConfig.ClangBin}",
|
||||||
|
"-fuse-ld=lld",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -80,7 +83,7 @@ func init() {
|
|||||||
|
|
||||||
pctx.ImportAs("ccConfig", "android/soong/cc/config")
|
pctx.ImportAs("ccConfig", "android/soong/cc/config")
|
||||||
pctx.StaticVariable("RustLinker", "${ccConfig.ClangBin}/clang++")
|
pctx.StaticVariable("RustLinker", "${ccConfig.ClangBin}/clang++")
|
||||||
pctx.StaticVariable("RustLinkerArgs", "-B ${ccConfig.ClangBin} -fuse-ld=lld")
|
pctx.StaticVariable("RustLinkerArgs", "")
|
||||||
|
|
||||||
pctx.StaticVariable("DeviceGlobalLinkFlags", strings.Join(deviceGlobalLinkFlags, " "))
|
pctx.StaticVariable("DeviceGlobalLinkFlags", strings.Join(deviceGlobalLinkFlags, " "))
|
||||||
|
|
||||||
|
@@ -21,8 +21,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
DarwinRustFlags = []string{}
|
DarwinRustFlags = []string{}
|
||||||
DarwinRustLinkFlags = []string{}
|
DarwinRustLinkFlags = []string{
|
||||||
|
"-B${ccConfig.MacToolPath}",
|
||||||
|
}
|
||||||
darwinX8664Rustflags = []string{}
|
darwinX8664Rustflags = []string{}
|
||||||
darwinX8664Linkflags = []string{}
|
darwinX8664Linkflags = []string{}
|
||||||
)
|
)
|
||||||
|
@@ -21,8 +21,11 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
LinuxRustFlags = []string{}
|
LinuxRustFlags = []string{}
|
||||||
LinuxRustLinkFlags = []string{}
|
LinuxRustLinkFlags = []string{
|
||||||
|
"-B${ccConfig.ClangBin}",
|
||||||
|
"-fuse-ld=lld",
|
||||||
|
}
|
||||||
linuxX86Rustflags = []string{}
|
linuxX86Rustflags = []string{}
|
||||||
linuxX86Linkflags = []string{}
|
linuxX86Linkflags = []string{}
|
||||||
linuxX8664Rustflags = []string{}
|
linuxX8664Rustflags = []string{}
|
||||||
|
Reference in New Issue
Block a user