forked from OSchip/llvm-project
Revert r253898 and r253899, this breaks mingw compilation on openSUSE.
Will re-apply after llvm 3.8 is branched. Original commit message: Driver: fallback to the location of clang if no sysroot, hard coding /usr makes little sense for mingw-w64. If we have portable toolchains having /usr breaks that. If the clang we use is in /usr/bin or /usr/sbin etc this will still detect as though it was hard coded to /usr This makes the most sense going forward for mingw-w64 toolchains on both linux and mac llvm-svn: 257468
This commit is contained in:
parent
bdd9da14d6
commit
5797c55f07
|
@ -66,17 +66,23 @@ MinGW::MinGW(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||||
: ToolChain(D, Triple, Args) {
|
: ToolChain(D, Triple, Args) {
|
||||||
getProgramPaths().push_back(getDriver().getInstalledDir());
|
getProgramPaths().push_back(getDriver().getInstalledDir());
|
||||||
|
|
||||||
// On Windows if there is no sysroot we search for gcc on the PATH.
|
// In Windows there aren't any standard install locations, we search
|
||||||
|
// for gcc on the PATH. In Linux the base is always /usr.
|
||||||
|
#ifdef LLVM_ON_WIN32
|
||||||
if (getDriver().SysRoot.size())
|
if (getDriver().SysRoot.size())
|
||||||
Base = getDriver().SysRoot;
|
Base = getDriver().SysRoot;
|
||||||
#ifdef LLVM_ON_WIN32
|
|
||||||
else if (llvm::ErrorOr<std::string> GPPName =
|
else if (llvm::ErrorOr<std::string> GPPName =
|
||||||
llvm::sys::findProgramByName("gcc"))
|
llvm::sys::findProgramByName("gcc"))
|
||||||
Base = llvm::sys::path::parent_path(
|
Base = llvm::sys::path::parent_path(
|
||||||
llvm::sys::path::parent_path(GPPName.get()));
|
llvm::sys::path::parent_path(GPPName.get()));
|
||||||
#endif
|
else
|
||||||
if (!Base.size())
|
|
||||||
Base = llvm::sys::path::parent_path(getDriver().getInstalledDir());
|
Base = llvm::sys::path::parent_path(getDriver().getInstalledDir());
|
||||||
|
#else
|
||||||
|
if (getDriver().SysRoot.size())
|
||||||
|
Base = getDriver().SysRoot;
|
||||||
|
else
|
||||||
|
Base = "/usr";
|
||||||
|
#endif
|
||||||
|
|
||||||
Base += llvm::sys::path::get_separator();
|
Base += llvm::sys::path::get_separator();
|
||||||
findGccLibDir();
|
findGccLibDir();
|
||||||
|
|
Loading…
Reference in New Issue