diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-09-18 08:14:36 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-09-18 08:14:36 +0000 |
commit | 4c30b89def8d11748eded0f110379f1202196db2 (patch) | |
tree | da43496aa05306095b2bb1f2a2bee02c72b78a79 /clang/lib/Driver/ToolChains.cpp | |
parent | 48622c13f749125cf606a9f2486ac887dce497d9 (diff) | |
download | bcm5719-llvm-4c30b89def8d11748eded0f110379f1202196db2.tar.gz bcm5719-llvm-4c30b89def8d11748eded0f110379f1202196db2.zip |
Lift AddLinkerSearchPaths() into Darwin tool chain.
llvm-svn: 82209
Diffstat (limited to 'clang/lib/Driver/ToolChains.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index 1013f24267e..deb06720f49 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -60,32 +60,32 @@ Darwin::Darwin(const HostInfo &Host, const llvm::Triple& Triple, if (getArchName() == "x86_64") { Path = getHost().getDriver().Dir; Path += "/../lib/gcc/"; - Path += getToolChainDir(); + Path += ToolChainDir; Path += "/x86_64"; getFilePaths().push_back(Path); Path = "/usr/lib/gcc/"; - Path += getToolChainDir(); + Path += ToolChainDir; Path += "/x86_64"; getFilePaths().push_back(Path); } Path = getHost().getDriver().Dir; Path += "/../lib/gcc/"; - Path += getToolChainDir(); + Path += ToolChainDir; getFilePaths().push_back(Path); Path = "/usr/lib/gcc/"; - Path += getToolChainDir(); + Path += ToolChainDir; getFilePaths().push_back(Path); Path = getHost().getDriver().Dir; Path += "/../libexec/gcc/"; - Path += getToolChainDir(); + Path += ToolChainDir; getProgramPaths().push_back(Path); Path = "/usr/libexec/gcc/"; - Path += getToolChainDir(); + Path += ToolChainDir; getProgramPaths().push_back(Path); Path = getHost().getDriver().Dir; @@ -134,6 +134,26 @@ Tool &Darwin::SelectTool(const Compilation &C, const JobAction &JA) const { return *T; } +void Darwin::AddLinkSearchPathArgs(const ArgList &Args, + ArgStringList &CmdArgs) const { + // FIXME: Derive these correctly. + if (getArchName() == "x86_64") { + CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir + + "/x86_64")); + // Intentionally duplicated for (temporary) gcc bug compatibility. + CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir + + "/x86_64")); + } + CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/" + ToolChainDir)); + CmdArgs.push_back(Args.MakeArgString("-L/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/usr/lib/gcc/" + ToolChainDir + + "/../../../" + ToolChainDir)); + CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir + + "/../../..")); +} + DerivedArgList *Darwin::TranslateArgs(InputArgList &Args, const char *BoundArch) const { DerivedArgList *DAL = new DerivedArgList(Args, false); |