Chris Frantz | 8d799de | 2022-04-04 11:19:15 -0700 | [diff] [blame] | 1 | # Copyright lowRISC contributors. |
| 2 | # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| 3 | # SPDX-License-Identifier: Apache-2.0 |
| 4 | |
Miguel Young de la Sota | ec9c6cd | 2022-04-08 15:16:22 -0400 | [diff] [blame] | 5 | # If you're planning to add to this file, please read |
| 6 | # //third_party/README.md first. |
| 7 | |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 8 | workspace(name = "lowrisc_opentitan") |
Chris Frantz | e745416 | 2021-08-25 14:43:05 -0700 | [diff] [blame] | 9 | |
Timothy Trippel | 41b46fe | 2022-08-17 23:01:25 -0700 | [diff] [blame] | 10 | # CRT is the Compiler Repository Toolkit. It contains the configuration for |
| 11 | # the windows compiler. |
| 12 | load("//third_party/crt:repos.bzl", "crt_repos") |
| 13 | crt_repos() |
| 14 | load("@crt//:repos.bzl", "crt_repos") |
| 15 | crt_repos() |
| 16 | load("@crt//:deps.bzl", "crt_deps") |
| 17 | crt_deps() |
| 18 | load("@crt//config:registration.bzl", "crt_register_toolchains") |
| 19 | crt_register_toolchains(riscv32 = True) |
Drew Macrae | 78a5887 | 2021-09-07 20:52:19 +0000 | [diff] [blame] | 20 | |
Chris Frantz | 07ece74 | 2022-07-28 16:08:37 -0700 | [diff] [blame] | 21 | # Tools for release automation |
| 22 | load("//third_party/github:repos.bzl", "github_tools_repos") |
| 23 | github_tools_repos() |
| 24 | |
Timothy Trippel | b99dd9c | 2022-09-26 20:14:00 +0000 | [diff] [blame] | 25 | # Go Toolchain (needed by the Buildifier linter) |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 26 | load("//third_party/go:repos.bzl", "go_repos") |
| 27 | go_repos() |
| 28 | load("//third_party/go:deps.bzl", "go_deps") |
| 29 | go_deps() |
Drew Macrae | 78a5887 | 2021-09-07 20:52:19 +0000 | [diff] [blame] | 30 | |
Timothy Trippel | b99dd9c | 2022-09-26 20:14:00 +0000 | [diff] [blame] | 31 | # Various linters |
| 32 | load("//third_party/lint:repos.bzl", "lint_repos") |
| 33 | lint_repos() |
| 34 | load("//third_party/lint:deps.bzl", "lint_deps") |
| 35 | lint_deps() |
| 36 | |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 37 | # Python Toolchain + PIP Dependencies |
| 38 | load("//third_party/python:repos.bzl", "python_repos") |
| 39 | python_repos() |
| 40 | load("//third_party/python:deps.bzl", "python_deps") |
| 41 | python_deps() |
| 42 | load("//third_party/python:pip.bzl", "pip_deps") |
| 43 | pip_deps() |
Chris Frantz | e745416 | 2021-08-25 14:43:05 -0700 | [diff] [blame] | 44 | |
Chris Frantz | 3a813b8 | 2022-07-28 10:32:42 -0700 | [diff] [blame] | 45 | # Google/Bazel dependencies. This needs to be after Python initialization |
| 46 | # so that our preferred python configuration takes precedence. |
| 47 | load("//third_party/google:repos.bzl", "google_repos") |
| 48 | google_repos() |
| 49 | load("//third_party/google:deps.bzl", "google_deps") |
| 50 | google_deps() |
| 51 | |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 52 | # Rust Toolchain + crates.io Dependencies |
| 53 | load("//third_party/rust:repos.bzl", "rust_repos") |
| 54 | rust_repos() |
| 55 | load("//third_party/rust:deps.bzl", "rust_deps") |
| 56 | rust_deps() |
Drew Macrae | 78a5887 | 2021-09-07 20:52:19 +0000 | [diff] [blame] | 57 | |
Chris Frantz | c69200d | 2022-05-04 09:36:57 -0700 | [diff] [blame] | 58 | # Cargo Raze dependencies |
| 59 | load("//third_party/cargo_raze:repos.bzl", "raze_repos") |
| 60 | raze_repos() |
| 61 | load("//third_party/cargo_raze:deps.bzl", "raze_deps") |
| 62 | raze_deps() |
Dan McArdle | 438e913 | 2022-10-31 16:16:05 -0400 | [diff] [blame] | 63 | # The raze instructions would have us call `cargo_raze_transitive_deps`, but |
| 64 | # that wants to re-instantiate rules_rust and mess up our rust configuration. |
| 65 | # The single other action that transitive_deps would perform is to load and |
| 66 | # instantiate `rules_foreign_cc_dependencies`, but this has already been done |
| 67 | # above, so we can do nothing here. |
| 68 | |
| 69 | # OpenOCD |
| 70 | load("//third_party/openocd:repos.bzl", "openocd_repos") |
| 71 | openocd_repos() |
Chris Frantz | c69200d | 2022-05-04 09:36:57 -0700 | [diff] [blame] | 72 | |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 73 | # Protobuf Toolchain |
| 74 | load("//third_party/protobuf:repos.bzl", "protobuf_repos") |
| 75 | protobuf_repos() |
| 76 | load("//third_party/protobuf:deps.bzl", "protobuf_deps") |
Timothy Trippel | 65b77b9 | 2022-03-24 15:52:25 -0700 | [diff] [blame] | 77 | protobuf_deps() |
| 78 | |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 79 | # FreeRTOS; used by the OTTF |
| 80 | load("//third_party/freertos:repos.bzl", "freertos_repos") |
| 81 | freertos_repos() |
Chris Frantz | 903bcec | 2021-11-09 16:43:29 -0800 | [diff] [blame] | 82 | |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 83 | # RISC-V Compliance Tests |
| 84 | load("//third_party/riscv-compliance:repos.bzl", "riscv_compliance_repos") |
| 85 | riscv_compliance_repos() |
Chris Frantz | 74b0740 | 2022-04-07 18:07:34 -0700 | [diff] [blame] | 86 | |
Arun Thomas | b1506d4 | 2022-05-13 16:13:44 -0400 | [diff] [blame] | 87 | # CoreMark benchmark |
| 88 | load("//third_party/coremark:repos.bzl", "coremark_repos") |
| 89 | coremark_repos() |
| 90 | |
Chris Frantz | 74b0740 | 2022-04-07 18:07:34 -0700 | [diff] [blame] | 91 | # Bitstreams from https://storage.googleapis.com/opentitan-bitstreams/ |
| 92 | load("//rules:bitstreams.bzl", "bitstreams_repo") |
| 93 | bitstreams_repo(name = "bitstreams") |
Chris Frantz | 74f9095 | 2022-04-18 20:57:01 -0700 | [diff] [blame] | 94 | |
Chris Frantz | 6d7c82a | 2022-05-12 14:20:17 -0700 | [diff] [blame] | 95 | # Setup for linking in external test hooks. |
| 96 | load("//rules:hooks_setup.bzl", "hooks_setup") |
| 97 | hooks_setup( |
| 98 | name = "hooks_setup", |
| 99 | dummy = "sw/device/tests/closed_source", |
| 100 | ) |
| 101 | |
| 102 | # Declare the external test_hooks repository. |
| 103 | load("@hooks_setup//:repos.bzl", "hooks_repo") |
Timothy Trippel | df881c0 | 2022-05-25 15:48:12 -0700 | [diff] [blame] | 104 | hooks_repo(name = "manufacturer_test_hooks") |
Chris Frantz | 6d7c82a | 2022-05-12 14:20:17 -0700 | [diff] [blame] | 105 | |
Chris Frantz | 74f9095 | 2022-04-18 20:57:01 -0700 | [diff] [blame] | 106 | # The nonhermetic_repo imports environment variables needed to run vivado. |
| 107 | load("//rules:nonhermetic.bzl", "nonhermetic_repo") |
| 108 | nonhermetic_repo(name = "nonhermetic") |