public_includes -= include/third_party/vulkan

Got a little overzealous cleaning up public_include_dirs
in https://skia-review.googlesource.com/c/skia/+/209706.
This puts everything back how it used to be, with Skia
always using them internally, and only test code using
them externally.

Change-Id: I7f17afbaf20469e78f0f633254f17123e97233fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211083
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index b1bfd94..558bbf7 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -99,10 +99,8 @@
 
 # Skia public API, generally provided by :skia.
 config("skia_public") {
-  include_dirs = [
-    ".",
-    "include/third_party/vulkan",
-  ]
+  include_dirs = [ "." ]
+
   defines = []
   if (is_component_build) {
     defines += [ "SKIA_DLL" ]
@@ -1206,21 +1204,24 @@
     }
   }
 
+  config("our_vulkan_headers") {
+    # We add this directory to simulate the client already have
+    # vulkan/vulkan_core.h on their path.
+    include_dirs = [ "include/third_party/vulkan" ]
+  }
+
   source_set("public_headers_warnings_check") {
     sources = [
       "tools/public_headers_warnings_check.cpp",
     ]
     configs -= [ "//gn:warnings_except_public_headers" ]
+    configs += [ ":our_vulkan_headers" ]
     deps = [
       ":skia",
       ":skia.h",
       "modules/skottie",
       "modules/skshaper",
     ]
-
-    # We add this directory to simulate the client already have
-    # vulkan/vulkan_core.h on their path.
-    include_dirs = [ "include/third_party/vulkan" ]
   }
 
   template("test_lib") {
@@ -1437,6 +1438,10 @@
   test_lib("gpu_tool_utils") {
     public_defines = []
 
+    # Bots and even devs may not have Vulkan headers, so put
+    # include/third_party/vulkan on our path so they're always available.
+    all_dependent_configs = [ ":our_vulkan_headers" ]
+
     defines = []
     if (skia_enable_discrete_gpu) {
       defines += [ "SK_ENABLE_DISCRETE_GPU" ]