From 1e060c6b0cf72c805209820330968ea7d64208b7 Mon Sep 17 00:00:00 2001 From: mbonadei Date: Fri, 21 Apr 2017 00:02:02 -0700 Subject: [PATCH] Enabling 'gn check' on webrtc/sdk BUG=webrtc:7499 Review-Url: https://codereview.webrtc.org/2818433003 Cr-Commit-Position: refs/heads/master@{#17805} --- .gn | 1 + webrtc/pc/BUILD.gn | 1 - webrtc/sdk/BUILD.gn | 71 ++++++++++++------- webrtc/sdk/android/BUILD.gn | 16 +++++ webrtc/sdk/android/src/jni/DEPS | 1 + .../sdk/android/src/jni/peerconnection_jni.cc | 5 +- .../objc/Framework/Classes/RTCFieldTrials.mm | 5 +- .../Classes/RTCMetricsSampleInfo+Private.h | 5 +- 8 files changed, 74 insertions(+), 31 deletions(-) diff --git a/.gn b/.gn index edfad1a0f9..1265bc5d18 100644 --- a/.gn +++ b/.gn @@ -33,6 +33,7 @@ check_targets = [ "//webrtc/media/*", "//webrtc/modules/*", "//webrtc/ortc/*", + "//webrtc/sdk/*", "//webrtc/stats/*", "//webrtc/tools/*", "//webrtc/test/*", diff --git a/webrtc/pc/BUILD.gn b/webrtc/pc/BUILD.gn index 95c484e0c4..fe9348b59e 100644 --- a/webrtc/pc/BUILD.gn +++ b/webrtc/pc/BUILD.gn @@ -81,7 +81,6 @@ config("libjingle_peerconnection_warnings_config") { } rtc_static_library("libjingle_peerconnection") { - check_includes = false # TODO(kjellander): Remove (bugs.webrtc.org/6828) cflags = [] sources = [ "audiotrack.cc", diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn index 38c5b68de6..77a9f552a7 100644 --- a/webrtc/sdk/BUILD.gn +++ b/webrtc/sdk/BUILD.gn @@ -28,14 +28,6 @@ if (is_ios || is_mac) { } rtc_static_library("rtc_sdk_common_objc") { - deps = [ - "../base:rtc_base", - ] - configs += [ - "..:common_objc", - "//build/config/compiler:enable_arc", - ] - public_configs = [ ":rtc_sdk_common_objc_config" ] sources = [ "objc/Framework/Classes/NSString+StdString.h", "objc/Framework/Classes/NSString+StdString.mm", @@ -58,6 +50,14 @@ if (is_ios || is_mac) { "objc/Framework/Headers/WebRTC/RTCSSLAdapter.h", "objc/Framework/Headers/WebRTC/RTCTracing.h", ] + configs += [ + "..:common_objc", + "//build/config/compiler:enable_arc", + ] + public_configs = [ ":rtc_sdk_common_objc_config" ] + deps = [ + "../base:rtc_base", + ] if (is_ios) { sources += [ "objc/Framework/Classes/RTCCameraPreviewView.m", @@ -73,6 +73,7 @@ if (is_ios || is_mac) { "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.mm", "objc/Framework/Classes/Metal/RTCMTLVideoView.m", ] + deps += [ "../api:video_frame_api" ] } libs = [ "AVFoundation.framework" ] @@ -194,8 +195,22 @@ if (is_ios || is_mac) { "objc/Framework/Headers/WebRTC/RTCVideoTrack.h", ] + configs += [ + "..:common_objc", + "//build/config/compiler:enable_arc", + ] + + public_configs = [ ":rtc_sdk_common_objc_config" ] + deps = [ ":webrtc_h264_video_toolbox", + "../api:video_frame_api", + "../base:rtc_base", + "../base:rtc_base_approved", + "../common_video", + "../media:rtc_media", + "../media:rtc_media_base", + "../system_wrappers", ] if (is_ios) { @@ -230,13 +245,6 @@ if (is_ios || is_mac) { ] } - configs += [ - "..:common_objc", - "//build/config/compiler:enable_arc", - ] - - public_configs = [ ":rtc_sdk_common_objc_config" ] - 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" ] @@ -276,11 +284,6 @@ if (is_ios || is_mac) { sources += [ "objc/Framework/Classes/Metal/RTCMTLVideoView.m" ] } } - deps = [ - ":rtc_sdk_peerconnection_objc", - "//third_party/ocmock", - "//webrtc/system_wrappers:system_wrappers_default", - ] # TODO(tkchin): Cleanup this warning. cflags = [ "-Wno-objc-property-no-attribute" ] @@ -291,6 +294,13 @@ if (is_ios || is_mac) { ldflags = [ "-ObjC" ] defines = [ "GTEST_RELATIVE_PATH" ] + deps = [ + ":rtc_sdk_peerconnection_objc", + "../base:rtc_base_tests_utils", + "//third_party/ocmock", + "//webrtc/system_wrappers:system_wrappers_default", + ] + 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" ] @@ -358,6 +368,13 @@ if (is_ios || is_mac) { "@rpath/$output_name.framework/$output_name", ] + configs += [ + "..:common_objc", + "//build/config/compiler:enable_arc", + ] + + public_configs = [ ":rtc_sdk_common_objc_config" ] + deps = [ ":rtc_sdk_peerconnection_objc", "../system_wrappers:field_trial_default", @@ -373,13 +390,6 @@ if (is_ios || is_mac) { "VideoToolbox.framework", ] - configs += [ - "..:common_objc", - "//build/config/compiler:enable_arc", - ] - - public_configs = [ ":rtc_sdk_common_objc_config" ] - if (!build_with_chromium && is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163) configs -= [ "//build/config/clang:find_bad_constructs" ] @@ -413,6 +423,13 @@ if (is_ios || is_mac) { deps = [ ":rtc_sdk_common_objc", + "../api:video_frame_api", + "../base:rtc_base_approved", + "../common_video", + "../media:rtc_media_base", + "../modules/video_coding:video_coding_utility", + "../modules/video_coding:webrtc_h264", + "../system_wrappers", ] libs = [ diff --git a/webrtc/sdk/android/BUILD.gn b/webrtc/sdk/android/BUILD.gn index a9137222a1..c3a20d763e 100644 --- a/webrtc/sdk/android/BUILD.gn +++ b/webrtc/sdk/android/BUILD.gn @@ -69,6 +69,19 @@ rtc_static_library("libjingle_peerconnection_jni") { } deps = [ + "../..:webrtc_common", + "../../api:video_frame_api", + "../../api/video_codecs:video_codecs_api", + "../../base:rtc_base", + "../../base:rtc_base_approved", + "../../base:rtc_task_queue", + "../../common_video:common_video", + "../../media:rtc_media", + "../../media:rtc_media_base", + "../../modules/utility:utility", + "../../modules/video_coding:video_coding_utility", + "../../system_wrappers:system_wrappers", + "../../voice_engine:voice_engine", "//webrtc/pc:libjingle_peerconnection", ] @@ -91,6 +104,8 @@ rtc_static_library("libjingle_peerconnection_metrics_default_jni") { configs += [ ":libjingle_peerconnection_jni_warnings_config" ] deps = [ + ":libjingle_peerconnection_jni", + "../../system_wrappers", "//webrtc/pc:libjingle_peerconnection", "//webrtc/system_wrappers:field_trial_default", "//webrtc/system_wrappers:metrics_default", @@ -108,6 +123,7 @@ rtc_shared_library("libjingle_peerconnection_so") { deps = [ ":libjingle_peerconnection_jni", ":libjingle_peerconnection_metrics_default_jni", + "../../base:rtc_base", "//webrtc/pc:libjingle_peerconnection", ] output_extension = "so" diff --git a/webrtc/sdk/android/src/jni/DEPS b/webrtc/sdk/android/src/jni/DEPS index 12f35fd1b9..629ad008d2 100644 --- a/webrtc/sdk/android/src/jni/DEPS +++ b/webrtc/sdk/android/src/jni/DEPS @@ -5,4 +5,5 @@ include_rules = [ "+webrtc/modules/utility/include/jvm_android.h", "+webrtc/modules/video_coding/utility/vp8_header_parser.h", "+webrtc/pc", + "+webrtc/system_wrappers/include/field_trial_default.h", ] diff --git a/webrtc/sdk/android/src/jni/peerconnection_jni.cc b/webrtc/sdk/android/src/jni/peerconnection_jni.cc index ecce13e0a0..c07d58faff 100644 --- a/webrtc/sdk/android/src/jni/peerconnection_jni.cc +++ b/webrtc/sdk/android/src/jni/peerconnection_jni.cc @@ -74,7 +74,10 @@ #include "webrtc/sdk/android/src/jni/jni_helpers.h" #include "webrtc/sdk/android/src/jni/native_handle_impl.h" #include "webrtc/sdk/android/src/jni/rtcstatscollectorcallbackwrapper.h" -#include "webrtc/system_wrappers/include/field_trial_default.h" +// Adding 'nogncheck' to disable the gn include headers check. +// We don't want to depend on 'system_wrappers:field_trial_default' because +// clients should be able to provide their own implementation. +#include "webrtc/system_wrappers/include/field_trial_default.h" // nogncheck #include "webrtc/system_wrappers/include/logcat_trace_context.h" #include "webrtc/system_wrappers/include/trace.h" #include "webrtc/voice_engine/include/voe_base.h" diff --git a/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm index 5e1ee0afc1..28ce5414bd 100644 --- a/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm +++ b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm @@ -14,7 +14,10 @@ #import "WebRTC/RTCLogging.h" -#include "webrtc/system_wrappers/include/field_trial_default.h" +// Adding 'nogncheck' to disable the gn include headers check. +// We don't want to depend on 'system_wrappers:field_trial_default' because +// clients should be able to provide their own implementation. +#include "webrtc/system_wrappers/include/field_trial_default.h" // nogncheck NSString * const kRTCFieldTrialAudioSendSideBweKey = @"WebRTC-Audio-SendSideBwe"; NSString * const kRTCFieldTrialSendSideBweWithOverheadKey = @"WebRTC-SendSideBwe-WithOverhead"; diff --git a/webrtc/sdk/objc/Framework/Classes/RTCMetricsSampleInfo+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMetricsSampleInfo+Private.h index 00d3fa6930..609fc74fe8 100644 --- a/webrtc/sdk/objc/Framework/Classes/RTCMetricsSampleInfo+Private.h +++ b/webrtc/sdk/objc/Framework/Classes/RTCMetricsSampleInfo+Private.h @@ -10,7 +10,10 @@ #import "WebRTC/RTCMetricsSampleInfo.h" -#include "webrtc/system_wrappers/include/metrics_default.h" +// Adding 'nogncheck' to disable the gn include headers check. +// We don't want to depend on 'system_wrappers:metrics_default' because +// clients should be able to provide their own implementation. +#include "webrtc/system_wrappers/include/metrics_default.h" // nogncheck NS_ASSUME_NONNULL_BEGIN