module( name = "pico-sdk", version = "2.1.0", ) bazel_dep(name = "platforms", version = "0.0.9") bazel_dep(name = "bazel_skylib", version = "1.6.1") bazel_dep(name = "rules_python", version = "0.36.0") bazel_dep(name = "picotool", version = "2.1.0") bazel_dep(name = "rules_cc", version = "0.0.10") http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "arm_gcc_linux-aarch64", build_file = "//bazel/toolchain:gcc_arm_none_eabi.BUILD", sha256 = "8fd8b4a0a8d44ab2e195ccfbeef42223dfb3ede29d80f14dcf2183c34b8d199a", strip_prefix = "arm-gnu-toolchain-13.2.Rel1-aarch64-arm-none-eabi", url = "https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-aarch64-arm-none-eabi.tar.xz", ) http_archive( name = "arm_gcc_linux-x86_64", build_file = "//bazel/toolchain:gcc_arm_none_eabi.BUILD", sha256 = "6cd1bbc1d9ae57312bcd169ae283153a9572bd6a8e4eeae2fedfbc33b115fdbb", strip_prefix = "arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi", url = "https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi.tar.xz", ) http_archive( name = "arm_gcc_win-x86_64", build_file = "//bazel/toolchain:gcc_arm_none_eabi.BUILD", sha256 = "51d933f00578aa28016c5e3c84f94403274ea7915539f8e56c13e2196437d18f", strip_prefix = "arm-gnu-toolchain-13.2.Rel1-mingw-w64-i686-arm-none-eabi", url = "https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-mingw-w64-i686-arm-none-eabi.zip", ) http_archive( name = "arm_gcc_mac-x86_64", build_file = "//bazel/toolchain:gcc_arm_none_eabi.BUILD", sha256 = "075faa4f3e8eb45e59144858202351a28706f54a6ec17eedd88c9fb9412372cc", strip_prefix = "arm-gnu-toolchain-13.2.Rel1-darwin-x86_64-arm-none-eabi", url = "https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-darwin-x86_64-arm-none-eabi.tar.xz", ) http_archive( name = "arm_gcc_mac-aarch64", build_file = "//bazel/toolchain:gcc_arm_none_eabi.BUILD", sha256 = "39c44f8af42695b7b871df42e346c09fee670ea8dfc11f17083e296ea2b0d279", strip_prefix = "arm-gnu-toolchain-13.2.Rel1-darwin-arm64-arm-none-eabi", url = "https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-darwin-arm64-arm-none-eabi.tar.xz", ) http_archive( name = "clang_linux-x86_64", build_file = "//bazel/toolchain:clang.BUILD", sha256 = "6c599d1aba568236064c340d7813324849896d5a4e2f3fd8225a8c31bfcbf884", type = "zip", url = "https://chrome-infra-packages.appspot.com/dl/fuchsia/third_party/clang/linux-amd64/+/git_revision:2b0a708f41dd6291ee744704d43febc975e3d026", ) http_archive( name = "clang_win-x86_64", build_file = "//bazel/toolchain:clang.BUILD", sha256 = "f49ba4123ee3958f2b47289d017a5b3f1ca01f82dd7a2168c45412c18101fd13", type = "zip", # Windows doesn't like `:` in the produced filename, so replace it with `%3A`. url = "https://chrome-infra-packages.appspot.com/dl/fuchsia/third_party/clang/windows-amd64/+/git_revision:2b0a708f41dd6291ee744704d43febc975e3d026".replace("git_revision:", "git_revision%3A"), ) http_archive( name = "clang_mac-x86_64", build_file = "//bazel/toolchain:clang.BUILD", sha256 = "d3516f2eb4c12d17ae77ee84c9226fbea581d4fb806910ceac4717d5adfcf748", type = "zip", url = "https://chrome-infra-packages.appspot.com/dl/fuchsia/third_party/clang/mac-amd64/+/git_revision:2b0a708f41dd6291ee744704d43febc975e3d026", ) http_archive( name = "clang_mac-aarch64", build_file = "//bazel/toolchain:clang.BUILD", sha256 = "68e551f41c7e9473063b09819f6ab8ec6e7e53677f4078189656cb14dc52984b", type = "zip", url = "https://chrome-infra-packages.appspot.com/dl/fuchsia/third_party/clang/mac-arm64/+/git_revision:2b0a708f41dd6291ee744704d43febc975e3d026", ) new_git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository") # TODO: Provide tinyusb as a proper Bazel module. new_git_repository( name = "tinyusb", build_file = "//src/rp2_common/tinyusb:tinyusb.BUILD", commit = "5217cee5de4cd555018da90f9f1bcc87fb1c1d3a", # keep-in-sync-with-submodule: lib/tinyusb remote = "https://github.com/hathach/tinyusb.git", ) # TODO: Provide btstack as a proper Bazel module. new_git_repository( name = "btstack", build_file = "//src/rp2_common/pico_btstack:btstack.BUILD", commit = "2b49e57bd1fae85ac32ac1f41cdb7c794de335f6", # keep-in-sync-with-submodule: lib/btstack remote = "https://github.com/bluekitchen/btstack.git", ) # TODO: Provide cyw43-driver as a proper Bazel module. new_git_repository( name = "cyw43-driver", build_file = "//src/rp2_common/pico_cyw43_driver:cyw43-driver.BUILD", commit = "cf924bb04c8984675ca0fc2178f082e404e048c3", # keep-in-sync-with-submodule: lib/cyw43-driver remote = "https://github.com/georgerobotics/cyw43-driver.git", ) # TODO: Provide lwip as a proper Bazel module. new_git_repository( name = "lwip", build_file = "//src/rp2_common/pico_lwip:lwip.BUILD", commit = "0a0452b2c39bdd91e252aef045c115f88f6ca773", # keep-in-sync-with-submodule: lib/lwip remote = "https://github.com/lwip-tcpip/lwip.git", ) register_toolchains( "//bazel/toolchain:linux-aarch64-rp2040", "//bazel/toolchain:linux-aarch64-rp2350", "//bazel/toolchain:linux-x86_64-rp2040", "//bazel/toolchain:linux-x86_64-rp2350", "//bazel/toolchain:win-x86_64-rp2040", "//bazel/toolchain:win-x86_64-rp2350", "//bazel/toolchain:mac-x86_64-rp2040", "//bazel/toolchain:mac-x86_64-rp2350", "//bazel/toolchain:mac-aarch64-rp2040", "//bazel/toolchain:mac-aarch64-rp2350", # Require users to opt-in to the Pico SDK's toolchains. dev_dependency = True, ) python = use_extension("@rules_python//python/extensions:python.bzl", "python") python.toolchain( configure_coverage_tool = True, python_version = "3.9", ) use_repo(python, "pythons_hub") register_toolchains( "@pythons_hub//:all", dev_dependency = True, ) register_toolchains( "@rules_python//python/runtime_env_toolchains:all", dev_dependency = True, )