ccc: Generalize Darwin/Link tool based on Darwin version.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62078 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/ccc/ccclib/HostInfo.py b/tools/ccc/ccclib/HostInfo.py
index a12d572..12fdfef 100644
--- a/tools/ccc/ccclib/HostInfo.py
+++ b/tools/ccc/ccclib/HostInfo.py
@@ -23,6 +23,17 @@
# Darwin
class DarwinHostInfo(HostInfo):
+ def __init__(self, driver):
+ super(DarwinHostInfo, self).__init__(driver)
+
+ # FIXME: Find right regex for this.
+ import re
+ m = re.match(r'([0-9]+)\.([0-9]+)\.([0-9]+)', driver.getHostReleaseName())
+ if not m:
+ raise RuntimeError,"Unable to determine Darwin version."
+ self.darwinVersion = tuple(map(int, m.groups()))
+ self.gccVersion = (4,2,1)
+
def useDriverDriver(self):
return True
@@ -31,7 +42,9 @@
def getToolChainForArch(self, arch):
if arch in ('i386', 'x86_64'):
- return ToolChain.Darwin10_X86_ToolChain(self.driver)
+ return ToolChain.Darwin_X86_ToolChain(self.driver,
+ self.darwinVersion,
+ self.gccVersion)
return ToolChain.Generic_GCC_ToolChain(self.driver)