summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/clang/files/clang-2.9-darwin-prefix.patch')
-rw-r--r--sys-devel/clang/files/clang-2.9-darwin-prefix.patch125
1 files changed, 125 insertions, 0 deletions
diff --git a/sys-devel/clang/files/clang-2.9-darwin-prefix.patch b/sys-devel/clang/files/clang-2.9-darwin-prefix.patch
new file mode 100644
index 000000000000..8f79e7f6f24e
--- /dev/null
+++ b/sys-devel/clang/files/clang-2.9-darwin-prefix.patch
@@ -0,0 +1,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.