Revert "Simplify arch target handling"
This reverts commit 6713fb26cbcadf525cd75e47d7d0cbc23d282b3e.
Change-Id: Ic473cea2563b0b37dc08b0bc5d3a0ac8c4b6afe6
diff --git a/cc/toolchain.go b/cc/toolchain.go
index 87657ef..efb7953 100644
--- a/cc/toolchain.go
+++ b/cc/toolchain.go
@@ -22,13 +22,23 @@
type toolchainFactory func(arch android.Arch) Toolchain
-var toolchainFactories = make(map[android.OsType]map[android.ArchType]toolchainFactory)
+var toolchainFactories = map[android.HostOrDevice]map[android.HostType]map[android.ArchType]toolchainFactory{
+ android.Host: map[android.HostType]map[android.ArchType]toolchainFactory{
+ android.Linux: make(map[android.ArchType]toolchainFactory),
+ android.Darwin: make(map[android.ArchType]toolchainFactory),
+ android.Windows: make(map[android.ArchType]toolchainFactory),
+ },
+ android.Device: map[android.HostType]map[android.ArchType]toolchainFactory{
+ android.NoHostType: make(map[android.ArchType]toolchainFactory),
+ },
+}
-func registerToolchainFactory(os android.OsType, arch android.ArchType, factory toolchainFactory) {
- if toolchainFactories[os] == nil {
- toolchainFactories[os] = make(map[android.ArchType]toolchainFactory)
- }
- toolchainFactories[os][arch] = factory
+func registerDeviceToolchainFactory(arch android.ArchType, factory toolchainFactory) {
+ toolchainFactories[android.Device][android.NoHostType][arch] = factory
+}
+
+func registerHostToolchainFactory(ht android.HostType, arch android.ArchType, factory toolchainFactory) {
+ toolchainFactories[android.Host][ht][arch] = factory
}
type Toolchain interface {