summaryrefslogtreecommitdiff
blob: 8f79e7f6f24e2be175968ee0ce77dff9f9414e74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
--- tools/clang/lib/Driver/ToolChains.cpp.orig	2011-03-21 22:29:27.000000000 +0100
+++ tools/clang/lib/Driver/ToolChains.cpp	2011-04-07 10:33:41.771314057 +0200
@@ -139,7 +139,7 @@
   GCCVersion[2] = 1;
 
   // Set up the tool chain paths to match gcc.
-  ToolChainDir = "i686-apple-darwin";
+  ToolChainDir = "@GENTOO_PORTAGE_CHOST@";
   ToolChainDir += llvm::utostr(DarwinVersion[0]);
   ToolChainDir += "/";
   ToolChainDir += llvm::utostr(GCCVersion[0]);
@@ -149,10 +149,10 @@
   ToolChainDir += llvm::utostr(GCCVersion[2]);
 
   // Try the next major version if that tool chain dir is invalid.
-  std::string Tmp = "/usr/lib/gcc/" + ToolChainDir;
+  std::string Tmp = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir;
   bool Exists;
   if (llvm::sys::fs::exists(Tmp, Exists) || Exists) {
-    std::string Next = "i686-apple-darwin";
+	std::string Next = "@GENTOO_PORTAGE_CHOST_ARCH@";
     Next += llvm::utostr(DarwinVersion[0] + 1);
     Next += "/";
     Next += llvm::utostr(GCCVersion[0]);
@@ -164,7 +164,7 @@
     // Use that if it exists, otherwise hope the user isn't linking.
     //
     // FIXME: Drop dependency on gcc's tool chain.
-    Tmp = "/usr/lib/gcc/" + Next;
+	Tmp = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + Next;
     if (!llvm::sys::fs::exists(Tmp, Exists) && Exists)
       ToolChainDir = Next;
   }
@@ -177,7 +177,7 @@
     Path += "/x86_64";
     getFilePaths().push_back(Path);
 
-    Path = "/usr/lib/gcc/";
+    Path = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/";
     Path += ToolChainDir;
     Path += "/x86_64";
     getFilePaths().push_back(Path);
@@ -188,7 +188,7 @@
   Path += ToolChainDir;
   getFilePaths().push_back(Path);
 
-  Path = "/usr/lib/gcc/";
+  Path = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/";
   Path += ToolChainDir;
   getFilePaths().push_back(Path);
 
@@ -197,7 +197,7 @@
   Path += ToolChainDir;
   getProgramPaths().push_back(Path);
 
-  Path = "/usr/libexec/gcc/";
+  Path = "@GENTOO_PORTAGE_EPREFIX@/usr/libexec/gcc/";
   Path += ToolChainDir;
   getProgramPaths().push_back(Path);
 
@@ -300,14 +300,14 @@
 
   // FIXME: Derive these correctly.
   if (getArchName() == "x86_64") {
-    CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
+    CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
                                          "/x86_64"));
     // Intentionally duplicated for (temporary) gcc bug compatibility.
-    CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
+    CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
                                          "/x86_64"));
   }
 
-  CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/" + ToolChainDir));
+  CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/" + ToolChainDir));
 
   Tmp = getDriver().Dir + "/../lib/gcc/" + ToolChainDir;
   bool Exists;
@@ -316,18 +316,18 @@
   Tmp = getDriver().Dir + "/../lib/gcc";
   if (!llvm::sys::fs::exists(Tmp, Exists) && Exists)
     CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
-  CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir));
+  CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir));
   // Intentionally duplicated for (temporary) gcc bug compatibility.
-  CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir));
+  CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir));
   Tmp = getDriver().Dir + "/../lib/" + ToolChainDir;
   if (!llvm::sys::fs::exists(Tmp, Exists) && Exists)
     CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
   Tmp = getDriver().Dir + "/../lib";
   if (!llvm::sys::fs::exists(Tmp, Exists) && Exists)
     CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
-  CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
+  CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
                                        "/../../../" + ToolChainDir));
-  CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
+  CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
                                        "/../../.."));
 }
 
@@ -416,22 +416,7 @@
   P.eraseComponent(); // .../usr/bin -> ../usr
   P.appendComponent("lib");
   P.appendComponent("gcc");
-  switch (getTriple().getArch()) {
-  default:
-    assert(0 && "Invalid Darwin arch!");
-  case llvm::Triple::x86:
-  case llvm::Triple::x86_64:
-    P.appendComponent("i686-apple-darwin10");
-    break;
-  case llvm::Triple::arm:
-  case llvm::Triple::thumb:
-    P.appendComponent("arm-apple-darwin10");
-    break;
-  case llvm::Triple::ppc:
-  case llvm::Triple::ppc64:
-    P.appendComponent("powerpc-apple-darwin10");
-    break;
-  }
+  P.appendComponent("@GENTOO_PORTAGE_CHOST@");
   P.appendComponent("4.2.1");
 
   // Determine the arch specific GCC subdirectory.