Make C++ autoconfigured toolchain the default for Linux and OS X.

This is done by adding a default workspace suffix.

--
MOS_MIGRATED_REVID=118656979
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
index 6c29411..aee043a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
@@ -83,7 +83,8 @@
    * Builder for {@link ConfiguredRuleClassProvider}.
    */
   public static class Builder implements RuleDefinitionEnvironment {
-    private final StringBuilder defaultWorkspaceFile = new StringBuilder();
+    private final StringBuilder defaultWorkspaceFilePrefix = new StringBuilder();
+    private final StringBuilder defaultWorkspaceFileSuffix = new StringBuilder();
     private Label preludeLabel;
     private String runfilesPrefix;
     private String toolsRepository;
@@ -109,8 +110,12 @@
         ImmutableList.<Class<?>>builder().addAll(SkylarkModules.MODULES);
     private final List<Class<? extends FragmentOptions>> buildOptions = Lists.newArrayList();
 
-    public void addWorkspaceFile(String contents) {
-      defaultWorkspaceFile.append(contents);
+    public void addWorkspaceFilePrefix(String contents) {
+      defaultWorkspaceFilePrefix.append(contents);
+    }
+
+    public void addWorkspaceFileSuffix(String contents) {
+      defaultWorkspaceFileSuffix.append(contents);
     }
 
     public Builder setPrelude(String preludeLabelString) {
@@ -264,7 +269,8 @@
           ImmutableMap.copyOf(ruleClassMap),
           ImmutableMap.copyOf(ruleDefinitionMap),
           ImmutableMap.copyOf(aspectFactoryMap),
-          defaultWorkspaceFile.toString(),
+          defaultWorkspaceFilePrefix.toString(),
+          defaultWorkspaceFileSuffix.toString(),
           ImmutableList.copyOf(buildInfoFactories),
           ImmutableList.copyOf(configurationOptions),
           ImmutableList.copyOf(configurationFragments),
@@ -304,10 +310,15 @@
   });
 
   /**
-   * A list of relative paths to the WORKSPACE files needed to provide external dependencies for
-   * the rule classes.
+   * Default content that should be added at the beginning of the WORKSPACE file.
    */
-  String defaultWorkspaceFile;
+  private final String defaultWorkspaceFilePrefix;
+
+  /**
+   * Default content that should be added at the end of the WORKSPACE file.
+   */
+  private final String defaultWorkspaceFileSuffix;
+
 
   /**
    * Label for the prelude file.
@@ -375,7 +386,8 @@
       ImmutableMap<String, RuleClass> ruleClassMap,
       ImmutableMap<String, Class<? extends RuleDefinition>> ruleDefinitionMap,
       ImmutableMap<String, Class<? extends NativeAspectFactory>> aspectFactoryMap,
-      String defaultWorkspaceFile,
+      String defaultWorkspaceFilePrefix,
+      String defaultWorkspaceFileSuffix,
       ImmutableList<BuildInfoFactory> buildInfoFactories,
       ImmutableList<Class<? extends FragmentOptions>> configurationOptions,
       ImmutableList<ConfigurationFragmentFactory> configurationFragments,
@@ -391,7 +403,8 @@
     this.ruleClassMap = ruleClassMap;
     this.ruleDefinitionMap = ruleDefinitionMap;
     this.aspectFactoryMap = aspectFactoryMap;
-    this.defaultWorkspaceFile = defaultWorkspaceFile;
+    this.defaultWorkspaceFilePrefix = defaultWorkspaceFilePrefix;
+    this.defaultWorkspaceFileSuffix = defaultWorkspaceFileSuffix;
     this.buildInfoFactories = buildInfoFactories;
     this.configurationOptions = configurationOptions;
     this.configurationFragments = configurationFragments;
@@ -540,9 +553,13 @@
         eventHandler, astFileContentHashCode, importMap);
   }
 
+  @Override
+  public String getDefaultWorkspacePrefix() {
+    return defaultWorkspaceFilePrefix;
+  }
 
   @Override
-  public String getDefaultWorkspaceFile() {
-    return defaultWorkspaceFile;
+  public String getDefaultWorkspaceSuffix() {
+    return defaultWorkspaceFileSuffix;
   }
 }