1*7eba2f3bSAndroid Build Coastguard Worker// Copyright 2023, The Android Open Source Project 2*7eba2f3bSAndroid Build Coastguard Worker// 3*7eba2f3bSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*7eba2f3bSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*7eba2f3bSAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*7eba2f3bSAndroid Build Coastguard Worker// 7*7eba2f3bSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*7eba2f3bSAndroid Build Coastguard Worker// 9*7eba2f3bSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*7eba2f3bSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*7eba2f3bSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*7eba2f3bSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*7eba2f3bSAndroid Build Coastguard Worker// limitations under the License. 14*7eba2f3bSAndroid Build Coastguard Worker 15*7eba2f3bSAndroid Build Coastguard Workerpackage { 16*7eba2f3bSAndroid Build Coastguard Worker default_team: "trendy_team_fwk_nfc", 17*7eba2f3bSAndroid Build Coastguard Worker} 18*7eba2f3bSAndroid Build Coastguard Worker 19*7eba2f3bSAndroid Build Coastguard Workergenrule { 20*7eba2f3bSAndroid Build Coastguard Worker name: "casimir_nci_packets_rust_gen", 21*7eba2f3bSAndroid Build Coastguard Worker defaults: ["pdl_rust_legacy_generator_defaults"], 22*7eba2f3bSAndroid Build Coastguard Worker srcs: ["src/nci_packets.pdl"], 23*7eba2f3bSAndroid Build Coastguard Worker out: ["nci_packets.rs"], 24*7eba2f3bSAndroid Build Coastguard Worker} 25*7eba2f3bSAndroid Build Coastguard Worker 26*7eba2f3bSAndroid Build Coastguard Workergenrule { 27*7eba2f3bSAndroid Build Coastguard Worker name: "casimir_rf_packets_rust_gen", 28*7eba2f3bSAndroid Build Coastguard Worker defaults: ["pdl_rust_legacy_generator_defaults"], 29*7eba2f3bSAndroid Build Coastguard Worker srcs: ["src/rf_packets.pdl"], 30*7eba2f3bSAndroid Build Coastguard Worker out: ["rf_packets.rs"], 31*7eba2f3bSAndroid Build Coastguard Worker} 32*7eba2f3bSAndroid Build Coastguard Worker 33*7eba2f3bSAndroid Build Coastguard Workerrust_binary_host { 34*7eba2f3bSAndroid Build Coastguard Worker name: "casimir", 35*7eba2f3bSAndroid Build Coastguard Worker crate_name: "casimir", 36*7eba2f3bSAndroid Build Coastguard Worker edition: "2021", 37*7eba2f3bSAndroid Build Coastguard Worker srcs: [ 38*7eba2f3bSAndroid Build Coastguard Worker "src/main.rs", 39*7eba2f3bSAndroid Build Coastguard Worker ":casimir_nci_packets_rust_gen", 40*7eba2f3bSAndroid Build Coastguard Worker ":casimir_rf_packets_rust_gen", 41*7eba2f3bSAndroid Build Coastguard Worker ], 42*7eba2f3bSAndroid Build Coastguard Worker rustlibs: [ 43*7eba2f3bSAndroid Build Coastguard Worker "libanyhow", 44*7eba2f3bSAndroid Build Coastguard Worker "libargh", 45*7eba2f3bSAndroid Build Coastguard Worker "libbytes", 46*7eba2f3bSAndroid Build Coastguard Worker "libenv_logger", 47*7eba2f3bSAndroid Build Coastguard Worker "libfutures", 48*7eba2f3bSAndroid Build Coastguard Worker "liblog_rust", 49*7eba2f3bSAndroid Build Coastguard Worker "libpdl_runtime", 50*7eba2f3bSAndroid Build Coastguard Worker "librustutils", 51*7eba2f3bSAndroid Build Coastguard Worker "libtokio", 52*7eba2f3bSAndroid Build Coastguard Worker ], 53*7eba2f3bSAndroid Build Coastguard Worker} 54*7eba2f3bSAndroid Build Coastguard Worker 55*7eba2f3bSAndroid Build Coastguard Workergenrule { 56*7eba2f3bSAndroid Build Coastguard Worker name: "casimir_rf_packets_cxx_gen", 57*7eba2f3bSAndroid Build Coastguard Worker tools: [ 58*7eba2f3bSAndroid Build Coastguard Worker ":pdl_cxx_generator", 59*7eba2f3bSAndroid Build Coastguard Worker ":pdlc", 60*7eba2f3bSAndroid Build Coastguard Worker ], 61*7eba2f3bSAndroid Build Coastguard Worker cmd: "set -o pipefail;" + 62*7eba2f3bSAndroid Build Coastguard Worker " $(location :pdlc) $(in) |" + 63*7eba2f3bSAndroid Build Coastguard Worker " $(location :pdl_cxx_generator)" + 64*7eba2f3bSAndroid Build Coastguard Worker " --namespace casimir::rf" + 65*7eba2f3bSAndroid Build Coastguard Worker " --output $(out)", 66*7eba2f3bSAndroid Build Coastguard Worker srcs: [ 67*7eba2f3bSAndroid Build Coastguard Worker "src/rf_packets.pdl", 68*7eba2f3bSAndroid Build Coastguard Worker ], 69*7eba2f3bSAndroid Build Coastguard Worker out: [ 70*7eba2f3bSAndroid Build Coastguard Worker "rf_packets.h", 71*7eba2f3bSAndroid Build Coastguard Worker ], 72*7eba2f3bSAndroid Build Coastguard Worker} 73*7eba2f3bSAndroid Build Coastguard Worker 74*7eba2f3bSAndroid Build Coastguard Workercc_library_headers { 75*7eba2f3bSAndroid Build Coastguard Worker name: "casimir_rf_packets_cxx", 76*7eba2f3bSAndroid Build Coastguard Worker generated_headers: ["casimir_rf_packets_cxx_gen"], 77*7eba2f3bSAndroid Build Coastguard Worker header_libs: ["pdl_cxx_packet_runtime"], 78*7eba2f3bSAndroid Build Coastguard Worker export_generated_headers: ["casimir_rf_packets_cxx_gen"], 79*7eba2f3bSAndroid Build Coastguard Worker export_header_lib_headers: ["pdl_cxx_packet_runtime"], 80*7eba2f3bSAndroid Build Coastguard Worker host_supported: true, 81*7eba2f3bSAndroid Build Coastguard Worker} 82