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 | 1a6f700 | 2023-02-14 20:14:11 +0000 | [diff] [blame] | 58 | load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies") |
| 59 | crate_universe_dependencies(bootstrap = True) |
| 60 | |
Chris Frantz | 9559402 | 2023-02-13 17:59:54 +0000 | [diff] [blame] | 61 | load("//third_party/rust/crates:crates.bzl", "crate_repositories") |
Chris Frantz | 1a6f700 | 2023-02-14 20:14:11 +0000 | [diff] [blame] | 62 | crate_repositories() |
Dan McArdle | 438e913 | 2022-10-31 16:16:05 -0400 | [diff] [blame] | 63 | |
| 64 | # OpenOCD |
| 65 | load("//third_party/openocd:repos.bzl", "openocd_repos") |
| 66 | openocd_repos() |
Chris Frantz | c69200d | 2022-05-04 09:36:57 -0700 | [diff] [blame] | 67 | |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 68 | # Protobuf Toolchain |
| 69 | load("//third_party/protobuf:repos.bzl", "protobuf_repos") |
| 70 | protobuf_repos() |
| 71 | load("//third_party/protobuf:deps.bzl", "protobuf_deps") |
Timothy Trippel | 65b77b9 | 2022-03-24 15:52:25 -0700 | [diff] [blame] | 72 | protobuf_deps() |
| 73 | |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 74 | # FreeRTOS; used by the OTTF |
| 75 | load("//third_party/freertos:repos.bzl", "freertos_repos") |
| 76 | freertos_repos() |
Chris Frantz | 903bcec | 2021-11-09 16:43:29 -0800 | [diff] [blame] | 77 | |
Alphan Ulusoy | 95fb5d4 | 2023-01-04 12:37:12 -0500 | [diff] [blame] | 78 | # LLVM Compiler Runtime for Profiling |
| 79 | load("//third_party/llvm_compiler_rt:repos.bzl", "llvm_compiler_rt_repos") |
| 80 | llvm_compiler_rt_repos() |
| 81 | |
Miguel Young de la Sota | 98cfa22 | 2022-04-06 15:31:06 -0400 | [diff] [blame] | 82 | # RISC-V Compliance Tests |
| 83 | load("//third_party/riscv-compliance:repos.bzl", "riscv_compliance_repos") |
| 84 | riscv_compliance_repos() |
Chris Frantz | 74b0740 | 2022-04-07 18:07:34 -0700 | [diff] [blame] | 85 | |
Arun Thomas | b1506d4 | 2022-05-13 16:13:44 -0400 | [diff] [blame] | 86 | # CoreMark benchmark |
| 87 | load("//third_party/coremark:repos.bzl", "coremark_repos") |
| 88 | coremark_repos() |
| 89 | |
Fatih Balli | 6a3c2e9 | 2022-12-20 22:42:58 +0100 | [diff] [blame] | 90 | # The standard Keccak algorithms |
| 91 | load("//third_party/xkcp:repos.bzl", "xkcp_repos") |
| 92 | xkcp_repos() |
| 93 | |
Chris Frantz | 74b0740 | 2022-04-07 18:07:34 -0700 | [diff] [blame] | 94 | # Bitstreams from https://storage.googleapis.com/opentitan-bitstreams/ |
| 95 | load("//rules:bitstreams.bzl", "bitstreams_repo") |
| 96 | bitstreams_repo(name = "bitstreams") |
Chris Frantz | 74f9095 | 2022-04-18 20:57:01 -0700 | [diff] [blame] | 97 | |
Chris Frantz | 6d7c82a | 2022-05-12 14:20:17 -0700 | [diff] [blame] | 98 | # Setup for linking in external test hooks. |
| 99 | load("//rules:hooks_setup.bzl", "hooks_setup") |
| 100 | hooks_setup( |
| 101 | name = "hooks_setup", |
| 102 | dummy = "sw/device/tests/closed_source", |
| 103 | ) |
| 104 | |
| 105 | # Declare the external test_hooks repository. |
| 106 | load("@hooks_setup//:repos.bzl", "hooks_repo") |
Timothy Trippel | df881c0 | 2022-05-25 15:48:12 -0700 | [diff] [blame] | 107 | hooks_repo(name = "manufacturer_test_hooks") |
Chris Frantz | 6d7c82a | 2022-05-12 14:20:17 -0700 | [diff] [blame] | 108 | |
Chris Frantz | 74f9095 | 2022-04-18 20:57:01 -0700 | [diff] [blame] | 109 | # The nonhermetic_repo imports environment variables needed to run vivado. |
| 110 | load("//rules:nonhermetic.bzl", "nonhermetic_repo") |
| 111 | nonhermetic_repo(name = "nonhermetic") |
Jes B. Klinke | 3a7f942 | 2023-01-19 12:43:34 -0800 | [diff] [blame] | 112 | |
| 113 | # Binary firmware image for HyperDebug |
| 114 | load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") |
| 115 | http_file( |
| 116 | name = "hyperdebug_firmware", |
Jes B. Klinke | 155a62c | 2023-02-14 16:11:54 -0800 | [diff] [blame] | 117 | urls = ["https://storage.googleapis.com/aoa-recovery-test-images/hyperdebug_v2.0.20491-956ccf530.bin"], |
| 118 | sha256 = "e9c93d2935b9b6a571b547f20fe6177c48a909535d87533b7a0c64fb049bd643", |
Jes B. Klinke | 3a7f942 | 2023-01-19 12:43:34 -0800 | [diff] [blame] | 119 | ) |