Multiple fixes to get BUILD.gn builds working again

Change-Id: I00c8050d85e25c4e926c06b4df1381434de92f34
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24460
Reviewed-by: dan sinclair <dsinclair@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index f51c899..67beeeb 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -493,7 +493,7 @@
   ]
 
   configs += [ ":tint_common_config" ]
-  public_configs += [ ":tint_public_config" ]
+  public_configs = [ ":tint_public_config" ]
 
   if (build_with_chromium) {
     configs -= [ "//build/config/compiler:chromium_code" ]
diff --git a/DEPS b/DEPS
index f2a4d2a..479929c 100644
--- a/DEPS
+++ b/DEPS
@@ -1,6 +1,16 @@
 use_relative_paths = True
 
+gclient_gn_args_file = 'build/config/gclient_args.gni'
+gclient_gn_args = [
+  'mac_xcode_version',
+]
+
 vars = {
+  # This can be overridden, e.g. with custom_vars, to download a nonstandard
+  # Xcode version in build/mac_toolchain.py
+  # instead of downloading the prebuilt pinned revision.
+  'mac_xcode_version': 'default',
+
   'chromium_git':  'https://chromium.googlesource.com',
   'github': '/external/github.com',
 
diff --git a/src/writer/msl/generator.cc b/src/writer/msl/generator.cc
index 113c841..a62c706 100644
--- a/src/writer/msl/generator.cc
+++ b/src/writer/msl/generator.cc
@@ -32,6 +32,14 @@
   return ret;
 }
 
+std::string Generator::result() const {
+  return impl_.result();
+}
+
+std::string Generator::error() const {
+  return impl_.error();
+}
+
 }  // namespace msl
 }  // namespace writer
 }  // namespace tint
diff --git a/src/writer/msl/generator.h b/src/writer/msl/generator.h
index 2e5a577..c062b3d 100644
--- a/src/writer/msl/generator.h
+++ b/src/writer/msl/generator.h
@@ -37,10 +37,10 @@
   bool Generate() override;
 
   /// @returns the result data
-  std::string result() const override { return impl_.result(); }
+  std::string result() const override;
 
   /// @returns the error
-  std::string error() const { return impl_.error(); }
+  std::string error() const;
 
  private:
   GeneratorImpl impl_;
diff --git a/src/writer/wgsl/generator.cc b/src/writer/wgsl/generator.cc
index 3426887..d077e22 100644
--- a/src/writer/wgsl/generator.cc
+++ b/src/writer/wgsl/generator.cc
@@ -32,6 +32,14 @@
   return ret;
 }
 
+std::string Generator::result() const {
+  return impl_.result();
+}
+
+std::string Generator::error() const {
+  return impl_.error();
+}
+
 }  // namespace wgsl
 }  // namespace writer
 }  // namespace tint
diff --git a/src/writer/wgsl/generator.h b/src/writer/wgsl/generator.h
index 4a89f9a..a9d170a 100644
--- a/src/writer/wgsl/generator.h
+++ b/src/writer/wgsl/generator.h
@@ -37,10 +37,10 @@
   bool Generate() override;
 
   /// @returns the result data
-  std::string result() const override { return impl_.result(); }
+  std::string result() const override;
 
   /// @returns the error
-  std::string error() const { return impl_.error(); }
+  std::string error() const;
 
  private:
   GeneratorImpl impl_;