• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "system_bt_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["system_bt_license"],
8}
9
10rust_defaults {
11    name: "gd_rust_defaults",
12    target: {
13        darwin: {
14            enabled: false,
15        },
16    },
17    host_supported: true,
18}
19
20cc_defaults {
21    name: "gd_ffi_defaults",
22    target: {
23        darwin: {
24            enabled: false,
25        },
26    },
27}
28
29rust_defaults {
30    name: "libbt_shim_defaults",
31    defaults: ["gd_rust_defaults"],
32    crate_name: "bt_shim",
33    srcs: ["src/lib.rs"],
34    rustlibs: [
35        "libbluetooth_rs",
36        "libbt_common",
37        "libbt_facade_helpers",
38        "libbt_packets",
39        "libcxx",
40        "libfutures",
41        "liblazy_static",
42        "liblog_rust",
43        "libnix",
44        "libnum_traits",
45        "libtokio",
46    ],
47    proc_macros: [
48        "libpaste",
49    ],
50    apex_available: [
51        "com.android.btservices",
52    ],
53    min_sdk_version: "30",
54}
55
56rust_library_rlib {
57    name: "libbt_shim",
58    defaults: ["libbt_shim_defaults"],
59}
60
61rust_ffi_static {
62    name: "libbt_shim_ffi",
63    defaults: ["libbt_shim_defaults"],
64}
65
66cc_library_static {
67    name: "libbt_shim_bridge",
68    defaults: [
69        "gd_ffi_defaults",
70        "libchrome_support_defaults",
71    ],
72    generated_headers: [
73        "cxx-bridge-header",
74        "libbt_init_flags_bridge_header",
75    ],
76    generated_sources: [
77        "libbt_init_flags_bridge_code",
78    ],
79    export_generated_headers: [
80        "cxx-bridge-header",
81        "libbt_init_flags_bridge_header",
82    ],
83    include_dirs: [
84        "packages/modules/Bluetooth/system/gd",
85    ],
86    cflags: [
87        "-Wno-unused-const-variable",
88    ],
89    host_supported: true,
90    apex_available: [
91        "com.android.btservices",
92    ],
93    min_sdk_version: "30",
94}
95
96cc_library_static {
97    name: "libbluetooth_rust_interop",
98    defaults: [
99        "gd_ffi_defaults",
100        "libchrome_support_defaults",
101    ],
102    static_libs: [
103        "libbt_shim_bridge",
104        "libbt_shim_ffi",
105    ],
106    host_supported: true,
107    apex_available: [
108        "com.android.btservices",
109    ],
110    min_sdk_version: "30",
111}
112
113genrule {
114    name: "libbt_init_flags_bridge_header",
115    tools: ["cxxbridge"],
116    cmd: "$(location cxxbridge) $(in) --header > $(out)",
117    srcs: ["src/init_flags.rs"],
118    out: ["src/init_flags.rs.h"],
119}
120
121genrule {
122    name: "libbt_init_flags_bridge_code",
123    tools: ["cxxbridge"],
124    cmd: "$(location cxxbridge) $(in) >> $(out)",
125    srcs: ["src/init_flags.rs"],
126    out: ["init_flags.cc"],
127}
128