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 // SPDX-license-identifier-BSD
8 default_applicable_licenses: ["system_bt_license"],
15 test_config_template: "AndroidTestTemplate.xml",
35 "-DEXPORT_SYMBOL=__attribute__((visibility(\"default\")))",
36 "-fvisibility=hidden",
38 "-DGOOGLE_PROTOBUF_NO_RTTI",
39 "-Wno-unused-parameter",
45 header_libs: ["jni_headers"],
47 misc_undefined: ["bounds"],
51 // Enables code coverage for a set of source files. Must be combined with
52 // "clang_coverage_bin" in order to work. See //test/gen_coverage.py for more information
53 // on generating code coverage.
55 name: "gd_clang_file_coverage",
59 "-fprofile-instr-generate",
66 // Enabled code coverage on a binary. These flags allow libraries that were
67 // compiled with "clang_file_coverage" to be properly linked together in
68 // order to create a binary that will create a profraw file when ran. Note
69 // these flags themselves don't enable code coverage for the source files
70 // compiled in the binary. See //test/gen_coverage.py for more information
71 // on generating code coverage.
73 name: "gd_clang_coverage_bin",
77 "-fprofile-instr-generate",
85 name: "gd_clang_tidy",
88 "clang-analyzer-core.CallAndMessage",
89 "clang-analyzer-optin.cplusplus.UninitializedObject",
94 tidy_checks_as_errors: [
95 "cppcoreguidelines-pro-type-member-init",
96 "clang-analyzer-core.CallAndMessage",
97 "clang-analyzer-optin.cplusplus.UninitializedObject",
100 "--header-filter=^.*system/bt/.*.h$",
101 "--extra-arg-before=-Xclang",
102 "--extra-arg-before=-analyzer-config",
103 "--extra-arg-before=-Xclang",
104 "--extra-arg-before=optin.cplusplus.UninitializedObject:Pedantic=true",
105 "--extra-arg-before=-Xclang",
106 "--extra-arg-before=-analyzer-config",
107 "--extra-arg-before=-Xclang",
108 "--extra-arg-before=optin.cplusplus.UninitializedObject:CheckPointeeInitialization=true",
113 name: "libbluetooth_gd_defaults",
116 "gd_clang_file_coverage",
118 host_supported: true,
122 ":BluetoothBtaaSources_linux_generic",
123 ":BluetoothOsSources_linux_generic",
128 ":BluetoothBtaaSources_host",
129 ":BluetoothHalSources_hci_host",
130 ":BluetoothOsSources_host",
135 ":BluetoothBtaaSources_android",
136 ":BluetoothHalSources_hci_android_hidl",
137 ":BluetoothOsSources_android",
140 "android.hardware.bluetooth@1.0",
141 "android.hardware.bluetooth@1.1",
142 "android.system.suspend.control-V1-ndk",
143 "android.system.suspend@1.0",
155 ":BluetoothAttSources",
156 ":BluetoothCommonSources",
157 ":BluetoothCryptoToolboxSources",
158 ":BluetoothDumpsysSources",
159 ":BluetoothHalSources",
160 ":BluetoothHciSources",
161 ":BluetoothIsoSources",
162 ":BluetoothL2capSources",
163 ":BluetoothNeighborSources",
164 ":BluetoothPacketSources",
165 ":BluetoothShimSources",
166 ":BluetoothSecuritySources",
167 ":BluetoothStorageSources",
170 "BluetoothGeneratedBundlerSchema_h_bfbs",
171 "BluetoothGeneratedDumpsysDataSchema_h",
172 "BluetoothGeneratedDumpsysBundledSchema_h",
173 "BluetoothGeneratedPackets_h",
178 "libflatbuffers-cpp",
183 "libbluetooth-protos",
184 "libbluetooth_rust_interop",
185 "libbt-platform-protos-lite",
187 export_static_lib_headers: [ "libbluetooth_rust_interop" ],
191 name: "libbluetooth_gd",
193 "libbluetooth_gd_defaults",
198 name: "libbluetooth_gd_fuzzing",
200 "libbluetooth_gd_defaults",
203 ":BluetoothOsSources_fuzz",
211 name: "bluetooth_stack_with_facade",
214 "gd_clang_coverage_bin",
216 host_supported: true,
218 "facade/facade_main.cc",
219 "facade/grpc_root_server.cc",
220 "facade/read_only_property_server.cc",
221 "grpc/grpc_module.cc",
222 ":BluetoothFacade_hci_hal",
223 ":BluetoothFacade_hci_layer",
224 ":BluetoothFacade_l2cap_layer",
225 ":BluetoothFacade_neighbor",
226 ":BluetoothFacade_iso_layer",
227 ":BluetoothFacade_security_layer",
228 ":BluetoothFacade_shim_layer",
231 "BluetoothFacadeGeneratedStub_h",
232 "BluetoothGeneratedBundlerSchema_h_bfbs",
233 "BluetoothGeneratedDumpsysDataSchema_h",
234 "BluetoothGeneratedPackets_h",
235 // Needed here to guarantee that generated zip file is created before
236 // bluetooth_cert_tests.zip is packaged
237 "BluetoothFacadeAndCertGeneratedStub_py",
240 "BluetoothFacadeGeneratedStub_cc",
244 "libbluetooth-protos",
246 "libflatbuffers-cpp",
247 "libbluetooth_rust_interop",
254 "libgrpc++_unsecure",
256 "libprotobuf-cpp-full",
261 "android.hardware.bluetooth@1.0",
262 "android.hardware.bluetooth@1.1",
263 "android.system.suspend.control-V1-ndk",
264 "android.system.suspend@1.0",
285 name: "bluetooth_test_gd_unit",
286 test_suites: ["device-tests"],
289 "gd_clang_coverage_bin",
291 host_supported: true,
298 ":BluetoothOsTestSources_linux_generic",
303 ":BluetoothHalTestSources_hci_host",
304 ":BluetoothOsTestSources_host",
309 ":BluetoothHalTestSources_hci_android_hidl",
310 ":BluetoothOsTestSources_android",
313 "android.hardware.bluetooth@1.0",
314 "android.hardware.bluetooth@1.1",
315 "android.system.suspend.control-V1-ndk",
316 "android.system.suspend@1.0",
326 "module_unittest.cc",
327 "stack_manager_unittest.cc",
328 ":BluetoothCommonTestSources",
329 ":BluetoothCryptoToolboxTestSources",
330 ":BluetoothDumpsysTestSources",
331 ":BluetoothHalTestSources",
332 ":BluetoothHciUnitTestSources",
333 ":BluetoothL2capUnitTestSources",
334 ":BluetoothPacketTestSources",
335 ":BluetoothShimTestSources",
336 ":BluetoothSecurityUnitTestSources",
337 ":BluetoothStorageUnitTestSources",
340 "BluetoothGeneratedBundlerSchema_h_bfbs",
341 "BluetoothGeneratedDumpsysBundledSchema_h",
342 "BluetoothGeneratedDumpsysBundledTestSchema_h",
343 "BluetoothGeneratedDumpsysDataSchema_h",
344 "BluetoothGeneratedDumpsysTestData_h",
345 "BluetoothGeneratedPackets_h",
348 "libbluetooth-protos",
351 "libflatbuffers-cpp",
353 "libbluetooth_rust_interop",
367 name: "bluetooth_test_gd",
368 test_suites: ["device-tests"],
371 "gd_clang_coverage_bin",
373 host_supported: true,
380 ":BluetoothOsTestSources_linux_generic",
385 ":BluetoothHalTestSources_hci_host",
386 ":BluetoothOsTestSources_host",
391 ":BluetoothHalTestSources_hci_android_hidl",
392 ":BluetoothOsTestSources_android",
395 "android.hardware.bluetooth@1.0",
396 "android.hardware.bluetooth@1.1",
397 "android.system.suspend.control-V1-ndk",
398 "android.system.suspend@1.0",
408 "module_unittest.cc",
409 "stack_manager_unittest.cc",
410 ":BluetoothAttTestSources",
411 ":BluetoothCommonTestSources",
412 ":BluetoothCryptoToolboxTestSources",
413 ":BluetoothDumpsysTestSources",
414 ":BluetoothHalTestSources",
415 ":BluetoothHciTestSources",
416 ":BluetoothIsoTestSources",
417 ":BluetoothL2capTestSources",
418 ":BluetoothNeighborTestSources",
419 ":BluetoothPacketTestSources",
420 ":BluetoothSecurityTestSources",
421 ":BluetoothStorageTestSources",
424 "BluetoothGeneratedBundlerSchema_h_bfbs",
425 "BluetoothGeneratedDumpsysBundledSchema_h",
426 "BluetoothGeneratedDumpsysBundledTestSchema_h",
427 "BluetoothGeneratedDumpsysDataSchema_h",
428 "BluetoothGeneratedDumpsysTestData_h",
429 "BluetoothGeneratedPackets_h",
432 "libbluetooth-protos",
435 "libflatbuffers-cpp",
437 "libbluetooth_rust_interop",
451 name: "bluetooth_packet_parser_test",
452 test_suites: ["device-tests"],
455 "gd_clang_coverage_bin",
457 host_supported: true,
463 ":BluetoothPacketSources",
464 ":BluetoothPacketParserTestPacketTestSources",
467 "BluetoothPacketParserTestPacketPdlGen_h",
483 "android.hardware.bluetooth@1.0",
484 "android.hardware.bluetooth@1.1",
494 name: "gd_fuzz_defaults",
495 defaults: ["gd_defaults"],
497 ":BluetoothFuzzHelperSources",
498 ":BluetoothHciFuzzHelperSources",
501 "libbluetooth-protos",
502 "libbluetooth_gd_fuzzing",
506 "libbluetooth_rust_interop",
508 host_supported: true,
510 "BluetoothGeneratedDumpsysDataSchema_h",
511 "BluetoothGeneratedPackets_h",
515 "libflatbuffers-cpp",
525 "android.hardware.bluetooth@1.0",
526 "android.hardware.bluetooth@1.1",
527 "android.system.suspend.control-V1-ndk",
539 name: "bluetooth_gd_fuzz_test",
540 defaults: ["gd_fuzz_defaults"],
543 ":BluetoothHciFuzzTestSources",
544 ":BluetoothL2capFuzzTestSources",
549 name: "bluetooth_gd_hci_layer_fuzz_test",
550 defaults: ["gd_fuzz_defaults"],
552 "hci/fuzz/hci_layer_fuzz_test.cc",
553 ":BluetoothHalFuzzSources",
558 name: "bluetooth_gd_acl_manager_fuzz_test",
559 defaults: ["gd_fuzz_defaults"],
561 "hci/fuzz/acl_manager_fuzz_test.cc",
566 name: "bluetooth_benchmark_gd",
567 defaults: ["gd_defaults"],
568 host_supported: true,
571 ":BluetoothOsBenchmarkSources",
582 name: "BluetoothHciClassSources",
585 "hci/class_of_device.cc",
590 name: "BluetoothGeneratedPackets_h",
592 "bluetooth_packetgen",
594 cmd: "$(location bluetooth_packetgen) --include=system/bt/gd --out=$(genDir) $(in)",
596 "hci/hci_packets.pdl",
597 "l2cap/l2cap_packets.pdl",
598 "security/smp_packets.pdl",
602 "l2cap/l2cap_packets.h",
603 "security/smp_packets.h",
608 name: "BluetoothGeneratedPackets_rust",
610 "bluetooth_packetgen",
612 cmd: "$(location bluetooth_packetgen) --include=system/bt/gd --out=$(genDir) $(in) --rust",
614 "hci/hci_packets.pdl",
617 "hci/hci_packets.rs",
622 name: "libbt_packets",
623 defaults: ["gd_rust_defaults"],
624 crate_name: "bt_packets",
625 srcs: ["rust/packets/lib.rs", ":BluetoothGeneratedPackets_rust"],
627 host_supported: true,
628 proc_macros: ["libnum_derive"],
633 "libbt_hci_custom_types",
639 name: "libbt_packets_test",
640 defaults: ["gd_rust_defaults"],
641 srcs: ["rust/packets/lib.rs", ":BluetoothGeneratedPackets_rust"],
642 test_suites: ["general-tests"],
644 proc_macros: ["libnum_derive"],
649 "libbt_hci_custom_types",
654 // Generates binary schema data to be bundled and source file generated
656 name: "BluetoothGeneratedDumpsysBinarySchema_bfbs",
660 cmd: "$(location flatc) -I system/bt/gd -b --schema -o $(genDir) $(in) ",
662 "btaa/activity_attribution.fbs",
663 "common/init_flags.fbs",
665 "hci/hci_acl_manager.fbs",
666 "l2cap/classic/l2cap_classic_module.fbs",
668 "os/wakelock_manager.fbs",
671 "activity_attribution.bfbs",
675 "hci_acl_manager.bfbs",
676 "l2cap_classic_module.bfbs",
677 "wakelock_manager.bfbs",
682 name: "BluetoothGeneratedDumpsysDataSchema_h",
686 cmd: "$(location flatc) -I system/bt/gd -o $(genDir) --cpp $(in) ",
688 "btaa/activity_attribution.fbs",
689 "common/init_flags.fbs",
691 "hci/hci_acl_manager.fbs",
692 "l2cap/classic/l2cap_classic_module.fbs",
694 "os/wakelock_manager.fbs",
697 "activity_attribution_generated.h",
698 "dumpsys_data_generated.h",
699 "dumpsys_generated.h",
700 "hci_acl_manager_generated.h",
701 "init_flags_generated.h",
702 "l2cap_classic_module_generated.h",
703 "wakelock_manager_generated.h",
708 name: "BluetoothGeneratedPackets_python3_cc",
710 "bluetooth_packetgen",
712 cmd: "$(location bluetooth_packetgen) --include=system/bt/gd --out=$(genDir) --num_shards=10 $(in)",
714 "hci/hci_packets.pdl",
715 "l2cap/l2cap_packets.pdl",
716 "security/smp_packets.pdl",
719 "hci/hci_packets_python3.cc",
720 "hci/hci_packets_python3_shard_0.cc",
721 "hci/hci_packets_python3_shard_1.cc",
722 "hci/hci_packets_python3_shard_2.cc",
723 "hci/hci_packets_python3_shard_3.cc",
724 "hci/hci_packets_python3_shard_4.cc",
725 "hci/hci_packets_python3_shard_5.cc",
726 "hci/hci_packets_python3_shard_6.cc",
727 "hci/hci_packets_python3_shard_7.cc",
728 "hci/hci_packets_python3_shard_8.cc",
729 "hci/hci_packets_python3_shard_9.cc",
730 "l2cap/l2cap_packets_python3.cc",
731 "l2cap/l2cap_packets_python3_shard_0.cc",
732 "l2cap/l2cap_packets_python3_shard_1.cc",
733 "l2cap/l2cap_packets_python3_shard_2.cc",
734 "l2cap/l2cap_packets_python3_shard_3.cc",
735 "l2cap/l2cap_packets_python3_shard_4.cc",
736 "l2cap/l2cap_packets_python3_shard_5.cc",
737 "l2cap/l2cap_packets_python3_shard_6.cc",
738 "l2cap/l2cap_packets_python3_shard_7.cc",
739 "l2cap/l2cap_packets_python3_shard_8.cc",
740 "l2cap/l2cap_packets_python3_shard_9.cc",
741 "security/smp_packets_python3.cc",
742 "security/smp_packets_python3_shard_0.cc",
743 "security/smp_packets_python3_shard_1.cc",
744 "security/smp_packets_python3_shard_2.cc",
745 "security/smp_packets_python3_shard_3.cc",
746 "security/smp_packets_python3_shard_4.cc",
747 "security/smp_packets_python3_shard_5.cc",
748 "security/smp_packets_python3_shard_6.cc",
749 "security/smp_packets_python3_shard_7.cc",
750 "security/smp_packets_python3_shard_8.cc",
751 "security/smp_packets_python3_shard_9.cc",
756 name: "BluetoothFacadeProto",
758 "facade/common.proto",
759 "facade/rootservice.proto",
760 "hal/hal_facade.proto",
761 "hci/facade/hci_facade.proto",
762 "hci/facade/acl_manager_facade.proto",
763 "hci/facade/controller_facade.proto",
764 "hci/facade/le_acl_manager_facade.proto",
765 "hci/facade/le_advertising_manager_facade.proto",
766 "hci/facade/le_initiator_address_facade.proto",
767 "hci/facade/le_scanning_manager_facade.proto",
769 "neighbor/facade/facade.proto",
770 "l2cap/classic/facade.proto",
771 "l2cap/le/facade.proto",
772 "security/facade.proto",
773 "shim/facade/facade.proto",
778 name: "BluetoothFacadeGeneratedStub_h",
781 "protoc-gen-grpc-cpp-plugin",
783 cmd: "$(location aprotoc) -Isystem/bt/gd -Iexternal/protobuf/src --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-cpp-plugin) $(in) --grpc_out=$(genDir) --cpp_out=$(genDir)",
785 ":BluetoothFacadeProto",
788 "facade/common.grpc.pb.h",
789 "facade/common.pb.h",
790 "facade/rootservice.grpc.pb.h",
791 "facade/rootservice.pb.h",
792 "hal/hal_facade.grpc.pb.h",
793 "hal/hal_facade.pb.h",
794 "hci/facade/hci_facade.grpc.pb.h",
795 "hci/facade/hci_facade.pb.h",
796 "hci/facade/acl_manager_facade.grpc.pb.h",
797 "hci/facade/acl_manager_facade.pb.h",
798 "hci/facade/controller_facade.grpc.pb.h",
799 "hci/facade/controller_facade.pb.h",
800 "hci/facade/le_acl_manager_facade.grpc.pb.h",
801 "hci/facade/le_acl_manager_facade.pb.h",
802 "hci/facade/le_advertising_manager_facade.grpc.pb.h",
803 "hci/facade/le_advertising_manager_facade.pb.h",
804 "hci/facade/le_initiator_address_facade.grpc.pb.h",
805 "hci/facade/le_initiator_address_facade.pb.h",
806 "hci/facade/le_scanning_manager_facade.grpc.pb.h",
807 "hci/facade/le_scanning_manager_facade.pb.h",
808 "iso/facade.grpc.pb.h",
810 "l2cap/classic/facade.grpc.pb.h",
811 "l2cap/classic/facade.pb.h",
812 "l2cap/le/facade.grpc.pb.h",
813 "l2cap/le/facade.pb.h",
814 "neighbor/facade/facade.grpc.pb.h",
815 "neighbor/facade/facade.pb.h",
816 "security/facade.grpc.pb.h",
817 "security/facade.pb.h",
818 "shim/facade/facade.grpc.pb.h",
819 "shim/facade/facade.pb.h",
824 name: "BluetoothFacadeGeneratedStub_cc",
827 "protoc-gen-grpc-cpp-plugin",
829 cmd: "$(location aprotoc) -Isystem/bt/gd -Iexternal/protobuf/src --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-cpp-plugin) $(in) --grpc_out=$(genDir) --cpp_out=$(genDir)",
831 ":BluetoothFacadeProto",
834 "facade/common.grpc.pb.cc",
835 "facade/common.pb.cc",
836 "facade/rootservice.grpc.pb.cc",
837 "facade/rootservice.pb.cc",
838 "hal/hal_facade.grpc.pb.cc",
839 "hal/hal_facade.pb.cc",
840 "hci/facade/hci_facade.grpc.pb.cc",
841 "hci/facade/hci_facade.pb.cc",
842 "hci/facade/acl_manager_facade.grpc.pb.cc",
843 "hci/facade/acl_manager_facade.pb.cc",
844 "hci/facade/controller_facade.grpc.pb.cc",
845 "hci/facade/controller_facade.pb.cc",
846 "hci/facade/le_acl_manager_facade.grpc.pb.cc",
847 "hci/facade/le_acl_manager_facade.pb.cc",
848 "hci/facade/le_advertising_manager_facade.grpc.pb.cc",
849 "hci/facade/le_advertising_manager_facade.pb.cc",
850 "hci/facade/le_initiator_address_facade.grpc.pb.cc",
851 "hci/facade/le_initiator_address_facade.pb.cc",
852 "hci/facade/le_scanning_manager_facade.grpc.pb.cc",
853 "hci/facade/le_scanning_manager_facade.pb.cc",
854 "iso/facade.grpc.pb.cc",
856 "l2cap/classic/facade.grpc.pb.cc",
857 "l2cap/classic/facade.pb.cc",
858 "l2cap/le/facade.grpc.pb.cc",
859 "l2cap/le/facade.pb.cc",
860 "neighbor/facade/facade.grpc.pb.cc",
861 "neighbor/facade/facade.pb.cc",
862 "security/facade.grpc.pb.cc",
863 "security/facade.pb.cc",
864 "shim/facade/facade.grpc.pb.cc",
865 "shim/facade/facade.pb.cc",
870 name: "BluetoothFacadeAndCertGeneratedStub_py",
873 "protoc-gen-grpc-python-plugin",
876 cmd: "mkdir -p $(genDir)/files && " +
877 "$(location aprotoc) -Isystem/bt/gd -Iexternal/protobuf/src --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-python-plugin) $(in) --grpc_out=$(genDir)/files --python_out=$(genDir)/files && " +
878 "mkdir -p $(genDir)/files/cert && " +
879 "touch $(genDir)/files/cert/__init__.py && " +
880 "touch $(genDir)/files/facade/__init__.py && " +
881 "touch $(genDir)/files/hal/__init__.py && " +
882 "touch $(genDir)/files/hci/__init__.py && " +
883 "touch $(genDir)/files/hci/facade/__init__.py && " +
884 "touch $(genDir)/files/iso/__init__.py && " +
885 "touch $(genDir)/files/l2cap/classic/__init__.py && " +
886 "touch $(genDir)/files/l2cap/le/__init__.py && " +
887 "touch $(genDir)/files/neighbor/facade/__init__.py && " +
888 "touch $(genDir)/files/security/__init__.py && " +
889 "$(location soong_zip) -C $(genDir)/files -D $(genDir)/files -o $(out)",
891 ":BluetoothFacadeProto",
893 out: ["bluetooth_cert_generated_py.zip"],
897 name: "bluetooth_py3_native_extension_defaults",
899 "external/python/cpython3/Include",
903 include_dirs: ["external/python/cpython3/android/bionic/pyconfig"],
906 cflags: ["-DSOABI=\"cpython-38android-arm-android-bionic\""],
907 suffix: ".cpython-38android-arm-android-bionic",
910 cflags: ["-DSOABI=\"cpython-38android-arm64-android-bionic\""],
911 suffix: ".cpython-38android-arm64-android-bionic",
914 cflags: ["-DSOABI=\"cpython-38android-x86-android-bionic\""],
915 suffix: ".cpython-38android-x86-android-bionic",
918 cflags: ["-DSOABI=\"cpython-38android-x86_64-android-bionic\""],
919 suffix: ".cpython-38android-x86_64-android-bionic",
921 // Regenerate include dirs with android_regen.sh
923 include_dirs: ["external/python/cpython3/android/darwin_x86_64/pyconfig"],
925 "-Wno-deprecated-declarations",
926 "-Wno-pointer-arith",
927 "-DSOABI=\"cpython-38android-x86_64-darwin\"",
929 suffix: ".cpython-38android-x86_64-darwin",
932 // NB linux_bionic is a 'host' architecture but it uses the bionic libc like 'android'
933 // targets so use the android pyconfig.
934 include_dirs: ["external/python/cpython3/android/bionic/pyconfig"],
935 cflags: ["-DSOABI=\"cpython-38android-x86_64-linux-bionic\""],
936 suffix: ".cpython-38android-x86_64-linux-bionic",
941 linux_glibc_x86_64: {
942 include_dirs: ["external/python/cpython3/android/linux_x86_64/pyconfig"],
943 cflags: ["-DSOABI=\"cpython-38android-x86_64-linux-gnu\""],
944 // Commenting out the Linux suffix so that cpython-38-x86_64-linux-gnu
945 // Python 3.8 can also import the untagged .so library per PEP 3149
946 // Keep this change until Android py3-cmd can run ACTS, gRPC and can
947 // Export Python native symbols such as PyType_Type
948 // suffix: ".cpython-38android-x86_64-linux-gnu",
954 allow_undefined_symbols: true,
957 cc_library_host_shared {
958 name: "bluetooth_packets_python3",
961 "bluetooth_py3_native_extension_defaults",
965 "packet/python3_module.cc",
967 ":BluetoothPacketSources",
969 "hci/class_of_device.cc",
973 "BluetoothGeneratedPackets_h",
976 "BluetoothGeneratedPackets_python3_cc",
988 name: "libbt_facade_proto",
989 crate_name: "bt_facade_proto",
990 protos: ["facade/common.proto"],
992 "hci/facade/controller_facade.proto",
993 "hci/facade/hci_facade.proto",
994 "hal/hal_facade.proto",
995 "facade/rootservice.proto",
997 source_stem: "facade",
998 host_supported: true,