mirror of
https://github.com/raspberrypi/pico-sdk.git
synced 2025-12-10 07:14:36 +01:00
* Add host Bazel build Updates target_compatible_with across the repo to ensure that wildcard builds for both host and rp2040 succeed. * Get unit tests building * Add Python script to identify build system differences Uses the build system tags to make it easier to identify differences between the CMake and Bazel builds. * Temporarily disable pico divider test * Support PICO_BARE_METAL in Bazel * Support PICO_NO_GC_SECTIONS in Bazel * Support boot2 configuration in Bazel Adds support for PICO_DEFAULT_BOOT_STAGE2 and PICO_DEFAULT_BOOT_STAGE2_FILE in the Bazel build. * Allowlist some CMake-only options * Support CXX configuration options in Bazel * Move multiple_choice_flag.bzl * Support all pico boards * Support linking multiple stdio implementations Changes the Bazel build so stdio implementations are no longer mutually exclusive. * Add PICO_BOOT_STAGE2_LINK_IMAGE * Support PICO_CMSIS_PATH in Bazel * Support PICO_USE_DEFAULT_MAX_PAGE_SIZE in Bazel * Silence PICO_CMSIS_VENDOR and PICO_CMSIS_DEVICE differences * Support PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS in Bazel * Properly support version defines * Support embedding binary info in Bazel * Embed build type in binary * Support different linker scripts in Bazel build * Finish out missing PICO_BUILD_DEFINE in Bazel build * Support PICO_NO_TARGET_NAME * Reorganize initial configuration options in Bazel Cleans up and reorganizes some of the initial configuration options added to the Bazel build so everything is consistent. * Add builds for pioasm and elf2uf2 * Use Python rules from rules_python * Actually link in output formats in pioasm tool * Make tools have public visibility * Add UF2 Bazel aspect * Add TODOs for pioasm/uf2 helpers * Fix compile flag typo * Update Bazel SDK configuration strings to match recent CMake changes * Fix pico_divider test * Clean up straggling TODOs * Clarify pico_stdio_test compatibility * Initial Bazel Pico W support * Add new files from develop * Clean up compatibility expressions in Bazel build * Clean up rp2 constraint handling in Bazel * More Bazel docs cleanup * Format Bazel build files * Consolidate transitions in the Pico SDK * Make every _allowlist_function_transition explicit * More docs cleanup * Add a few missing defines * Improve PICO_CONFIG_HEADER correctness in Bazel * Minor docs clarifications
107 lines
2.7 KiB
Text
107 lines
2.7 KiB
Text
package(default_visibility = ["//visibility:public"])
|
|
|
|
# This constraint represents the dimension that guides the Pico SDK build. This
|
|
# constraint will only ever enumerate specific MCUs (and the host), and does NOT
|
|
# cover the differences from board-to-board.
|
|
constraint_setting(
|
|
name = "sdk_target",
|
|
default_constraint_value = "host",
|
|
)
|
|
|
|
# This constraint value is used to guide the host build.
|
|
constraint_value(
|
|
name = "host",
|
|
constraint_setting = ":sdk_target",
|
|
)
|
|
|
|
# This constraint value is used to guide parts of the build that are specific
|
|
# to the rp2040.
|
|
constraint_value(
|
|
name = "rp2040",
|
|
constraint_setting = ":sdk_target",
|
|
)
|
|
|
|
constraint_setting(
|
|
name = "wireless_support",
|
|
default_constraint_value = "no_wireless",
|
|
)
|
|
|
|
constraint_value(
|
|
name = "no_wireless",
|
|
constraint_setting = ":wireless_support",
|
|
)
|
|
|
|
constraint_value(
|
|
name = "cyw43_wireless",
|
|
constraint_setting = ":wireless_support",
|
|
)
|
|
|
|
config_setting(
|
|
name = "is_pico_w",
|
|
flag_values = {"//bazel/config:PICO_BOARD": "pico_w"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_baremetal_enabled",
|
|
flag_values = {"//bazel/config:PICO_BARE_METAL": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_no_gc_sections_enabled",
|
|
flag_values = {"//bazel/config:PICO_NO_GC_SECTIONS": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_cxx_enable_exceptions_enabled",
|
|
flag_values = {"//bazel/config:PICO_CXX_ENABLE_EXCEPTIONS": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_cxx_enable_rtti_enabled",
|
|
flag_values = {"//bazel/config:PICO_CXX_ENABLE_RTTI": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_cxx_enable_cxa_atexit_enabled",
|
|
flag_values = {"//bazel/config:PICO_CXX_ENABLE_RTTI": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_stdio_uart_enabled",
|
|
flag_values = {"//bazel/config:PICO_STDIO_UART": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_stdio_usb_enabled",
|
|
flag_values = {"//bazel/config:PICO_STDIO_USB": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_stdio_semihosting_enabled",
|
|
flag_values = {"//bazel/config:PICO_STDIO_SEMIHOSTING": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_use_default_max_page_size_enabled",
|
|
flag_values = {"//bazel/config:PICO_USE_DEFAULT_MAX_PAGE_SIZE": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_no_target_name_enabled",
|
|
flag_values = {"//bazel/config:PICO_NO_TARGET_NAME": "True"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_btstack_config_unset",
|
|
flag_values = {"//bazel/config:PICO_BTSTACK_CONFIG": "@pico-sdk//bazel:empty_cc_lib"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_lwip_config_unset",
|
|
flag_values = {"//bazel/config:PICO_LWIP_CONFIG": "@pico-sdk//bazel:empty_cc_lib"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pico_freertos_unset",
|
|
flag_values = {"//bazel/config:PICO_FREERTOS_LIB": "@pico-sdk//bazel:empty_cc_lib"},
|
|
)
|