• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//
2// Copyright (C) 2020 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16package {
17    default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
20cc_library_static {
21    name: "libcuttlefish_webrtc",
22    srcs: [
23        "lib/audio_device.cpp",
24        "lib/audio_track_source_impl.cpp",
25        "lib/camera_streamer.cpp",
26        "lib/client_handler.cpp",
27        "lib/keyboard.cpp",
28        "lib/local_recorder.cpp",
29        "lib/port_range_socket_factory.cpp",
30        "lib/streamer.cpp",
31        "lib/utils.cpp",
32        "lib/video_track_source_impl.cpp",
33        "lib/vp8only_encoder_factory.cpp",
34        "lib/server_connection.cpp",
35    ],
36    cflags: [
37        // libwebrtc headers need this
38        "-Wno-unused-parameter",
39        "-DWEBRTC_POSIX",
40        "-DWEBRTC_LINUX",
41    ],
42    header_libs: [
43        "webrtc_signaling_headers",
44        "libwebrtc_absl_headers",
45    ],
46    static_libs: [
47        "libsrtp2",
48        "libcuttlefish_host_config",
49        "libcuttlefish_screen_connector",
50        "libcuttlefish_wayland_server",
51        "libgflags",
52        "libdrm",
53        "libffi",
54        "libwayland_crosvm_gpu_display_extension_server_protocols",
55        "libwayland_extension_server_protocols",
56        "libwayland_server",
57        "libwebsockets",
58        "libcap",
59        "libcuttlefish_utils",
60        "libwebrtc",
61        "libwebrtc_absl_base",
62        "libwebrtc_absl_types",
63    ],
64    shared_libs: [
65        "libbase",
66        "libcn-cbor",
67        "libcuttlefish_fs",
68        "libfruit",
69        "libjsoncpp",
70        "libssl",
71        "libwebm_mkvmuxer",
72    ],
73    defaults: ["cuttlefish_buildhost_only"],
74}
75
76cc_binary_host {
77    name: "webRTC",
78    srcs: [
79        "adb_handler.cpp",
80        "audio_handler.cpp",
81        "bluetooth_handler.cpp",
82        "client_server.cpp",
83        "connection_observer.cpp",
84        "cvd_video_frame_buffer.cpp",
85        "display_handler.cpp",
86        "kernel_log_events_handler.cpp",
87        "main.cpp",
88    ],
89    header_libs: [
90        "webrtc_signaling_headers",
91        "libwebrtc_absl_headers",
92        "libcuttlefish_confui_host_headers",
93    ],
94    static_libs: [
95        "libwebrtc_absl_base",
96        "libwebrtc_absl_container",
97        "libwebrtc_absl_debugging",
98        "libwebrtc_absl_flags",
99        "libwebrtc_absl_hash",
100        "libwebrtc_absl_numeric",
101        "libwebrtc_absl_status",
102        "libwebrtc_absl_strings",
103        "libwebrtc_absl_synchronization",
104        "libwebrtc_absl_time",
105        "libwebrtc_absl_types",
106        "libaom",
107        "libcap",
108        "libcn-cbor",
109        "libcuttlefish_audio_connector",
110        "libcuttlefish_confui",
111        "libcuttlefish_confui_host",
112        "libcuttlefish_host_config",
113        "libcuttlefish_security",
114        "libcuttlefish_screen_connector",
115        "libcuttlefish_utils",
116        "libcuttlefish_wayland_server",
117        "libft2.nodep",
118        "libteeui",
119        "libteeui_localization",
120        "libdrm",
121        "libevent",
122        "libffi",
123        "libgflags",
124        "libopus",
125        "libsrtp2",
126        "libvpx",
127        "libwayland_crosvm_gpu_display_extension_server_protocols",
128        "libwayland_extension_server_protocols",
129        "libwayland_server",
130        "libwebrtc",
131        "libcuttlefish_webrtc",
132        "libwebsockets",
133        "libyuv",
134    ],
135    shared_libs: [
136        "libext2_blkid",
137        "android.hardware.keymaster@4.0",
138        "libbase",
139        "libcrypto",
140        "libcuttlefish_fs",
141        "libcuttlefish_kernel_log_monitor_utils",
142        "libjsoncpp",
143        "libfruit",
144        "libopus",
145        "libssl",
146        "libvpx",
147        "libyuv",
148        "libwebm_mkvmuxer",
149    ],
150    defaults: ["cuttlefish_buildhost_only"],
151}
152
153prebuilt_usr_share_host {
154    name: "webrtc_client.html",
155    src: "client/client.html",
156    filename: "client.html",
157    sub_dir: "webrtc/assets",
158}
159
160prebuilt_usr_share_host {
161    name: "webrtc_style.css",
162    src: "client/style.css",
163    filename: "style.css",
164    sub_dir: "webrtc/assets",
165}
166
167prebuilt_usr_share_host {
168    name: "webrtc_controls.css",
169    src: "client/controls.css",
170    filename: "controls.css",
171    sub_dir: "webrtc/assets",
172}
173
174prebuilt_usr_share_host {
175    name: "webrtc_adb.js",
176    src: "client/js/adb.js",
177    filename: "adb.js",
178    sub_dir: "webrtc/assets/js",
179}
180
181prebuilt_usr_share_host {
182    name: "webrtc_cf.js",
183    src: "client/js/cf_webrtc.js",
184    filename: "cf_webrtc.js",
185    sub_dir: "webrtc/assets/js",
186}
187
188prebuilt_usr_share_host {
189    name: "webrtc_app.js",
190    src: "client/js/app.js",
191    filename: "app.js",
192    sub_dir: "webrtc/assets/js",
193}
194
195prebuilt_usr_share_host {
196    name: "webrtc_controls.js",
197    src: "client/js/controls.js",
198    filename: "controls.js",
199    sub_dir: "webrtc/assets/js",
200}
201
202prebuilt_usr_share_host {
203    name: "webrtc_rootcanal.js",
204    src: "client/js/rootcanal.js",
205    filename: "rootcanal.js",
206    sub_dir: "webrtc/assets/js",
207}
208