load("//bazel:defs.bzl", "compatible_with_pico_w", "incompatible_with_config") package(default_visibility = ["//visibility:public"]) # Prefer using this target to link in all the enabled bt modules, as it will # link the appropriate libraries and set the appropraite defines based on the # following flags: # # --@pico-sdk//bazel/constraint:PICO_BT_ENABLE_BLE # --@pico-sdk//bazel/constraint:PICO_BT_ENABLE_CLASSIC # --@pico-sdk//bazel/constraint:PICO_BT_ENABLE_MESH cc_library( name = "pico_btstack", deps = ["pico_btstack_base"] + select({ "//bazel/constraint:pico_bt_enable_ble_enabled": [":pico_btstack_ble"], "//conditions:default": [], }) + select({ "//bazel/constraint:pico_bt_enable_classic_enabled": [":pico_btstack_classic"], "//conditions:default": [], }) + select({ "//bazel/constraint:pico_bt_enable_mesh_enabled": [":pico_btstack_mesh"], "//conditions:default": [], }), target_compatible_with = incompatible_with_config("//bazel/constraint:pico_btstack_config_unset"), ) # Prefer these aliases to directly referencing @btstack, as it's possible that # name may change. alias( name = "pico_btstack_base", actual = "@btstack//:pico_btstack_base", ) alias( name = "pico_btstack_ble", actual = "@btstack//:pico_btstack_ble", ) alias( name = "pico_btstack_classic", actual = "@btstack//:pico_btstack_classic", ) alias( name = "pico_btstack_mesh", actual = "@btstack//:pico_btstack_mesh", ) alias( name = "pico_btstack_sbc_encoder", actual = "@btstack//:pico_btstack_sbc_encoder", ) alias( name = "pico_btstack_sbc_decoder", actual = "@btstack//:pico_btstack_sbc_decoder", ) alias( name = "pico_btstack_bnep_lwip", actual = "@btstack//:pico_btstack_bnep_lwip", ) alias( name = "pico_btstack_bnep_lwip_sys_freertos", actual = "@btstack//:pico_btstack_bnep_lwip_sys_freertos", ) cc_library( name = "pico_btstack_flash_bank", srcs = ["btstack_flash_bank.c"], hdrs = ["include/pico/btstack_flash_bank.h"], includes = ["include"], target_compatible_with = compatible_with_pico_w(), deps = [ ":pico_btstack_base", "//src/rp2_common:pico_platform", "//src/rp2_common/pico_flash", ], ) cc_library( name = "btstack_run_loop_async_context", srcs = ["btstack_run_loop_async_context.c"], hdrs = ["include/pico/btstack_run_loop_async_context.h"], includes = ["include"], target_compatible_with = compatible_with_pico_w(), deps = [ "//src/rp2_common/hardware_sync", "//src/rp2_common/pico_async_context", "@btstack//:pico_btstack_base", ], ) cc_library( name = "pico_btstack_stdin", srcs = ["btstack_stdin_pico.c"], target_compatible_with = compatible_with_pico_w() + incompatible_with_config("//bazel/constraint:pico_btstack_config_unset"), deps = [ ":pico_btstack_base", "//bazel/config:PICO_BTSTACK_CONFIG", "//src/rp2_common:pico_platform", "//src/rp2_common/pico_stdio", ], alwayslink = True, )