diff options
author | 2017-08-01 22:26:37 +0200 | |
---|---|---|
committer | 2017-08-02 10:40:10 +0200 | |
commit | 646cfd81793fc3b87979089aab873310d14e95e6 (patch) | |
tree | 1178e4eebd43353445dc582e3024a42f85899f55 /src/main/java/com/google/devtools/build/lib/rules/objc | |
parent | 04304925be5cd767db834f442e3ef9f9d91ed4ff (diff) |
Simplify copts handling and expose them as a build variable
This cl changes copts to be immutable (and changes addCopts methods into
setCopts, so it's simpler to reason about copts) and exposes copts as a build
variable. It also introduces CompileBuildVariablesTest, similar to
LinkBuildVariablesTest, to test that right build variables are exposed for right
actions.
RELNOTES: None.
PiperOrigin-RevId: 163876774
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java index 6541177500..c609fa8139 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java @@ -448,10 +448,16 @@ public class CrosstoolCompilationSupport extends CompilationSupport { // For example, objc_proto_library can depend on a proto_library rule that does not // generate C++ protos. .setCheckDepsGenerateCpp(false) - .addCopts(getCompileRuleCopts()) + .setCopts( + ImmutableList.<String>builder() + .addAll(getCompileRuleCopts()) + .addAll( + ruleContext + .getFragment(ObjcConfiguration.class) + .getCoptsForCompilationMode()) + .build()) .addIncludeDirs(priorityHeaders) .addIncludeDirs(objcProvider.get(INCLUDE)) - .addCopts(ruleContext.getFragment(ObjcConfiguration.class).getCoptsForCompilationMode()) .addSystemIncludeDirs(objcProvider.get(INCLUDE_SYSTEM)) .setCppModuleMap(intermediateArtifacts.moduleMap()) .setLinkedArtifactNameSuffix(intermediateArtifacts.archiveFileNameSuffix()) |