aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java19
3 files changed, 8 insertions, 23 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
index b57165e9fe..b6923579cf 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
@@ -30,8 +30,8 @@ import com.google.devtools.build.lib.analysis.config.InvalidConfigurationExcepti
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.packages.Attribute.SplitTransition;
+import com.google.devtools.build.lib.rules.cpp.CppConfiguration.DynamicMode;
import com.google.devtools.build.lib.rules.cpp.CppOptions.DynamicModeConverter;
-import com.google.devtools.build.lib.rules.cpp.CppOptions.DynamicModeFlag;
import com.google.devtools.common.options.Converter;
import com.google.devtools.common.options.Converters;
import com.google.devtools.common.options.EnumConverter;
@@ -250,7 +250,7 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment {
+ "whether to link dynamically. 'fully' means all libraries will be linked "
+ "dynamically. 'off' means that all libraries will be linked in mostly static mode."
)
- public DynamicModeFlag dynamicMode;
+ public DynamicMode dynamicMode;
// Label of filegroup combining all Android tools used as implicit dependencies of
// android_* rules
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 c0a7f69c31..9441fbe6fd 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
@@ -384,13 +384,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
// TODO(bazel-team): implement dynamic linking with LIPO
this.dynamicMode = DynamicMode.OFF;
} else {
- switch (cppOptions.dynamicMode) {
- case DEFAULT:
- this.dynamicMode = DynamicMode.DEFAULT; break;
- case OFF: this.dynamicMode = DynamicMode.OFF; break;
- case FULLY: this.dynamicMode = DynamicMode.FULLY; break;
- default: throw new IllegalStateException("Invalid dynamicMode.");
- }
+ this.dynamicMode = cppOptions.dynamicMode;
}
this.fdoZip = params.fdoZip;
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 0db208b98f..fa8787a786 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
@@ -25,6 +25,7 @@ import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.build.lib.analysis.config.PerLabelOptions;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
+import com.google.devtools.build.lib.rules.cpp.CppConfiguration.DynamicMode;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration.LibcTop;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration.StripMode;
import com.google.devtools.build.lib.util.OptionsUtils;
@@ -69,21 +70,11 @@ public class CppOptions extends FragmentOptions {
}
/**
- * The same as DynamicMode, but on command-line we also allow AUTO.
+ * Converter for {@link DynamicMode}
*/
- public enum DynamicModeFlag {
- OFF,
- DEFAULT,
- FULLY,
- AUTO
- }
-
- /**
- * Converter for DynamicModeFlag
- */
- public static class DynamicModeConverter extends EnumConverter<DynamicModeFlag> {
+ public static class DynamicModeConverter extends EnumConverter<DynamicMode> {
public DynamicModeConverter() {
- super(DynamicModeFlag.class, "dynamic mode");
+ super(DynamicMode.class, "dynamic mode");
}
}
@@ -226,7 +217,7 @@ public class CppOptions extends FragmentOptions {
+ "will be linked dynamically. 'off' means that all libraries will be linked "
+ "in mostly static mode."
)
- public DynamicModeFlag dynamicMode;
+ public DynamicMode dynamicMode;
@Option(
name = "experimental_link_compile_output_separately",