Merge pull request #2322 from ShabbyX/fix-dawn-tests

gn: Fix dawn tests in Chromium
diff --git a/BUILD.gn b/BUILD.gn
index f7a0441..46c4b28 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -50,16 +50,20 @@
 
 config("glslang_public") {
   include_dirs = [ "." ]
+}
 
-  if (!glslang_angle) {
-    defines = [ "ENABLE_HLSL=1" ]
-  }
+config("glslang_hlsl") {
+  defines = [ "ENABLE_HLSL=1" ]
 }
 
 template("glslang_sources_common") {
   source_set(target_name) {
     public_configs = [ ":glslang_public" ]
 
+    if (invoker.enable_hlsl) {
+      public_configs += [ ":glslang_hlsl" ]
+    }
+
     sources = [
       "OGLCompilersDLL/InitializeDll.cpp",
       "OGLCompilersDLL/InitializeDll.h",
@@ -152,7 +156,16 @@
       "glslang/Public/ShaderLang.h",
     ]
 
-    if (!glslang_angle) {
+    # Workaround gn issue complaining about these not being allowed even though GLSLANG_HLSL is not
+    # defined.
+    sources += [
+      "glslang/HLSL/hlslParseHelper.h",
+      "glslang/HLSL/hlslParseables.h",
+      "glslang/HLSL/hlslScanContext.h",
+      "glslang/HLSL/hlslTokens.h",
+    ]
+
+    if (invoker.enable_hlsl) {
       sources += [
         "glslang/HLSL/hlslAttributes.cpp",
         "glslang/HLSL/hlslAttributes.h",
@@ -160,13 +173,9 @@
         "glslang/HLSL/hlslGrammar.h",
         "glslang/HLSL/hlslOpMap.cpp",
         "glslang/HLSL/hlslOpMap.h",
-        "glslang/HLSL/hlslParseables.cpp",
-        "glslang/HLSL/hlslParseables.h",
         "glslang/HLSL/hlslParseHelper.cpp",
-        "glslang/HLSL/hlslParseHelper.h",
+        "glslang/HLSL/hlslParseables.cpp",
         "glslang/HLSL/hlslScanContext.cpp",
-        "glslang/HLSL/hlslScanContext.h",
-        "glslang/HLSL/hlslTokens.h",
         "glslang/HLSL/hlslTokenStream.cpp",
         "glslang/HLSL/hlslTokenStream.h",
       ]
@@ -207,7 +216,7 @@
     if (invoker.enable_opt) {
       deps = [
         "${spirv_tools_dir}:spvtools_opt",
-        "${spirv_tools_dir}:spvtools_val"
+        "${spirv_tools_dir}:spvtools_val",
       ]
     }
 
@@ -216,19 +225,21 @@
   }
 }
 
-glslang_sources_common("glslang_sources") {
+glslang_sources_common("glslang_lib_sources") {
   enable_opt = !glslang_angle
+  enable_hlsl = !glslang_angle
 }
 
-glslang_sources_common("glslang_standalone_sources") {
+glslang_sources_common("glslang_sources") {
   enable_opt = true
+  enable_hlsl = true
 }
 
 source_set("glslang_default_resource_limits_sources") {
   sources = [
-    "glslang/Include/ResourceLimits.h",
     "StandAlone/ResourceLimits.cpp",
     "StandAlone/ResourceLimits.h",
+    "glslang/Include/ResourceLimits.h",
   ]
   public_configs = [ ":glslang_public" ]
 
@@ -247,21 +258,18 @@
   defines = [ "ENABLE_OPT=1" ]
   deps = [
     ":glslang_default_resource_limits_sources",
-    ":glslang_standalone_sources",
+    ":glslang_sources",
   ]
+  public_configs = [ ":glslang_hlsl" ]
 
   configs -= _configs_to_remove
   configs += _configs_to_add
 }
 
 executable("spirv-remap") {
-  sources = [
-    "StandAlone/spirv-remap.cpp",
-  ]
+  sources = [ "StandAlone/spirv-remap.cpp" ]
   defines = [ "ENABLE_OPT=1" ]
-  deps = [
-    ":glslang_standalone_sources",
-  ]
+  deps = [ ":glslang_sources" ]
 
   configs -= _configs_to_remove
   configs += _configs_to_add