From: Bob Wilson Date: Thu, 3 May 2012 05:23:52 +0000 (+0000) Subject: Rip out old code for finding libraries in GCC's directories. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4206c27768e15865f936a9bdb8ea082087118b78;p=clang Rip out old code for finding libraries in GCC's directories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156058 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index 819039919d..cc1adb1ea8 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -287,76 +287,6 @@ void DarwinClang::AddGCCLibexecPath(unsigned darwinVersion) { getProgramPaths().push_back(Path); } -void DarwinClang::AddLinkSearchPathArgs(const ArgList &Args, - ArgStringList &CmdArgs) const { - // The Clang toolchain uses explicit paths for internal libraries. - - // Unfortunately, we still might depend on a few of the libraries that are - // only available in the gcc library directory (in particular - // libstdc++.dylib). For now, hardcode the path to the known install location. - // FIXME: This should get ripped out someday. However, when building on - // 10.6 (darwin10), we're still relying on this to find libstdc++.dylib. - llvm::sys::Path P(getDriver().Dir); - P.eraseComponent(); // .../usr/bin -> ../usr - P.appendComponent("llvm-gcc-4.2"); - P.appendComponent("lib"); - P.appendComponent("gcc"); - switch (getTriple().getArch()) { - default: - llvm_unreachable("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("4.2.1"); - - // Determine the arch specific GCC subdirectory. - const char *ArchSpecificDir = 0; - switch (getTriple().getArch()) { - default: - break; - case llvm::Triple::arm: - case llvm::Triple::thumb: { - std::string Triple = ComputeLLVMTriple(Args); - StringRef TripleStr = Triple; - if (TripleStr.startswith("armv5") || TripleStr.startswith("thumbv5")) - ArchSpecificDir = "v5"; - else if (TripleStr.startswith("armv6") || TripleStr.startswith("thumbv6")) - ArchSpecificDir = "v6"; - else if (TripleStr.startswith("armv7") || TripleStr.startswith("thumbv7")) - ArchSpecificDir = "v7"; - break; - } - case llvm::Triple::ppc64: - ArchSpecificDir = "ppc64"; - break; - case llvm::Triple::x86_64: - ArchSpecificDir = "x86_64"; - break; - } - - if (ArchSpecificDir) { - P.appendComponent(ArchSpecificDir); - bool Exists; - if (!llvm::sys::fs::exists(P.str(), Exists) && Exists) - CmdArgs.push_back(Args.MakeArgString("-L" + P.str())); - P.eraseComponent(); - } - - bool Exists; - if (!llvm::sys::fs::exists(P.str(), Exists) && Exists) - CmdArgs.push_back(Args.MakeArgString("-L" + P.str())); -} - void DarwinClang::AddLinkARCArgs(const ArgList &Args, ArgStringList &CmdArgs) const { diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h index a76a773a64..8456514b2f 100644 --- a/lib/Driver/ToolChains.h +++ b/lib/Driver/ToolChains.h @@ -279,14 +279,6 @@ public: return TargetVersion < VersionTuple(V0, V1, V2); } - /// AddLinkSearchPathArgs - Add the linker search paths to \arg CmdArgs. - /// - /// \param Args - The input argument list. - /// \param CmdArgs [out] - The command argument list to append the paths - /// (prefixed by -L) to. - virtual void AddLinkSearchPathArgs(const ArgList &Args, - ArgStringList &CmdArgs) const = 0; - /// AddLinkARCArgs - Add the linker arguments to link the ARC runtime library. virtual void AddLinkARCArgs(const ArgList &Args, ArgStringList &CmdArgs) const = 0; @@ -396,9 +388,6 @@ public: /// @name Darwin ToolChain Implementation /// { - virtual void AddLinkSearchPathArgs(const ArgList &Args, - ArgStringList &CmdArgs) const; - virtual void AddLinkRuntimeLibArgs(const ArgList &Args, ArgStringList &CmdArgs) const; void AddLinkRuntimeLib(const ArgList &Args, ArgStringList &CmdArgs, diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 6b3effb4d0..7565c9005e 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -4210,8 +4210,6 @@ void darwin::Link::ConstructJob(Compilation &C, const JobAction &JA, // This is more complicated in gcc... CmdArgs.push_back("-lgomp"); - getDarwinToolChain().AddLinkSearchPathArgs(Args, CmdArgs); - if (isObjCRuntimeLinked(Args)) { // Avoid linking compatibility stubs on i386 mac. if (!getDarwinToolChain().isTargetMacOS() ||