From 470b2d5144a3a00ed82b017ede000098fb39df6b Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Tue, 29 Oct 2019 19:39:17 +0100 Subject: [PATCH] Stop relying on GN's sources_assignment_filter. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Recently, on the gn-dev mailing list [1] and on chromium-dev [2] a consensus about not using "sources_assignment_filter" [3] has been reached. This CL removes the implicit dependency on this feature from the WebRTC codebase in order to make it easier to remove it from GN [4]. [1] - https://groups.google.com/a/chromium.org/forum/#!topic/gn-dev/oQcYStl_WkI [2] - https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/hyLuCU6g2V4 [3] - https://gn.googlesource.com/gn/+/master/docs/reference.md#func_set_sources_assignment_filter [4] - https://bugs.chromium.org/p/gn/issues/detail?id=125 Bug: webrtc:11057 Change-Id: Ia77820f1b4f9dbc47df2b670148b90928860111a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158677 Commit-Queue: Mirko Bonadei Reviewed-by: Patrik Höglund Cr-Commit-Position: refs/heads/master@{#29648} --- modules/desktop_capture/BUILD.gn | 175 +++++++++++++++++-------------- modules/utility/BUILD.gn | 13 ++- test/BUILD.gn | 8 +- 3 files changed, 113 insertions(+), 83 deletions(-) diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn index 6b318b8775..88a10a12af 100644 --- a/modules/desktop_capture/BUILD.gn +++ b/modules/desktop_capture/BUILD.gn @@ -89,12 +89,16 @@ if (rtc_include_tests) { "test_utils.cc", "test_utils.h", "test_utils_unittest.cc", - "win/cursor_unittest.cc", - "win/cursor_unittest_resources.h", - "win/cursor_unittest_resources.rc", - "win/screen_capture_utils_unittest.cc", - "win/screen_capturer_win_directx_unittest.cc", ] + if (is_win) { + sources += [ + "win/cursor_unittest.cc", + "win/cursor_unittest_resources.h", + "win/cursor_unittest_resources.rc", + "win/screen_capture_utils_unittest.cc", + "win/screen_capturer_win_directx_unittest.cc", + ] + } deps = [ ":desktop_capture", ":desktop_capture_mock", @@ -125,11 +129,20 @@ if (rtc_include_tests) { sources = [ "screen_drawer.cc", "screen_drawer.h", - "screen_drawer_linux.cc", - "screen_drawer_mac.cc", - "screen_drawer_win.cc", ] + if (is_linux) { + sources += [ "screen_drawer_linux.cc" ] + } + + if (is_mac) { + sources += [ "screen_drawer_mac.cc" ] + } + + if (is_win) { + sources += [ "screen_drawer_win.cc" ] + } + deps = [ ":primitives", "../../api:scoped_refptr", @@ -267,7 +280,6 @@ rtc_library("desktop_capture_generic") { "cropped_desktop_frame.h", "cropping_window_capturer.cc", "cropping_window_capturer.h", - "cropping_window_capturer_win.cc", "desktop_and_cursor_composer.cc", "desktop_and_cursor_composer.h", "desktop_capture_options.cc", @@ -282,25 +294,15 @@ rtc_library("desktop_capture_generic") { "desktop_frame_generator.h", "desktop_frame_rotation.cc", "desktop_frame_rotation.h", - "desktop_frame_win.cc", - "desktop_frame_win.h", "differ_block.cc", "differ_block.h", "fake_desktop_capturer.cc", "fake_desktop_capturer.h", "fallback_desktop_capturer_wrapper.cc", "fallback_desktop_capturer_wrapper.h", - "mac/desktop_configuration.h", - "mac/desktop_configuration_monitor.cc", - "mac/desktop_configuration_monitor.h", - "mac/full_screen_chrome_window_detector.cc", - "mac/full_screen_chrome_window_detector.h", - "mac/window_list_utils.cc", - "mac/window_list_utils.h", "mouse_cursor.cc", "mouse_cursor.h", "mouse_cursor_monitor.h", - "mouse_cursor_monitor_win.cc", "resolution_tracker.cc", "resolution_tracker.h", "rgba_color.cc", @@ -308,61 +310,34 @@ rtc_library("desktop_capture_generic") { "screen_capture_frame_queue.h", "screen_capturer_helper.cc", "screen_capturer_helper.h", - "screen_capturer_win.cc", - "win/cursor.cc", - "win/cursor.h", - "win/d3d_device.cc", - "win/d3d_device.h", - "win/desktop.cc", - "win/desktop.h", - "win/display_configuration_monitor.cc", - "win/display_configuration_monitor.h", - "win/dxgi_adapter_duplicator.cc", - "win/dxgi_adapter_duplicator.h", - "win/dxgi_context.cc", - "win/dxgi_context.h", - "win/dxgi_duplicator_controller.cc", - "win/dxgi_duplicator_controller.h", - "win/dxgi_frame.cc", - "win/dxgi_frame.h", - "win/dxgi_output_duplicator.cc", - "win/dxgi_output_duplicator.h", - "win/dxgi_texture.cc", - "win/dxgi_texture.h", - "win/dxgi_texture_mapping.cc", - "win/dxgi_texture_mapping.h", - "win/dxgi_texture_staging.cc", - "win/dxgi_texture_staging.h", - "win/scoped_gdi_object.h", - "win/scoped_thread_desktop.cc", - "win/scoped_thread_desktop.h", - "win/screen_capture_utils.cc", - "win/screen_capture_utils.h", - "win/screen_capturer_win_directx.cc", - "win/screen_capturer_win_directx.h", - "win/screen_capturer_win_gdi.cc", - "win/screen_capturer_win_gdi.h", - "win/screen_capturer_win_magnifier.cc", - "win/screen_capturer_win_magnifier.h", - "win/selected_window_context.cc", - "win/selected_window_context.h", - "win/window_capture_utils.cc", - "win/window_capture_utils.h", - "window_capturer_win.cc", "window_finder.cc", "window_finder.h", - "window_finder_win.cc", - "window_finder_win.h", ] + if (is_mac) { + sources += [ + "mac/desktop_configuration.h", + "mac/desktop_configuration_monitor.cc", + "mac/desktop_configuration_monitor.h", + "mac/full_screen_chrome_window_detector.cc", + "mac/full_screen_chrome_window_detector.h", + "mac/window_list_utils.cc", + "mac/window_list_utils.h", + ] + } + if (build_with_mozilla) { sources += [ - "app_capturer_win.cc", "desktop_device_info.cc", "desktop_device_info.h", - "win/desktop_device_info_win.cc", - "win/win_shared.cc", ] + if (is_win) { + sources += [ + "app_capturer_win.cc", + "win/desktop_device_info_win.cc", + "win/win_shared.cc", + ] + } } if (rtc_use_x11_extensions || rtc_use_pipewire) { @@ -372,8 +347,15 @@ rtc_library("desktop_capture_generic") { "window_capturer_linux.cc", ] - if (build_with_mozilla) { - sources += [ "app_capturer_linux.cc" ] + if (build_with_mozilla && is_linux) { + sources += [ + "app_capturer_linux.cc", + "linux/app_capturer_x11.cc", + "linux/desktop_device_info_linux.cc", + "linux/desktop_device_info_linux.h", + "linux/shared_x_util.cc", + "linux/shared_x_util.h", + ] } } @@ -408,16 +390,6 @@ rtc_library("desktop_capture_generic") { "Xfixes", "Xrender", ] - - if (build_with_mozilla) { - sources += [ - "linux/app_capturer_x11.cc", - "linux/desktop_device_info_linux.cc", - "linux/desktop_device_info_linux.h", - "linux/shared_x_util.cc", - "linux/shared_x_util.h", - ] - } } if (!is_win && !is_mac && !rtc_use_x11_extensions && !rtc_use_pipewire) { @@ -429,6 +401,55 @@ rtc_library("desktop_capture_generic") { } if (is_win) { + sources += [ + "cropping_window_capturer_win.cc", + "desktop_frame_win.cc", + "desktop_frame_win.h", + "mouse_cursor_monitor_win.cc", + "screen_capturer_win.cc", + "win/cursor.cc", + "win/cursor.h", + "win/d3d_device.cc", + "win/d3d_device.h", + "win/desktop.cc", + "win/desktop.h", + "win/display_configuration_monitor.cc", + "win/display_configuration_monitor.h", + "win/dxgi_adapter_duplicator.cc", + "win/dxgi_adapter_duplicator.h", + "win/dxgi_context.cc", + "win/dxgi_context.h", + "win/dxgi_duplicator_controller.cc", + "win/dxgi_duplicator_controller.h", + "win/dxgi_frame.cc", + "win/dxgi_frame.h", + "win/dxgi_output_duplicator.cc", + "win/dxgi_output_duplicator.h", + "win/dxgi_texture.cc", + "win/dxgi_texture.h", + "win/dxgi_texture_mapping.cc", + "win/dxgi_texture_mapping.h", + "win/dxgi_texture_staging.cc", + "win/dxgi_texture_staging.h", + "win/scoped_gdi_object.h", + "win/scoped_thread_desktop.cc", + "win/scoped_thread_desktop.h", + "win/screen_capture_utils.cc", + "win/screen_capture_utils.h", + "win/screen_capturer_win_directx.cc", + "win/screen_capturer_win_directx.h", + "win/screen_capturer_win_gdi.cc", + "win/screen_capturer_win_gdi.h", + "win/screen_capturer_win_magnifier.cc", + "win/screen_capturer_win_magnifier.h", + "win/selected_window_context.cc", + "win/selected_window_context.h", + "win/window_capture_utils.cc", + "win/window_capture_utils.h", + "window_capturer_win.cc", + "window_finder_win.cc", + "window_finder_win.h", + ] libs = [ "d3d11.lib", "dxgi.lib", diff --git a/modules/utility/BUILD.gn b/modules/utility/BUILD.gn index 96897ba114..1b68212007 100644 --- a/modules/utility/BUILD.gn +++ b/modules/utility/BUILD.gn @@ -11,15 +11,20 @@ import("../../webrtc.gni") rtc_library("utility") { visibility = [ "*" ] sources = [ - "include/helpers_android.h", - "include/jvm_android.h", "include/process_thread.h", - "source/helpers_android.cc", - "source/jvm_android.cc", "source/process_thread_impl.cc", "source/process_thread_impl.h", ] + if (is_android) { + sources += [ + "include/helpers_android.h", + "include/jvm_android.h", + "source/helpers_android.cc", + "source/jvm_android.cc", + ] + } + if (is_ios) { libs = [ "AVFoundation.framework" ] } diff --git a/test/BUILD.gn b/test/BUILD.gn index c0646d3b15..49c76b0729 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -847,8 +847,6 @@ rtc_library("test_renderer_generic") { sources = [ "video_renderer.cc", "video_renderer.h", - "win/d3d_renderer.cc", - "win/d3d_renderer.h", ] deps = [ ":test_support", @@ -861,6 +859,12 @@ rtc_library("test_renderer_generic") { "../rtc_base:rtc_base_approved", "//testing/gtest", ] + if (is_win) { + sources += [ + "win/d3d_renderer.cc", + "win/d3d_renderer.h", + ] + } if (!(is_linux && rtc_use_x11) && !is_mac && !is_win) { sources += [ "null_platform_renderer.cc" ] }