ccc: Give the Host an opportunity to switch ToolChains when binding
archs (as a driver driver).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62053 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/ccc/ccclib/HostInfo.py b/tools/ccc/ccclib/HostInfo.py
index 5f68149..926152c 100644
--- a/tools/ccc/ccclib/HostInfo.py
+++ b/tools/ccc/ccclib/HostInfo.py
@@ -14,6 +14,12 @@
     def useDriverDriver(self):
         abstract
 
+    def getToolChain(self):
+        abstract
+
+    def getToolChainForArch(self, arch):
+        raise RuntimeError,"getToolChainForArch() unsupported on this host."
+
 # Darwin
 
 class DarwinHostInfo(HostInfo):
@@ -21,7 +27,13 @@
         return True
 
     def getToolChain(self):
-        return ToolChain.Darwin_ToolChain(self.driver)
+        return self.getToolChainForArch(self.getArchName())
+
+    def getToolChainForArch(self, arch):
+        if arch in ('i386', 'x86_64'):
+            return ToolChain.Darwin_ToolChain(self.driver)
+
+        return ToolChain.Generic_GCC_ToolChain(self.driver)
 
 class DarwinPPCHostInfo(DarwinHostInfo):
     def getArchName(self):