On Windows, fail if there are missing files specified in the project.

BUG=skia:2638
R=robertphillips@google.com, borenet@google.com, rmistry@google.com, epoger@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/319503003
diff --git a/gyp_skia b/gyp_skia
index 66adf08..e04fde0 100755
--- a/gyp_skia
+++ b/gyp_skia
@@ -29,6 +29,7 @@
 import gyp
 
 ENVVAR_GYP_GENERATORS = 'GYP_GENERATORS'
+ENVVAR_GYP_GENERATOR_FLAGS = 'GYP_GENERATOR_FLAGS'
 
 
 def additional_include_files(args=[]):
@@ -126,6 +127,13 @@
   # By default, we build 'most' instead of 'all' or 'everything'. See skia.gyp.
   args.extend(['-Gdefault_target=most'])
 
+  # Fail if any files specified in the project are missing
+  if sys.platform.startswith('win'):
+    gyp_generator_flags = os.getenv(ENVVAR_GYP_GENERATOR_FLAGS, '')
+    if not 'msvs_error_on_missing_sources' in gyp_generator_flags:
+      os.environ[ENVVAR_GYP_GENERATOR_FLAGS] = (
+          gyp_generator_flags + ' msvs_error_on_missing_sources=1')
+
   print 'Updating projects from gyp files...'
   sys.stdout.flush()