blob: 7be09b7bc153bb979e18989b2e865c0279df83bf [file] [log] [blame]
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +01001import("//webrtc.gni")
2
3rtc_android_apk("androidnativeapi") {
4 testonly = true
5 apk_name = "androidnativeapi"
6 android_manifest = "AndroidManifest.xml"
7
8 java_files = [
9 "java/org/webrtc/examples/androidnativeapi/MainActivity.java",
10 "java/org/webrtc/examples/androidnativeapi/CallClient.java",
11 ]
12
13 deps = [
14 ":resources",
Sami Kalliomäkic475ac12018-05-16 15:49:18 +020015 "//modules/audio_device:audio_device_java",
16 "//sdk/android:camera_java",
Sami Kalliomäki1641ca32018-04-04 15:59:31 +020017 "//sdk/android:surfaceviewrenderer_java",
18 "//sdk/android:video_api_java",
Sami Kalliomäkic475ac12018-05-16 15:49:18 +020019 "//sdk/android:video_java",
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010020 ]
21
22 shared_libraries = [ ":examples_androidnativeapi_jni" ]
23}
24
25generate_jni("generated_jni") {
26 testonly = true
27 sources = [
28 "java/org/webrtc/examples/androidnativeapi/CallClient.java",
29 ]
30 jni_package = ""
Magnus Jedvertc7da2662018-05-18 12:13:56 +020031 namespace = "webrtc_examples"
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010032 jni_generator_include = "//sdk/android/src/jni/jni_generator_helper.h"
33}
34
35rtc_shared_library("examples_androidnativeapi_jni") {
36 testonly = true
37 sources = [
38 "jni/androidcallclient.cc",
39 "jni/androidcallclient.h",
40 "jni/onload.cc",
41 ]
42
43 suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ]
44 configs += [ "//build/config/android:hide_all_but_jni" ]
45
46 if (is_clang) {
47 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
Mirko Bonadei23f71a82018-07-03 13:50:23 +020048 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010049 }
50
51 deps = [
52 ":generated_jni",
53 "//api:libjingle_peerconnection_api",
54 "//api/audio_codecs:builtin_audio_decoder_factory",
55 "//api/audio_codecs:builtin_audio_encoder_factory",
56 "//logging:rtc_event_log_impl_base",
57 "//media:rtc_audio_video",
58 "//media:rtc_internal_video_codecs",
59 "//modules/audio_processing",
60 "//modules/utility:utility",
61 "//pc:libjingle_peerconnection",
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010062 "//rtc_base:rtc_base",
63 "//rtc_base:rtc_base_approved",
64 "//sdk/android:native_api_base",
65 "//sdk/android:native_api_jni",
66 "//sdk/android:native_api_video",
67 "//system_wrappers:field_trial_default",
68 "//system_wrappers:metrics_default",
69 "//system_wrappers:runtime_enabled_features_default",
Mirko Bonadei879f7882018-07-11 09:18:37 +020070 "//third_party/abseil-cpp/absl/memory",
Sami Kalliomäki3e77afd2018-03-08 16:43:16 +010071 ]
72}
73
74android_resources("resources") {
75 testonly = true
76 resource_dirs = [ "res" ]
77 custom_package = "org.webrtc.examples.androidnativeapi"
78}