1*cf78ab8cSAndroid Build Coastguard Worker// Copyright 2022 The Android Open Source Project 2*cf78ab8cSAndroid Build Coastguard Worker// 3*cf78ab8cSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*cf78ab8cSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*cf78ab8cSAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*cf78ab8cSAndroid Build Coastguard Worker// 7*cf78ab8cSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*cf78ab8cSAndroid Build Coastguard Worker// 9*cf78ab8cSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*cf78ab8cSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*cf78ab8cSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*cf78ab8cSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*cf78ab8cSAndroid Build Coastguard Worker// limitations under the License. 14*cf78ab8cSAndroid Build Coastguard Worker 15*cf78ab8cSAndroid Build Coastguard Workerpackage { 16*cf78ab8cSAndroid Build Coastguard Worker default_visibility: [ 17*cf78ab8cSAndroid Build Coastguard Worker "//tools/netsim:__subpackages__", 18*cf78ab8cSAndroid Build Coastguard Worker "//device/google/cuttlefish/build:__subpackages__", 19*cf78ab8cSAndroid Build Coastguard Worker ], 20*cf78ab8cSAndroid Build Coastguard Worker default_applicable_licenses: ["tools_netsim_license"], 21*cf78ab8cSAndroid Build Coastguard Worker} 22*cf78ab8cSAndroid Build Coastguard Worker 23*cf78ab8cSAndroid Build Coastguard Worker// Added automatically by a large-scale-change 24*cf78ab8cSAndroid Build Coastguard Worker// See: http://go/android-license-faq 25*cf78ab8cSAndroid Build Coastguard Workerlicense { 26*cf78ab8cSAndroid Build Coastguard Worker name: "tools_netsim_license", 27*cf78ab8cSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 28*cf78ab8cSAndroid Build Coastguard Worker license_kinds: [ 29*cf78ab8cSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 30*cf78ab8cSAndroid Build Coastguard Worker ], 31*cf78ab8cSAndroid Build Coastguard Worker license_text: [ 32*cf78ab8cSAndroid Build Coastguard Worker "LICENSE", 33*cf78ab8cSAndroid Build Coastguard Worker ], 34*cf78ab8cSAndroid Build Coastguard Worker} 35*cf78ab8cSAndroid Build Coastguard Worker 36*cf78ab8cSAndroid Build Coastguard Workercc_defaults { 37*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_defaults", 38*cf78ab8cSAndroid Build Coastguard Worker cflags: [ 39*cf78ab8cSAndroid Build Coastguard Worker "-Wno-unused-parameter", 40*cf78ab8cSAndroid Build Coastguard Worker "-g", // Produce debugging information. 41*cf78ab8cSAndroid Build Coastguard Worker ], 42*cf78ab8cSAndroid Build Coastguard Worker ldflags: ["-rdynamic"], // Allow obtaining backtraces for debugging. 43*cf78ab8cSAndroid Build Coastguard Worker local_include_dirs: [ 44*cf78ab8cSAndroid Build Coastguard Worker "src", 45*cf78ab8cSAndroid Build Coastguard Worker ], 46*cf78ab8cSAndroid Build Coastguard Worker shared_libs: [ 47*cf78ab8cSAndroid Build Coastguard Worker "libgrpc++", 48*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf-cpp-full", 49*cf78ab8cSAndroid Build Coastguard Worker ], 50*cf78ab8cSAndroid Build Coastguard Worker generated_headers: [ 51*cf78ab8cSAndroid Build Coastguard Worker "FrontendStub_h", 52*cf78ab8cSAndroid Build Coastguard Worker ], 53*cf78ab8cSAndroid Build Coastguard Worker generated_sources: [ 54*cf78ab8cSAndroid Build Coastguard Worker "FrontendStub_cc", 55*cf78ab8cSAndroid Build Coastguard Worker ], 56*cf78ab8cSAndroid Build Coastguard Worker} 57*cf78ab8cSAndroid Build Coastguard Worker 58*cf78ab8cSAndroid Build Coastguard Workerrust_defaults { 59*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_daemon_defaults", 60*cf78ab8cSAndroid Build Coastguard Worker features: ["cuttlefish"], 61*cf78ab8cSAndroid Build Coastguard Worker rlibs: [ 62*cf78ab8cSAndroid Build Coastguard Worker "libbytes", 63*cf78ab8cSAndroid Build Coastguard Worker "libclap", 64*cf78ab8cSAndroid Build Coastguard Worker "libcxx", 65*cf78ab8cSAndroid Build Coastguard Worker "libanyhow", 66*cf78ab8cSAndroid Build Coastguard Worker "libdata_encoding", 67*cf78ab8cSAndroid Build Coastguard Worker "libfutures", 68*cf78ab8cSAndroid Build Coastguard Worker "libfutures_channel", 69*cf78ab8cSAndroid Build Coastguard Worker "libfutures_executor", 70*cf78ab8cSAndroid Build Coastguard Worker "libfutures_util", 71*cf78ab8cSAndroid Build Coastguard Worker "libglam", 72*cf78ab8cSAndroid Build Coastguard Worker "libgrpcio", 73*cf78ab8cSAndroid Build Coastguard Worker "liblibc", 74*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_proto", 75*cf78ab8cSAndroid Build Coastguard Worker "libhttp", 76*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_common", 77*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_packets", 78*cf78ab8cSAndroid Build Coastguard Worker "libpdl_runtime", 79*cf78ab8cSAndroid Build Coastguard Worker "libpica", 80*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf", 81*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf_json_mapping", 82*cf78ab8cSAndroid Build Coastguard Worker "librand", 83*cf78ab8cSAndroid Build Coastguard Worker "libregex", 84*cf78ab8cSAndroid Build Coastguard Worker "libthiserror", 85*cf78ab8cSAndroid Build Coastguard Worker "libtokio", 86*cf78ab8cSAndroid Build Coastguard Worker "libtokio_stream", 87*cf78ab8cSAndroid Build Coastguard Worker "libtungstenite", 88*cf78ab8cSAndroid Build Coastguard Worker "liblog_rust", 89*cf78ab8cSAndroid Build Coastguard Worker "libopenssl", 90*cf78ab8cSAndroid Build Coastguard Worker ], 91*cf78ab8cSAndroid Build Coastguard Worker static_libs: ["libgrpc_wrap"], 92*cf78ab8cSAndroid Build Coastguard Worker srcs: [ 93*cf78ab8cSAndroid Build Coastguard Worker "rust/daemon/src/lib.rs", 94*cf78ab8cSAndroid Build Coastguard Worker ], 95*cf78ab8cSAndroid Build Coastguard Worker} 96*cf78ab8cSAndroid Build Coastguard Worker 97*cf78ab8cSAndroid Build Coastguard Workerrust_ffi_host_static { 98*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_daemon", 99*cf78ab8cSAndroid Build Coastguard Worker crate_name: "netsim_daemon", 100*cf78ab8cSAndroid Build Coastguard Worker defaults: ["libnetsim_daemon_defaults"], 101*cf78ab8cSAndroid Build Coastguard Worker} 102*cf78ab8cSAndroid Build Coastguard Worker 103*cf78ab8cSAndroid Build Coastguard Workerrust_test_host { 104*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_daemon_tests", 105*cf78ab8cSAndroid Build Coastguard Worker defaults: ["libnetsim_daemon_defaults"], 106*cf78ab8cSAndroid Build Coastguard Worker test_suites: ["general_tests"], 107*cf78ab8cSAndroid Build Coastguard Worker} 108*cf78ab8cSAndroid Build Coastguard Worker 109*cf78ab8cSAndroid Build Coastguard Workergenrule { 110*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_daemon_cc", 111*cf78ab8cSAndroid Build Coastguard Worker tools: ["cxxbridge"], 112*cf78ab8cSAndroid Build Coastguard Worker cmd: "$(location cxxbridge) $(in) --cfg feature=\\\"cuttlefish\\\" >> $(out)", 113*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/daemon/src/ffi.rs"], 114*cf78ab8cSAndroid Build Coastguard Worker out: ["netsim-daemon/src/ffi.rs.cc"], 115*cf78ab8cSAndroid Build Coastguard Worker} 116*cf78ab8cSAndroid Build Coastguard Worker 117*cf78ab8cSAndroid Build Coastguard Workergenrule { 118*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_daemon_h", 119*cf78ab8cSAndroid Build Coastguard Worker tools: ["cxxbridge"], 120*cf78ab8cSAndroid Build Coastguard Worker cmd: "$(location cxxbridge) $(in) --cfg feature=\\\"cuttlefish\\\" --header >> $(out)", 121*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/daemon/src/ffi.rs"], 122*cf78ab8cSAndroid Build Coastguard Worker out: ["netsim-daemon/src/ffi.rs.h"], 123*cf78ab8cSAndroid Build Coastguard Worker} 124*cf78ab8cSAndroid Build Coastguard Worker 125*cf78ab8cSAndroid Build Coastguard Workergenrule { 126*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_cli_cc", 127*cf78ab8cSAndroid Build Coastguard Worker tools: ["cxxbridge"], 128*cf78ab8cSAndroid Build Coastguard Worker cmd: "$(location cxxbridge) $(in) >> $(out)", 129*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/cli/src/ffi.rs"], 130*cf78ab8cSAndroid Build Coastguard Worker out: ["netsim-cli/src/ffi.rs.cc"], 131*cf78ab8cSAndroid Build Coastguard Worker} 132*cf78ab8cSAndroid Build Coastguard Worker 133*cf78ab8cSAndroid Build Coastguard Workergenrule { 134*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_cli_h", 135*cf78ab8cSAndroid Build Coastguard Worker tools: ["cxxbridge"], 136*cf78ab8cSAndroid Build Coastguard Worker cmd: "$(location cxxbridge) $(in) --header >> $(out)", 137*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/cli/src/ffi.rs"], 138*cf78ab8cSAndroid Build Coastguard Worker out: ["netsim-cli/src/ffi.rs.h"], 139*cf78ab8cSAndroid Build Coastguard Worker} 140*cf78ab8cSAndroid Build Coastguard Worker 141*cf78ab8cSAndroid Build Coastguard Workergenrule { 142*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_netlink_rust_gen", 143*cf78ab8cSAndroid Build Coastguard Worker defaults: ["pdl_rust_generator_defaults"], 144*cf78ab8cSAndroid Build Coastguard Worker srcs: ["pdl/netlink.pdl"], 145*cf78ab8cSAndroid Build Coastguard Worker out: ["netlink_packets.rs"], 146*cf78ab8cSAndroid Build Coastguard Worker} 147*cf78ab8cSAndroid Build Coastguard Worker 148*cf78ab8cSAndroid Build Coastguard Workergenrule { 149*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_mac80211_hwsim_rust_gen", 150*cf78ab8cSAndroid Build Coastguard Worker defaults: ["pdl_rust_generator_defaults"], 151*cf78ab8cSAndroid Build Coastguard Worker srcs: ["pdl/mac80211_hwsim.pdl"], 152*cf78ab8cSAndroid Build Coastguard Worker out: ["mac80211_hwsim_packets.rs"], 153*cf78ab8cSAndroid Build Coastguard Worker} 154*cf78ab8cSAndroid Build Coastguard Worker 155*cf78ab8cSAndroid Build Coastguard Workergenrule { 156*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_ieee80211_rust_gen", 157*cf78ab8cSAndroid Build Coastguard Worker defaults: ["pdl_rust_generator_defaults"], 158*cf78ab8cSAndroid Build Coastguard Worker srcs: ["pdl/ieee80211.pdl"], 159*cf78ab8cSAndroid Build Coastguard Worker out: ["ieee80211_packets.rs"], 160*cf78ab8cSAndroid Build Coastguard Worker} 161*cf78ab8cSAndroid Build Coastguard Worker 162*cf78ab8cSAndroid Build Coastguard Workergenrule { 163*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_llc_rust_gen", 164*cf78ab8cSAndroid Build Coastguard Worker defaults: ["pdl_rust_generator_defaults"], 165*cf78ab8cSAndroid Build Coastguard Worker srcs: ["pdl/llc.pdl"], 166*cf78ab8cSAndroid Build Coastguard Worker out: ["llc_packets.rs"], 167*cf78ab8cSAndroid Build Coastguard Worker} 168*cf78ab8cSAndroid Build Coastguard Worker 169*cf78ab8cSAndroid Build Coastguard Workergenrule { 170*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_arp_rust_gen", 171*cf78ab8cSAndroid Build Coastguard Worker defaults: ["pdl_rust_generator_defaults"], 172*cf78ab8cSAndroid Build Coastguard Worker srcs: ["pdl/arp.pdl"], 173*cf78ab8cSAndroid Build Coastguard Worker out: ["arp_packets.rs"], 174*cf78ab8cSAndroid Build Coastguard Worker} 175*cf78ab8cSAndroid Build Coastguard Worker 176*cf78ab8cSAndroid Build Coastguard Workercc_library_host_static { 177*cf78ab8cSAndroid Build Coastguard Worker name: "lib-netsim", 178*cf78ab8cSAndroid Build Coastguard Worker defaults: ["netsim_defaults"], 179*cf78ab8cSAndroid Build Coastguard Worker srcs: [ 180*cf78ab8cSAndroid Build Coastguard Worker "src/backend/grpc_client.cc", 181*cf78ab8cSAndroid Build Coastguard Worker "src/hci/bluetooth_facade.cc", 182*cf78ab8cSAndroid Build Coastguard Worker "src/hci/hci_packet_transport.cc", 183*cf78ab8cSAndroid Build Coastguard Worker "src/hci/rust_device.cc", 184*cf78ab8cSAndroid Build Coastguard Worker "src/util/crash_report.cc", 185*cf78ab8cSAndroid Build Coastguard Worker "src/util/ini_file.cc", 186*cf78ab8cSAndroid Build Coastguard Worker "src/util/log.cc", 187*cf78ab8cSAndroid Build Coastguard Worker "src/util/os_utils.cc", 188*cf78ab8cSAndroid Build Coastguard Worker "src/util/string_utils.cc", 189*cf78ab8cSAndroid Build Coastguard Worker ], 190*cf78ab8cSAndroid Build Coastguard Worker generated_headers: [ 191*cf78ab8cSAndroid Build Coastguard Worker "cxx-bridge-header", 192*cf78ab8cSAndroid Build Coastguard Worker "netsim_daemon_h", 193*cf78ab8cSAndroid Build Coastguard Worker "PacketStreamerStub_h", 194*cf78ab8cSAndroid Build Coastguard Worker ], 195*cf78ab8cSAndroid Build Coastguard Worker generated_sources: [ 196*cf78ab8cSAndroid Build Coastguard Worker "netsim_daemon_cc", 197*cf78ab8cSAndroid Build Coastguard Worker "PacketStreamerStub_cc", 198*cf78ab8cSAndroid Build Coastguard Worker ], 199*cf78ab8cSAndroid Build Coastguard Worker shared_libs: [ 200*cf78ab8cSAndroid Build Coastguard Worker "libbase", 201*cf78ab8cSAndroid Build Coastguard Worker "libgrpc++", 202*cf78ab8cSAndroid Build Coastguard Worker "libcrypto", 203*cf78ab8cSAndroid Build Coastguard Worker "libunwindstack", 204*cf78ab8cSAndroid Build Coastguard Worker ], 205*cf78ab8cSAndroid Build Coastguard Worker static_libs: [ 206*cf78ab8cSAndroid Build Coastguard Worker "breakpad_client", 207*cf78ab8cSAndroid Build Coastguard Worker "libjsoncpp", 208*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf-cpp-full", 209*cf78ab8cSAndroid Build Coastguard Worker "libscriptedbeaconpayload-protos-lite", 210*cf78ab8cSAndroid Build Coastguard Worker "lib-netsimd-proto", 211*cf78ab8cSAndroid Build Coastguard Worker ], 212*cf78ab8cSAndroid Build Coastguard Worker whole_static_libs: [ 213*cf78ab8cSAndroid Build Coastguard Worker "libbt-rootcanal", 214*cf78ab8cSAndroid Build Coastguard Worker ], 215*cf78ab8cSAndroid Build Coastguard Worker} 216*cf78ab8cSAndroid Build Coastguard Worker 217*cf78ab8cSAndroid Build Coastguard Workernetsim_ui_modules = [ 218*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_index.html", 219*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_cube-sprite.js", 220*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_customize-map-button.js", 221*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_device-dragzone.js", 222*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_device-dropzone.js", 223*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_device-info.js", 224*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_device-list.js", 225*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_device-map.js", 226*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_device-observer.js", 227*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_license-info.js", 228*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_navigation-bar.js", 229*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_netsim-app.js", 230*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_packet-info.js", 231*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_js_pyramid-sprite.js", 232*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_tslib", 233*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_assets_grid-background.svg", 234*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_assets_hexagonal-background.png", 235*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_assets_netsim-logo-b.svg", 236*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_assets_netsim-logo.svg", 237*cf78ab8cSAndroid Build Coastguard Worker "netsim_ui_assets_polar-background.svg", 238*cf78ab8cSAndroid Build Coastguard Worker] 239*cf78ab8cSAndroid Build Coastguard Worker 240*cf78ab8cSAndroid Build Coastguard Workercc_binary_host { 241*cf78ab8cSAndroid Build Coastguard Worker name: "netsimd", 242*cf78ab8cSAndroid Build Coastguard Worker defaults: ["netsim_defaults"], 243*cf78ab8cSAndroid Build Coastguard Worker srcs: [ 244*cf78ab8cSAndroid Build Coastguard Worker "rust/netsimd.cc", 245*cf78ab8cSAndroid Build Coastguard Worker ], 246*cf78ab8cSAndroid Build Coastguard Worker generated_headers: [ 247*cf78ab8cSAndroid Build Coastguard Worker "cxx-bridge-header", 248*cf78ab8cSAndroid Build Coastguard Worker "netsim_daemon_h", 249*cf78ab8cSAndroid Build Coastguard Worker ], 250*cf78ab8cSAndroid Build Coastguard Worker shared_libs: [ 251*cf78ab8cSAndroid Build Coastguard Worker "libbase", 252*cf78ab8cSAndroid Build Coastguard Worker "libgrpc++", 253*cf78ab8cSAndroid Build Coastguard Worker "libcap", 254*cf78ab8cSAndroid Build Coastguard Worker "libcrypto", 255*cf78ab8cSAndroid Build Coastguard Worker "libssl", 256*cf78ab8cSAndroid Build Coastguard Worker "libunwindstack", 257*cf78ab8cSAndroid Build Coastguard Worker "libz", // TODO: Remove for native rust binary 258*cf78ab8cSAndroid Build Coastguard Worker ], 259*cf78ab8cSAndroid Build Coastguard Worker static_libs: [ 260*cf78ab8cSAndroid Build Coastguard Worker "breakpad_client", 261*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf-cpp-full", 262*cf78ab8cSAndroid Build Coastguard Worker "libscriptedbeaconpayload-protos-lite", // TODO: Remove this after using pdl library. 263*cf78ab8cSAndroid Build Coastguard Worker "lib-netsimd-proto", 264*cf78ab8cSAndroid Build Coastguard Worker "lib-netsim", 265*cf78ab8cSAndroid Build Coastguard Worker "lib-netsim-frontend-proto", 266*cf78ab8cSAndroid Build Coastguard Worker "libgrpc_wrap", 267*cf78ab8cSAndroid Build Coastguard Worker "librootcanal_rs", 268*cf78ab8cSAndroid Build Coastguard Worker ], 269*cf78ab8cSAndroid Build Coastguard Worker whole_static_libs: [ 270*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_daemon", 271*cf78ab8cSAndroid Build Coastguard Worker "libbt-rootcanal", 272*cf78ab8cSAndroid Build Coastguard Worker ], 273*cf78ab8cSAndroid Build Coastguard Worker required: netsim_ui_modules, 274*cf78ab8cSAndroid Build Coastguard Worker strip: { 275*cf78ab8cSAndroid Build Coastguard Worker keep_symbols_and_debug_frame: true, 276*cf78ab8cSAndroid Build Coastguard Worker }, 277*cf78ab8cSAndroid Build Coastguard Worker} 278*cf78ab8cSAndroid Build Coastguard Worker 279*cf78ab8cSAndroid Build Coastguard Workercc_test_host { 280*cf78ab8cSAndroid Build Coastguard Worker name: "netsim-test", 281*cf78ab8cSAndroid Build Coastguard Worker defaults: ["netsim_defaults"], 282*cf78ab8cSAndroid Build Coastguard Worker srcs: [ 283*cf78ab8cSAndroid Build Coastguard Worker "src/util/ini_file_test.cc", 284*cf78ab8cSAndroid Build Coastguard Worker "src/util/os_utils_test.cc", 285*cf78ab8cSAndroid Build Coastguard Worker "src/util/string_utils_test.cc", 286*cf78ab8cSAndroid Build Coastguard Worker ], 287*cf78ab8cSAndroid Build Coastguard Worker generated_headers: [ 288*cf78ab8cSAndroid Build Coastguard Worker "cxx-bridge-header", 289*cf78ab8cSAndroid Build Coastguard Worker "netsim_daemon_h", 290*cf78ab8cSAndroid Build Coastguard Worker ], 291*cf78ab8cSAndroid Build Coastguard Worker shared_libs: [ 292*cf78ab8cSAndroid Build Coastguard Worker "libgrpc++", 293*cf78ab8cSAndroid Build Coastguard Worker "libcrypto", 294*cf78ab8cSAndroid Build Coastguard Worker "libbase", 295*cf78ab8cSAndroid Build Coastguard Worker "libunwindstack", 296*cf78ab8cSAndroid Build Coastguard Worker "libssl", 297*cf78ab8cSAndroid Build Coastguard Worker "libz", // TODO: Remove for native rust binary 298*cf78ab8cSAndroid Build Coastguard Worker ], 299*cf78ab8cSAndroid Build Coastguard Worker static_libs: [ 300*cf78ab8cSAndroid Build Coastguard Worker "breakpad_client", 301*cf78ab8cSAndroid Build Coastguard Worker "libgrpc_wrap", 302*cf78ab8cSAndroid Build Coastguard Worker "libjsoncpp", 303*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf-cpp-full", 304*cf78ab8cSAndroid Build Coastguard Worker "libscriptedbeaconpayload-protos-lite", // TODO: Remove this after using pdl library. 305*cf78ab8cSAndroid Build Coastguard Worker "lib-netsim-frontend-proto", 306*cf78ab8cSAndroid Build Coastguard Worker "lib-netsim", 307*cf78ab8cSAndroid Build Coastguard Worker "lib-netsimd-proto", 308*cf78ab8cSAndroid Build Coastguard Worker "librootcanal_rs", 309*cf78ab8cSAndroid Build Coastguard Worker ], 310*cf78ab8cSAndroid Build Coastguard Worker whole_static_libs: [ 311*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_daemon", 312*cf78ab8cSAndroid Build Coastguard Worker "libbt-rootcanal", 313*cf78ab8cSAndroid Build Coastguard Worker ], 314*cf78ab8cSAndroid Build Coastguard Worker} 315*cf78ab8cSAndroid Build Coastguard Worker 316*cf78ab8cSAndroid Build Coastguard Workerrust_library_host { 317*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_proto", 318*cf78ab8cSAndroid Build Coastguard Worker features: ["cuttlefish"], 319*cf78ab8cSAndroid Build Coastguard Worker crate_name: "netsim_proto", 320*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/proto/src/lib.rs"], 321*cf78ab8cSAndroid Build Coastguard Worker rustlibs: [ 322*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf", 323*cf78ab8cSAndroid Build Coastguard Worker "libgrpcio", 324*cf78ab8cSAndroid Build Coastguard Worker ], 325*cf78ab8cSAndroid Build Coastguard Worker} 326*cf78ab8cSAndroid Build Coastguard Worker 327*cf78ab8cSAndroid Build Coastguard Workerrust_defaults { 328*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_common_defaults", 329*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/common/src/lib.rs"], 330*cf78ab8cSAndroid Build Coastguard Worker rustlibs: [ 331*cf78ab8cSAndroid Build Coastguard Worker "libanyhow", 332*cf78ab8cSAndroid Build Coastguard Worker "libchrono", 333*cf78ab8cSAndroid Build Coastguard Worker "librand", 334*cf78ab8cSAndroid Build Coastguard Worker "liblibc", 335*cf78ab8cSAndroid Build Coastguard Worker "liblog_rust", 336*cf78ab8cSAndroid Build Coastguard Worker "libenv_logger", 337*cf78ab8cSAndroid Build Coastguard Worker "libzip", 338*cf78ab8cSAndroid Build Coastguard Worker ], 339*cf78ab8cSAndroid Build Coastguard Worker} 340*cf78ab8cSAndroid Build Coastguard Worker 341*cf78ab8cSAndroid Build Coastguard Workerrust_library_host { 342*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_common", 343*cf78ab8cSAndroid Build Coastguard Worker crate_name: "netsim_common", 344*cf78ab8cSAndroid Build Coastguard Worker defaults: ["libnetsim_common_defaults"], 345*cf78ab8cSAndroid Build Coastguard Worker} 346*cf78ab8cSAndroid Build Coastguard Worker 347*cf78ab8cSAndroid Build Coastguard Workerrust_defaults { 348*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_packets_defaults", 349*cf78ab8cSAndroid Build Coastguard Worker srcs: [ 350*cf78ab8cSAndroid Build Coastguard Worker "rust/packets/src/lib.rs", 351*cf78ab8cSAndroid Build Coastguard Worker ":netsim_netlink_rust_gen", 352*cf78ab8cSAndroid Build Coastguard Worker ":netsim_mac80211_hwsim_rust_gen", 353*cf78ab8cSAndroid Build Coastguard Worker ":netsim_ieee80211_rust_gen", 354*cf78ab8cSAndroid Build Coastguard Worker ":netsim_llc_rust_gen", 355*cf78ab8cSAndroid Build Coastguard Worker ":netsim_arp_rust_gen", 356*cf78ab8cSAndroid Build Coastguard Worker ":rootcanal_link_layer_packets_rust_gen", 357*cf78ab8cSAndroid Build Coastguard Worker ], 358*cf78ab8cSAndroid Build Coastguard Worker rustlibs: [ 359*cf78ab8cSAndroid Build Coastguard Worker "libanyhow", 360*cf78ab8cSAndroid Build Coastguard Worker "libbytes", 361*cf78ab8cSAndroid Build Coastguard Worker "libpdl_runtime", 362*cf78ab8cSAndroid Build Coastguard Worker ], 363*cf78ab8cSAndroid Build Coastguard Worker} 364*cf78ab8cSAndroid Build Coastguard Worker 365*cf78ab8cSAndroid Build Coastguard Workerrust_library_host { 366*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_packets", 367*cf78ab8cSAndroid Build Coastguard Worker crate_name: "netsim_packets", 368*cf78ab8cSAndroid Build Coastguard Worker defaults: ["libnetsim_packets_defaults"], 369*cf78ab8cSAndroid Build Coastguard Worker} 370*cf78ab8cSAndroid Build Coastguard Worker 371*cf78ab8cSAndroid Build Coastguard Workerrust_test_host { 372*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_common_inline_tests", 373*cf78ab8cSAndroid Build Coastguard Worker defaults: ["libnetsim_common_defaults"], 374*cf78ab8cSAndroid Build Coastguard Worker test_suites: ["general_tests"], 375*cf78ab8cSAndroid Build Coastguard Worker} 376*cf78ab8cSAndroid Build Coastguard Worker 377*cf78ab8cSAndroid Build Coastguard Workercc_library_host_static { 378*cf78ab8cSAndroid Build Coastguard Worker name: "lib-netsim-frontend-client", 379*cf78ab8cSAndroid Build Coastguard Worker defaults: ["netsim_defaults"], 380*cf78ab8cSAndroid Build Coastguard Worker srcs: [ 381*cf78ab8cSAndroid Build Coastguard Worker "src/frontend/frontend_client.cc", 382*cf78ab8cSAndroid Build Coastguard Worker "src/util/ini_file.cc", 383*cf78ab8cSAndroid Build Coastguard Worker "src/util/log.cc", 384*cf78ab8cSAndroid Build Coastguard Worker "src/util/os_utils.cc", 385*cf78ab8cSAndroid Build Coastguard Worker "src/util/string_utils.cc", 386*cf78ab8cSAndroid Build Coastguard Worker ], 387*cf78ab8cSAndroid Build Coastguard Worker generated_headers: [ 388*cf78ab8cSAndroid Build Coastguard Worker "cxx-bridge-header", 389*cf78ab8cSAndroid Build Coastguard Worker "netsim_cli_h", 390*cf78ab8cSAndroid Build Coastguard Worker ], 391*cf78ab8cSAndroid Build Coastguard Worker shared_libs: ["libgrpc++"], 392*cf78ab8cSAndroid Build Coastguard Worker generated_sources: ["netsim_cli_cc"], 393*cf78ab8cSAndroid Build Coastguard Worker static_libs: [ 394*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf-cpp-full", 395*cf78ab8cSAndroid Build Coastguard Worker "lib-netsim-frontend-proto", 396*cf78ab8cSAndroid Build Coastguard Worker ], 397*cf78ab8cSAndroid Build Coastguard Worker} 398*cf78ab8cSAndroid Build Coastguard Worker 399*cf78ab8cSAndroid Build Coastguard Workerrust_defaults { 400*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_cli_defaults", 401*cf78ab8cSAndroid Build Coastguard Worker rustlibs: [ 402*cf78ab8cSAndroid Build Coastguard Worker "libclap", 403*cf78ab8cSAndroid Build Coastguard Worker "libcxx", 404*cf78ab8cSAndroid Build Coastguard Worker "libhex", 405*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_common", 406*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_proto", 407*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf", 408*cf78ab8cSAndroid Build Coastguard Worker "libtracing", 409*cf78ab8cSAndroid Build Coastguard Worker ], 410*cf78ab8cSAndroid Build Coastguard Worker} 411*cf78ab8cSAndroid Build Coastguard Worker 412*cf78ab8cSAndroid Build Coastguard Workerrust_defaults { 413*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_cli_cc_defaults", 414*cf78ab8cSAndroid Build Coastguard Worker shared_libs: ["libgrpc++"], 415*cf78ab8cSAndroid Build Coastguard Worker static_libs: [ 416*cf78ab8cSAndroid Build Coastguard Worker "lib-netsim-frontend-client", 417*cf78ab8cSAndroid Build Coastguard Worker "lib-netsim-frontend-proto", 418*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf-cpp-full", 419*cf78ab8cSAndroid Build Coastguard Worker ], 420*cf78ab8cSAndroid Build Coastguard Worker} 421*cf78ab8cSAndroid Build Coastguard Worker 422*cf78ab8cSAndroid Build Coastguard Workerrust_test_host { 423*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_cli_tests", 424*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/cli/src/lib.rs"], 425*cf78ab8cSAndroid Build Coastguard Worker defaults: ["netsim_cli_defaults"], 426*cf78ab8cSAndroid Build Coastguard Worker test_suites: ["general_tests"], 427*cf78ab8cSAndroid Build Coastguard Worker} 428*cf78ab8cSAndroid Build Coastguard Worker 429*cf78ab8cSAndroid Build Coastguard Workerrust_library_host { 430*cf78ab8cSAndroid Build Coastguard Worker name: "libnetsim_cli", 431*cf78ab8cSAndroid Build Coastguard Worker crate_name: "netsim_cli", 432*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/cli/src/lib.rs"], 433*cf78ab8cSAndroid Build Coastguard Worker defaults: [ 434*cf78ab8cSAndroid Build Coastguard Worker "netsim_cli_defaults", 435*cf78ab8cSAndroid Build Coastguard Worker "netsim_cli_cc_defaults", 436*cf78ab8cSAndroid Build Coastguard Worker ], 437*cf78ab8cSAndroid Build Coastguard Worker} 438*cf78ab8cSAndroid Build Coastguard Worker 439*cf78ab8cSAndroid Build Coastguard Workerrust_binary_host { 440*cf78ab8cSAndroid Build Coastguard Worker name: "netsim", 441*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/cli/bin/netsim.rs"], 442*cf78ab8cSAndroid Build Coastguard Worker rustlibs: [ 443*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_cli", 444*cf78ab8cSAndroid Build Coastguard Worker ], 445*cf78ab8cSAndroid Build Coastguard Worker} 446*cf78ab8cSAndroid Build Coastguard Worker 447*cf78ab8cSAndroid Build Coastguard Workerrust_binary_host { 448*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_test_client", 449*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/frontend/src/netsim_test_client.rs"], 450*cf78ab8cSAndroid Build Coastguard Worker rustlibs: [ 451*cf78ab8cSAndroid Build Coastguard Worker "libgrpcio", 452*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_proto", 453*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf", 454*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_common", 455*cf78ab8cSAndroid Build Coastguard Worker ], 456*cf78ab8cSAndroid Build Coastguard Worker} 457*cf78ab8cSAndroid Build Coastguard Worker 458*cf78ab8cSAndroid Build Coastguard Workerrust_binary_host { 459*cf78ab8cSAndroid Build Coastguard Worker name: "netsim_test_server", 460*cf78ab8cSAndroid Build Coastguard Worker srcs: ["rust/frontend/src/netsim_test_server.rs"], 461*cf78ab8cSAndroid Build Coastguard Worker rustlibs: [ 462*cf78ab8cSAndroid Build Coastguard Worker "libgrpcio", 463*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_proto", 464*cf78ab8cSAndroid Build Coastguard Worker "libprotobuf", 465*cf78ab8cSAndroid Build Coastguard Worker "libnetsim_common", 466*cf78ab8cSAndroid Build Coastguard Worker "libfutures", 467*cf78ab8cSAndroid Build Coastguard Worker ], 468*cf78ab8cSAndroid Build Coastguard Worker} 469