blob: 5d18aa64bf234ed80a320ca651d47a1cc9017c0d [file] [log] [blame]
henrike@webrtc.org451745e2013-12-12 16:55:37 +00001# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
2#
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
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8{
9 'includes': ['build/common.gypi'],
kjellander@webrtc.org39020542014-09-27 18:10:30 +000010 'targets': [],
henrike@webrtc.org451745e2013-12-12 16:55:37 +000011 'conditions': [
12 ['OS=="android"', {
13 'targets': [
14 {
15 'target_name': 'libwebrtcdemo-jni',
16 'type': 'loadable_module',
17 'dependencies': [
18 '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +000019 '<(webrtc_root)/common.gyp:webrtc_common',
kjellander@webrtc.org853049f2015-01-20 11:40:45 +000020 '<(webrtc_root)/modules/modules.gyp:video_render_module_internal_impl',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000021 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
henrike@webrtc.org451745e2013-12-12 16:55:37 +000022 '<(webrtc_root)/test/test.gyp:channel_transport',
henrike@webrtc.org451745e2013-12-12 16:55:37 +000023 '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine',
24 ],
25 'sources': [
26 'examples/android/media_demo/jni/jni_helpers.cc',
27 'examples/android/media_demo/jni/on_load.cc',
henrike@webrtc.org451745e2013-12-12 16:55:37 +000028 'examples/android/media_demo/jni/voice_engine_jni.cc',
henrike@webrtc.org451745e2013-12-12 16:55:37 +000029 ],
phoglund@webrtc.org5e3fea12015-02-24 14:50:53 +000030 'variables': {
31 # This library uses native JNI exports; tell GYP so that the
32 # required symbols will be kept.
33 'use_native_jni_exports': 1,
34 },
henrike@webrtc.org451745e2013-12-12 16:55:37 +000035 'link_settings': {
36 'libraries': [
37 '-llog',
38 '-lGLESv2',
39 '-lOpenSLES',
40 ],
41 }
42 },
43 {
44 'target_name': 'WebRTCDemo',
45 'type': 'none',
46 'dependencies': [
47 'libwebrtcdemo-jni',
48 '<(modules_java_gyp_path):*',
49 ],
50 'actions': [
51 {
52 # TODO(yujie.mao): Convert building of the demo to a proper GYP
53 # target so this action is not needed once chromium's
54 # apk-building machinery can be used. (crbug.com/225101)
55 'action_name': 'build_webrtcdemo_apk',
56 'variables': {
57 'android_webrtc_demo_root': '<(webrtc_root)/examples/android/media_demo',
fischman@webrtc.org000dde92013-12-20 22:49:35 +000058 'ant_log': '../../../<(INTERMEDIATE_DIR)/ant.log', # ../../.. to compensate for the cd below.
henrike@webrtc.org451745e2013-12-12 16:55:37 +000059 },
60 'inputs' : [
61 '<(PRODUCT_DIR)/lib.java/audio_device_module_java.jar',
henrike@webrtc.org451745e2013-12-12 16:55:37 +000062 '<(PRODUCT_DIR)/libwebrtcdemo-jni.so',
63 '<!@(find <(android_webrtc_demo_root)/src -name "*.java")',
64 '<!@(find <(android_webrtc_demo_root)/res -type f)',
65 '<(android_webrtc_demo_root)/AndroidManifest.xml',
66 '<(android_webrtc_demo_root)/build.xml',
67 '<(android_webrtc_demo_root)/project.properties',
68 ],
69 'outputs': ['<(PRODUCT_DIR)/WebRTCDemo-debug.apk'],
fischman@webrtc.org000dde92013-12-20 22:49:35 +000070 'action': [
71 'bash', '-ec',
kjellander@webrtc.orgd68fa652015-02-28 11:17:33 +000072 'rm -fr <(_outputs) <(android_webrtc_demo_root)/{bin,libs,gen,obj} && '
fischman@webrtc.org000dde92013-12-20 22:49:35 +000073 'mkdir -p <(INTERMEDIATE_DIR) && ' # Must happen _before_ the cd below
74 'mkdir -p <(android_webrtc_demo_root)/libs/<(android_app_abi) && '
75 'cp <(PRODUCT_DIR)/lib.java/audio_device_module_java.jar <(android_webrtc_demo_root)/libs/ &&'
fischman@webrtc.org000dde92013-12-20 22:49:35 +000076 '<(android_strip) -o <(android_webrtc_demo_root)/libs/<(android_app_abi)/libwebrtcdemo-jni.so <(PRODUCT_DIR)/libwebrtcdemo-jni.so && '
77 'cd <(android_webrtc_demo_root) && '
kjellander@webrtc.org6e105ed2014-04-15 08:35:00 +000078 '{ ANDROID_SDK_ROOT=<(android_sdk_root) '
79 'ant debug > <(ant_log) 2>&1 || '
fischman@webrtc.org000dde92013-12-20 22:49:35 +000080 ' { cat <(ant_log) ; exit 1; } } && '
81 'cd - > /dev/null && '
82 'cp <(android_webrtc_demo_root)/bin/WebRTCDemo-debug.apk <(_outputs)'
83 ],
henrike@webrtc.org451745e2013-12-12 16:55:37 +000084 },
85 ],
86 },
henrike@webrtc.org32c26eb2014-01-17 23:12:51 +000087 {
88 'target_name': 'libopensl-demo-jni',
89 'type': 'loadable_module',
90 'dependencies': [
91 '<(webrtc_root)/modules/modules.gyp:audio_device',
92 ],
93 'sources': [
94 'examples/android/opensl_loopback/jni/opensl_runner.cc',
95 'examples/android/opensl_loopback/fake_audio_device_buffer.cc',
96 ],
97 'link_settings': {
98 'libraries': [
99 '-llog',
100 '-lOpenSLES',
101 ],
102 },
103 },
104 {
105 'target_name': 'OpenSlDemo',
106 'type': 'none',
107 'dependencies': [
108 'libopensl-demo-jni',
109 '<(modules_java_gyp_path):*',
110 ],
111 'actions': [
112 {
113 # TODO(henrik): Convert building of the demo to a proper GYP
114 # target so this action is not needed once chromium's
115 # apk-building machinery can be used. (crbug.com/225101)
116 'action_name': 'build_opensldemo_apk',
117 'variables': {
118 'android_opensl_demo_root': '<(webrtc_root)/examples/android/opensl_loopback',
119 'ant_log': '../../../<(INTERMEDIATE_DIR)/ant.log', # ../../.. to compensate for the cd below.
120 },
121 'inputs' : [
122 '<(PRODUCT_DIR)/lib.java/audio_device_module_java.jar',
123 '<(PRODUCT_DIR)/libopensl-demo-jni.so',
124 '<!@(find <(android_opensl_demo_root)/src -name "*.java")',
125 '<!@(find <(android_opensl_demo_root)/res -name "*.xml")',
126 '<!@(find <(android_opensl_demo_root)/res -name "*.png")',
127 '<(android_opensl_demo_root)/AndroidManifest.xml',
128 '<(android_opensl_demo_root)/build.xml',
129 '<(android_opensl_demo_root)/project.properties',
130 ],
131 'outputs': ['<(PRODUCT_DIR)/OpenSlDemo-debug.apk'],
132 'action': [
133 'bash', '-ec',
kjellander@webrtc.orgd68fa652015-02-28 11:17:33 +0000134 'rm -fr <(_outputs) <(android_opensl_demo_root)/{bin,libs,gen,obj} && '
henrike@webrtc.org32c26eb2014-01-17 23:12:51 +0000135 'mkdir -p <(android_opensl_demo_root)/libs/<(android_app_abi) && '
136 'mkdir -p <(INTERMEDIATE_DIR) && ' # Must happen _before_ the cd below
137 '<(android_strip) -o <(android_opensl_demo_root)/libs/<(android_app_abi)/libopensl-demo-jni.so <(PRODUCT_DIR)/libopensl-demo-jni.so && '
138 'cp <(PRODUCT_DIR)/lib.java/audio_device_module_java.jar <(android_opensl_demo_root)/libs/ &&'
139 'cd <(android_opensl_demo_root) && '
kjellander@webrtc.org6e105ed2014-04-15 08:35:00 +0000140 '{ ANDROID_SDK_ROOT=<(android_sdk_root) '
141 'ant debug > <(ant_log) 2>&1 || '
henrike@webrtc.org32c26eb2014-01-17 23:12:51 +0000142 ' { cat <(ant_log) ; exit 1; } } && '
143 'cd - > /dev/null && '
144 'cp <(android_opensl_demo_root)/bin/OpenSlDemo-debug.apk <(_outputs)'
145 ],
146 },
147 ],
148 },
henrike@webrtc.org451745e2013-12-12 16:55:37 +0000149 ],
150 }],
151 ],
152}