xref: /aosp_15_r20/system/nfc/tools/casimir/Android.bp (revision 7eba2f3b06c51ae21384f6a4f14577b668a869b3)
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