| OLD | NEW | 
|    1 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |    1 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 
|    2 # |    2 # | 
|    3 # Use of this source code is governed by a BSD-style license |    3 # Use of this source code is governed by a BSD-style license | 
|    4 # that can be found in the LICENSE file in the root of the source |    4 # that can be found in the LICENSE file in the root of the source | 
|    5 # tree. An additional intellectual property rights grant can be found |    5 # tree. An additional intellectual property rights grant can be found | 
|    6 # in the file PATENTS.  All contributing project authors may |    6 # in the file PATENTS.  All contributing project authors may | 
|    7 # be found in the AUTHORS file in the root of the source tree. |    7 # be found in the AUTHORS file in the root of the source tree. | 
|    8  |    8  | 
|    9 import("../build/webrtc.gni") |    9 import("../build/webrtc.gni") | 
|   10 if (is_android) { |   10 if (is_android) { | 
|   11   import("//build/config/android/config.gni") |   11   import("//build/config/android/config.gni") | 
|   12   import("//build/config/android/rules.gni") |   12   import("//build/config/android/rules.gni") | 
|   13 } |   13 } | 
|   14  |   14  | 
|   15 group("api") { |   15 group("api") { | 
|   16   public_deps = [ |   16   public_deps = [ | 
|   17     ":libjingle_peerconnection", |   17     ":libjingle_peerconnection", | 
|   18   ] |   18   ] | 
|   19   if (is_android && !build_with_chromium) { |  | 
|   20     public_deps += [ |  | 
|   21       ":libjingle_peerconnection_java", |  | 
|   22       ":libjingle_peerconnection_so", |  | 
|   23     ] |  | 
|   24   } |  | 
|   25 } |   19 } | 
|   26  |   20  | 
|   27 rtc_source_set("call_api") { |   21 rtc_source_set("call_api") { | 
|   28   sources = [ |   22   sources = [ | 
|   29     "call/audio_receive_stream.h", |   23     "call/audio_receive_stream.h", | 
|   30     "call/audio_send_stream.cc", |   24     "call/audio_send_stream.cc", | 
|   31     "call/audio_send_stream.h", |   25     "call/audio_send_stream.h", | 
|   32     "call/audio_sink.h", |   26     "call/audio_sink.h", | 
|   33     "call/audio_state.h", |   27     "call/audio_state.h", | 
|   34     "call/flexfec_receive_stream.h", |   28     "call/flexfec_receive_stream.h", | 
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  148       "quicdatatransport.cc", |  142       "quicdatatransport.cc", | 
|  149       "quicdatatransport.h", |  143       "quicdatatransport.h", | 
|  150     ] |  144     ] | 
|  151     deps += [ "//third_party/libquic" ] |  145     deps += [ "//third_party/libquic" ] | 
|  152     public_deps = [ |  146     public_deps = [ | 
|  153       "//third_party/libquic", |  147       "//third_party/libquic", | 
|  154     ] |  148     ] | 
|  155   } |  149   } | 
|  156 } |  150 } | 
|  157  |  151  | 
|  158 # Exclude the targets below from the Chromium build since they cannot be built |  | 
|  159 # due to incompability with Chromium's logging implementation. |  | 
|  160 if (is_android && !build_with_chromium) { |  | 
|  161   config("libjingle_peerconnection_jni_warnings_config") { |  | 
|  162     # The warnings below are enabled by default. Since GN orders compiler flags |  | 
|  163     # for a target before flags from configs, the only way to disable such |  | 
|  164     # warnings is by having them in a separate config, loaded from the target. |  | 
|  165     if (!is_win) { |  | 
|  166       cflags = [ |  | 
|  167         "-Wno-sign-compare", |  | 
|  168         "-Wno-unused-variable", |  | 
|  169       ] |  | 
|  170     } |  | 
|  171   } |  | 
|  172  |  | 
|  173   rtc_static_library("libjingle_peerconnection_jni") { |  | 
|  174     sources = [ |  | 
|  175       "android/jni/androidhistogram_jni.cc", |  | 
|  176       "android/jni/androidmediacodeccommon.h", |  | 
|  177       "android/jni/androidmediadecoder_jni.cc", |  | 
|  178       "android/jni/androidmediadecoder_jni.h", |  | 
|  179       "android/jni/androidmediaencoder_jni.cc", |  | 
|  180       "android/jni/androidmediaencoder_jni.h", |  | 
|  181       "android/jni/androidnetworkmonitor_jni.cc", |  | 
|  182       "android/jni/androidnetworkmonitor_jni.h", |  | 
|  183       "android/jni/androidvideotracksource.cc", |  | 
|  184       "android/jni/androidvideotracksource.h", |  | 
|  185       "android/jni/androidvideotracksource_jni.cc", |  | 
|  186       "android/jni/classreferenceholder.cc", |  | 
|  187       "android/jni/classreferenceholder.h", |  | 
|  188       "android/jni/jni_helpers.cc", |  | 
|  189       "android/jni/jni_helpers.h", |  | 
|  190       "android/jni/native_handle_impl.cc", |  | 
|  191       "android/jni/native_handle_impl.h", |  | 
|  192       "android/jni/peerconnection_jni.cc", |  | 
|  193       "android/jni/surfacetexturehelper_jni.cc", |  | 
|  194       "android/jni/surfacetexturehelper_jni.h", |  | 
|  195     ] |  | 
|  196  |  | 
|  197     configs += [ ":libjingle_peerconnection_jni_warnings_config" ] |  | 
|  198  |  | 
|  199     if (!build_with_chromium && is_clang) { |  | 
|  200       # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |  | 
|  201       suppressed_configs += [ |  | 
|  202         "//build/config/clang:extra_warnings", |  | 
|  203         "//build/config/clang:find_bad_constructs", |  | 
|  204       ] |  | 
|  205     } |  | 
|  206  |  | 
|  207     # TODO(jschuh): Bug 1348: fix this warning. |  | 
|  208     configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |  | 
|  209  |  | 
|  210     if (is_win) { |  | 
|  211       cflags += [ |  | 
|  212         "/wd4245",  # conversion from "int" to "size_t", signed/unsigned mismatc
     h. |  | 
|  213         "/wd4389",  # signed/unsigned mismatch. |  | 
|  214       ] |  | 
|  215     } |  | 
|  216  |  | 
|  217     deps = [ |  | 
|  218       ":libjingle_peerconnection", |  | 
|  219     ] |  | 
|  220  |  | 
|  221     if (rtc_build_libyuv) { |  | 
|  222       deps += [ "$rtc_libyuv_dir" ] |  | 
|  223       public_deps = [ |  | 
|  224         "$rtc_libyuv_dir", |  | 
|  225       ] |  | 
|  226     } else { |  | 
|  227       # Need to add a directory normally exported by libyuv. |  | 
|  228       include_dirs = [ "$rtc_libyuv_dir/include" ] |  | 
|  229     } |  | 
|  230   } |  | 
|  231  |  | 
|  232   rtc_static_library("libjingle_peerconnection_metrics_default_jni") { |  | 
|  233     sources = [ |  | 
|  234       "android/jni/androidmetrics_jni.cc", |  | 
|  235     ] |  | 
|  236  |  | 
|  237     configs += [ ":libjingle_peerconnection_jni_warnings_config" ] |  | 
|  238  |  | 
|  239     deps = [ |  | 
|  240       ":libjingle_peerconnection", |  | 
|  241       "../system_wrappers:field_trial_default", |  | 
|  242       "../system_wrappers:metrics_default", |  | 
|  243     ] |  | 
|  244   } |  | 
|  245  |  | 
|  246   rtc_shared_library("libjingle_peerconnection_so") { |  | 
|  247     sources = [ |  | 
|  248       "android/jni/jni_onload.cc", |  | 
|  249     ] |  | 
|  250  |  | 
|  251     suppressed_configs += [ "//build/config/android:hide_native_jni_exports" ] |  | 
|  252  |  | 
|  253     deps = [ |  | 
|  254       ":libjingle_peerconnection", |  | 
|  255       ":libjingle_peerconnection_jni", |  | 
|  256       ":libjingle_peerconnection_metrics_default_jni", |  | 
|  257     ] |  | 
|  258     output_extension = "so" |  | 
|  259   } |  | 
|  260 } |  | 
|  261  |  | 
|  262 # Classes that don't require jni can be used in Chromium. |  | 
|  263 if (is_android) { |  | 
|  264   android_library("libjingle_peerconnection_java") { |  | 
|  265     java_files = [ |  | 
|  266       "../modules/audio_device/android/java/src/org/webrtc/voiceengine/BuildInfo
     .java", |  | 
|  267       "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAud
     ioEffects.java", |  | 
|  268       "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAud
     ioManager.java", |  | 
|  269       "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAud
     ioRecord.java", |  | 
|  270       "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAud
     ioTrack.java", |  | 
|  271       "../modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAud
     ioUtils.java", |  | 
|  272       "android/java/src/org/webrtc/AudioSource.java", |  | 
|  273       "android/java/src/org/webrtc/AudioTrack.java", |  | 
|  274       "android/java/src/org/webrtc/CallSessionFileRotatingLogSink.java", |  | 
|  275       "android/java/src/org/webrtc/Camera1Capturer.java", |  | 
|  276       "android/java/src/org/webrtc/Camera1Enumerator.java", |  | 
|  277       "android/java/src/org/webrtc/Camera1Session.java", |  | 
|  278       "android/java/src/org/webrtc/Camera2Capturer.java", |  | 
|  279       "android/java/src/org/webrtc/Camera2Enumerator.java", |  | 
|  280       "android/java/src/org/webrtc/Camera2Session.java", |  | 
|  281       "android/java/src/org/webrtc/CameraCapturer.java", |  | 
|  282       "android/java/src/org/webrtc/CameraEnumerationAndroid.java", |  | 
|  283       "android/java/src/org/webrtc/CameraEnumerator.java", |  | 
|  284       "android/java/src/org/webrtc/CameraSession.java", |  | 
|  285       "android/java/src/org/webrtc/CameraVideoCapturer.java", |  | 
|  286       "android/java/src/org/webrtc/DataChannel.java", |  | 
|  287       "android/java/src/org/webrtc/EglBase.java", |  | 
|  288       "android/java/src/org/webrtc/EglBase10.java", |  | 
|  289       "android/java/src/org/webrtc/EglBase14.java", |  | 
|  290       "android/java/src/org/webrtc/EglRenderer.java", |  | 
|  291       "android/java/src/org/webrtc/FileVideoCapturer.java", |  | 
|  292       "android/java/src/org/webrtc/GlRectDrawer.java", |  | 
|  293       "android/java/src/org/webrtc/GlShader.java", |  | 
|  294       "android/java/src/org/webrtc/GlTextureFrameBuffer.java", |  | 
|  295       "android/java/src/org/webrtc/GlUtil.java", |  | 
|  296       "android/java/src/org/webrtc/Histogram.java", |  | 
|  297       "android/java/src/org/webrtc/IceCandidate.java", |  | 
|  298       "android/java/src/org/webrtc/MediaCodecVideoDecoder.java", |  | 
|  299       "android/java/src/org/webrtc/MediaCodecVideoEncoder.java", |  | 
|  300       "android/java/src/org/webrtc/MediaConstraints.java", |  | 
|  301       "android/java/src/org/webrtc/MediaSource.java", |  | 
|  302       "android/java/src/org/webrtc/MediaStream.java", |  | 
|  303       "android/java/src/org/webrtc/MediaStreamTrack.java", |  | 
|  304       "android/java/src/org/webrtc/NetworkMonitor.java", |  | 
|  305       "android/java/src/org/webrtc/NetworkMonitorAutoDetect.java", |  | 
|  306       "android/java/src/org/webrtc/PeerConnection.java", |  | 
|  307       "android/java/src/org/webrtc/PeerConnectionFactory.java", |  | 
|  308       "android/java/src/org/webrtc/RendererCommon.java", |  | 
|  309       "android/java/src/org/webrtc/RtpParameters.java", |  | 
|  310       "android/java/src/org/webrtc/RtpReceiver.java", |  | 
|  311       "android/java/src/org/webrtc/RtpSender.java", |  | 
|  312       "android/java/src/org/webrtc/ScreenCapturerAndroid.java", |  | 
|  313       "android/java/src/org/webrtc/SdpObserver.java", |  | 
|  314       "android/java/src/org/webrtc/SessionDescription.java", |  | 
|  315       "android/java/src/org/webrtc/StatsObserver.java", |  | 
|  316       "android/java/src/org/webrtc/StatsReport.java", |  | 
|  317       "android/java/src/org/webrtc/SurfaceTextureHelper.java", |  | 
|  318       "android/java/src/org/webrtc/SurfaceViewRenderer.java", |  | 
|  319       "android/java/src/org/webrtc/VideoCapturer.java", |  | 
|  320       "android/java/src/org/webrtc/VideoCapturerAndroid.java", |  | 
|  321       "android/java/src/org/webrtc/VideoFileRenderer.java", |  | 
|  322       "android/java/src/org/webrtc/VideoRenderer.java", |  | 
|  323       "android/java/src/org/webrtc/VideoRendererGui.java", |  | 
|  324       "android/java/src/org/webrtc/VideoSource.java", |  | 
|  325       "android/java/src/org/webrtc/VideoTrack.java", |  | 
|  326       "android/java/src/org/webrtc/YuvConverter.java", |  | 
|  327     ] |  | 
|  328  |  | 
|  329     deps = [ |  | 
|  330       "../base:base_java", |  | 
|  331     ] |  | 
|  332   } |  | 
|  333  |  | 
|  334   android_library("libjingle_peerconnection_metrics_default_java") { |  | 
|  335     java_files = [ "android/java/src/org/webrtc/Metrics.java" ] |  | 
|  336  |  | 
|  337     deps = [ |  | 
|  338       "../base:base_java", |  | 
|  339     ] |  | 
|  340   } |  | 
|  341 } |  | 
|  342  |  | 
|  343 rtc_source_set("rtc_stats_api") { |  152 rtc_source_set("rtc_stats_api") { | 
|  344   cflags = [] |  153   cflags = [] | 
|  345   sources = [ |  154   sources = [ | 
|  346     "stats/rtcstats.h", |  155     "stats/rtcstats.h", | 
|  347     "stats/rtcstats_objects.h", |  156     "stats/rtcstats_objects.h", | 
|  348     "stats/rtcstatsreport.h", |  157     "stats/rtcstatsreport.h", | 
|  349   ] |  158   ] | 
|  350  |  159  | 
|  351   deps = [ |  160   deps = [ | 
|  352     "../base:rtc_base_approved", |  161     "../base:rtc_base_approved", | 
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  484       ] |  293       ] | 
|  485     } |  294     } | 
|  486  |  295  | 
|  487     deps = [] |  296     deps = [] | 
|  488     if (is_android) { |  297     if (is_android) { | 
|  489       sources += [ |  298       sources += [ | 
|  490         "test/androidtestinitializer.cc", |  299         "test/androidtestinitializer.cc", | 
|  491         "test/androidtestinitializer.h", |  300         "test/androidtestinitializer.h", | 
|  492       ] |  301       ] | 
|  493       deps += [ |  302       deps += [ | 
|  494         ":libjingle_peerconnection_java", |  | 
|  495         ":libjingle_peerconnection_jni", |  | 
|  496         "//testing/android/native_test:native_test_support", |  303         "//testing/android/native_test:native_test_support", | 
 |  304         "//webrtc/sdk/android:libjingle_peerconnection_java", | 
 |  305         "//webrtc/sdk/android:libjingle_peerconnection_jni", | 
|  497       ] |  306       ] | 
|  498     } |  307     } | 
|  499  |  308  | 
|  500     deps += [ |  309     deps += [ | 
|  501       ":libjingle_peerconnection", |  310       ":libjingle_peerconnection", | 
|  502       "..:webrtc_common", |  311       "..:webrtc_common", | 
|  503       "../base:rtc_base_tests_utils", |  312       "../base:rtc_base_tests_utils", | 
|  504       "../media:rtc_unittest_main", |  313       "../media:rtc_unittest_main", | 
|  505       "../pc:rtc_pc", |  314       "../pc:rtc_pc", | 
|  506       "../system_wrappers:metrics_default", |  315       "../system_wrappers:metrics_default", | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
|  522  |  331  | 
|  523     public_deps = [ |  332     public_deps = [ | 
|  524       ":audio_mixer_api", |  333       ":audio_mixer_api", | 
|  525     ] |  334     ] | 
|  526  |  335  | 
|  527     deps = [ |  336     deps = [ | 
|  528       "//testing/gmock", |  337       "//testing/gmock", | 
|  529     ] |  338     ] | 
|  530   } |  339   } | 
|  531 } |  340 } | 
| OLD | NEW |