From 9098b30700c2f36dbc36a6e6304c6dafdb357a22 Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Fri, 6 Apr 2018 10:48:10 +0200 Subject: [PATCH] Trimming unneeded dependencies in test:test_support_unittests. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When building test:test_support_unittests with is_official_build=true, the linker fails with the following error: duplicate symbol: webrtc::videocapturemodule::VideoCaptureImpl::Create( char const*) >>> defined in obj/modules/video_capture/video_capture_internal_impl/\ video_capture_linux.o >>> defined in obj/modules/video_capture/libvideo_capture.a(\ video_capture_external.o) After looking at both test:test_support_unittests and test:test_support, it seems these targets had unused dependenicies. This CL removes them and fixes the duplicated symbol error. The GN flag is_official_build changes some configurations down in the toolchain, that is probably why building with is_official_build=false was not triggering the problem. In any case, build targets in test/ need to be cleaned up because they depend on too many things. Bug: webrtc:9117 Change-Id: Icfdae3b5610f1c873ccdd0292c12ef946dea79af Reviewed-on: https://webrtc-review.googlesource.com/67161 Reviewed-by: Patrik Höglund Commit-Queue: Mirko Bonadei Cr-Commit-Position: refs/heads/master@{#22789} --- test/BUILD.gn | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/test/BUILD.gn b/test/BUILD.gn index b4598531ba..7a26e6384e 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -181,13 +181,7 @@ rtc_source_set("test_support") { } deps = [ - "..:webrtc_common", - "../:typedefs", - "../api:array_view", - "../common_video", - "../rtc_base:gtest_prod", "../rtc_base:rtc_base_approved", - "../system_wrappers", "//testing/gmock", "//testing/gtest", ] @@ -319,14 +313,16 @@ if (rtc_include_tests) { ":fileutils", ":perf_test", ":rtp_test_utils", - "../api:video_frame_api", + ":test_main", + ":test_support", + ":test_support_test_artifacts", + ":video_test_common", + ":video_test_support", "../api:video_frame_api_i420", - "../call:call_interfaces", - "../common_audio", - "../modules/audio_device", - "../modules/rtp_rtcp", + "../modules/rtp_rtcp:rtp_rtcp", "../rtc_base:rtc_base_approved", - "../system_wrappers", + "../test:single_threaded_task_queue", + "//testing/gtest", ] sources = [ "frame_generator_unittest.cc", @@ -358,19 +354,11 @@ if (rtc_include_tests) { if (is_ios) { deps += [ ":test_support_unittests_bundle_data" ] } - - deps += [ - ":direct_transport", - ":fileutils_unittests", - ":test_common", - ":test_main", - ":test_support_test_artifacts", - ":video_test_common", - ":video_test_support", - "../modules/video_capture", - "../rtc_base:rtc_base_approved", - "//testing/gtest", - ] + if (!is_android && !build_with_chromium) { + # This is needed in order to avoid: + # undefined symbol: webrtc::videocapturemodule::VideoCaptureImpl::Create + deps += [ "../modules/video_capture:video_capture_internal_impl" ] + } } }