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):