Here is a patch honoring sysroot for ld, let me know if it works for you. 2015-07-07 12:13 GMT+03:00 Yaron Keren <yaron.ke...@gmail.com>:
> Hi, Please see if the attached patch works on opensuse. > > I'll look at the cygnus ld issue later. > > > 2015-07-07 10:38 GMT+03:00 İsmail Dönmez <ism...@donmez.ws>: > >> Hi, >> >> On Mon, Jul 6, 2015 at 10:40 AM, Yaron Keren <yaron.ke...@gmail.com> >> wrote: >> > Author: yrnkrn >> > Date: Mon Jul 6 02:40:10 2015 >> > New Revision: 241432 >> > >> > URL: http://llvm.org/viewvc/llvm-project?rev=241432&view=rev >> > Log: >> > Teach mingw toolchain the msys2 mingw-w64 distribution C++ dirs. >> > >> > >> > Modified: >> > cfe/trunk/lib/Driver/MinGWToolChain.cpp >> > cfe/trunk/lib/Driver/ToolChains.h >> >> I tried this revision on openSUSE MinGW toolchain and its missing one >> include path, which is $GCC_ROOT/nclude/c++/x86_64-w64-mingw32 which >> contains "bits" and "ext" directories. Would you mind adding that to >> the list too? >> >> Thanks! >> > >
Index: tools/clang/lib/Driver/MinGWToolChain.cpp =================================================================== --- tools/clang/lib/Driver/MinGWToolChain.cpp (revision 241594) +++ tools/clang/lib/Driver/MinGWToolChain.cpp (working copy) @@ -22,10 +22,14 @@ MinGW::MinGW(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) : ToolChain(D, Triple, Args) { - getProgramPaths().push_back(getDriver().getInstalledDir()); + StringRef SysRoot = getDriver().SysRoot; + if (SysRoot.size()) + getProgramPaths().push_back(SysRoot); + else + getProgramPaths().push_back(getDriver().getInstalledDir()); - if (getDriver().SysRoot.size()) - Base = getDriver().SysRoot; + if (SysRoot.size()) + Base = SysRoot; else if (llvm::ErrorOr<std::string> GPPName = llvm::sys::findProgramByName("gcc")) Base = llvm::sys::path::parent_path(
_______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits