[PATCH] D45291: [Driver] Infer Android sysroot location.

2018-05-02 Thread Dan Albert via Phabricator via cfe-commits
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.

2018-04-30 Thread Stephen Hines via Phabricator via cfe-commits
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.

2018-04-30 Thread Dan Albert via Phabricator via cfe-commits
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.

2018-04-23 Thread Dan Albert via Phabricator via cfe-commits
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.

2018-04-17 Thread Dan Albert via Phabricator via cfe-commits
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.

2018-04-04 Thread Dan Albert via Phabricator via cfe-commits
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