Extract demangler out to separate source set

And add this as a dep to libtint_core_src and tint_ast_clone_fuzzer.

Should fix chromium autoroller

Change-Id: Ic5f43bae85e010839a1940c1ae2d570a9613d269
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37708
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index d51ecb4..a7d62a5 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -222,6 +222,21 @@
 # use the build flags to control what is included, instead of trying to specify
 # the subsets that they want.
 
+source_set("tint_core_demangler") {
+  sources = [
+    "src/demangler.cc",
+    "src/demangler.h",
+  ]
+
+  configs += [ ":tint_common_config" ]
+  public_configs = [ ":tint_public_config" ]
+
+  if (build_with_chromium) {
+    configs -= [ "//build/config/compiler:chromium_code" ]
+    configs += [ "//build/config/compiler:no_chromium_code" ]
+  }
+}
+
 source_set("libtint_core_src") {
   sources = [
     "src/ast/access_control.cc",
@@ -397,8 +412,6 @@
     "src/ast/workgroup_decoration.h",
     "src/castable.cc",
     "src/castable.h",
-    "src/demangler.cc",
-    "src/demangler.h",
     "src/diagnostic/diagnostic.cc",
     "src/diagnostic/diagnostic.h",
     "src/diagnostic/formatter.cc",
@@ -462,6 +475,8 @@
     sources += [ "src/diagnostic/printer_other.cc" ]
   }
 
+  deps = [ ":tint_core_demangler" ]
+
   public_deps = [
     ":tint_core_enums_unified1",
     ":tint_core_tables_unified1",
@@ -1425,7 +1440,10 @@
   if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
     fuzzer_test("tint_ast_clone_fuzzer") {
       sources = [ "fuzzers/tint_ast_clone_fuzzer.cc" ]
-      deps = [ ":tint_fuzzer_common" ]
+      deps = [
+        ":tint_fuzzer_common",
+        ":tint_core_demangler",
+      ]
     }
   }
 }