• 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        "libbt_common",
36        "libcxx",
37    ],
38    proc_macros: [
39        "libpaste",
40    ],
41    apex_available: [
42        "com.android.btservices",
43    ],
44    min_sdk_version: "30",
45}
46
47rust_library_rlib {
48    name: "libbt_shim",
49    defaults: ["libbt_shim_defaults"],
50}
51
52rust_ffi_static {
53    name: "libbt_shim_ffi",
54    defaults: ["libbt_shim_defaults"],
55}
56
57cc_library_static {
58    name: "libbt_shim_bridge",
59    defaults: [
60        "gd_ffi_defaults",
61    ],
62    generated_headers: [
63        "cxx-bridge-header",
64        "libbt_init_flags_bridge_header",
65    ],
66    generated_sources: [
67        "libbt_init_flags_bridge_code",
68    ],
69    export_generated_headers: [
70        "cxx-bridge-header",
71        "libbt_init_flags_bridge_header",
72    ],
73    include_dirs: [
74        "packages/modules/Bluetooth/system/gd",
75    ],
76    cflags: [
77        "-Wno-unused-const-variable",
78    ],
79    host_supported: true,
80    apex_available: [
81        "com.android.btservices",
82    ],
83    min_sdk_version: "30",
84}
85
86cc_library_static {
87    name: "libbluetooth_rust_interop",
88    defaults: [
89        "gd_ffi_defaults",
90    ],
91    static_libs: [
92        "libbt_shim_bridge",
93        "libbt_shim_ffi",
94    ],
95    host_supported: true,
96    apex_available: [
97        "com.android.btservices",
98    ],
99    min_sdk_version: "30",
100}
101
102genrule {
103    name: "libbt_init_flags_bridge_header",
104    tools: ["cxxbridge"],
105    cmd: "$(location cxxbridge) $(in) --header > $(out)",
106    srcs: ["src/init_flags.rs"],
107    out: ["src/init_flags.rs.h"],
108}
109
110genrule {
111    name: "libbt_init_flags_bridge_code",
112    tools: ["cxxbridge"],
113    cmd: "$(location cxxbridge) $(in) >> $(out)",
114    srcs: ["src/init_flags.rs"],
115    out: ["init_flags.cc"],
116}
117