[PATCH] D45291: [Driver] Infer Android sysroot location.
This revision was automatically updated to reflect the committed changes. Closed by commit rC331390: [Driver] Infer Android sysroot location. (authored by danalbert, committed by ). Changed prior to commit: https://reviews.llvm.org/D45291?vs=141067&id=144916#toc Repository: rC Clang https://reviews.llvm.org/D45291 Files: lib/Driver/ToolChains/Linux.cpp Index: lib/Driver/ToolChains/Linux.cpp === --- lib/Driver/ToolChains/Linux.cpp +++ lib/Driver/ToolChains/Linux.cpp @@ -429,6 +429,15 @@ if (!getDriver().SysRoot.empty()) return getDriver().SysRoot; + if (getTriple().isAndroid()) { +// Android toolchains typically include a sysroot at ../sysroot relative to +// the clang binary. +const StringRef ClangDir = getDriver().getInstalledDir(); +std::string AndroidSysRootPath = (ClangDir + "/../sysroot").str(); +if (getVFS().exists(AndroidSysRootPath)) + return AndroidSysRootPath; + } + if (!GCCInstallation.isValid() || !tools::isMipsArch(getTriple().getArch())) return std::string(); Index: lib/Driver/ToolChains/Linux.cpp === --- lib/Driver/ToolChains/Linux.cpp +++ lib/Driver/ToolChains/Linux.cpp @@ -429,6 +429,15 @@ if (!getDriver().SysRoot.empty()) return getDriver().SysRoot; + if (getTriple().isAndroid()) { +// Android toolchains typically include a sysroot at ../sysroot relative to +// the clang binary. +const StringRef ClangDir = getDriver().getInstalledDir(); +std::string AndroidSysRootPath = (ClangDir + "/../sysroot").str(); +if (getVFS().exists(AndroidSysRootPath)) + return AndroidSysRootPath; + } + if (!GCCInstallation.isValid() || !tools::isMipsArch(getTriple().getArch())) return std::string(); ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D45291: [Driver] Infer Android sysroot location.
srhines accepted this revision. srhines added a comment. This revision is now accepted and ready to land. Thanks for adding this simplified support. Sorry about the extreme delay in getting these reviewed. Repository: rC Clang https://reviews.llvm.org/D45291 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D45291: [Driver] Infer Android sysroot location.
danalbert added a comment. Ping. Repository: rC Clang https://reviews.llvm.org/D45291 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D45291: [Driver] Infer Android sysroot location.
danalbert added a comment. Ping. Repository: rC Clang https://reviews.llvm.org/D45291 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D45291: [Driver] Infer Android sysroot location.
danalbert added a comment. Ping? Repository: rC Clang https://reviews.llvm.org/D45291 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D45291: [Driver] Infer Android sysroot location.
danalbert created this revision. danalbert added a reviewer: srhines. Android toolchains include their headers and libraries in a self-contained directory within the toolchain. Repository: rC Clang https://reviews.llvm.org/D45291 Files: lib/Driver/ToolChains/Linux.cpp Index: lib/Driver/ToolChains/Linux.cpp === --- lib/Driver/ToolChains/Linux.cpp +++ lib/Driver/ToolChains/Linux.cpp @@ -413,6 +413,15 @@ if (!getDriver().SysRoot.empty()) return getDriver().SysRoot; + if (getTriple().isAndroid()) { +// Android toolchains typically include a sysroot at ../sysroot relative to +// the clang binary. +const StringRef ClangDir = getDriver().getInstalledDir(); +std::string AndroidSysRootPath = (ClangDir + "/../sysroot").str(); +if (getVFS().exists(AndroidSysRootPath)) + return AndroidSysRootPath; + } + if (!GCCInstallation.isValid() || !tools::isMipsArch(getTriple().getArch())) return std::string(); Index: lib/Driver/ToolChains/Linux.cpp === --- lib/Driver/ToolChains/Linux.cpp +++ lib/Driver/ToolChains/Linux.cpp @@ -413,6 +413,15 @@ if (!getDriver().SysRoot.empty()) return getDriver().SysRoot; + if (getTriple().isAndroid()) { +// Android toolchains typically include a sysroot at ../sysroot relative to +// the clang binary. +const StringRef ClangDir = getDriver().getInstalledDir(); +std::string AndroidSysRootPath = (ClangDir + "/../sysroot").str(); +if (getVFS().exists(AndroidSysRootPath)) + return AndroidSysRootPath; + } + if (!GCCInstallation.isValid() || !tools::isMipsArch(getTriple().getArch())) return std::string(); ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits