GN: Add target for modules_tests.

Additional changes I needed to make it work:

- Modified a header in RTPFile.cc. Every other file is
  using "webrtc/engine_configurations.h" instead.

- Disabled flag 4373 for msvs because it was disabled
  in build/common.gypi.

BUG=webrtc:6038
TBR=kwiberg@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2187563005
Cr-Commit-Position: refs/heads/master@{#13628}
diff --git a/webrtc/modules/BUILD.gn b/webrtc/modules/BUILD.gn
index 4ffb310..f1cd14b 100644
--- a/webrtc/modules/BUILD.gn
+++ b/webrtc/modules/BUILD.gn
@@ -33,6 +33,81 @@
 }
 
 if (rtc_include_tests) {
+  test("modules_tests") {
+    testonly = true
+
+    configs += [ "..:common_config" ]
+    public_configs = [ "..:common_inherited_config" ]
+
+    videoprocessor_defines = []
+    if (rtc_use_h264) {
+      videoprocessor_defines += [ "WEBRTC_VIDEOPROCESSOR_H264_TESTS" ]
+    }
+
+    defines = audio_coding_defines + videoprocessor_defines
+
+    deps = [
+      "..:webrtc_common",
+      "../common_video",
+      "../modules/audio_coding",
+      "../modules/rtp_rtcp",
+      "../modules/utility",
+      "../modules/video_coding",
+      "../modules/video_coding:video_codecs_test_framework",
+      "../system_wrappers",
+      "../test:test_support",
+      "../test:test_support_main",
+      "//testing/gtest",
+    ]
+
+    sources = [
+      "audio_coding/test/APITest.cc",
+      "audio_coding/test/Channel.cc",
+      "audio_coding/test/EncodeDecodeTest.cc",
+      "audio_coding/test/PCMFile.cc",
+      "audio_coding/test/PacketLossTest.cc",
+      "audio_coding/test/RTPFile.cc",
+      "audio_coding/test/TestAllCodecs.cc",
+      "audio_coding/test/TestRedFec.cc",
+      "audio_coding/test/TestStereo.cc",
+      "audio_coding/test/TestVADDTX.cc",
+      "audio_coding/test/Tester.cc",
+      "audio_coding/test/TwoWayCommunication.cc",
+      "audio_coding/test/iSACTest.cc",
+      "audio_coding/test/opus_test.cc",
+      "audio_coding/test/target_delay_unittest.cc",
+      "audio_coding/test/utility.cc",
+      "rtp_rtcp/test/testFec/test_fec.cc",
+      "video_coding/codecs/test/videoprocessor_integrationtest.cc",
+      "video_coding/codecs/vp8/test/vp8_impl_unittest.cc",
+    ]
+
+    if (is_android) {
+      deps += [ "//testing/android/native_test:native_test_native_code" ]
+    }
+    if (is_android || is_ios) {
+      data = [
+        "//resources/audio_coding/testfile32kHz.pcm",
+        "//resources/audio_coding/teststereo32kHz.pcm",
+        "//resources/foreman_cif.yuv",
+        "//resources/paris_qcif.yuv",
+      ]
+    }
+
+    if (is_clang) {
+      # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+      configs -= [ "//build/config/clang:find_bad_constructs" ]
+    }
+    if (is_win) {
+      cflags = [
+        # TODO(phoglund): get rid of 4373 supression when
+        # http://code.google.com/p/webrtc/issues/detail?id=261 is solved.
+        # legacy warning for ignoring const / volatile in signatures.
+        "/wd4373",
+      ]
+    }
+  }
+
   test("modules_unittests") {
     testonly = true
 
diff --git a/webrtc/modules/audio_coding/test/RTPFile.cc b/webrtc/modules/audio_coding/test/RTPFile.cc
index 6077717..2ffe3da 100644
--- a/webrtc/modules/audio_coding/test/RTPFile.cc
+++ b/webrtc/modules/audio_coding/test/RTPFile.cc
@@ -20,7 +20,7 @@
 #endif
 
 #include "audio_coding_module.h"
-#include "engine_configurations.h"
+#include "webrtc/engine_configurations.h"
 #include "webrtc/system_wrappers/include/rw_lock_wrapper.h"
 // TODO(tlegrand): Consider removing usage of gtest.
 #include "testing/gtest/include/gtest/gtest.h"