blob: cb117050df3c29a2b4b21633fe464c23e8d17d5b [file] [log] [blame]
# Copyright 2023 Google Inc. All Rights Reserved.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
workspace(name = "matcha")
local_repository(
name = "lowrisc_opentitan",
path = "../opentitan-upstream",
)
new_local_repository(
name = "isp_yocto",
build_file = "third_party/vendor/BUILD",
path = "../../hw/ip/isp/ispyocto",
)
new_local_repository(
name = "axi2sramcrs",
build_file = "third_party/vendor/BUILD",
path = "../../hw/ip/isp/axi2sramcrs",
)
local_repository(
name = "kelvin_hw",
path = "../kelvin",
)
new_local_repository(
name = "kelvin-gcc",
build_file = "third_party/kelvin-gcc/BUILD",
path = "../../cache/toolchain_kelvin",
)
new_local_repository(
name = "kelvin-binary",
build_file = "third_party/kelvin-binary/BUILD",
path = "../../out/kelvin/sw/bazel_out",
)
# CRT is the Compiler Repository Toolkit. It contains the configuration for
# the windows compiler.
load("@lowrisc_opentitan//third_party/crt:repos.bzl", "crt_repos")
crt_repos()
load("@crt//:repos.bzl", "crt_repos")
crt_repos()
load("@crt//:deps.bzl", "crt_deps")
crt_deps()
load("@crt//config:registration.bzl", "crt_register_toolchains")
crt_register_toolchains(riscv32 = True)
load("//platforms:registration.bzl", "kelvin_register_toolchain")
kelvin_register_toolchain()
# Tools for release automation
load("@lowrisc_opentitan//third_party/github:repos.bzl", "github_tools_repos")
github_tools_repos()
# Python Toolchain + PIP Dependencies
load("@lowrisc_opentitan//third_party/python:repos.bzl", "python_repos")
python_repos()
load("@lowrisc_opentitan//third_party/python:deps.bzl", "python_deps")
python_deps()
load("@lowrisc_opentitan//third_party/python:pip.bzl", "pip_deps")
pip_deps()
# Google/Bazel dependencies. This needs to be after Python initialization
# so that our preferred python configuration takes precedence.
load("@lowrisc_opentitan//third_party/google:repos.bzl", "google_repos")
google_repos()
load("@lowrisc_opentitan//third_party/google:deps.bzl", "google_deps")
google_deps()
# Rust Toolchain + crates.io Dependencies
load("@lowrisc_opentitan//third_party/rust:repos.bzl", "rust_repos")
rust_repos()
load("@lowrisc_opentitan//third_party/rust:deps.bzl", "rust_deps")
rust_deps()
load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
crate_universe_dependencies(bootstrap = True)
load("@lowrisc_opentitan//third_party/rust/crates:crates.bzl", "crate_repositories")
crate_repositories()
# The nonhermetic_repo imports environment variables needed to run vivado.
load("@lowrisc_opentitan//rules:nonhermetic.bzl", "nonhermetic_repo")
nonhermetic_repo(name = "nonhermetic")
# FreeRTOS; used by the OTTF
load("@lowrisc_opentitan//third_party/freertos:repos.bzl", "freertos_repos")
freertos_repos()
# Binary firmware image for HyperDebug
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
http_file(
name = "hyperdebug_firmware",
sha256 = "e9c93d2935b9b6a571b547f20fe6177c48a909535d87533b7a0c64fb049bd643",
urls = ["https://storage.googleapis.com/aoa-recovery-test-images/hyperdebug_v2.0.20491-956ccf530.bin"],
)
# kelvin verilog dependencies
load("@kelvin_hw//rules:repos.bzl", "kelvin_repos")
kelvin_repos()
# Scala setup
load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
scala_config(scala_version = "2.13.6")
load("@io_bazel_rules_scala//scala:scala.bzl", "rules_scala_setup", "rules_scala_toolchain_deps_repositories")
rules_scala_setup()
rules_scala_toolchain_deps_repositories(fetch_sources = True)
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_register_toolchains")
scala_register_toolchains()
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains")
rules_proto_dependencies()
rules_proto_toolchains()
load("@kelvin_hw//rules:deps.bzl", "kelvin_chisel_deps")
kelvin_chisel_deps()