GN: Fix Windows build.

This required a tiny include fix in
src/third_party/winsdk_samples/src
which was committed in
https://code.google.com/p/webrtc/source/detail?r=7951

This incorporates contribution from vchigrin@yandex-team.ru
in https://webrtc-codereview.appspot.com/29299004/

BUG=261,1348,4105
R=pbos@webrtc.org
TBR=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32889004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8027 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/DEPS b/DEPS
index 47680ce..651603f 100644
--- a/DEPS
+++ b/DEPS
@@ -24,7 +24,7 @@
 deps_os = {
   'win': {
     'src/third_party/winsdk_samples/src':
-      Var('chromium_git') + '/external/webrtc/deps/third_party/winsdk_samples_v71@373e927dc5ffdb61b9fb63da3d261e71f8d50dc8', # from svn revision 3145
+      Var('chromium_git') + '/external/webrtc/deps/third_party/winsdk_samples_v71@c0cbedd854cb610a53226d9817416c4ab9a7d1e9', # from svn revision 7951
   },
 }
 
diff --git a/third_party/winsdk_samples/BUILD.gn b/third_party/winsdk_samples/BUILD.gn
new file mode 100644
index 0000000..ec2d459
--- /dev/null
+++ b/third_party/winsdk_samples/BUILD.gn
@@ -0,0 +1,91 @@
+# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS.  All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+
+if (is_win) {
+  baseclasses_dir = "src/Samples/multimedia/directshow/baseclasses"
+
+  config("winsdk_samples_config") {
+    include_dirs = [
+      baseclasses_dir,
+    ]
+  }
+
+  static_library("winsdk_samples") {
+    sources = [
+      "$baseclasses_dir/amextra.cpp",
+      "$baseclasses_dir/amextra.h",
+      "$baseclasses_dir/amfilter.cpp",
+      "$baseclasses_dir/amfilter.h",
+      "$baseclasses_dir/amvideo.cpp",
+      "$baseclasses_dir/cache.h",
+      "$baseclasses_dir/combase.cpp",
+      "$baseclasses_dir/combase.h",
+      "$baseclasses_dir/cprop.cpp",
+      "$baseclasses_dir/cprop.h",
+      "$baseclasses_dir/ctlutil.cpp",
+      "$baseclasses_dir/ctlutil.h",
+      "$baseclasses_dir/ddmm.cpp",
+      "$baseclasses_dir/ddmm.h",
+      "$baseclasses_dir/dllentry.cpp",
+      "$baseclasses_dir/dllsetup.cpp",
+      "$baseclasses_dir/dllsetup.h",
+      "$baseclasses_dir/fourcc.h",
+      "$baseclasses_dir/measure.h",
+      "$baseclasses_dir/msgthrd.h",
+      "$baseclasses_dir/mtype.cpp",
+      "$baseclasses_dir/mtype.h",
+      "$baseclasses_dir/outputq.cpp",
+      "$baseclasses_dir/outputq.h",
+      "$baseclasses_dir/pstream.cpp",
+      "$baseclasses_dir/pstream.h",
+      "$baseclasses_dir/pullpin.cpp",
+      "$baseclasses_dir/pullpin.h",
+      "$baseclasses_dir/refclock.cpp",
+      "$baseclasses_dir/refclock.h",
+      "$baseclasses_dir/reftime.h",
+      "$baseclasses_dir/renbase.cpp",
+      "$baseclasses_dir/renbase.h",
+      "$baseclasses_dir/schedule.cpp",
+      "$baseclasses_dir/seekpt.cpp",
+      "$baseclasses_dir/seekpt.h",
+      "$baseclasses_dir/source.cpp",
+      "$baseclasses_dir/source.h",
+      "$baseclasses_dir/streams.h",
+      "$baseclasses_dir/strmctl.cpp",
+      "$baseclasses_dir/strmctl.h",
+      "$baseclasses_dir/sysclock.cpp",
+      "$baseclasses_dir/sysclock.h",
+      "$baseclasses_dir/transfrm.cpp",
+      "$baseclasses_dir/transfrm.h",
+      "$baseclasses_dir/transip.cpp",
+      "$baseclasses_dir/transip.h",
+      "$baseclasses_dir/videoctl.cpp",
+      "$baseclasses_dir/videoctl.h",
+      "$baseclasses_dir/vtrans.cpp",
+      "$baseclasses_dir/vtrans.h",
+      "$baseclasses_dir/winctrl.cpp",
+      "$baseclasses_dir/winctrl.h",
+      "$baseclasses_dir/winutil.cpp",
+      "$baseclasses_dir/winutil.h",
+      "$baseclasses_dir/wxdebug.cpp",
+      "$baseclasses_dir/wxdebug.h",
+      "$baseclasses_dir/wxlist.cpp",
+      "$baseclasses_dir/wxlist.h",
+      "$baseclasses_dir/wxutil.cpp",
+      "$baseclasses_dir/wxutil.h",
+    ]
+
+    public_configs = [ ":winsdk_samples_config" ]
+
+    configs -= [
+      "//build/config/compiler:chromium_code",
+      "//build/config/win:nominmax",
+    ]
+    configs += [ "//build/config/compiler:no_chromium_code" ]
+  }
+}
\ No newline at end of file
diff --git a/third_party/winsdk_samples/OWNERS b/third_party/winsdk_samples/OWNERS
index 3ee6b4b..4db1684 100644
--- a/third_party/winsdk_samples/OWNERS
+++ b/third_party/winsdk_samples/OWNERS
@@ -3,3 +3,6 @@
 # structural changes, please get a review from a reviewer in this file.
 per-file *.gyp=*
 per-file *.gypi=*
+
+per-file BUILD.gn=kjellander@webrtc.org
+
diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn
index 994ff32..f4952a7 100644
--- a/webrtc/modules/audio_coding/BUILD.gn
+++ b/webrtc/modules/audio_coding/BUILD.gn
@@ -92,6 +92,13 @@
     configs -= [ "//build/config/clang:find_bad_constructs" ]
   }
 
+  if (is_win) {
+    cflags = [
+      # TODO(kjellander): Bug 261: fix this warning.
+      "/wd4373",  # virtual function override.
+    ]
+  }
+
   deps = [
     ":cng",
     ":g711",
diff --git a/webrtc/modules/rtp_rtcp/BUILD.gn b/webrtc/modules/rtp_rtcp/BUILD.gn
index 65d5f38..f343e09 100644
--- a/webrtc/modules/rtp_rtcp/BUILD.gn
+++ b/webrtc/modules/rtp_rtcp/BUILD.gn
@@ -113,6 +113,8 @@
     cflags = [
       # TODO(jschuh): Bug 1348: fix this warning.
       "/wd4267",  # size_t to int truncations
+      # TODO(kjellander): Bug 261: fix this warning.
+      "/wd4373",  # virtual function override.
     ]
   }
 }
diff --git a/webrtc/modules/video_coding/BUILD.gn b/webrtc/modules/video_coding/BUILD.gn
index eebd085..eaaeaa8 100644
--- a/webrtc/modules/video_coding/BUILD.gn
+++ b/webrtc/modules/video_coding/BUILD.gn
@@ -67,6 +67,13 @@
   configs += [ "../..:common_config" ]
   public_configs = [ "../..:common_inherited_config" ]
 
+  if (is_win) {
+    cflags = [
+      # TODO(jschuh): Bug 1348: fix this warning.
+      "/wd4267",  # size_t to int truncation.
+    ]
+  }
+
   if (is_clang) {
     # Suppress warnings from Chrome's Clang plugins.
     # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
@@ -150,6 +157,13 @@
     configs -= [ "//build/config/clang:find_bad_constructs" ]
   }
 
+  if (is_win) {
+    cflags = [
+      # TODO(jschuh): Bug 1348: fix this warning.
+      "/wd4267",  # size_t to int truncation.
+    ]
+  }
+
   # TODO(kjellander): Remove once libvpx has changed it's libvpx_config to be
   # in direct_dependent_configs.
   configs += [ "//third_party/libvpx:libvpx_config" ]
diff --git a/webrtc/video_engine/BUILD.gn b/webrtc/video_engine/BUILD.gn
index 90999a7..889e054 100644
--- a/webrtc/video_engine/BUILD.gn
+++ b/webrtc/video_engine/BUILD.gn
@@ -101,6 +101,8 @@
     cflags = [
       # TODO(jschuh): Bug 1348: fix size_t to int truncations.
       "/wd4267",  # size_t to int truncation.
+      # Bug 261.
+      "/wd4373",  # legacy warning for ignoring const / volatile in signatures.
     ]
   }
 
diff --git a/webrtc/voice_engine/BUILD.gn b/webrtc/voice_engine/BUILD.gn
index 126d2c8..3666bd5 100644
--- a/webrtc/voice_engine/BUILD.gn
+++ b/webrtc/voice_engine/BUILD.gn
@@ -82,6 +82,11 @@
 
   if (is_win) {
     defines = [ "WEBRTC_DRIFT_COMPENSATION_SUPPORTED" ]
+
+    cflags = [
+      # TODO(kjellander): Bug 261: fix this warning.
+      "/wd4373",  # virtual function override.
+    ]
   }
 
   configs += [ "..:common_config" ]