diff options
author | Rumou Duan <rduan@google.com> | 2017-02-13 18:02:00 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2017-02-14 14:20:33 +0000 |
commit | 655bafe74faeef1aa63752640a1e8b7b9505f43d (patch) | |
tree | 372c99bca3c4473945ebefd092fed4bde789b4ef /src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java | |
parent | d8eec343d238129ce8b5146c4177d207a6b3683b (diff) |
Stop retrieving FdoSupport statically from hard-coded attribute ":cc_toolchain" in RuleContext, instead take the provider from users and pass it around to where it is used.
This gives J2ObjcAspect the ability to specify the C++ toolchain attribute under a different name to avoid attribute conflicts with attached rules that have already declared attribute ":cc_toolchain".
--
PiperOrigin-RevId: 147358325
MOS_MIGRATED_REVID=147358325
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java index 5228588d91..8f7ae9a5e5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java @@ -216,11 +216,11 @@ public class CppHelper { return false; } - @Nullable public static FdoSupport getFdoSupport(RuleContext ruleContext) { + @Nullable public static FdoSupportProvider getFdoSupport(RuleContext ruleContext, + String ccToolchainAttribute) { return ruleContext - .getPrerequisite(":cc_toolchain", Mode.TARGET) - .getProvider(FdoSupportProvider.class) - .getFdoSupport(); + .getPrerequisite(ccToolchainAttribute, Mode.TARGET) + .getProvider(FdoSupportProvider.class); } public static NestedSet<Pair<String, String>> getCoverageEnvironmentIfNeeded( @@ -507,9 +507,9 @@ public class CppHelper { /** * Returns the FDO build subtype. */ - public static String getFdoBuildStamp(RuleContext ruleContext) { + public static String getFdoBuildStamp(RuleContext ruleContext, FdoSupport fdoSupport) { CppConfiguration cppConfiguration = ruleContext.getFragment(CppConfiguration.class); - if (getFdoSupport(ruleContext).isAutoFdoEnabled()) { + if (fdoSupport.isAutoFdoEnabled()) { return (cppConfiguration.getLipoMode() == LipoMode.BINARY) ? "ALIPO" : "AFDO"; } if (cppConfiguration.isFdo()) { |