Expose less targets in webrtc/rtc_tools in Chromium builds.
This should solve recent linking problems with frame_editor and also speed
up the Chromium build a little.
BUG=None
NOTRY=True
Review-Url: https://codereview.webrtc.org/3006093002
Cr-Original-Commit-Position: refs/heads/master@{#19677}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 6af0cbf4b02da1faf01011da81d97e1e0593b2ca
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index efe82d1..4821624 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -16,15 +16,20 @@
public_deps = [
":command_line_parser",
":frame_analyzer",
- ":frame_editor",
- ":psnr_ssim_analyzer",
- ":rgba_to_i420_converter",
+ ":video_quality_analysis",
]
- if (rtc_include_internal_audio_device) {
- public_deps += [ ":force_mic_volume_max" ]
- }
- if (rtc_enable_protobuf) {
- public_deps += [ ":chart_proto" ]
+ if (!build_with_chromium) {
+ public_deps += [
+ ":frame_editor",
+ ":psnr_ssim_analyzer",
+ ":rgba_to_i420_converter",
+ ]
+ if (rtc_include_internal_audio_device) {
+ public_deps += [ ":force_mic_volume_max" ]
+ }
+ if (rtc_enable_protobuf) {
+ public_deps += [ ":chart_proto" ]
+ }
}
if (rtc_include_tests) {
@@ -59,9 +64,6 @@
"frame_analyzer/video_quality_analysis.h",
]
- deps = [
- "../common_video",
- ]
public_deps = [
"../common_video",
]
@@ -79,152 +81,156 @@
]
}
-rtc_executable("psnr_ssim_analyzer") {
- sources = [
- "psnr_ssim_analyzer/psnr_ssim_analyzer.cc",
- ]
-
- deps = [
- ":command_line_parser",
- ":video_quality_analysis",
- "//build/win:default_exe_manifest",
- ]
-}
-
-rtc_static_library("reference_less_video_analysis_lib") {
- sources = [
- "frame_analyzer/reference_less_video_analysis_lib.cc",
- "frame_analyzer/reference_less_video_analysis_lib.h",
- ]
-
- deps = [
- ":video_quality_analysis",
- ]
-}
-
-rtc_executable("reference_less_video_analysis") {
- sources = [
- "frame_analyzer/reference_less_video_analysis.cc",
- ]
-
- deps = [
- ":command_line_parser",
- ":reference_less_video_analysis_lib",
- "//build/win:default_exe_manifest",
- ]
-}
-
-rtc_executable("rgba_to_i420_converter") {
- sources = [
- "converter/converter.cc",
- "converter/converter.h",
- "converter/rgba_to_i420_converter.cc",
- ]
-
- deps = [
- ":command_line_parser",
- "../common_video",
- "//build/win:default_exe_manifest",
- ]
-}
-
-rtc_static_library("frame_editing_lib") {
- sources = [
- "frame_editing/frame_editing_lib.cc",
- "frame_editing/frame_editing_lib.h",
- ]
-
- # TODO(jschuh): Bug 1348: fix this warning.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
-
- if (!build_with_chromium && is_clang) {
- # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
- suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
- }
-
- deps = [
- "..:webrtc_common",
- "../common_video",
- ]
-}
-
-rtc_executable("frame_editor") {
- sources = [
- "frame_editing/frame_editing.cc",
- ]
-
- deps = [
- ":command_line_parser",
- ":frame_editing_lib",
- "//build/win:default_exe_manifest",
- ]
-}
-
-# It doesn't make sense to build this tool without the ADM enabled.
-if (rtc_include_internal_audio_device) {
- rtc_executable("force_mic_volume_max") {
+# Only expose the targets needed by Chromium (e.g. frame_analyzer) to avoid
+# building a lot of redundant code as part of Chromium builds.
+if (!build_with_chromium) {
+ rtc_executable("psnr_ssim_analyzer") {
sources = [
- "force_mic_volume_max/force_mic_volume_max.cc",
+ "psnr_ssim_analyzer/psnr_ssim_analyzer.cc",
]
- if (!build_with_chromium && is_clang) {
- # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
- suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
- }
-
deps = [
- "../modules/audio_device",
- "../system_wrappers:system_wrappers_default",
+ ":command_line_parser",
+ ":video_quality_analysis",
"//build/win:default_exe_manifest",
]
}
-}
-if (rtc_enable_protobuf) {
- proto_library("chart_proto") {
+ rtc_static_library("reference_less_video_analysis_lib") {
sources = [
- "event_log_visualizer/chart.proto",
+ "frame_analyzer/reference_less_video_analysis_lib.cc",
+ "frame_analyzer/reference_less_video_analysis_lib.h",
]
- proto_out_dir = "webrtc/rtc_tools/event_log_visualizer"
+
+ deps = [
+ ":video_quality_analysis",
+ ]
}
- rtc_static_library("event_log_visualizer_utils") {
+ rtc_executable("reference_less_video_analysis") {
sources = [
- "event_log_visualizer/analyzer.cc",
- "event_log_visualizer/analyzer.h",
- "event_log_visualizer/plot_base.cc",
- "event_log_visualizer/plot_base.h",
- "event_log_visualizer/plot_protobuf.cc",
- "event_log_visualizer/plot_protobuf.h",
- "event_log_visualizer/plot_python.cc",
- "event_log_visualizer/plot_python.h",
+ "frame_analyzer/reference_less_video_analysis.cc",
]
+
+ deps = [
+ ":command_line_parser",
+ ":reference_less_video_analysis_lib",
+ "//build/win:default_exe_manifest",
+ ]
+ }
+
+ rtc_executable("rgba_to_i420_converter") {
+ sources = [
+ "converter/converter.cc",
+ "converter/converter.h",
+ "converter/rgba_to_i420_converter.cc",
+ ]
+
+ deps = [
+ ":command_line_parser",
+ "../common_video",
+ "//build/win:default_exe_manifest",
+ ]
+ }
+
+ rtc_static_library("frame_editing_lib") {
+ sources = [
+ "frame_editing/frame_editing_lib.cc",
+ "frame_editing/frame_editing_lib.h",
+ ]
+
+ # TODO(jschuh): Bug 1348: fix this warning.
+ configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
- defines = [ "ENABLE_RTC_EVENT_LOG" ]
- deps = [
- "../call:call_interfaces",
- "../call:video_stream_api",
- "../logging:rtc_event_log_impl",
- "../logging:rtc_event_log_parser",
- "../modules:module_api",
- "../modules/audio_coding:ana_debug_dump_proto",
- "../modules/audio_coding:neteq_tools",
- "../rtc_base:rtc_base_approved",
- # TODO(kwiberg): Remove this dependency.
- "../api/audio_codecs:audio_codecs_api",
- "../modules/congestion_controller",
- "../modules/rtp_rtcp",
- "../system_wrappers:system_wrappers_default",
- "//build/config:exe_and_shlib_deps",
+ deps = [
+ "..:webrtc_common",
+ "../common_video",
]
- public_deps = [
- ":chart_proto",
- "../logging:rtc_event_log_parser",
+ }
+
+ rtc_executable("frame_editor") {
+ sources = [
+ "frame_editing/frame_editing.cc",
]
+
+ deps = [
+ ":command_line_parser",
+ ":frame_editing_lib",
+ "//build/win:default_exe_manifest",
+ ]
+ }
+
+ # It doesn't make sense to build this tool without the ADM enabled.
+ if (rtc_include_internal_audio_device) {
+ rtc_executable("force_mic_volume_max") {
+ sources = [
+ "force_mic_volume_max/force_mic_volume_max.cc",
+ ]
+
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ deps = [
+ "../modules/audio_device",
+ "../system_wrappers:system_wrappers_default",
+ "//build/win:default_exe_manifest",
+ ]
+ }
+ }
+
+ if (rtc_enable_protobuf) {
+ proto_library("chart_proto") {
+ sources = [
+ "event_log_visualizer/chart.proto",
+ ]
+ proto_out_dir = "webrtc/rtc_tools/event_log_visualizer"
+ }
+
+ rtc_static_library("event_log_visualizer_utils") {
+ sources = [
+ "event_log_visualizer/analyzer.cc",
+ "event_log_visualizer/analyzer.h",
+ "event_log_visualizer/plot_base.cc",
+ "event_log_visualizer/plot_base.h",
+ "event_log_visualizer/plot_protobuf.cc",
+ "event_log_visualizer/plot_protobuf.h",
+ "event_log_visualizer/plot_python.cc",
+ "event_log_visualizer/plot_python.h",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+ defines = [ "ENABLE_RTC_EVENT_LOG" ]
+ deps = [
+ "../call:call_interfaces",
+ "../call:video_stream_api",
+ "../logging:rtc_event_log_impl",
+ "../logging:rtc_event_log_parser",
+ "../modules:module_api",
+ "../modules/audio_coding:ana_debug_dump_proto",
+ "../modules/audio_coding:neteq_tools",
+ "../rtc_base:rtc_base_approved",
+
+ # TODO(kwiberg): Remove this dependency.
+ "../api/audio_codecs:audio_codecs_api",
+ "../modules/congestion_controller",
+ "../modules/rtp_rtcp",
+ "../system_wrappers:system_wrappers_default",
+ "//build/config:exe_and_shlib_deps",
+ ]
+ public_deps = [
+ ":chart_proto",
+ "../logging:rtc_event_log_parser",
+ ]
+ }
}
}