| 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, |
| ) |