diff options
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLine.java | 7 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLine.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLine.java index bdc82dc92e..f8c39402eb 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLine.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLine.java @@ -161,7 +161,12 @@ public final class CompileCommandLine { // Unfiltered compiler options contain system include paths. These must be added after // the user provided options, otherwise users adding include paths will not pick up their // own include paths first. - if (!isObjcCompile(actionName)) { + if (isObjcCompile(actionName)) { + PathFragment sysroot = cppProvider.getSysroot(); + if (sysroot != null) { + options.add(toolchain.getSysrootCompilerOption(sysroot)); + } + } else { options.addAll(cppProvider.getUnfilteredCompilerOptions(features)); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java index 0add9e977a..c836b1869a 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java @@ -1378,12 +1378,16 @@ public class CppConfiguration extends BuildConfiguration.Fragment { return unfilteredCompilerFlags.evaluate(features); } else { return ImmutableList.<String>builder() - .add("--sysroot=" + sysroot) + .add(getSysrootCompilerOption(sysroot)) .addAll(unfilteredCompilerFlags.evaluate(features)) .build(); } } + public String getSysrootCompilerOption(PathFragment sysroot) { + return "--sysroot=" + sysroot; + } + /** * Returns the set of command-line linker options, including any flags inferred from the * command-line options. |