1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 2*d9f75844SAndroid Build Coastguard Worker# 3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license 4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source 5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found 6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS. All contributing project authors may 7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree. 8*d9f75844SAndroid Build Coastguard Worker 9*d9f75844SAndroid Build Coastguard Workerimport("../webrtc.gni") 10*d9f75844SAndroid Build Coastguard Worker 11*d9f75844SAndroid Build Coastguard Workerif (is_android) { 12*d9f75844SAndroid Build Coastguard Worker import("//build/config/android/config.gni") 13*d9f75844SAndroid Build Coastguard Worker import("//build/config/android/rules.gni") 14*d9f75844SAndroid Build Coastguard Worker} else if (is_mac) { 15*d9f75844SAndroid Build Coastguard Worker import("//build/config/mac/rules.gni") 16*d9f75844SAndroid Build Coastguard Worker} else if (is_ios) { 17*d9f75844SAndroid Build Coastguard Worker import("//build/config/ios/rules.gni") 18*d9f75844SAndroid Build Coastguard Worker} else if (is_linux || is_chromeos) { 19*d9f75844SAndroid Build Coastguard Worker import("//build/config/linux/pkg_config.gni") 20*d9f75844SAndroid Build Coastguard Worker} 21*d9f75844SAndroid Build Coastguard Worker 22*d9f75844SAndroid Build Coastguard Workergroup("examples") { 23*d9f75844SAndroid Build Coastguard Worker # This target shall build all targets in examples. 24*d9f75844SAndroid Build Coastguard Worker testonly = true 25*d9f75844SAndroid Build Coastguard Worker deps = [] 26*d9f75844SAndroid Build Coastguard Worker 27*d9f75844SAndroid Build Coastguard Worker if (is_android) { 28*d9f75844SAndroid Build Coastguard Worker deps += [ 29*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile", 30*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_test_apk", 31*d9f75844SAndroid Build Coastguard Worker ":libwebrtc_unity", 32*d9f75844SAndroid Build Coastguard Worker "androidvoip", 33*d9f75844SAndroid Build Coastguard Worker ] 34*d9f75844SAndroid Build Coastguard Worker 35*d9f75844SAndroid Build Coastguard Worker # TODO(sakal): We include some code from the tests. Remove this dependency 36*d9f75844SAndroid Build Coastguard Worker # and remove this if-clause. 37*d9f75844SAndroid Build Coastguard Worker if (rtc_include_tests) { 38*d9f75844SAndroid Build Coastguard Worker deps += [ "androidnativeapi" ] 39*d9f75844SAndroid Build Coastguard Worker } 40*d9f75844SAndroid Build Coastguard Worker } 41*d9f75844SAndroid Build Coastguard Worker 42*d9f75844SAndroid Build Coastguard Worker if (!build_with_chromium) { 43*d9f75844SAndroid Build Coastguard Worker deps += [ ":stun_prober" ] 44*d9f75844SAndroid Build Coastguard Worker } 45*d9f75844SAndroid Build Coastguard Worker 46*d9f75844SAndroid Build Coastguard Worker if (is_ios || (is_mac && target_cpu != "x86")) { 47*d9f75844SAndroid Build Coastguard Worker deps += [ ":AppRTCMobile" ] 48*d9f75844SAndroid Build Coastguard Worker } 49*d9f75844SAndroid Build Coastguard Worker 50*d9f75844SAndroid Build Coastguard Worker if (is_linux || is_chromeos || is_win) { 51*d9f75844SAndroid Build Coastguard Worker deps += [ 52*d9f75844SAndroid Build Coastguard Worker ":peerconnection_server", 53*d9f75844SAndroid Build Coastguard Worker ":stunserver", 54*d9f75844SAndroid Build Coastguard Worker ":turnserver", 55*d9f75844SAndroid Build Coastguard Worker ] 56*d9f75844SAndroid Build Coastguard Worker if (current_os != "winuwp") { 57*d9f75844SAndroid Build Coastguard Worker deps += [ ":peerconnection_client" ] 58*d9f75844SAndroid Build Coastguard Worker } 59*d9f75844SAndroid Build Coastguard Worker } 60*d9f75844SAndroid Build Coastguard Worker 61*d9f75844SAndroid Build Coastguard Worker if (is_android || is_win) { 62*d9f75844SAndroid Build Coastguard Worker deps += [ ":webrtc_unity_plugin" ] 63*d9f75844SAndroid Build Coastguard Worker } 64*d9f75844SAndroid Build Coastguard Worker} 65*d9f75844SAndroid Build Coastguard Worker 66*d9f75844SAndroid Build Coastguard Workerrtc_library("read_auth_file") { 67*d9f75844SAndroid Build Coastguard Worker testonly = true 68*d9f75844SAndroid Build Coastguard Worker sources = [ 69*d9f75844SAndroid Build Coastguard Worker "turnserver/read_auth_file.cc", 70*d9f75844SAndroid Build Coastguard Worker "turnserver/read_auth_file.h", 71*d9f75844SAndroid Build Coastguard Worker ] 72*d9f75844SAndroid Build Coastguard Worker deps = [ 73*d9f75844SAndroid Build Coastguard Worker "../api:array_view", 74*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 75*d9f75844SAndroid Build Coastguard Worker "../rtc_base:stringutils", 76*d9f75844SAndroid Build Coastguard Worker ] 77*d9f75844SAndroid Build Coastguard Worker absl_deps = [ "//third_party/abseil-cpp/absl/strings:strings" ] 78*d9f75844SAndroid Build Coastguard Worker} 79*d9f75844SAndroid Build Coastguard Worker 80*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) { 81*d9f75844SAndroid Build Coastguard Worker rtc_test("examples_unittests") { 82*d9f75844SAndroid Build Coastguard Worker testonly = true 83*d9f75844SAndroid Build Coastguard Worker sources = [ "turnserver/read_auth_file_unittest.cc" ] 84*d9f75844SAndroid Build Coastguard Worker deps = [ 85*d9f75844SAndroid Build Coastguard Worker ":read_auth_file", 86*d9f75844SAndroid Build Coastguard Worker "../test:test_main", 87*d9f75844SAndroid Build Coastguard Worker "//test:test_support", 88*d9f75844SAndroid Build Coastguard Worker "//testing/gtest", 89*d9f75844SAndroid Build Coastguard Worker ] 90*d9f75844SAndroid Build Coastguard Worker } 91*d9f75844SAndroid Build Coastguard Worker} 92*d9f75844SAndroid Build Coastguard Worker 93*d9f75844SAndroid Build Coastguard Workerif (is_android) { 94*d9f75844SAndroid Build Coastguard Worker rtc_android_apk("AppRTCMobile") { 95*d9f75844SAndroid Build Coastguard Worker testonly = true 96*d9f75844SAndroid Build Coastguard Worker apk_name = "AppRTCMobile" 97*d9f75844SAndroid Build Coastguard Worker android_manifest = "androidapp/AndroidManifest.xml" 98*d9f75844SAndroid Build Coastguard Worker min_sdk_version = 21 99*d9f75844SAndroid Build Coastguard Worker target_sdk_version = 31 100*d9f75844SAndroid Build Coastguard Worker 101*d9f75844SAndroid Build Coastguard Worker deps = [ 102*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_javalib", 103*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_resources", 104*d9f75844SAndroid Build Coastguard Worker "../rtc_base:base_java", 105*d9f75844SAndroid Build Coastguard Worker ] 106*d9f75844SAndroid Build Coastguard Worker 107*d9f75844SAndroid Build Coastguard Worker shared_libraries = [ "../sdk/android:libjingle_peerconnection_so" ] 108*d9f75844SAndroid Build Coastguard Worker } 109*d9f75844SAndroid Build Coastguard Worker 110*d9f75844SAndroid Build Coastguard Worker rtc_android_library("AppRTCMobile_javalib") { 111*d9f75844SAndroid Build Coastguard Worker testonly = true 112*d9f75844SAndroid Build Coastguard Worker android_manifest = "androidapp/AndroidManifest.xml" 113*d9f75844SAndroid Build Coastguard Worker 114*d9f75844SAndroid Build Coastguard Worker sources = [ 115*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/AppRTCAudioManager.java", 116*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/AppRTCBluetoothManager.java", 117*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/AppRTCClient.java", 118*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/AppRTCProximitySensor.java", 119*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/CallActivity.java", 120*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/CallFragment.java", 121*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/CaptureQualityController.java", 122*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/ConnectActivity.java", 123*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/CpuMonitor.java", 124*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/DirectRTCClient.java", 125*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/HudFragment.java", 126*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/PeerConnectionClient.java", 127*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/RecordedAudioToFileController.java", 128*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/RoomParametersFetcher.java", 129*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/RtcEventLog.java", 130*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/SettingsActivity.java", 131*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/SettingsFragment.java", 132*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/TCPChannelClient.java", 133*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/UnhandledExceptionHandler.java", 134*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/WebSocketChannelClient.java", 135*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/WebSocketRTCClient.java", 136*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/util/AppRTCUtils.java", 137*d9f75844SAndroid Build Coastguard Worker "androidapp/src/org/appspot/apprtc/util/AsyncHttpURLConnection.java", 138*d9f75844SAndroid Build Coastguard Worker ] 139*d9f75844SAndroid Build Coastguard Worker 140*d9f75844SAndroid Build Coastguard Worker resources_package = "org.appspot.apprtc" 141*d9f75844SAndroid Build Coastguard Worker deps = [ 142*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_resources", 143*d9f75844SAndroid Build Coastguard Worker "../rtc_base:base_java", 144*d9f75844SAndroid Build Coastguard Worker "../sdk/android:audio_api_java", 145*d9f75844SAndroid Build Coastguard Worker "../sdk/android:base_java", 146*d9f75844SAndroid Build Coastguard Worker "../sdk/android:camera_java", 147*d9f75844SAndroid Build Coastguard Worker "../sdk/android:default_video_codec_factory_java", 148*d9f75844SAndroid Build Coastguard Worker "../sdk/android:filevideo_java", 149*d9f75844SAndroid Build Coastguard Worker "../sdk/android:hwcodecs_java", 150*d9f75844SAndroid Build Coastguard Worker "../sdk/android:java_audio_device_module_java", 151*d9f75844SAndroid Build Coastguard Worker "../sdk/android:libjingle_peerconnection_java", 152*d9f75844SAndroid Build Coastguard Worker "../sdk/android:libjingle_peerconnection_metrics_default_java", 153*d9f75844SAndroid Build Coastguard Worker "../sdk/android:peerconnection_java", 154*d9f75844SAndroid Build Coastguard Worker "../sdk/android:screencapturer_java", 155*d9f75844SAndroid Build Coastguard Worker "../sdk/android:surfaceviewrenderer_java", 156*d9f75844SAndroid Build Coastguard Worker "../sdk/android:swcodecs_java", 157*d9f75844SAndroid Build Coastguard Worker "../sdk/android:video_api_java", 158*d9f75844SAndroid Build Coastguard Worker "../sdk/android:video_java", 159*d9f75844SAndroid Build Coastguard Worker "androidapp/third_party/autobanh:autobanh_java", 160*d9f75844SAndroid Build Coastguard Worker "//third_party/androidx:androidx_annotation_annotation_java", 161*d9f75844SAndroid Build Coastguard Worker ] 162*d9f75844SAndroid Build Coastguard Worker } 163*d9f75844SAndroid Build Coastguard Worker 164*d9f75844SAndroid Build Coastguard Worker android_resources("AppRTCMobile_resources") { 165*d9f75844SAndroid Build Coastguard Worker testonly = true 166*d9f75844SAndroid Build Coastguard Worker sources = [ 167*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-hdpi/disconnect.png", 168*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-hdpi/ic_action_full_screen.png", 169*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-hdpi/ic_action_return_from_full_screen.png", 170*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-hdpi/ic_launcher.png", 171*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-hdpi/ic_loopback_call.png", 172*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-ldpi/disconnect.png", 173*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-ldpi/ic_action_full_screen.png", 174*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-ldpi/ic_action_return_from_full_screen.png", 175*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-ldpi/ic_launcher.png", 176*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-ldpi/ic_loopback_call.png", 177*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-mdpi/disconnect.png", 178*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-mdpi/ic_action_full_screen.png", 179*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-mdpi/ic_action_return_from_full_screen.png", 180*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-mdpi/ic_launcher.png", 181*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-mdpi/ic_loopback_call.png", 182*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-xhdpi/disconnect.png", 183*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-xhdpi/ic_action_full_screen.png", 184*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-xhdpi/ic_action_return_from_full_screen.png", 185*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-xhdpi/ic_launcher.png", 186*d9f75844SAndroid Build Coastguard Worker "androidapp/res/drawable-xhdpi/ic_loopback_call.png", 187*d9f75844SAndroid Build Coastguard Worker "androidapp/res/layout/activity_call.xml", 188*d9f75844SAndroid Build Coastguard Worker "androidapp/res/layout/activity_connect.xml", 189*d9f75844SAndroid Build Coastguard Worker "androidapp/res/layout/fragment_call.xml", 190*d9f75844SAndroid Build Coastguard Worker "androidapp/res/layout/fragment_hud.xml", 191*d9f75844SAndroid Build Coastguard Worker "androidapp/res/menu/connect_menu.xml", 192*d9f75844SAndroid Build Coastguard Worker "androidapp/res/values-v17/styles.xml", 193*d9f75844SAndroid Build Coastguard Worker "androidapp/res/values-v21/styles.xml", 194*d9f75844SAndroid Build Coastguard Worker "androidapp/res/values/arrays.xml", 195*d9f75844SAndroid Build Coastguard Worker "androidapp/res/values/strings.xml", 196*d9f75844SAndroid Build Coastguard Worker "androidapp/res/xml/preferences.xml", 197*d9f75844SAndroid Build Coastguard Worker ] 198*d9f75844SAndroid Build Coastguard Worker 199*d9f75844SAndroid Build Coastguard Worker # Needed for Bazel converter. 200*d9f75844SAndroid Build Coastguard Worker custom_package = "org.appspot.apprtc" 201*d9f75844SAndroid Build Coastguard Worker resource_dirs = [ "androidapp/res" ] 202*d9f75844SAndroid Build Coastguard Worker assert(resource_dirs != []) # Mark as used. 203*d9f75844SAndroid Build Coastguard Worker } 204*d9f75844SAndroid Build Coastguard Worker 205*d9f75844SAndroid Build Coastguard Worker rtc_instrumentation_test_apk("AppRTCMobile_test_apk") { 206*d9f75844SAndroid Build Coastguard Worker apk_name = "AppRTCMobileTest" 207*d9f75844SAndroid Build Coastguard Worker android_manifest = "androidtests/AndroidManifest.xml" 208*d9f75844SAndroid Build Coastguard Worker min_sdk_version = 21 209*d9f75844SAndroid Build Coastguard Worker target_sdk_version = 31 210*d9f75844SAndroid Build Coastguard Worker 211*d9f75844SAndroid Build Coastguard Worker sources = [ 212*d9f75844SAndroid Build Coastguard Worker "androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java", 213*d9f75844SAndroid Build Coastguard Worker ] 214*d9f75844SAndroid Build Coastguard Worker 215*d9f75844SAndroid Build Coastguard Worker apk_under_test = ":AppRTCMobile" 216*d9f75844SAndroid Build Coastguard Worker 217*d9f75844SAndroid Build Coastguard Worker deps = [ 218*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_javalib", 219*d9f75844SAndroid Build Coastguard Worker "../sdk/android:base_java", 220*d9f75844SAndroid Build Coastguard Worker "../sdk/android:camera_java", 221*d9f75844SAndroid Build Coastguard Worker "../sdk/android:libjingle_peerconnection_java", 222*d9f75844SAndroid Build Coastguard Worker "../sdk/android:peerconnection_java", 223*d9f75844SAndroid Build Coastguard Worker "../sdk/android:video_api_java", 224*d9f75844SAndroid Build Coastguard Worker "../sdk/android:video_java", 225*d9f75844SAndroid Build Coastguard Worker "//third_party/android_support_test_runner:runner_java", 226*d9f75844SAndroid Build Coastguard Worker "//third_party/androidx:androidx_test_runner_java", 227*d9f75844SAndroid Build Coastguard Worker "//third_party/junit", 228*d9f75844SAndroid Build Coastguard Worker ] 229*d9f75844SAndroid Build Coastguard Worker } 230*d9f75844SAndroid Build Coastguard Worker} 231*d9f75844SAndroid Build Coastguard Worker 232*d9f75844SAndroid Build Coastguard Workerif (is_ios || (is_mac && target_cpu != "x86")) { 233*d9f75844SAndroid Build Coastguard Worker config("apprtc_common_config") { 234*d9f75844SAndroid Build Coastguard Worker include_dirs = [ "objc/AppRTCMobile/common" ] 235*d9f75844SAndroid Build Coastguard Worker } 236*d9f75844SAndroid Build Coastguard Worker 237*d9f75844SAndroid Build Coastguard Worker rtc_library("apprtc_common") { 238*d9f75844SAndroid Build Coastguard Worker testonly = true 239*d9f75844SAndroid Build Coastguard Worker sources = [ 240*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/common/ARDUtilities.h", 241*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/common/ARDUtilities.m", 242*d9f75844SAndroid Build Coastguard Worker ] 243*d9f75844SAndroid Build Coastguard Worker public_configs = [ ":apprtc_common_config" ] 244*d9f75844SAndroid Build Coastguard Worker deps = [ "../sdk:base_objc" ] 245*d9f75844SAndroid Build Coastguard Worker } 246*d9f75844SAndroid Build Coastguard Worker 247*d9f75844SAndroid Build Coastguard Worker config("apprtc_signaling_config") { 248*d9f75844SAndroid Build Coastguard Worker include_dirs = [ "objc/AppRTCMobile" ] 249*d9f75844SAndroid Build Coastguard Worker } 250*d9f75844SAndroid Build Coastguard Worker 251*d9f75844SAndroid Build Coastguard Worker rtc_library("apprtc_signaling") { 252*d9f75844SAndroid Build Coastguard Worker testonly = true 253*d9f75844SAndroid Build Coastguard Worker sources = [ 254*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDAppClient+Internal.h", 255*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDAppClient.h", 256*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDAppClient.m", 257*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDAppEngineClient.h", 258*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDAppEngineClient.m", 259*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDCaptureController.h", 260*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDCaptureController.m", 261*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDExternalSampleCapturer.h", 262*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDExternalSampleCapturer.m", 263*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDJoinResponse+Internal.h", 264*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDJoinResponse.h", 265*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDJoinResponse.m", 266*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDMessageResponse+Internal.h", 267*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDMessageResponse.h", 268*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDMessageResponse.m", 269*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDRoomServerClient.h", 270*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDSettingsModel+Private.h", 271*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDSettingsModel.h", 272*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDSettingsModel.m", 273*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDSettingsStore.h", 274*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDSettingsStore.m", 275*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDSignalingChannel.h", 276*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDSignalingMessage.h", 277*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDSignalingMessage.m", 278*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDStatsBuilder.h", 279*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDStatsBuilder.m", 280*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDTURNClient+Internal.h", 281*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDTURNClient.h", 282*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDTURNClient.m", 283*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDWebSocketChannel.h", 284*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ARDWebSocketChannel.m", 285*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/RTCIceCandidate+JSON.h", 286*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/RTCIceCandidate+JSON.m", 287*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/RTCIceServer+JSON.h", 288*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/RTCIceServer+JSON.m", 289*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/RTCSessionDescription+JSON.h", 290*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/RTCSessionDescription+JSON.m", 291*d9f75844SAndroid Build Coastguard Worker ] 292*d9f75844SAndroid Build Coastguard Worker public_configs = [ ":apprtc_signaling_config" ] 293*d9f75844SAndroid Build Coastguard Worker deps = [ 294*d9f75844SAndroid Build Coastguard Worker ":apprtc_common", 295*d9f75844SAndroid Build Coastguard Worker ":socketrocket", 296*d9f75844SAndroid Build Coastguard Worker "../sdk:base_objc", 297*d9f75844SAndroid Build Coastguard Worker "../sdk:default_codec_factory_objc", 298*d9f75844SAndroid Build Coastguard Worker "../sdk:file_logger_objc", 299*d9f75844SAndroid Build Coastguard Worker "../sdk:helpers_objc", 300*d9f75844SAndroid Build Coastguard Worker "../sdk:mediaconstraints_objc", 301*d9f75844SAndroid Build Coastguard Worker "../sdk:peerconnectionfactory_base_objc", 302*d9f75844SAndroid Build Coastguard Worker "../sdk:videocapture_objc", 303*d9f75844SAndroid Build Coastguard Worker "../sdk:videoframebuffer_objc", 304*d9f75844SAndroid Build Coastguard Worker "../sdk:videosource_objc", 305*d9f75844SAndroid Build Coastguard Worker ] 306*d9f75844SAndroid Build Coastguard Worker frameworks = [ 307*d9f75844SAndroid Build Coastguard Worker "CoreMedia.framework", 308*d9f75844SAndroid Build Coastguard Worker "QuartzCore.framework", 309*d9f75844SAndroid Build Coastguard Worker ] 310*d9f75844SAndroid Build Coastguard Worker } 311*d9f75844SAndroid Build Coastguard Worker 312*d9f75844SAndroid Build Coastguard Worker if (is_ios) { 313*d9f75844SAndroid Build Coastguard Worker rtc_library("AppRTCMobile_lib") { 314*d9f75844SAndroid Build Coastguard Worker # iOS must use WebRTC.framework which is dynamically linked. 315*d9f75844SAndroid Build Coastguard Worker testonly = true 316*d9f75844SAndroid Build Coastguard Worker sources = [ 317*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDAppDelegate.h", 318*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDAppDelegate.m", 319*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDFileCaptureController.h", 320*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDFileCaptureController.m", 321*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDMainView.h", 322*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDMainView.m", 323*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDMainViewController.h", 324*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDMainViewController.m", 325*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDSettingsViewController.h", 326*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDSettingsViewController.m", 327*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDStatsView.h", 328*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDStatsView.m", 329*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDVideoCallView.h", 330*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDVideoCallView.m", 331*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDVideoCallViewController.h", 332*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/ARDVideoCallViewController.m", 333*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.h", 334*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.m", 335*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/UIImage+ARDUtilities.h", 336*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/UIImage+ARDUtilities.m", 337*d9f75844SAndroid Build Coastguard Worker ] 338*d9f75844SAndroid Build Coastguard Worker 339*d9f75844SAndroid Build Coastguard Worker configs += [ "..:common_objc" ] 340*d9f75844SAndroid Build Coastguard Worker 341*d9f75844SAndroid Build Coastguard Worker deps = [ 342*d9f75844SAndroid Build Coastguard Worker ":apprtc_common", 343*d9f75844SAndroid Build Coastguard Worker ":apprtc_signaling", 344*d9f75844SAndroid Build Coastguard Worker "../sdk:audio_session_objc", 345*d9f75844SAndroid Build Coastguard Worker "../sdk:base_objc", 346*d9f75844SAndroid Build Coastguard Worker "../sdk:helpers_objc", 347*d9f75844SAndroid Build Coastguard Worker "../sdk:mediaconstraints_objc", 348*d9f75844SAndroid Build Coastguard Worker "../sdk:metal_objc", 349*d9f75844SAndroid Build Coastguard Worker "../sdk:peerconnectionfactory_base_objc", 350*d9f75844SAndroid Build Coastguard Worker "../sdk:peerconnectionfactory_base_objc", 351*d9f75844SAndroid Build Coastguard Worker "../sdk:videocapture_objc", 352*d9f75844SAndroid Build Coastguard Worker "../sdk:videocodec_objc", 353*d9f75844SAndroid Build Coastguard Worker ] 354*d9f75844SAndroid Build Coastguard Worker if (rtc_ios_macos_use_opengl_rendering) { 355*d9f75844SAndroid Build Coastguard Worker deps += [ "../sdk:opengl_ui_objc" ] 356*d9f75844SAndroid Build Coastguard Worker } 357*d9f75844SAndroid Build Coastguard Worker 358*d9f75844SAndroid Build Coastguard Worker frameworks = [ "AVFoundation.framework" ] 359*d9f75844SAndroid Build Coastguard Worker } 360*d9f75844SAndroid Build Coastguard Worker 361*d9f75844SAndroid Build Coastguard Worker ios_app_bundle("AppRTCMobile") { 362*d9f75844SAndroid Build Coastguard Worker testonly = true 363*d9f75844SAndroid Build Coastguard Worker sources = [ "objc/AppRTCMobile/ios/main.m" ] 364*d9f75844SAndroid Build Coastguard Worker 365*d9f75844SAndroid Build Coastguard Worker info_plist = "objc/AppRTCMobile/ios/Info.plist" 366*d9f75844SAndroid Build Coastguard Worker 367*d9f75844SAndroid Build Coastguard Worker configs += [ "..:common_config" ] 368*d9f75844SAndroid Build Coastguard Worker public_configs = [ "..:common_inherited_config" ] 369*d9f75844SAndroid Build Coastguard Worker 370*d9f75844SAndroid Build Coastguard Worker deps = [ 371*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_ios_bundle_data", 372*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_lib", 373*d9f75844SAndroid Build Coastguard Worker "../sdk:framework_objc", 374*d9f75844SAndroid Build Coastguard Worker "../sdk:ios_framework_bundle", 375*d9f75844SAndroid Build Coastguard Worker ] 376*d9f75844SAndroid Build Coastguard Worker 377*d9f75844SAndroid Build Coastguard Worker if (rtc_apprtcmobile_broadcast_extension) { 378*d9f75844SAndroid Build Coastguard Worker deps += [ 379*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobileBroadcastSetupUI_extension_bundle", 380*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobileBroadcastUpload_extension_bundle", 381*d9f75844SAndroid Build Coastguard Worker ] 382*d9f75844SAndroid Build Coastguard Worker } 383*d9f75844SAndroid Build Coastguard Worker 384*d9f75844SAndroid Build Coastguard Worker if (target_cpu == "x86") { 385*d9f75844SAndroid Build Coastguard Worker deps += [ "//testing/iossim" ] 386*d9f75844SAndroid Build Coastguard Worker } 387*d9f75844SAndroid Build Coastguard Worker } 388*d9f75844SAndroid Build Coastguard Worker 389*d9f75844SAndroid Build Coastguard Worker if (rtc_apprtcmobile_broadcast_extension) { 390*d9f75844SAndroid Build Coastguard Worker bundle_data("AppRTCMobileBroadcastUpload_extension_bundle") { 391*d9f75844SAndroid Build Coastguard Worker testonly = true 392*d9f75844SAndroid Build Coastguard Worker public_deps = [ # no-presubmit-check TODO(webrtc:8603) 393*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobileBroadcastUpload", # prevent code format 394*d9f75844SAndroid Build Coastguard Worker ] 395*d9f75844SAndroid Build Coastguard Worker sources = [ "$root_out_dir/AppRTCMobileBroadcastUpload.appex" ] 396*d9f75844SAndroid Build Coastguard Worker outputs = [ "{{bundle_contents_dir}}/Plugins/{{source_file_part}}" ] 397*d9f75844SAndroid Build Coastguard Worker } 398*d9f75844SAndroid Build Coastguard Worker 399*d9f75844SAndroid Build Coastguard Worker bundle_data("AppRTCMobileBroadcastSetupUI_extension_bundle") { 400*d9f75844SAndroid Build Coastguard Worker testonly = true 401*d9f75844SAndroid Build Coastguard Worker public_deps = [ # no-presubmit-check TODO(webrtc:8603) 402*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobileBroadcastSetupUI", # prevent code format 403*d9f75844SAndroid Build Coastguard Worker ] 404*d9f75844SAndroid Build Coastguard Worker sources = [ "$root_out_dir/AppRTCMobileBroadcastSetupUI.appex" ] 405*d9f75844SAndroid Build Coastguard Worker outputs = [ "{{bundle_contents_dir}}/Plugins/{{source_file_part}}" ] 406*d9f75844SAndroid Build Coastguard Worker } 407*d9f75844SAndroid Build Coastguard Worker 408*d9f75844SAndroid Build Coastguard Worker rtc_library("AppRTCMobileBroadcastUpload_lib") { 409*d9f75844SAndroid Build Coastguard Worker testonly = true 410*d9f75844SAndroid Build Coastguard Worker sources = [ 411*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSampleHandler.h", 412*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSampleHandler.m", 413*d9f75844SAndroid Build Coastguard Worker ] 414*d9f75844SAndroid Build Coastguard Worker 415*d9f75844SAndroid Build Coastguard Worker deps = [ 416*d9f75844SAndroid Build Coastguard Worker ":apprtc_signaling", 417*d9f75844SAndroid Build Coastguard Worker "../sdk:framework_objc+link", 418*d9f75844SAndroid Build Coastguard Worker "../sdk:ios_framework_bundle", 419*d9f75844SAndroid Build Coastguard Worker ] 420*d9f75844SAndroid Build Coastguard Worker 421*d9f75844SAndroid Build Coastguard Worker frameworks = [ "ReplayKit.framework" ] 422*d9f75844SAndroid Build Coastguard Worker } 423*d9f75844SAndroid Build Coastguard Worker 424*d9f75844SAndroid Build Coastguard Worker ios_appex_bundle("AppRTCMobileBroadcastUpload") { 425*d9f75844SAndroid Build Coastguard Worker testonly = true 426*d9f75844SAndroid Build Coastguard Worker configs += [ "..:common_config" ] 427*d9f75844SAndroid Build Coastguard Worker public_configs = [ "..:common_inherited_config" ] 428*d9f75844SAndroid Build Coastguard Worker 429*d9f75844SAndroid Build Coastguard Worker info_plist = "objc/AppRTCMobile/ios/broadcast_extension/BroadcastUploadInfo.plist" 430*d9f75844SAndroid Build Coastguard Worker 431*d9f75844SAndroid Build Coastguard Worker deps = [ 432*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobileBroadcastUpload_lib", 433*d9f75844SAndroid Build Coastguard Worker "../sdk:framework_objc", 434*d9f75844SAndroid Build Coastguard Worker ] 435*d9f75844SAndroid Build Coastguard Worker } 436*d9f75844SAndroid Build Coastguard Worker 437*d9f75844SAndroid Build Coastguard Worker ios_appex_bundle("AppRTCMobileBroadcastSetupUI") { 438*d9f75844SAndroid Build Coastguard Worker sources = [ 439*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSetupViewController.h", 440*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSetupViewController.m", 441*d9f75844SAndroid Build Coastguard Worker ] 442*d9f75844SAndroid Build Coastguard Worker 443*d9f75844SAndroid Build Coastguard Worker info_plist = "objc/AppRTCMobile/ios/broadcast_extension/BroadcastSetupUIInfo.plist" 444*d9f75844SAndroid Build Coastguard Worker 445*d9f75844SAndroid Build Coastguard Worker frameworks = [ "ReplayKit.framework" ] 446*d9f75844SAndroid Build Coastguard Worker 447*d9f75844SAndroid Build Coastguard Worker deps = [ ":AppRTCMobile_ios_bundle_data" ] 448*d9f75844SAndroid Build Coastguard Worker } 449*d9f75844SAndroid Build Coastguard Worker } 450*d9f75844SAndroid Build Coastguard Worker 451*d9f75844SAndroid Build Coastguard Worker bundle_data("AppRTCMobile_ios_bundle_data") { 452*d9f75844SAndroid Build Coastguard Worker sources = [ 453*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/Roboto-Regular.ttf", 454*d9f75844SAndroid Build Coastguard Worker 455*d9f75844SAndroid Build Coastguard Worker # Sample video taken from https://media.xiph.org/video/derf/ 456*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/foreman.mp4", 457*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/iPhone5@2x.png", 458*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/iPhone6@2x.png", 459*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/iPhone6p@3x.png", 460*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_call_end_black_24dp.png", 461*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_call_end_black_24dp@2x.png", 462*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_clear_black_24dp.png", 463*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_clear_black_24dp@2x.png", 464*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_settings_black_24dp.png", 465*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_settings_black_24dp@2x.png", 466*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_surround_sound_black_24dp.png", 467*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_surround_sound_black_24dp@2x.png", 468*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_switch_video_black_24dp.png", 469*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/ic_switch_video_black_24dp@2x.png", 470*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios/resources/mozart.mp3", 471*d9f75844SAndroid Build Coastguard Worker "objc/Icon-120.png", 472*d9f75844SAndroid Build Coastguard Worker "objc/Icon-180.png", 473*d9f75844SAndroid Build Coastguard Worker "objc/Icon.png", 474*d9f75844SAndroid Build Coastguard Worker ] 475*d9f75844SAndroid Build Coastguard Worker outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] 476*d9f75844SAndroid Build Coastguard Worker } 477*d9f75844SAndroid Build Coastguard Worker 478*d9f75844SAndroid Build Coastguard Worker rtc_library("ObjCNativeAPIDemo_lib") { 479*d9f75844SAndroid Build Coastguard Worker testonly = true 480*d9f75844SAndroid Build Coastguard Worker sources = [ 481*d9f75844SAndroid Build Coastguard Worker "objcnativeapi/objc/NADAppDelegate.h", 482*d9f75844SAndroid Build Coastguard Worker "objcnativeapi/objc/NADAppDelegate.m", 483*d9f75844SAndroid Build Coastguard Worker "objcnativeapi/objc/NADViewController.h", 484*d9f75844SAndroid Build Coastguard Worker "objcnativeapi/objc/NADViewController.mm", 485*d9f75844SAndroid Build Coastguard Worker "objcnativeapi/objc/objc_call_client.h", 486*d9f75844SAndroid Build Coastguard Worker "objcnativeapi/objc/objc_call_client.mm", 487*d9f75844SAndroid Build Coastguard Worker ] 488*d9f75844SAndroid Build Coastguard Worker 489*d9f75844SAndroid Build Coastguard Worker deps = [ 490*d9f75844SAndroid Build Coastguard Worker "../api:libjingle_peerconnection_api", 491*d9f75844SAndroid Build Coastguard Worker "../api:scoped_refptr", 492*d9f75844SAndroid Build Coastguard Worker "../api:sequence_checker", 493*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_decoder_factory", 494*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_encoder_factory", 495*d9f75844SAndroid Build Coastguard Worker "../api/rtc_event_log:rtc_event_log_factory", 496*d9f75844SAndroid Build Coastguard Worker "../api/task_queue:default_task_queue_factory", 497*d9f75844SAndroid Build Coastguard Worker "../media:rtc_audio_video", 498*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing", 499*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing:api", 500*d9f75844SAndroid Build Coastguard Worker "../pc:libjingle_peerconnection", 501*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 502*d9f75844SAndroid Build Coastguard Worker "../rtc_base/synchronization:mutex", 503*d9f75844SAndroid Build Coastguard Worker "../sdk:base_objc", 504*d9f75844SAndroid Build Coastguard Worker "../sdk:default_codec_factory_objc", 505*d9f75844SAndroid Build Coastguard Worker "../sdk:helpers_objc", 506*d9f75844SAndroid Build Coastguard Worker "../sdk:metal_objc", 507*d9f75844SAndroid Build Coastguard Worker "../sdk:native_api", 508*d9f75844SAndroid Build Coastguard Worker "../sdk:videocapture_objc", 509*d9f75844SAndroid Build Coastguard Worker "../sdk:videotoolbox_objc", 510*d9f75844SAndroid Build Coastguard Worker ] 511*d9f75844SAndroid Build Coastguard Worker 512*d9f75844SAndroid Build Coastguard Worker if (rtc_ios_macos_use_opengl_rendering) { 513*d9f75844SAndroid Build Coastguard Worker deps += [ "../sdk:opengl_ui_objc" ] 514*d9f75844SAndroid Build Coastguard Worker } 515*d9f75844SAndroid Build Coastguard Worker } 516*d9f75844SAndroid Build Coastguard Worker 517*d9f75844SAndroid Build Coastguard Worker ios_app_bundle("ObjCNativeAPIDemo") { 518*d9f75844SAndroid Build Coastguard Worker testonly = true 519*d9f75844SAndroid Build Coastguard Worker sources = [ "objcnativeapi/objc/main.m" ] 520*d9f75844SAndroid Build Coastguard Worker 521*d9f75844SAndroid Build Coastguard Worker info_plist = "objcnativeapi/Info.plist" 522*d9f75844SAndroid Build Coastguard Worker 523*d9f75844SAndroid Build Coastguard Worker configs += [ "..:common_config" ] 524*d9f75844SAndroid Build Coastguard Worker public_configs = [ "..:common_inherited_config" ] 525*d9f75844SAndroid Build Coastguard Worker 526*d9f75844SAndroid Build Coastguard Worker deps = [ ":ObjCNativeAPIDemo_lib" ] 527*d9f75844SAndroid Build Coastguard Worker 528*d9f75844SAndroid Build Coastguard Worker if (target_cpu == "x86") { 529*d9f75844SAndroid Build Coastguard Worker deps += [ "//testing/iossim" ] 530*d9f75844SAndroid Build Coastguard Worker } 531*d9f75844SAndroid Build Coastguard Worker } 532*d9f75844SAndroid Build Coastguard Worker } 533*d9f75844SAndroid Build Coastguard Worker 534*d9f75844SAndroid Build Coastguard Worker if (is_mac) { 535*d9f75844SAndroid Build Coastguard Worker rtc_library("AppRTCMobile_lib") { 536*d9f75844SAndroid Build Coastguard Worker testonly = true 537*d9f75844SAndroid Build Coastguard Worker sources = [ 538*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/mac/APPRTCAppDelegate.h", 539*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/mac/APPRTCAppDelegate.m", 540*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/mac/APPRTCViewController.h", 541*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/mac/APPRTCViewController.m", 542*d9f75844SAndroid Build Coastguard Worker ] 543*d9f75844SAndroid Build Coastguard Worker configs += [ "..:common_objc" ] 544*d9f75844SAndroid Build Coastguard Worker deps = [ 545*d9f75844SAndroid Build Coastguard Worker ":apprtc_common", 546*d9f75844SAndroid Build Coastguard Worker ":apprtc_signaling", 547*d9f75844SAndroid Build Coastguard Worker "../sdk:base_objc", 548*d9f75844SAndroid Build Coastguard Worker "../sdk:helpers_objc", 549*d9f75844SAndroid Build Coastguard Worker "../sdk:mediaconstraints_objc", 550*d9f75844SAndroid Build Coastguard Worker "../sdk:metal_objc", 551*d9f75844SAndroid Build Coastguard Worker "../sdk:opengl_ui_objc", 552*d9f75844SAndroid Build Coastguard Worker "../sdk:peerconnectionfactory_base_objc", 553*d9f75844SAndroid Build Coastguard Worker "../sdk:peerconnectionfactory_base_objc", 554*d9f75844SAndroid Build Coastguard Worker "../sdk:videocapture_objc", 555*d9f75844SAndroid Build Coastguard Worker "../sdk:videocodec_objc", 556*d9f75844SAndroid Build Coastguard Worker ] 557*d9f75844SAndroid Build Coastguard Worker } 558*d9f75844SAndroid Build Coastguard Worker 559*d9f75844SAndroid Build Coastguard Worker mac_app_bundle("AppRTCMobile") { 560*d9f75844SAndroid Build Coastguard Worker testonly = true 561*d9f75844SAndroid Build Coastguard Worker output_name = "AppRTCMobile" 562*d9f75844SAndroid Build Coastguard Worker 563*d9f75844SAndroid Build Coastguard Worker sources = [ "objc/AppRTCMobile/mac/main.m" ] 564*d9f75844SAndroid Build Coastguard Worker 565*d9f75844SAndroid Build Coastguard Worker public_configs = [ "..:common_inherited_config" ] 566*d9f75844SAndroid Build Coastguard Worker 567*d9f75844SAndroid Build Coastguard Worker info_plist = "objc/AppRTCMobile/mac/Info.plist" 568*d9f75844SAndroid Build Coastguard Worker 569*d9f75844SAndroid Build Coastguard Worker frameworks = [ "AppKit.framework" ] 570*d9f75844SAndroid Build Coastguard Worker 571*d9f75844SAndroid Build Coastguard Worker ldflags = [ 572*d9f75844SAndroid Build Coastguard Worker "-rpath", 573*d9f75844SAndroid Build Coastguard Worker "@executable_path/../Frameworks", 574*d9f75844SAndroid Build Coastguard Worker ] 575*d9f75844SAndroid Build Coastguard Worker 576*d9f75844SAndroid Build Coastguard Worker deps = [ 577*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_lib", 578*d9f75844SAndroid Build Coastguard Worker "../sdk:mac_framework_bundle", 579*d9f75844SAndroid Build Coastguard Worker "../sdk:mac_framework_objc+link", 580*d9f75844SAndroid Build Coastguard Worker ] 581*d9f75844SAndroid Build Coastguard Worker } 582*d9f75844SAndroid Build Coastguard Worker } 583*d9f75844SAndroid Build Coastguard Worker 584*d9f75844SAndroid Build Coastguard Worker config("socketrocket_include_config") { 585*d9f75844SAndroid Build Coastguard Worker include_dirs = [ "objc/AppRTCMobile/third_party/SocketRocket" ] 586*d9f75844SAndroid Build Coastguard Worker } 587*d9f75844SAndroid Build Coastguard Worker 588*d9f75844SAndroid Build Coastguard Worker config("socketrocket_warning_config") { 589*d9f75844SAndroid Build Coastguard Worker # GN orders flags on a target before flags from configs. The default config 590*d9f75844SAndroid Build Coastguard Worker # adds these flags so to cancel them out they need to come from a config and 591*d9f75844SAndroid Build Coastguard Worker # cannot be on the target directly. 592*d9f75844SAndroid Build Coastguard Worker cflags = [ 593*d9f75844SAndroid Build Coastguard Worker "-Wno-deprecated-declarations", 594*d9f75844SAndroid Build Coastguard Worker "-Wno-nonnull", 595*d9f75844SAndroid Build Coastguard Worker "-Wno-semicolon-before-method-body", 596*d9f75844SAndroid Build Coastguard Worker "-Wno-unused-variable", 597*d9f75844SAndroid Build Coastguard Worker ] 598*d9f75844SAndroid Build Coastguard Worker 599*d9f75844SAndroid Build Coastguard Worker cflags_objc = [ 600*d9f75844SAndroid Build Coastguard Worker # Enabled for cflags_objc in build/config/compiler/BUILD.gn. 601*d9f75844SAndroid Build Coastguard Worker "-Wno-objc-missing-property-synthesis", 602*d9f75844SAndroid Build Coastguard Worker ] 603*d9f75844SAndroid Build Coastguard Worker } 604*d9f75844SAndroid Build Coastguard Worker 605*d9f75844SAndroid Build Coastguard Worker rtc_library("socketrocket") { 606*d9f75844SAndroid Build Coastguard Worker testonly = true 607*d9f75844SAndroid Build Coastguard Worker sources = [ 608*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/third_party/SocketRocket/SRWebSocket.h", 609*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/third_party/SocketRocket/SRWebSocket.m", 610*d9f75844SAndroid Build Coastguard Worker ] 611*d9f75844SAndroid Build Coastguard Worker configs += [ ":socketrocket_warning_config" ] 612*d9f75844SAndroid Build Coastguard Worker public_configs = [ ":socketrocket_include_config" ] 613*d9f75844SAndroid Build Coastguard Worker 614*d9f75844SAndroid Build Coastguard Worker libs = [ "icucore" ] 615*d9f75844SAndroid Build Coastguard Worker frameworks = [ 616*d9f75844SAndroid Build Coastguard Worker "CFNetwork.framework", 617*d9f75844SAndroid Build Coastguard Worker "Security.framework", 618*d9f75844SAndroid Build Coastguard Worker ] 619*d9f75844SAndroid Build Coastguard Worker } 620*d9f75844SAndroid Build Coastguard Worker 621*d9f75844SAndroid Build Coastguard Worker if (rtc_include_tests) { 622*d9f75844SAndroid Build Coastguard Worker # TODO(kthelgason): compile xctests on mac when chromium supports it. 623*d9f75844SAndroid Build Coastguard Worker if (is_ios) { 624*d9f75844SAndroid Build Coastguard Worker rtc_library("apprtcmobile_test_sources") { 625*d9f75844SAndroid Build Coastguard Worker # iOS must use WebRTC.framework which is dynamically linked. 626*d9f75844SAndroid Build Coastguard Worker testonly = true 627*d9f75844SAndroid Build Coastguard Worker include_dirs = [ 628*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile", 629*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/ios", 630*d9f75844SAndroid Build Coastguard Worker ] 631*d9f75844SAndroid Build Coastguard Worker sources = [ 632*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/tests/ARDAppClient_xctest.mm", 633*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/tests/ARDFileCaptureController_xctest.mm", 634*d9f75844SAndroid Build Coastguard Worker "objc/AppRTCMobile/tests/ARDSettingsModel_xctest.mm", 635*d9f75844SAndroid Build Coastguard Worker ] 636*d9f75844SAndroid Build Coastguard Worker deps = [ 637*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_lib", 638*d9f75844SAndroid Build Coastguard Worker ":apprtc_signaling", 639*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 640*d9f75844SAndroid Build Coastguard Worker "../sdk:mediaconstraints_objc", 641*d9f75844SAndroid Build Coastguard Worker "../sdk:peerconnectionfactory_base_objc", 642*d9f75844SAndroid Build Coastguard Worker "../sdk:videocapture_objc", 643*d9f75844SAndroid Build Coastguard Worker "//build/config/ios:xctest", 644*d9f75844SAndroid Build Coastguard Worker "//third_party/ocmock", 645*d9f75844SAndroid Build Coastguard Worker ] 646*d9f75844SAndroid Build Coastguard Worker } 647*d9f75844SAndroid Build Coastguard Worker 648*d9f75844SAndroid Build Coastguard Worker rtc_test("apprtcmobile_tests") { 649*d9f75844SAndroid Build Coastguard Worker is_xctest = true 650*d9f75844SAndroid Build Coastguard Worker info_plist = "objc/AppRTCMobile/ios/Info.plist" 651*d9f75844SAndroid Build Coastguard Worker sources = [ "objc/AppRTCMobile/tests/main.mm" ] 652*d9f75844SAndroid Build Coastguard Worker deps = [ 653*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_lib", 654*d9f75844SAndroid Build Coastguard Worker ":apprtcmobile_test_sources", 655*d9f75844SAndroid Build Coastguard Worker "../sdk:framework_objc", 656*d9f75844SAndroid Build Coastguard Worker "//test:test_support", 657*d9f75844SAndroid Build Coastguard Worker ] 658*d9f75844SAndroid Build Coastguard Worker ldflags = [ "-all_load" ] 659*d9f75844SAndroid Build Coastguard Worker } 660*d9f75844SAndroid Build Coastguard Worker } 661*d9f75844SAndroid Build Coastguard Worker } 662*d9f75844SAndroid Build Coastguard Worker} 663*d9f75844SAndroid Build Coastguard Worker 664*d9f75844SAndroid Build Coastguard Workerif (is_linux || is_chromeos || is_win) { 665*d9f75844SAndroid Build Coastguard Worker if (is_linux || is_chromeos) { 666*d9f75844SAndroid Build Coastguard Worker pkg_config("gtk_config") { 667*d9f75844SAndroid Build Coastguard Worker packages = [ 668*d9f75844SAndroid Build Coastguard Worker # Gtk requires gmodule, but it does not list it as a dependency in some 669*d9f75844SAndroid Build Coastguard Worker # misconfigured systems. 670*d9f75844SAndroid Build Coastguard Worker "gmodule-2.0", 671*d9f75844SAndroid Build Coastguard Worker "gthread-2.0", 672*d9f75844SAndroid Build Coastguard Worker "gtk+-3.0", 673*d9f75844SAndroid Build Coastguard Worker ] 674*d9f75844SAndroid Build Coastguard Worker } 675*d9f75844SAndroid Build Coastguard Worker } 676*d9f75844SAndroid Build Coastguard Worker 677*d9f75844SAndroid Build Coastguard Worker rtc_executable("peerconnection_client") { 678*d9f75844SAndroid Build Coastguard Worker testonly = true 679*d9f75844SAndroid Build Coastguard Worker sources = [ 680*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/conductor.cc", 681*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/conductor.h", 682*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/defaults.cc", 683*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/defaults.h", 684*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/peer_connection_client.cc", 685*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/peer_connection_client.h", 686*d9f75844SAndroid Build Coastguard Worker ] 687*d9f75844SAndroid Build Coastguard Worker 688*d9f75844SAndroid Build Coastguard Worker deps = [ 689*d9f75844SAndroid Build Coastguard Worker "../api:audio_options_api", 690*d9f75844SAndroid Build Coastguard Worker "../api:create_peerconnection_factory", 691*d9f75844SAndroid Build Coastguard Worker "../api:libjingle_peerconnection_api", 692*d9f75844SAndroid Build Coastguard Worker "../api:media_stream_interface", 693*d9f75844SAndroid Build Coastguard Worker "../api:rtp_sender_interface", 694*d9f75844SAndroid Build Coastguard Worker "../api:scoped_refptr", 695*d9f75844SAndroid Build Coastguard Worker "../api/audio:audio_mixer_api", 696*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:audio_codecs_api", 697*d9f75844SAndroid Build Coastguard Worker "../api/task_queue:pending_task_safety_flag", 698*d9f75844SAndroid Build Coastguard Worker "../api/units:time_delta", 699*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 700*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 701*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_codecs_api", 702*d9f75844SAndroid Build Coastguard Worker "../media:rtc_media_base", 703*d9f75844SAndroid Build Coastguard Worker "../p2p:rtc_p2p", 704*d9f75844SAndroid Build Coastguard Worker "../pc:video_track_source", 705*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 706*d9f75844SAndroid Build Coastguard Worker "../rtc_base:logging", 707*d9f75844SAndroid Build Coastguard Worker "../rtc_base:macromagic", 708*d9f75844SAndroid Build Coastguard Worker "../rtc_base:net_helpers", 709*d9f75844SAndroid Build Coastguard Worker "../rtc_base:refcount", 710*d9f75844SAndroid Build Coastguard Worker "../rtc_base:stringutils", 711*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 712*d9f75844SAndroid Build Coastguard Worker "../rtc_base/third_party/sigslot", 713*d9f75844SAndroid Build Coastguard Worker "../system_wrappers:field_trial", 714*d9f75844SAndroid Build Coastguard Worker "../test:field_trial", 715*d9f75844SAndroid Build Coastguard Worker "../test:platform_video_capturer", 716*d9f75844SAndroid Build Coastguard Worker "../test:rtp_test_utils", 717*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/memory", 718*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:optional", 719*d9f75844SAndroid Build Coastguard Worker ] 720*d9f75844SAndroid Build Coastguard Worker if (is_win) { 721*d9f75844SAndroid Build Coastguard Worker sources += [ 722*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/flag_defs.h", 723*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/main.cc", 724*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/main_wnd.cc", 725*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/main_wnd.h", 726*d9f75844SAndroid Build Coastguard Worker ] 727*d9f75844SAndroid Build Coastguard Worker configs += [ "//build/config/win:windowed" ] 728*d9f75844SAndroid Build Coastguard Worker deps += [ 729*d9f75844SAndroid Build Coastguard Worker "../media:rtc_media_base", 730*d9f75844SAndroid Build Coastguard Worker "../rtc_base:win32", 731*d9f75844SAndroid Build Coastguard Worker ] 732*d9f75844SAndroid Build Coastguard Worker } 733*d9f75844SAndroid Build Coastguard Worker if (is_linux || is_chromeos) { 734*d9f75844SAndroid Build Coastguard Worker sources += [ 735*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/linux/main.cc", 736*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/linux/main_wnd.cc", 737*d9f75844SAndroid Build Coastguard Worker "peerconnection/client/linux/main_wnd.h", 738*d9f75844SAndroid Build Coastguard Worker ] 739*d9f75844SAndroid Build Coastguard Worker cflags = [ "-Wno-deprecated-declarations" ] 740*d9f75844SAndroid Build Coastguard Worker libs = [ 741*d9f75844SAndroid Build Coastguard Worker "X11", 742*d9f75844SAndroid Build Coastguard Worker "Xcomposite", 743*d9f75844SAndroid Build Coastguard Worker "Xext", 744*d9f75844SAndroid Build Coastguard Worker "Xrender", 745*d9f75844SAndroid Build Coastguard Worker ] 746*d9f75844SAndroid Build Coastguard Worker configs += [ ":gtk_config" ] 747*d9f75844SAndroid Build Coastguard Worker } 748*d9f75844SAndroid Build Coastguard Worker 749*d9f75844SAndroid Build Coastguard Worker deps += [ 750*d9f75844SAndroid Build Coastguard Worker "../api:libjingle_peerconnection_api", 751*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_decoder_factory", 752*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_encoder_factory", 753*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 754*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 755*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:builtin_video_decoder_factory", 756*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:builtin_video_encoder_factory", 757*d9f75844SAndroid Build Coastguard Worker "../media:rtc_audio_video", 758*d9f75844SAndroid Build Coastguard Worker "../modules/audio_device", 759*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing", 760*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing:api", 761*d9f75844SAndroid Build Coastguard Worker "../modules/video_capture:video_capture_module", 762*d9f75844SAndroid Build Coastguard Worker "../pc:libjingle_peerconnection", 763*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 764*d9f75844SAndroid Build Coastguard Worker "../rtc_base:rtc_json", 765*d9f75844SAndroid Build Coastguard Worker "../test:video_test_common", 766*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:flag", 767*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:parse", 768*d9f75844SAndroid Build Coastguard Worker "//third_party/libyuv", 769*d9f75844SAndroid Build Coastguard Worker ] 770*d9f75844SAndroid Build Coastguard Worker } 771*d9f75844SAndroid Build Coastguard Worker 772*d9f75844SAndroid Build Coastguard Worker rtc_executable("peerconnection_server") { 773*d9f75844SAndroid Build Coastguard Worker testonly = true 774*d9f75844SAndroid Build Coastguard Worker sources = [ 775*d9f75844SAndroid Build Coastguard Worker "peerconnection/server/data_socket.cc", 776*d9f75844SAndroid Build Coastguard Worker "peerconnection/server/data_socket.h", 777*d9f75844SAndroid Build Coastguard Worker "peerconnection/server/main.cc", 778*d9f75844SAndroid Build Coastguard Worker "peerconnection/server/peer_channel.cc", 779*d9f75844SAndroid Build Coastguard Worker "peerconnection/server/peer_channel.h", 780*d9f75844SAndroid Build Coastguard Worker "peerconnection/server/utils.cc", 781*d9f75844SAndroid Build Coastguard Worker "peerconnection/server/utils.h", 782*d9f75844SAndroid Build Coastguard Worker ] 783*d9f75844SAndroid Build Coastguard Worker deps = [ 784*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 785*d9f75844SAndroid Build Coastguard Worker "../rtc_base:stringutils", 786*d9f75844SAndroid Build Coastguard Worker "../system_wrappers:field_trial", 787*d9f75844SAndroid Build Coastguard Worker "../test:field_trial", 788*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:flag", 789*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:parse", 790*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:usage", 791*d9f75844SAndroid Build Coastguard Worker ] 792*d9f75844SAndroid Build Coastguard Worker } 793*d9f75844SAndroid Build Coastguard Worker rtc_executable("turnserver") { 794*d9f75844SAndroid Build Coastguard Worker testonly = true 795*d9f75844SAndroid Build Coastguard Worker sources = [ "turnserver/turnserver_main.cc" ] 796*d9f75844SAndroid Build Coastguard Worker deps = [ 797*d9f75844SAndroid Build Coastguard Worker ":read_auth_file", 798*d9f75844SAndroid Build Coastguard Worker "../p2p:p2p_server_utils", 799*d9f75844SAndroid Build Coastguard Worker "../p2p:rtc_p2p", 800*d9f75844SAndroid Build Coastguard Worker "../pc:rtc_pc", 801*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 802*d9f75844SAndroid Build Coastguard Worker "../rtc_base:ip_address", 803*d9f75844SAndroid Build Coastguard Worker "../rtc_base:socket_address", 804*d9f75844SAndroid Build Coastguard Worker "../rtc_base:socket_server", 805*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 806*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings:strings", 807*d9f75844SAndroid Build Coastguard Worker ] 808*d9f75844SAndroid Build Coastguard Worker } 809*d9f75844SAndroid Build Coastguard Worker rtc_executable("stunserver") { 810*d9f75844SAndroid Build Coastguard Worker testonly = true 811*d9f75844SAndroid Build Coastguard Worker sources = [ "stunserver/stunserver_main.cc" ] 812*d9f75844SAndroid Build Coastguard Worker deps = [ 813*d9f75844SAndroid Build Coastguard Worker "../p2p:p2p_server_utils", 814*d9f75844SAndroid Build Coastguard Worker "../p2p:rtc_p2p", 815*d9f75844SAndroid Build Coastguard Worker "../pc:rtc_pc", 816*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 817*d9f75844SAndroid Build Coastguard Worker "../rtc_base:socket_address", 818*d9f75844SAndroid Build Coastguard Worker "../rtc_base:socket_server", 819*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 820*d9f75844SAndroid Build Coastguard Worker ] 821*d9f75844SAndroid Build Coastguard Worker } 822*d9f75844SAndroid Build Coastguard Worker} 823*d9f75844SAndroid Build Coastguard Worker 824*d9f75844SAndroid Build Coastguard Workerif (is_win || is_android) { 825*d9f75844SAndroid Build Coastguard Worker rtc_shared_library("webrtc_unity_plugin") { 826*d9f75844SAndroid Build Coastguard Worker testonly = true 827*d9f75844SAndroid Build Coastguard Worker sources = [ 828*d9f75844SAndroid Build Coastguard Worker "unityplugin/simple_peer_connection.cc", 829*d9f75844SAndroid Build Coastguard Worker "unityplugin/simple_peer_connection.h", 830*d9f75844SAndroid Build Coastguard Worker "unityplugin/unity_plugin_apis.cc", 831*d9f75844SAndroid Build Coastguard Worker "unityplugin/unity_plugin_apis.h", 832*d9f75844SAndroid Build Coastguard Worker "unityplugin/video_observer.cc", 833*d9f75844SAndroid Build Coastguard Worker "unityplugin/video_observer.h", 834*d9f75844SAndroid Build Coastguard Worker ] 835*d9f75844SAndroid Build Coastguard Worker 836*d9f75844SAndroid Build Coastguard Worker if (is_android) { 837*d9f75844SAndroid Build Coastguard Worker sources += [ 838*d9f75844SAndroid Build Coastguard Worker "unityplugin/class_reference_holder.cc", 839*d9f75844SAndroid Build Coastguard Worker "unityplugin/class_reference_holder.h", 840*d9f75844SAndroid Build Coastguard Worker "unityplugin/jni_onload.cc", 841*d9f75844SAndroid Build Coastguard Worker ] 842*d9f75844SAndroid Build Coastguard Worker suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ] 843*d9f75844SAndroid Build Coastguard Worker } 844*d9f75844SAndroid Build Coastguard Worker 845*d9f75844SAndroid Build Coastguard Worker if (is_win) { 846*d9f75844SAndroid Build Coastguard Worker configs += [ "//build/config/win:windowed" ] 847*d9f75844SAndroid Build Coastguard Worker } 848*d9f75844SAndroid Build Coastguard Worker deps = [ 849*d9f75844SAndroid Build Coastguard Worker "../api:create_peerconnection_factory", 850*d9f75844SAndroid Build Coastguard Worker "../api:libjingle_peerconnection_api", 851*d9f75844SAndroid Build Coastguard Worker "../api:media_stream_interface", 852*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_decoder_factory", 853*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_encoder_factory", 854*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 855*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 856*d9f75844SAndroid Build Coastguard Worker "../media:rtc_audio_video", 857*d9f75844SAndroid Build Coastguard Worker "../media:rtc_internal_video_codecs", 858*d9f75844SAndroid Build Coastguard Worker "../media:rtc_media", 859*d9f75844SAndroid Build Coastguard Worker "../media:rtc_media_base", 860*d9f75844SAndroid Build Coastguard Worker "../modules/audio_device", 861*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing", 862*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing:api", 863*d9f75844SAndroid Build Coastguard Worker "../modules/video_capture:video_capture_module", 864*d9f75844SAndroid Build Coastguard Worker "../pc:libjingle_peerconnection", 865*d9f75844SAndroid Build Coastguard Worker "../pc:video_track_source", 866*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 867*d9f75844SAndroid Build Coastguard Worker "../test:platform_video_capturer", 868*d9f75844SAndroid Build Coastguard Worker "../test:video_test_common", 869*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/memory", 870*d9f75844SAndroid Build Coastguard Worker ] 871*d9f75844SAndroid Build Coastguard Worker if (is_android) { 872*d9f75844SAndroid Build Coastguard Worker deps += [ 873*d9f75844SAndroid Build Coastguard Worker "../modules/utility", 874*d9f75844SAndroid Build Coastguard Worker "../sdk/android:libjingle_peerconnection_jni", 875*d9f75844SAndroid Build Coastguard Worker "../sdk/android:native_api_jni", 876*d9f75844SAndroid Build Coastguard Worker ] 877*d9f75844SAndroid Build Coastguard Worker } 878*d9f75844SAndroid Build Coastguard Worker } 879*d9f75844SAndroid Build Coastguard Worker} 880*d9f75844SAndroid Build Coastguard Worker 881*d9f75844SAndroid Build Coastguard Workerif (is_android) { 882*d9f75844SAndroid Build Coastguard Worker rtc_android_library("webrtc_unity_java") { 883*d9f75844SAndroid Build Coastguard Worker sources = [ "unityplugin/java/src/org/webrtc/UnityUtility.java" ] 884*d9f75844SAndroid Build Coastguard Worker deps = [ 885*d9f75844SAndroid Build Coastguard Worker "../rtc_base:base_java", 886*d9f75844SAndroid Build Coastguard Worker "../sdk/android:camera_java", 887*d9f75844SAndroid Build Coastguard Worker "../sdk/android:libjingle_peerconnection_java", 888*d9f75844SAndroid Build Coastguard Worker "../sdk/android:peerconnection_java", 889*d9f75844SAndroid Build Coastguard Worker "../sdk/android:video_api_java", 890*d9f75844SAndroid Build Coastguard Worker "../sdk/android:video_java", 891*d9f75844SAndroid Build Coastguard Worker "//third_party/androidx:androidx_annotation_annotation_java", 892*d9f75844SAndroid Build Coastguard Worker ] 893*d9f75844SAndroid Build Coastguard Worker } 894*d9f75844SAndroid Build Coastguard Worker 895*d9f75844SAndroid Build Coastguard Worker dist_jar("libwebrtc_unity") { 896*d9f75844SAndroid Build Coastguard Worker _target_dir_name = get_label_info(":$target_name", "dir") 897*d9f75844SAndroid Build Coastguard Worker output = "${root_out_dir}/lib.java${_target_dir_name}/${target_name}.jar" 898*d9f75844SAndroid Build Coastguard Worker direct_deps_only = false 899*d9f75844SAndroid Build Coastguard Worker use_interface_jars = false 900*d9f75844SAndroid Build Coastguard Worker use_unprocessed_jars = false 901*d9f75844SAndroid Build Coastguard Worker requires_android = true 902*d9f75844SAndroid Build Coastguard Worker deps = [ 903*d9f75844SAndroid Build Coastguard Worker ":webrtc_unity_java", 904*d9f75844SAndroid Build Coastguard Worker "../rtc_base:base_java", 905*d9f75844SAndroid Build Coastguard Worker "../sdk/android:libjingle_peerconnection_java", 906*d9f75844SAndroid Build Coastguard Worker "../sdk/android:libjingle_peerconnection_metrics_default_java", 907*d9f75844SAndroid Build Coastguard Worker "//third_party/androidx:androidx_annotation_annotation_java", 908*d9f75844SAndroid Build Coastguard Worker ] 909*d9f75844SAndroid Build Coastguard Worker } 910*d9f75844SAndroid Build Coastguard Worker 911*d9f75844SAndroid Build Coastguard Worker robolectric_binary("android_examples_junit_tests") { 912*d9f75844SAndroid Build Coastguard Worker sources = [ 913*d9f75844SAndroid Build Coastguard Worker "androidjunit/src/org/appspot/apprtc/BluetoothManagerTest.java", 914*d9f75844SAndroid Build Coastguard Worker "androidjunit/src/org/appspot/apprtc/DirectRTCClientTest.java", 915*d9f75844SAndroid Build Coastguard Worker "androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java", 916*d9f75844SAndroid Build Coastguard Worker ] 917*d9f75844SAndroid Build Coastguard Worker 918*d9f75844SAndroid Build Coastguard Worker deps = [ 919*d9f75844SAndroid Build Coastguard Worker ":AppRTCMobile_javalib", 920*d9f75844SAndroid Build Coastguard Worker "../sdk/android:peerconnection_java", 921*d9f75844SAndroid Build Coastguard Worker "//third_party/androidx:androidx_test_core_java", 922*d9f75844SAndroid Build Coastguard Worker "//third_party/google-truth:google_truth_java", 923*d9f75844SAndroid Build Coastguard Worker ] 924*d9f75844SAndroid Build Coastguard Worker 925*d9f75844SAndroid Build Coastguard Worker additional_jar_files = [ [ 926*d9f75844SAndroid Build Coastguard Worker "../sdk/android/tests/resources/robolectric.properties", 927*d9f75844SAndroid Build Coastguard Worker "robolectric.properties", 928*d9f75844SAndroid Build Coastguard Worker ] ] 929*d9f75844SAndroid Build Coastguard Worker } 930*d9f75844SAndroid Build Coastguard Worker} 931*d9f75844SAndroid Build Coastguard Worker 932*d9f75844SAndroid Build Coastguard Workerif (!build_with_chromium) { 933*d9f75844SAndroid Build Coastguard Worker # Doesn't build within Chrome on Win. 934*d9f75844SAndroid Build Coastguard Worker rtc_executable("stun_prober") { 935*d9f75844SAndroid Build Coastguard Worker testonly = true 936*d9f75844SAndroid Build Coastguard Worker sources = [ "stunprober/main.cc" ] 937*d9f75844SAndroid Build Coastguard Worker deps = [ 938*d9f75844SAndroid Build Coastguard Worker "../p2p:libstunprober", 939*d9f75844SAndroid Build Coastguard Worker "../p2p:rtc_p2p", 940*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 941*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 942*d9f75844SAndroid Build Coastguard Worker "../rtc_base:logging", 943*d9f75844SAndroid Build Coastguard Worker "../rtc_base:socket_address", 944*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 945*d9f75844SAndroid Build Coastguard Worker "../rtc_base:timeutils", 946*d9f75844SAndroid Build Coastguard Worker "../test:scoped_key_value_config", 947*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:flag", 948*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:parse", 949*d9f75844SAndroid Build Coastguard Worker ] 950*d9f75844SAndroid Build Coastguard Worker } 951*d9f75844SAndroid Build Coastguard Worker} 952