diff options
author | 2016-12-02 18:18:18 +0000 | |
---|---|---|
committer | 2016-12-02 19:09:13 +0000 | |
commit | 7be6ec66422e23705a8d8345675ee4c15bad3882 (patch) | |
tree | 339746629468cd32102766df79e9165e540f51e0 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java | |
parent | 8b5e2118719058d3784469d2312431dc44106dea (diff) |
Add option to disable dynamic configs with LIPO.
New option --experimental_dynamic_configs=notrim_partial automatically
switches to --experimental_dynamic_configs=off if any BuildOptions
fragment sets useStaticConfigurationsOverride().
CppOptions implements this override for FDO/LIPO.
--
PiperOrigin-RevId: 140864317
MOS_MIGRATED_REVID=140864317
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java | 10 |
1 files changed, 10 insertions, 0 deletions
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 0af42a5aee..fbc8fb80fe 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 @@ -689,4 +689,14 @@ public class CppOptions extends FragmentOptions { public LipoMode getLipoMode() { return lipoMode; } + + /** + * FDO/LIPO is not yet compatible with dynamic configurations. + **/ + @Override + public boolean useStaticConfigurationsOverride() { + // --lipo=binary is technically possible without FDO, even though it doesn't do anything. + return isFdo() || getLipoMode() == LipoMode.BINARY; + } + } |