GN/Win: everything but skiaserve links.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3240

Change-Id: I85c306f89f3a7faa7f50dadf465122844d015604
Reviewed-on: https://skia-review.googlesource.com/3240
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/third_party/expat/BUILD.gn b/third_party/expat/BUILD.gn
index 1219008..b493a21 100644
--- a/third_party/expat/BUILD.gn
+++ b/third_party/expat/BUILD.gn
@@ -9,6 +9,7 @@
 import("../third_party.gni")
 
 third_party("expat") {
+  public_defines = [ "XML_STATIC" ]
   public_include_dirs = [ "../externals/expat/lib" ]
 
   defines = [ "HAVE_MEMMOVE" ]
diff --git a/third_party/third_party.gni b/third_party/third_party.gni
index 37b1e03..dd9f057 100644
--- a/third_party/third_party.gni
+++ b/third_party/third_party.gni
@@ -5,6 +5,9 @@
 
 template("third_party") {
   config(target_name + "_public") {
+    if (defined(invoker.public_defines)) {
+      defines = invoker.public_defines
+    }
     include_dirs = invoker.public_include_dirs
   }
   source_set(target_name) {