From d746655be6a46ac05252cf460dfed14d1f7ca120 Mon Sep 17 00:00:00 2001 From: gregce Date: Wed, 3 May 2017 22:58:50 +0200 Subject: BuildOptions cleanup: 1) Remove obsolete originalOptions field. This was originally added to support "parent" transitions, which supported config1 -> config2 -> config1 transitions by having config2 store config1's options. The purpose of this feature was to support LIPO (which has a DATA -> TARGET transition). But https://github.com/bazelbuild/bazel/commit/ff29c0b39cf936a2699b05edd54f483f1a037d93 makes this unnecessary. 2) Support the "disable actions" feature of the LIPO context collector configuration. Putting this in BuildOptions make this dynamic config-compatible. This change intentionally doesn't add disableOptions to BuildOptions.equals() or BuildOptions.hashCode(). It'd be great to do that. But that has semantic consequences. And we've run into really tricky bugs in the past with dynamic configurations and BuildOptions.equals / BuildConfiguration.equals. So it's best to experiment with that in its own change. PiperOrigin-RevId: 154999718 --- src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java index a1adac5aab..8d6ec58a5f 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java @@ -875,4 +875,8 @@ public class CppOptions extends FragmentOptions { return isFdo() || lipoModeForBuild == LipoMode.BINARY; } + @Override + public boolean enableActions() { + return !isLipoContextCollector(); + } } -- cgit v1.2.3