aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar Adam Michael <ajmichael@google.com>2017-03-24 17:26:54 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2017-03-27 11:36:02 +0000
commit09afd9742a30001d30f2cc9cd110847d7eefa371 (patch)
treed4271e7c9237b9c277483efb7fb5a053878016e1 /src/main
parentfecdc4c32cc18abd786199f056829c6005d077d1 (diff)
Stop setting -isystem for gcc builtin include directories.
Note that this is not quite a no-op. Setting -isystem puts these directories at the beginning of the search list, whereas not setting them results in them being near the end. However, this code is unnecessary and confusing and caused a bug with the clang toolchains so it is best to remove it. -- PiperOrigin-RevId: 151140445 MOS_MIGRATED_REVID=151140445
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkPaths.java96
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/ArmCrosstools.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/MipsCrosstools.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/X86Crosstools.java13
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/ArmCrosstools.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/MipsCrosstools.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/X86Crosstools.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/ArmCrosstools.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/MipsCrosstools.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/X86Crosstools.java8
10 files changed, 85 insertions, 111 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkPaths.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkPaths.java
index c5f58b3378..c59be8216c 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkPaths.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkPaths.java
@@ -14,10 +14,11 @@
package com.google.devtools.build.lib.bazel.rules.android.ndkcrosstools;
+import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration.Tool;
-import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.CToolchain;
import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.ToolPath;
import java.util.Arrays;
import java.util.List;
@@ -36,7 +37,8 @@ public class NdkPaths {
return path.split("/", 3)[2];
}
- private final String repositoryName, hostPlatform;
+ private final String repositoryName;
+ private final String hostPlatform;
private final ApiLevel apiLevel;
public NdkPaths(String repositoryName, String hostPlatform, ApiLevel apiLevel) {
@@ -116,48 +118,12 @@ public class NdkPaths {
}
/**
- * Adds {@code cxx_builtin_include_directory} to the toolchain and also sets -isystem for that
- * directory. Note that setting -isystem should be entirely unnecessary since builtin include
- * directories are on the compiler search path by default by definition. This should be cleaned
- * up (b/36091573).
- *
- * <p>Note also that this method is only for gcc include paths. The clang include paths follow a
- * different path template and are not separated by architecture.
- */
- public void addGccToolchainIncludePaths(
- List<CToolchain.Builder> toolchains,
- String toolchainName,
- String targetPlatform,
- String gccVersion) {
-
- for (CToolchain.Builder toolchain : toolchains) {
- addGccToolchainIncludePaths(toolchain, toolchainName, targetPlatform, gccVersion);
- }
- }
-
- public void addGccToolchainIncludePaths(
- CToolchain.Builder toolchain,
- String toolchainName,
- String targetPlatform,
- String gccVersion) {
-
- List<String> includePaths =
- this.createToolchainIncludePaths(toolchainName, targetPlatform, gccVersion);
-
- for (String includePath : includePaths) {
- toolchain.addCxxBuiltinIncludeDirectory(includePath);
- toolchain.addUnfilteredCxxFlag("-isystem");
- toolchain.addUnfilteredCxxFlag(includePath);
- }
- }
-
- /**
* Gets the clang NDK builtin includes directories that exist in the NDK. These directories are
* always searched for header files by clang and should be added to the CROSSTOOL in the
* cxx_builtin_include_directories list.
*
* <p>You can see the list of directories and the order that they are searched in by running
- * {@code clang -E -x c++ - -v < /dev/null}. Note that the same command works for {@code gcc}.
+ * {@code clang -E -x c++ - -v < /dev/null}.
*/
public String createClangToolchainBuiltinIncludeDirectory(String clangVersion) {
String clangBuiltinIncludeDirectoryPathTemplate =
@@ -168,34 +134,34 @@ public class NdkPaths {
.replace("%hostPlatform%", hostPlatform)
.replace("%clangVersion%", clangVersion);
}
-
- private ImmutableList<String> createToolchainIncludePaths(
- String toolchainName, String targetPlatform, String gccVersion) {
-
- ImmutableList.Builder<String> includePaths = ImmutableList.builder();
-
- includePaths.add(createToolchainIncludePath(
- toolchainName, targetPlatform, gccVersion, "include"));
- includePaths.add(createToolchainIncludePath(
- toolchainName, targetPlatform, gccVersion, "include-fixed"));
-
- return includePaths.build();
- }
-
- private String createToolchainIncludePath(
- String toolchainName, String targetPlatform, String gccVersion, String includeFolderName) {
- String toolchainIncludePathTemplate =
+ /**
+ * Gets the gcc NDK builtin includes directories that exist in the NDK. These directories are
+ * always searched for header files by clang and should be added to the CROSSTOOL in the
+ * cxx_builtin_include_directories list.
+ *
+ * <p>You can see the list of directories and the order that they are searched in by running
+ * {@code gcc -E -x c++ - -v < /dev/null}.
+ */
+ public List<String> createGccToolchainBuiltinIncludeDirectories(
+ final String toolchainName, final String targetPlatform, final String gccVersion) {
+ final String toolchainIncludePathTemplate =
"external/%repositoryName%/ndk/toolchains/%toolchainName%/prebuilt/%hostPlatform%"
- + "/lib/gcc/%targetPlatform%/%gccVersion%/%includeFolderName%";
-
- return toolchainIncludePathTemplate
- .replace("%repositoryName%", repositoryName)
- .replace("%toolchainName%", toolchainName)
- .replace("%hostPlatform%", hostPlatform)
- .replace("%targetPlatform%", targetPlatform)
- .replace("%gccVersion%", gccVersion)
- .replace("%includeFolderName%", includeFolderName);
+ + "/lib/gcc/%targetPlatform%/%gccVersion%/%includeFolderName%";
+ return Lists.transform(
+ ImmutableList.of("include", "include-fixed"),
+ new Function<String, String>() {
+ @Override
+ public String apply(String includeFolderName) {
+ return toolchainIncludePathTemplate
+ .replace("%repositoryName%", repositoryName)
+ .replace("%toolchainName%", toolchainName)
+ .replace("%hostPlatform%", hostPlatform)
+ .replace("%targetPlatform%", targetPlatform)
+ .replace("%gccVersion%", gccVersion)
+ .replace("%includeFolderName%", includeFolderName);
+ }
+ });
}
public String createBuiltinSysroot(String targetCpu) {
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/ArmCrosstools.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/ArmCrosstools.java
index 80662e0220..b2a7c4a826 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/ArmCrosstools.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/ArmCrosstools.java
@@ -93,7 +93,9 @@ class ArmCrosstools {
.setCompiler("gcc-4.9")
.addAllToolPath(ndkPaths.createToolpaths(toolchainName, targetPlatform))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ toolchainName, targetPlatform, "4.9"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("arm64"))
// Compiler flags
@@ -126,7 +128,6 @@ class ArmCrosstools {
.addCompilerFlag("-fno-omit-frame-pointer")
.addCompilerFlag("-fno-strict-aliasing"));
- ndkPaths.addGccToolchainIncludePaths(toolchain, toolchainName, targetPlatform, "4.9");
stlImpl.addStlImpl(toolchain, "4.9");
return toolchain;
}
@@ -186,7 +187,6 @@ class ArmCrosstools {
.addCompilerFlag("-fno-omit-frame-pointer")
.addCompilerFlag("-fno-strict-aliasing"));
- ndkPaths.addGccToolchainIncludePaths(toolchain, toolchainName, targetPlatform, "4.9");
stlImpl.addStlImpl(toolchain, "4.9");
return toolchain;
}
@@ -253,6 +253,9 @@ class ArmCrosstools {
.setCompiler("gcc-" + gccVersion)
.addAllToolPath(ndkPaths.createToolpaths(toolchainName, targetPlatform, excludedTools))
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ toolchainName, targetPlatform, gccVersion))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("arm"))
.addCompilerFlag(stackProtectorFlag)
@@ -309,7 +312,6 @@ class ArmCrosstools {
.addCompilerFlag("-fno-strict-aliasing"));
}
- ndkPaths.addGccToolchainIncludePaths(toolchain, toolchainName, targetPlatform, gccVersion);
return toolchain;
}
@@ -442,7 +444,6 @@ class ArmCrosstools {
.addCompilerFlag("-fno-strict-aliasing"));
}
- ndkPaths.addGccToolchainIncludePaths(toolchain, toolchainName, targetPlatform, "4.8");
return toolchain;
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/MipsCrosstools.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/MipsCrosstools.java
index 798b5ca41e..214aff17f1 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/MipsCrosstools.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/MipsCrosstools.java
@@ -61,7 +61,9 @@ class MipsCrosstools {
"mips64el-linux-android-4.9", "mips64el-linux-android",
// mips64 toolchain doesn't have the dwp tool.
CppConfiguration.Tool.DWP))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "mips64el-linux-android-4.9", "mips64el-linux-android", "4.9"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips64")));
// The flags for mips64 clang 3.5 and 3.6 are the same, they differ only in the LLVM version
@@ -81,8 +83,6 @@ class MipsCrosstools {
}
List<CToolchain.Builder> toolchains = toolchainsListBuilder.build();
- ndkPaths.addGccToolchainIncludePaths(
- toolchains, "mips64el-linux-android-4.9", "mips64el-linux-android", "4.9");
stlImpl.addStlImpl(toolchains, "4.9");
return toolchains;
}
@@ -114,8 +114,6 @@ class MipsCrosstools {
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips"));
- ndkPaths.addGccToolchainIncludePaths(
- mipsClang, "mipsel-linux-android-4.8", "mipsel-linux-android", "4.8");
stlImpl.addStlImpl(mipsClang, "4.8");
toolchainsListBuilder.add(mipsClang);
}
@@ -135,11 +133,11 @@ class MipsCrosstools {
.addAllToolPath(ndkPaths.createToolpaths(
"mipsel-linux-android-" + gccVersion, "mipsel-linux-android",
excludedTools))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "mipsel-linux-android-" + gccVersion, "mipsel-linux-android", gccVersion))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips"));
- ndkPaths.addGccToolchainIncludePaths(
- toolchain, "mipsel-linux-android-" + gccVersion, "mipsel-linux-android", gccVersion);
stlImpl.addStlImpl(toolchain, gccVersion);
return toolchain;
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/X86Crosstools.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/X86Crosstools.java
index 3e94da74f8..3df07ec58d 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/X86Crosstools.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/X86Crosstools.java
@@ -64,7 +64,6 @@ class X86Crosstools {
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("x86"));
- ndkPaths.addGccToolchainIncludePaths(x86Clang, "x86-4.8", "i686-linux-android", "4.8");
stlImpl.addStlImpl(x86Clang, "4.8");
toolchains.add(x86Clang);
}
@@ -80,12 +79,13 @@ class X86Crosstools {
.addAllToolPath(ndkPaths.createToolpaths(
"x86_64-4.9", "x86_64-linux-android"))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "x86_64-4.9", "x86_64-linux-android", "4.9"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("x86_64"))
.addCompilerFlag("-fstack-protector-strong");
- ndkPaths.addGccToolchainIncludePaths(x8664, "x86_64-4.9", "x86_64-linux-android", "4.9");
stlImpl.addStlImpl(x8664, "4.9");
toolchains.add(x8664);
@@ -102,7 +102,6 @@ class X86Crosstools {
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("x86_64"));
- ndkPaths.addGccToolchainIncludePaths(x8664Clang, "x86_64-4.9", "x86_64-linux-android", "4.9");
stlImpl.addStlImpl(x8664Clang, "4.9");
toolchains.add(x8664Clang);
}
@@ -127,13 +126,13 @@ class X86Crosstools {
.addAllToolPath(ndkPaths.createToolpaths(
"x86-" + gccVersion, "i686-linux-android", excludedTools))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "x86-" + gccVersion, "i686-linux-android", gccVersion))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("x86"))
.addCompilerFlag(stackProtrectorFlag);
- ndkPaths.addGccToolchainIncludePaths(
- toolchain, "x86-" + gccVersion, "i686-linux-android", gccVersion);
stlImpl.addStlImpl(toolchain, gccVersion);
return toolchain;
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/ArmCrosstools.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/ArmCrosstools.java
index cfbf2254eb..75e452909b 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/ArmCrosstools.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/ArmCrosstools.java
@@ -77,7 +77,9 @@ class ArmCrosstools {
.setCompiler("gcc-4.9")
.addAllToolPath(ndkPaths.createToolpaths(toolchainName, targetPlatform))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ toolchainName, targetPlatform, "4.9"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("arm64"))
// Compiler flags
@@ -110,7 +112,6 @@ class ArmCrosstools {
.addCompilerFlag("-fno-omit-frame-pointer")
.addCompilerFlag("-fno-strict-aliasing"));
- ndkPaths.addGccToolchainIncludePaths(toolchain, toolchainName, targetPlatform, "4.9");
stlImpl.addStlImpl(toolchain, "4.9");
return toolchain;
}
@@ -231,6 +232,9 @@ class ArmCrosstools {
.setCompiler("gcc-4.9")
.addAllToolPath(ndkPaths.createToolpaths(toolchainName, targetPlatform, excludedTools))
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ toolchainName, targetPlatform, "4.9"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("arm"))
// Compiler flags
@@ -286,7 +290,6 @@ class ArmCrosstools {
.addCompilerFlag("-fno-strict-aliasing"));
}
- ndkPaths.addGccToolchainIncludePaths(toolchain, toolchainName, targetPlatform, "4.9");
return toolchain;
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/MipsCrosstools.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/MipsCrosstools.java
index 29e969dc96..cdce0cf256 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/MipsCrosstools.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/MipsCrosstools.java
@@ -58,7 +58,9 @@ class MipsCrosstools {
"mips64el-linux-android-4.9", "mips64el-linux-android",
// mips64 toolchain doesn't have the dwp tool.
CppConfiguration.Tool.DWP))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "mips64el-linux-android-4.9", "mips64el-linux-android", "4.9"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips64"));
CToolchain.Builder mips64Clang = createBaseMipsClangToolchain("mips64el")
@@ -75,8 +77,6 @@ class MipsCrosstools {
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips64"));
List<CToolchain.Builder> toolchains = ImmutableList.of(mips64Gcc, mips64Clang);
- ndkPaths.addGccToolchainIncludePaths(
- mips64Gcc, "mips64el-linux-android-4.9", "mips64el-linux-android", "4.9");
stlImpl.addStlImpl(toolchains, "4.9");
return toolchains;
}
@@ -102,8 +102,6 @@ class MipsCrosstools {
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips"));
- ndkPaths.addGccToolchainIncludePaths(
- mipsClang, "mipsel-linux-android-4.9", "mipsel-linux-android", "4.9");
stlImpl.addStlImpl(mipsClang, "4.9");
toolchainsListBuilder.add(mipsClang);
@@ -121,11 +119,11 @@ class MipsCrosstools {
.addAllToolPath(ndkPaths.createToolpaths(
"mipsel-linux-android-4.9", "mipsel-linux-android",
CppConfiguration.Tool.DWP))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "mipsel-linux-android-4.9", "mipsel-linux-android", "4.9"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips"));
- ndkPaths.addGccToolchainIncludePaths(
- toolchain, "mipsel-linux-android-4.9", "mipsel-linux-android", "4.9");
stlImpl.addStlImpl(toolchain, "4.9");
return toolchain;
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/X86Crosstools.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/X86Crosstools.java
index 7efa4ad636..58bfe57bf1 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/X86Crosstools.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/X86Crosstools.java
@@ -72,12 +72,13 @@ class X86Crosstools {
.addAllToolPath(ndkPaths.createToolpaths(
"x86_64-4.9", "x86_64-linux-android"))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "x86_64-4.9", "x86_64-linux-android", "4.9"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("x86_64"))
.addCompilerFlag("-fstack-protector-strong");
- ndkPaths.addGccToolchainIncludePaths(x8664, "x86_64-4.9", "x86_64-linux-android", "4.9");
stlImpl.addStlImpl(x8664, "4.9");
toolchains.add(x8664);
@@ -112,13 +113,13 @@ class X86Crosstools {
.setCompiler("gcc-4.9")
.addAllToolPath(ndkPaths.createToolpaths("x86-4.9", "i686-linux-android"))
-
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "x86-4.9", "i686-linux-android", "4.9"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("x86"))
.addCompilerFlag("-fstack-protector-strong");
- ndkPaths.addGccToolchainIncludePaths(
- toolchain, "x86-4.9", "i686-linux-android", "4.9");
stlImpl.addStlImpl(toolchain, "4.9");
return toolchain;
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/ArmCrosstools.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/ArmCrosstools.java
index 7bf795a171..e4c0480076 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/ArmCrosstools.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/ArmCrosstools.java
@@ -59,6 +59,9 @@ class ArmCrosstools {
.setTargetCpu("arm64-v8a")
.setCompiler("gcc-4.9")
.addAllToolPath(ndkPaths.createToolpaths(toolchainName, targetPlatform))
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ toolchainName, targetPlatform, "4.9.x"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("arm64"))
// Compiler flags
@@ -87,7 +90,6 @@ class ArmCrosstools {
.addCompilerFlag("-O0")
.addCompilerFlag("-UNDEBUG"));
- ndkPaths.addGccToolchainIncludePaths(toolchain, toolchainName, targetPlatform, "4.9.x");
stlImpl.addStlImpl(toolchain, "4.9");
return toolchain;
}
@@ -177,6 +179,9 @@ class ArmCrosstools {
.setTargetSystemName(targetPlatform)
.setCompiler("gcc-4.9")
.addAllToolPath(ndkPaths.createToolpaths(toolchainName, targetPlatform))
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ toolchainName, targetPlatform, "4.9.x"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("arm"))
// Compiler flags
@@ -206,7 +211,6 @@ class ArmCrosstools {
.addCompilerFlag("-O0")
.addCompilerFlag("-UNDEBUG"));
- ndkPaths.addGccToolchainIncludePaths(toolchain, toolchainName, targetPlatform, "4.9.x");
return toolchain;
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/MipsCrosstools.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/MipsCrosstools.java
index d04bfbfcb2..919244fe8c 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/MipsCrosstools.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/MipsCrosstools.java
@@ -60,6 +60,9 @@ class MipsCrosstools {
"mips64el-linux-android",
// mips64 toolchain doesn't have the dwp tool.
CppConfiguration.Tool.DWP))
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "mips64el-linux-android-4.9", "mips64el-linux-android", "4.9.x"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips64"));
CToolchain.Builder mips64Clang =
@@ -76,8 +79,6 @@ class MipsCrosstools {
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips64"));
List<CToolchain.Builder> toolchains = ImmutableList.of(mips64Gcc, mips64Clang);
- ndkPaths.addGccToolchainIncludePaths(
- mips64Gcc, "mips64el-linux-android-4.9", "mips64el-linux-android", "4.9.x");
stlImpl.addStlImpl(toolchains, "4.9");
return toolchains;
}
@@ -104,8 +105,6 @@ class MipsCrosstools {
CppConfiguration.Tool.GCOVTOOL))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips"));
- ndkPaths.addGccToolchainIncludePaths(
- mipsClang, "mipsel-linux-android-4.9", "mipsel-linux-android", "4.9.x");
stlImpl.addStlImpl(mipsClang, "4.9");
toolchainsListBuilder.add(mipsClang);
@@ -123,10 +122,11 @@ class MipsCrosstools {
.addAllToolPath(
ndkPaths.createToolpaths(
"mipsel-linux-android-4.9", "mipsel-linux-android", CppConfiguration.Tool.DWP))
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "mipsel-linux-android-4.9", "mipsel-linux-android", "4.9.x"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("mips"));
- ndkPaths.addGccToolchainIncludePaths(
- toolchain, "mipsel-linux-android-4.9", "mipsel-linux-android", "4.9.x");
stlImpl.addStlImpl(toolchain, "4.9");
return toolchain;
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/X86Crosstools.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/X86Crosstools.java
index 190ee56b50..650d66ac81 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/X86Crosstools.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/X86Crosstools.java
@@ -63,10 +63,12 @@ class X86Crosstools {
.setTargetCpu("x86_64")
.setCompiler("gcc-4.9")
.addAllToolPath(ndkPaths.createToolpaths("x86_64-4.9", "x86_64-linux-android"))
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "x86_64-4.9", "x86_64-linux-android", "4.9.x"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("x86_64"))
.addCompilerFlag("-fstack-protector-strong");
- ndkPaths.addGccToolchainIncludePaths(x8664, "x86_64-4.9", "x86_64-linux-android", "4.9.x");
stlImpl.addStlImpl(x8664, "4.9");
toolchains.add(x8664);
@@ -99,10 +101,12 @@ class X86Crosstools {
.setTargetCpu("x86")
.setCompiler("gcc-4.9")
.addAllToolPath(ndkPaths.createToolpaths("x86-4.9", "i686-linux-android"))
+ .addAllCxxBuiltinIncludeDirectory(
+ ndkPaths.createGccToolchainBuiltinIncludeDirectories(
+ "x86-4.9", "i686-linux-android", "4.9.x"))
.setBuiltinSysroot(ndkPaths.createBuiltinSysroot("x86"))
.addCompilerFlag("-fstack-protector-strong");
- ndkPaths.addGccToolchainIncludePaths(toolchain, "x86-4.9", "i686-linux-android", "4.9.x");
stlImpl.addStlImpl(toolchain, "4.9");
return toolchain;
}