-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMODULE.bazel
More file actions
122 lines (105 loc) · 4.89 KB
/
MODULE.bazel
File metadata and controls
122 lines (105 loc) · 4.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2025, Precision Innovations Inc.
module(
name = "openroad",
)
bazel_dep(name = "platforms", version = "0.0.11")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_flex", version = "0.3.1")
bazel_dep(name = "rules_bison", version = "0.3.1")
# The current rules_cc 0.1.1 hardcodes script locations to `#!/bin/bash`
# instead of using `#!/usr/bin/env bash`.
# This is fixed by https://github.com/bazelbuild/rules_cc/pull/306 but
# is not released yet. Use rules_cc from that commit.
bazel_dep(name = "rules_cc", version = "0.1.1")
git_override(
module_name = "rules_cc",
commit = "d74915024017250e46d95e91a3defc34174effe0",
remote = "https://github.com/bazelbuild/rules_cc",
)
# Not all boost libs are available at the latest version yet, so use a
# slightly older one that has all we need.
# When updating, note that boost.asio 1.87 is broken
# * https://github.com/boostorg/asio/issues/442
# * https://github.com/chriskohlhoff/asio/issues/1587
# Fixed upstream, but need to wait for a release (1.88.0 ?) where that landed.
BOOST_VERSION = "1.83.0"
bazel_dep(name = "boost.algorithm", version = BOOST_VERSION)
bazel_dep(name = "boost.asio", version = BOOST_VERSION)
bazel_dep(name = "boost.beast", version = BOOST_VERSION + ".bcr.1")
bazel_dep(name = "boost.bind", version = BOOST_VERSION)
bazel_dep(name = "boost.config", version = BOOST_VERSION)
bazel_dep(name = "boost.core", version = BOOST_VERSION)
bazel_dep(name = "boost.fusion", version = BOOST_VERSION)
bazel_dep(name = "boost.geometry", version = BOOST_VERSION + ".bcr.2")
bazel_dep(name = "boost.graph", version = BOOST_VERSION + ".bcr.2")
bazel_dep(name = "boost.heap", version = BOOST_VERSION)
bazel_dep(name = "boost.icl", version = BOOST_VERSION)
bazel_dep(name = "boost.json", version = BOOST_VERSION + ".bcr.2")
bazel_dep(name = "boost.lambda", version = BOOST_VERSION + ".bcr.2")
bazel_dep(name = "boost.multi_array", version = BOOST_VERSION + ".bcr.2")
bazel_dep(name = "boost.optional", version = BOOST_VERSION)
bazel_dep(name = "boost.phoenix", version = BOOST_VERSION)
bazel_dep(name = "boost.polygon", version = BOOST_VERSION + ".bcr.2")
bazel_dep(name = "boost.property_tree", version = BOOST_VERSION + ".bcr.2")
bazel_dep(name = "boost.regex", version = BOOST_VERSION)
bazel_dep(name = "boost.spirit", version = BOOST_VERSION)
bazel_dep(name = "boost.stacktrace", version = BOOST_VERSION)
bazel_dep(name = "boost.thread", version = BOOST_VERSION)
bazel_dep(name = "cudd", version = "3.0.0")
bazel_dep(name = "eigen", version = "3.4.0.bcr.2")
bazel_dep(name = "or-tools", version = "9.12")
bazel_dep(name = "spdlog", version = "1.15.1")
bazel_dep(name = "tcmalloc", version = "0.0.0-20250331-43fcf6e")
bazel_dep(name = "zlib", version = "1.3.1.bcr.5")
bazel_dep(name = "googletest", version = "1.16.0", dev_dependency = True)
# Dependencies needed by one of the rules_hdl repos. Once they are on
# BCR, they should depend on their own version.
bazel_dep(name = "glpk", version = "5.0.bcr.3", repo_name = "org_gnu_glpk")
## Fix the compiler version and avoid any local compiler
bazel_dep(name = "toolchains_llvm", version = "1.3.0")
# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm.toolchain(
llvm_version = "19.1.1",
)
use_repo(llvm, "llvm_toolchain")
# use_repo(llvm, "llvm_toolchain_llvm") # if you depend on specific tools in scripts
# FYI: Comment out on NixOS where you'd like to use the local clang toolchain.
register_toolchains("@llvm_toolchain//:all")
bazel_dep(
name = "rules_python",
version = "1.2.0",
# reduce namespace collisions by prefixing with openroad
repo_name = "openroad_rules_python",
)
python = use_extension("@openroad_rules_python//python/extensions:python.bzl", "python")
python.toolchain(
ignore_root_user_error = True,
python_version = "3.13",
)
pip = use_extension("@openroad_rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "openroad-pip",
python_version = "3.13",
requirements_lock = "//bazel:requirements_lock_3_13.txt",
)
use_repo(pip, "openroad-pip")
bazel_dep(name = "bazel-orfs")
# To bump version, run: bazelisk run @bazel-orfs//:bump
git_override(
module_name = "bazel-orfs",
commit = "126765508161956f8f82ae169084da0235230637",
remote = "https://github.com/The-OpenROAD-Project/bazel-orfs.git",
)
orfs = use_extension("@bazel-orfs//:extension.bzl", "orfs_repositories")
# To bump version, run: bazelisk run @bazel-orfs//:bump
orfs.default(
# Official image https://hub.docker.com/r/openroad/orfs/tags
image = "docker.io/openroad/orfs:v3.0-2883-ge22e4fc7",
# Use OpenROAD of this repo instead of from the docker image
openroad = "//:openroad",
sha256 = "6ad0b1b7fbf290f33f0050ead4da181c83c6e8a9337b65f5f9cff65d67788424",
)
use_repo(orfs, "com_github_nixos_patchelf_download")
use_repo(orfs, "docker_orfs")