Add Toolchain.Bionic()
Move some cc ctx.Host() / ctx.Device() checks over to using
ctx.toolchain().Bionic(). There will be more changes, these are just the
obvious ones dealing with host_ldlibs / crt / system libraries.
Bug: 31559095
Test: out/soong/build.ninja is identical
Change-Id: Ibba60483b4ab0e01f6996eb7d883120e4acc1830
diff --git a/cc/config/toolchain.go b/cc/config/toolchain.go
index 5a4e032..020a0dd 100644
--- a/cc/config/toolchain.go
+++ b/cc/config/toolchain.go
@@ -74,6 +74,8 @@
SanitizerRuntimeLibraryArch() string
AvailableLibraries() []string
+
+ Bionic() bool
}
type toolchainBase struct {
@@ -133,6 +135,10 @@
return []string{}
}
+func (toolchainBase) Bionic() bool {
+ return true
+}
+
type toolchain64Bit struct {
toolchainBase
}
diff --git a/cc/config/x86_darwin_host.go b/cc/config/x86_darwin_host.go
index 2db3cbf..a6d4aaf 100644
--- a/cc/config/x86_darwin_host.go
+++ b/cc/config/x86_darwin_host.go
@@ -269,6 +269,10 @@
return darwinAvailableLibraries
}
+func (t *toolchainDarwin) Bionic() bool {
+ return false
+}
+
var toolchainDarwinX86Singleton Toolchain = &toolchainDarwinX86{}
var toolchainDarwinX8664Singleton Toolchain = &toolchainDarwinX8664{}
diff --git a/cc/config/x86_linux_host.go b/cc/config/x86_linux_host.go
index 676ea5c..80e9289 100644
--- a/cc/config/x86_linux_host.go
+++ b/cc/config/x86_linux_host.go
@@ -256,6 +256,10 @@
return linuxAvailableLibraries
}
+func (t *toolchainLinux) Bionic() bool {
+ return false
+}
+
var toolchainLinuxX86Singleton Toolchain = &toolchainLinuxX86{}
var toolchainLinuxX8664Singleton Toolchain = &toolchainLinuxX8664{}
diff --git a/cc/config/x86_windows_host.go b/cc/config/x86_windows_host.go
index 79c9e36..ab593e9 100644
--- a/cc/config/x86_windows_host.go
+++ b/cc/config/x86_windows_host.go
@@ -202,6 +202,10 @@
return windowsAvailableLibraries
}
+func (t *toolchainWindows) Bionic() bool {
+ return false
+}
+
var toolchainWindowsX86Singleton Toolchain = &toolchainWindowsX86{}
var toolchainWindowsX8664Singleton Toolchain = &toolchainWindowsX8664{}