aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-11-13 08:03:34 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-13 08:04:58 -0800
commit9fdedde450245757d2f6521450ffaf3a51fc4bcf (patch)
treefedffd81e734730cfd7249e0369c75d827b0bcb7 /src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
parent4eb87c196279ae4745428db260dde2155c7433e2 (diff)
toolchain_type can export make variables from the toolchain instead of the
configuration. PiperOrigin-RevId: 175532550
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java33
1 files changed, 27 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index 2d4aafa515..332f4c17dc 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -109,9 +109,9 @@ public class BuildConfiguration implements BuildEvent {
/**
* An interface for language-specific configurations.
*
- * <p>All implementations must be immutable and communicate this as clearly as possible
- * (e.g. declare {@link ImmutableList} signatures on their interfaces vs. {@link List}).
- * This is because fragment instances may be shared across configurations.
+ * <p>All implementations must be immutable and communicate this as clearly as possible (e.g.
+ * declare {@link ImmutableList} signatures on their interfaces vs. {@link List}). This is because
+ * fragment instances may be shared across configurations.
*/
public abstract static class Fragment {
/**
@@ -953,9 +953,30 @@ public class BuildConfiguration implements BuildEvent {
)
public Label autoCpuEnvironmentGroup;
- /**
- * Values for --experimental_dynamic_configs.
- */
+ /** The source of make variables for this configuration. */
+ public enum MakeVariableSource {
+ CONFIGURATION,
+ TOOLCHAIN
+ }
+
+ /** Converter for --make_variables_source. */
+ public static class MakeVariableSourceConverter extends EnumConverter<MakeVariableSource> {
+ public MakeVariableSourceConverter() {
+ super(MakeVariableSource.class, "Make variable source");
+ }
+ }
+
+ @Option(
+ name = "make_variables_source",
+ converter = MakeVariableSourceConverter.class,
+ defaultValue = "configuration",
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ effectTags = {OptionEffectTag.UNKNOWN}
+ )
+ public MakeVariableSource makeVariableSource;
+
+ /** Values for --experimental_dynamic_configs. */
public enum ConfigsMode {
/** Only include the configuration fragments each rule needs. */
ON,