diff options
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java index 1f72d00501..9db7f72662 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java @@ -51,21 +51,11 @@ public class ConfigurationFragmentValue implements SkyValue { @ThreadSafe public static SkyKey key(BuildOptions buildOptions, Class<? extends Fragment> fragmentType, RuleClassProvider ruleClassProvider) { - // For dynamic configurations, trim the options down to just those used by this fragment. - // This ensures we don't end up with different Skyframe keys due to trimming of unrelated - // options. - // - // We don't trim for static configurations because static configurations need to support - // LIPO and trimming breaks LIPO: it results in CppConfiguration instances being shared - // across configurations. That isn't safe because CppConfiguration mutates its state - // in prepareHook() for each configuration. BuildOptions optionsKey = - buildOptions.get(BuildConfiguration.Options.class).useDynamicConfigurations - ? buildOptions.trim( - BuildConfiguration.getOptionsClasses( - ImmutableList.<Class<? extends BuildConfiguration.Fragment>>of(fragmentType), - ruleClassProvider)) - : buildOptions; + buildOptions.trim( + BuildConfiguration.getOptionsClasses( + ImmutableList.<Class<? extends BuildConfiguration.Fragment>>of(fragmentType), + ruleClassProvider)); return new SkyKey(SkyFunctions.CONFIGURATION_FRAGMENT, new ConfigurationFragmentKey(optionsKey, fragmentType)); } |