diff options
author | 2018-05-23 05:18:00 -0700 | |
---|---|---|
committer | 2018-05-23 05:19:21 -0700 | |
commit | 7f51f112cb13495154babd1f645c394002396596 (patch) | |
tree | dcf750744239b8390505389789954f26b9f659bf /src/main/java/com/google/devtools/build/lib/rules/cpp | |
parent | c1bada0b14b5bb8def73b23d29c9139a72224a14 (diff) |
Add a flag to disallow LIPO to aid in the rollout of the removal of LIPO support.
RELNOTES: None.
PiperOrigin-RevId: 197708692
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java | 6 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java index 568f418ad5..9b1417f003 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java @@ -240,6 +240,12 @@ public final class CppConfiguration extends BuildConfiguration.Fragment { linkoptsBuilder.add("-Wl,--eh-frame-hdr"); } + if (cppOptions.getLipoMode() != LipoMode.OFF + && !cppOptions.convertLipoToThinLto + && !cppOptions.allowLipo) { + throw new InvalidConfigurationException("LIPO is disallowed"); + } + return new CppConfiguration( params.crosstoolTop, params.crosstoolFile, 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 713dd2b242..0daf3c03d8 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 @@ -127,6 +127,15 @@ public class CppOptions extends FragmentOptions { } @Option( + name = "experimental_allow_lipo", + defaultValue = "true", + documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, + effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS}, + metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE}, + help = "Flag to roll out the removal of LIPO.") + public boolean allowLipo; + + @Option( name = "crosstool_top", defaultValue = "@bazel_tools//tools/cpp:toolchain", converter = LabelConverter.class, |