aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
authorGravatar hlopko <hlopko@google.com>2017-08-01 22:26:37 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-08-02 10:40:10 +0200
commit646cfd81793fc3b87979089aab873310d14e95e6 (patch)
tree1178e4eebd43353445dc582e3024a42f85899f55 /src/main/java/com/google/devtools/build/lib/rules/objc
parent04304925be5cd767db834f442e3ef9f9d91ed4ff (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.java10
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())