From: Tim Northover Date: Thu, 22 May 2014 13:12:14 +0000 (+0000) Subject: MachO: look for nearby tools on all MachO platforms. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d16325c4b1295123e361ca2d4006d44d4ba0d8d9;p=clang MachO: look for nearby tools on all MachO platforms. This brings "-arch armv7m" (etc) behaviour more in line with what's expected for developers on OS X, and allows Clang to find an "ld" (for example) in the same directory instead of using the default /usr/bin/ld. Unfortunately no test because it relies on the specific place Clang is running from. rdar://problem/16427320 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209437 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index c0829021fc..5f9b19c3ff 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -45,6 +45,14 @@ using namespace llvm::opt; MachO::MachO(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) : ToolChain(D, Triple, Args) { + getProgramPaths().push_back(getDriver().getInstalledDir()); + if (getDriver().getInstalledDir() != getDriver().Dir) + getProgramPaths().push_back(getDriver().Dir); + + // We expect 'as', 'ld', etc. to be adjacent to our install dir. + getProgramPaths().push_back(getDriver().getInstalledDir()); + if (getDriver().getInstalledDir() != getDriver().Dir) + getProgramPaths().push_back(getDriver().Dir); } /// Darwin - Darwin tool chain for i386 and x86_64. @@ -232,14 +240,6 @@ Tool *MachO::buildAssembler() const { DarwinClang::DarwinClang(const Driver &D, const llvm::Triple& Triple, const ArgList &Args) : Darwin(D, Triple, Args) { - getProgramPaths().push_back(getDriver().getInstalledDir()); - if (getDriver().getInstalledDir() != getDriver().Dir) - getProgramPaths().push_back(getDriver().Dir); - - // We expect 'as', 'ld', etc. to be adjacent to our install dir. - getProgramPaths().push_back(getDriver().getInstalledDir()); - if (getDriver().getInstalledDir() != getDriver().Dir) - getProgramPaths().push_back(getDriver().Dir); } void DarwinClang::addClangWarningOptions(ArgStringList &CC1Args) const {