OLD | NEW |
1 //===--- ToolChains.cpp - ToolChain Implementations -----------------------===// | 1 //===--- ToolChains.cpp - ToolChain Implementations -----------------------===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 | 9 |
10 #include "ToolChains.h" | 10 #include "ToolChains.h" |
(...skipping 2338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2349 file_paths.push_back(ToolPath + "x86_64-nacl"); | 2349 file_paths.push_back(ToolPath + "x86_64-nacl"); |
2350 break; | 2350 break; |
2351 } | 2351 } |
2352 case llvm::Triple::arm: { | 2352 case llvm::Triple::arm: { |
2353 file_paths.push_back(FilePath + "arm-nacl/lib"); | 2353 file_paths.push_back(FilePath + "arm-nacl/lib"); |
2354 file_paths.push_back(FilePath + "arm-nacl/usr/lib"); | 2354 file_paths.push_back(FilePath + "arm-nacl/usr/lib"); |
2355 prog_paths.push_back(ProgPath + "arm-nacl/bin"); | 2355 prog_paths.push_back(ProgPath + "arm-nacl/bin"); |
2356 file_paths.push_back(ToolPath + "arm-nacl"); | 2356 file_paths.push_back(ToolPath + "arm-nacl"); |
2357 break; | 2357 break; |
2358 } | 2358 } |
| 2359 case llvm::Triple::mipsel: { |
| 2360 file_paths.push_back(FilePath + "mipsel-nacl/lib"); |
| 2361 file_paths.push_back(FilePath + "mipsel-nacl/usr/lib"); |
| 2362 prog_paths.push_back(ProgPath + "bin"); |
| 2363 file_paths.push_back(ToolPath + "mipsel-nacl"); |
| 2364 break; |
| 2365 } |
2359 default: | 2366 default: |
2360 break; | 2367 break; |
2361 } | 2368 } |
2362 | 2369 |
2363 // Use provided linker, not system linker | 2370 // Use provided linker, not system linker |
2364 Linker = GetLinkerPath(); | 2371 Linker = GetLinkerPath(); |
2365 NaClArmMacrosPath = GetFilePath("nacl-arm-macros.s"); | 2372 NaClArmMacrosPath = GetFilePath("nacl-arm-macros.s"); |
2366 } | 2373 } |
2367 | 2374 |
2368 void NaCl_TC::AddClangSystemIncludeArgs(const ArgList &DriverArgs, | 2375 void NaCl_TC::AddClangSystemIncludeArgs(const ArgList &DriverArgs, |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2438 llvm::sys::path::append(P, "arm-nacl/include/c++/v1"); | 2445 llvm::sys::path::append(P, "arm-nacl/include/c++/v1"); |
2439 addSystemInclude(DriverArgs, CC1Args, P.str()); | 2446 addSystemInclude(DriverArgs, CC1Args, P.str()); |
2440 } else if (getTriple().getArch() == llvm::Triple::x86) { | 2447 } else if (getTriple().getArch() == llvm::Triple::x86) { |
2441 SmallString<128> P(D.Dir + "/../"); | 2448 SmallString<128> P(D.Dir + "/../"); |
2442 llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1"); | 2449 llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1"); |
2443 addSystemInclude(DriverArgs, CC1Args, P.str()); | 2450 addSystemInclude(DriverArgs, CC1Args, P.str()); |
2444 } else if (getTriple().getArch() == llvm::Triple::x86_64) { | 2451 } else if (getTriple().getArch() == llvm::Triple::x86_64) { |
2445 SmallString<128> P(D.Dir + "/../"); | 2452 SmallString<128> P(D.Dir + "/../"); |
2446 llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1"); | 2453 llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1"); |
2447 addSystemInclude(DriverArgs, CC1Args, P.str()); | 2454 addSystemInclude(DriverArgs, CC1Args, P.str()); |
| 2455 } else if (getTriple().getArch() == llvm::Triple::mipsel) { |
| 2456 SmallString<128> P(D.Dir + "/../"); |
| 2457 llvm::sys::path::append(P, "mipsel-nacl/include/c++/v1"); |
| 2458 addSystemInclude(DriverArgs, CC1Args, P.str()); |
2448 } | 2459 } |
2449 } | 2460 } |
2450 | 2461 |
2451 ToolChain::CXXStdlibType NaCl_TC::GetCXXStdlibType(const ArgList &Args) const { | 2462 ToolChain::CXXStdlibType NaCl_TC::GetCXXStdlibType(const ArgList &Args) const { |
2452 if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) { | 2463 if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) { |
2453 StringRef Value = A->getValue(); | 2464 StringRef Value = A->getValue(); |
2454 if (Value == "libc++") | 2465 if (Value == "libc++") |
2455 return ToolChain::CST_Libcxx; | 2466 return ToolChain::CST_Libcxx; |
2456 getDriver().Diag(diag::err_drv_invalid_stdlib_name) | 2467 getDriver().Diag(diag::err_drv_invalid_stdlib_name) |
2457 << A->getAsString(Args); | 2468 << A->getAsString(Args); |
(...skipping 1236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3694 StringRef(cl_include_dir).split(Dirs, StringRef(EnvPathSeparatorStr)); | 3705 StringRef(cl_include_dir).split(Dirs, StringRef(EnvPathSeparatorStr)); |
3695 ArrayRef<StringRef> DirVec(Dirs); | 3706 ArrayRef<StringRef> DirVec(Dirs); |
3696 addSystemIncludes(DriverArgs, CC1Args, DirVec); | 3707 addSystemIncludes(DriverArgs, CC1Args, DirVec); |
3697 } | 3708 } |
3698 } | 3709 } |
3699 | 3710 |
3700 void XCore::AddCXXStdlibLibArgs(const ArgList &Args, | 3711 void XCore::AddCXXStdlibLibArgs(const ArgList &Args, |
3701 ArgStringList &CmdArgs) const { | 3712 ArgStringList &CmdArgs) const { |
3702 // We don't output any lib args. This is handled by xcc. | 3713 // We don't output any lib args. This is handled by xcc. |
3703 } | 3714 } |
OLD | NEW |