1// 2// Copyright (C) 2019 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_binary_host { 21 name: "run_cvd", 22 srcs: [ 23 "boot_state_machine.cc", 24 "launch/automotive_proxy.cpp", 25 "launch/bluetooth_connector.cpp", 26 "launch/casimir.cpp", 27 "launch/casimir_control_server.cpp", 28 "launch/console_forwarder.cpp", 29 "launch/control_env_proxy_server.cpp", 30 "launch/echo_server.cpp", 31 "launch/gnss_grpc_proxy.cpp", 32 "launch/grpc_socket_creator.cpp", 33 "launch/kernel_log_monitor.cpp", 34 "launch/log_tee_creator.cpp", 35 "launch/logcat_receiver.cpp", 36 "launch/metrics.cpp", 37 "launch/netsim_server.cpp", 38 "launch/nfc_connector.cpp", 39 "launch/openwrt_control_server.cpp", 40 "launch/pica.cpp", 41 "launch/root_canal.cpp", 42 "launch/screen_recording_server.cpp", 43 "launch/secure_env.cpp", 44 "launch/sensors_simulator.cpp", 45 "launch/sensors_socket_pair.cpp", 46 "launch/snapshot_control_files.cpp", 47 "launch/streamer.cpp", 48 "launch/uwb_connector.cpp", 49 "launch/vhal_proxy_server.cpp", 50 "launch/webrtc_controller.cpp", 51 "main.cc", 52 "reporting.cpp", 53 "server_loop.cpp", 54 "server_loop_impl.cpp", 55 "server_loop_impl_snapshot.cpp", 56 "server_loop_impl_webrtc.cpp", 57 "validate.cpp", 58 ], 59 shared_libs: [ 60 "libbase", 61 "libcuttlefish_fs", 62 "libcuttlefish_kernel_log_monitor_utils", 63 "libcuttlefish_run_cvd_proto", 64 "libcuttlefish_utils", 65 "libcuttlefish_webrtc_command_channel", 66 "libcuttlefish_webrtc_commands_proto", 67 "libfruit", 68 "libgoogleapis-status-proto", 69 "libgrpc++_unsecure", 70 "libjsoncpp", 71 "libprotobuf-cpp-full", 72 ], 73 static_libs: [ 74 "libbuildversion", 75 "libcuttlefish_command_util", 76 "libcuttlefish_host_config", 77 "libcuttlefish_host_config_adb", 78 "libcuttlefish_host_config_fastboot", 79 "libcuttlefish_metrics", 80 "libcuttlefish_msg_queue", 81 "libcuttlefish_process_monitor", 82 "libcuttlefish_utils", 83 "libcuttlefish_vm_manager", 84 "libgflags", 85 "libopenwrt_control_server", 86 ], 87 required: [ 88 "console_forwarder", 89 "kernel_log_monitor", 90 "log_tee", 91 "logcat_receiver", 92 "secure_env", 93 "tcp_connector", 94 ], 95 target: { 96 darwin: { 97 enabled: true, 98 }, 99 linux: { 100 required: [ 101 "echo_server", 102 "gnss_grpc_proxy", 103 ], 104 srcs: [ 105 "launch/mcu.cpp", 106 "launch/modem.cpp", 107 "launch/open_wrt.cpp", 108 "launch/ti50_emulator.cpp", 109 "launch/tombstone_receiver.cpp", 110 "launch/vhost_device_vsock.cpp", 111 "launch/vhost_input_devices.cpp", 112 "launch/wmediumd_server.cpp", 113 ], 114 }, 115 }, 116 defaults: [ 117 "cuttlefish_host", 118 "cvd_cc_defaults", 119 ], 120 use_version_lib: true, 121} 122