Skip to content

Commit 0b105db

Browse files
author
osamahammad21
committed
Merge remote-tracking branch 'origin/master' into drt-warning-rules
Signed-off-by: osamahammad21 <osama@precisioninno.com>
2 parents 45083c0 + 4011709 commit 0b105db

1,747 files changed

Lines changed: 352894 additions & 148354 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.bant-macros

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# -*- Python -*-
2+
# https://github.com/hzeller/bant#macros
3+
#
4+
# Tell bant (that is not looking at *.bzl files) how custom rules behave, just
5+
# enough for it to see through them to provide features such as dwyu.
6+
#
7+
# To print a rule and apply the macro transformations, use the `-m` option
8+
# to bant. e.g.
9+
# bant print //src/gui:gui_qt -m
10+
#
11+
# If bant is not installed locally, use
12+
# $(etc/get-bant-path.sh) //src/gui:gui_qt -m
13+
#
14+
# File can be formatted using regular buildifier.
15+
16+
python_wrap_cc = genrule(
17+
name = name,
18+
outs = [
19+
out, # if defined
20+
name + ".cc",
21+
module + ".py",
22+
],
23+
)
24+
25+
tcl_wrap_cc = genrule(
26+
name = name,
27+
outs = [
28+
out, # if defined
29+
runtime_header, # if defined
30+
name + ".cc",
31+
],
32+
)
33+
34+
tcl_encode = genrule(
35+
name = name,
36+
outs = [
37+
out,
38+
name + ".cc",
39+
],
40+
)
41+
42+
tcl_encode_sta = genrule(
43+
name = name,
44+
outs = [
45+
out,
46+
name + ".cc",
47+
],
48+
)
49+
50+
# gist extracted from @qt-bazel//:build_defs.bzl
51+
qt6_library = (
52+
[
53+
genrule(
54+
name = uisrc.rsplit("/", 1)[0].replace("/", "_") + "_ui_" + uisrc.rsplit("/", 1)[1][0:-3],
55+
srcs = [uisrc],
56+
outs = [uisrc.rsplit("/", 1)[0] + "/ui_" + uisrc.rsplit("/", 1)[1][0:-3] + ".h"],
57+
)
58+
for uisrc in uic_srcs
59+
],
60+
cc_library(
61+
name = name,
62+
srcs = srcs,
63+
hdrs = hdrs + moc_hdrs + [
64+
uisrc.rsplit("/", 1)[0] + "/ui_" + uisrc.rsplit("/", 1)[1][0:-3] + ".h"
65+
for uisrc in uic_srcs
66+
],
67+
includes = includes,
68+
deps = deps,
69+
),
70+
)
71+
72+
genlex = genrule(
73+
name = name,
74+
srcs = [src],
75+
outs = [out],
76+
)
77+
78+
genyacc = genrule(
79+
name = name,
80+
srcs = [src],
81+
outs = [header_out, source_out] + extra_outs,
82+
)

.bazelignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ third-party/abc/
77
tmp
88
# standalone workspace for downstream consumer tests
99
test/downstream/
10+
# fmt ships its own BUILD.bazel assuming it is the workspace root; we overlay
11+
# fmt via new_local_repository(name="fmt"), so hide this nested package from
12+
# //... discovery (its glob(["include/fmt/*.h"]) matches nothing here).
13+
third-party/slang-elab/third_party/fmt/support/bazel/

.bazelrc

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
11
common --enable_bzlmod
2+
# sv-lang 10.0.bcr.2 (slang at f04e8156 with the foreign_cc cmake -xc++
3+
# fix) is pending upstream as a PR against bazelbuild/bazel-central-
4+
# registry: https://github.com/bazelbuild/bazel-central-registry/pull/8987
5+
# Remove this registry line once the version lands on BCR.
6+
common --registry=https://raw.githubusercontent.com/oharboe/bazel-central-registry/1beaf797951046d93a2f656d4238c954a21833e5/
7+
common --registry=https://bcr.bazel.build/
8+
9+
# abc is driven programmatically by OpenROAD, so skip the interactive
10+
# readline dependency exposed by abc@0.64-yosyshq.bcr.2.
11+
common --@abc//:use_readline=false
212
build --workspace_status_command=tools/workspace_status.sh
313

414
# Release builds embed real git version info; dev builds use cache-safe placeholders.
@@ -43,6 +53,11 @@ build --copt "-Wextra" --host_copt "-Wextra"
4353
# ... and disable the warnings we're not interested in.
4454
build --copt "-Wno-sign-compare" --host_copt "-Wno-sign-compare"
4555
build --copt "-Wno-unused-parameter" --host_copt "-Wno-unused-parameter"
56+
# False positive under Bazel's parse_headers feature: it compiles each
57+
# declared header as a main TU, which makes clang treat #pragma once as
58+
# a no-op and emit -Wpragma-once-outside-header. Project convention is
59+
# #pragma once for all headers, so silence the warning project-wide.
60+
build --copt "-Wno-pragma-once-outside-header" --host_copt "-Wno-pragma-once-outside-header"
4661
build --copt "-Wno-gcc-compat" --host_copt "-Wno-gcc-compat"
4762
build --copt "-Wno-nullability-extension" --host_copt "-Wno-nullability-extension"
4863
build --copt "-Wno-deprecated-declarations" --host_copt "-Wno-deprecated-declarations"
@@ -120,11 +135,21 @@ build:ci --disk_cache=
120135
build:ci --config=opt
121136

122137
# Setup remote cache
138+
# Anon: HTTPS read-only cache
123139
build --remote_cache=https://bazel.precisioninno.com
124140
build --remote_cache_compression=true
125141
build --remote_upload_local_results=false
142+
# CI: gRPC + Remote Asset API, requires --remote_header
143+
build:ci --remote_cache=grpcs://bazel.precisioninno.com:443
144+
build:ci --experimental_remote_downloader=grpcs://bazel.precisioninno.com:443
126145

127146
# Without this, bazelisk build ... builds the bazel-orfs tests
128147
build --build_tag_filters=-orfs
129148

149+
# clang-tidy via aspect_rules_lint, using clang-tidy from the LLVM toolchain.
150+
# Usage: bazel build --config=lint //src/utl/...
151+
build:lint --aspects=//tools/lint:linters.bzl%clang_tidy
152+
build:lint --output_groups=rules_lint_report
153+
build:lint --remote_download_outputs=all
154+
130155
try-import %workspace%/user.bazelrc

.clang-tidy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ Checks: >
4848
-modernize-raw-string-literal,
4949
-modernize-return-braced-init-list,
5050
-modernize-use-auto,
51+
-modernize-use-constraints,
5152
-modernize-use-nodiscard,
5253
-modernize-use-trailing-return-type,
5354
-modernize-use-transparent-functors,

.gemini/commands/add-test.toml

Lines changed: 0 additions & 2 deletions
This file was deleted.

.gemini/commands/fix-bug.toml

Lines changed: 0 additions & 2 deletions
This file was deleted.

.gemini/commands/review-pr.toml

Lines changed: 0 additions & 2 deletions
This file was deleted.

.gemini/commands/triage-issue.toml

Lines changed: 0 additions & 2 deletions
This file was deleted.

.github/CODEOWNERS

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# OpenROAD code owners
2+
#
3+
# Order matters: later rules override earlier ones for the same path.
4+
# The '*' fallback applies to anything not matched by a more specific rule.
5+
#
6+
# Fallback owner for everything (docs, CI, bazel, top-level files, src/ root files)
7+
# and a few misc modules commented below
8+
* @The-OpenROAD-Project/openroad-maintainers
9+
10+
# Per-module owners
11+
/src/ant/ @The-OpenROAD-Project/openroad-ant
12+
/src/cgt/ @The-OpenROAD-Project/openroad-cgt
13+
#/src/cmake/
14+
/src/cts/ @The-OpenROAD-Project/openroad-cts
15+
/src/cut/ @The-OpenROAD-Project/openroad-cut
16+
/src/dbSta/ @The-OpenROAD-Project/openroad-dbsta
17+
/src/dft/ @The-OpenROAD-Project/openroad-dft
18+
/src/dpl/ @The-OpenROAD-Project/openroad-dpl
19+
/src/drt/ @The-OpenROAD-Project/openroad-drt
20+
/src/dst/ @The-OpenROAD-Project/openroad-dst
21+
/src/est/ @The-OpenROAD-Project/openroad-est
22+
#/src/exa/
23+
#/src/fin/
24+
/src/gpl/ @The-OpenROAD-Project/openroad-gpl
25+
/src/grt/ @The-OpenROAD-Project/openroad-grt
26+
/src/gui/ @The-OpenROAD-Project/openroad-gui
27+
/src/ifp/ @The-OpenROAD-Project/openroad-ifp
28+
/src/mpl/ @The-OpenROAD-Project/openroad-mpl
29+
/src/odb/ @The-OpenROAD-Project/openroad-odb
30+
/src/pad/ @The-OpenROAD-Project/openroad-pad
31+
/src/par/ @The-OpenROAD-Project/openroad-par
32+
/src/pdn/ @The-OpenROAD-Project/openroad-pdn
33+
/src/ppl/ @The-OpenROAD-Project/openroad-ppl
34+
/src/psm/ @The-OpenROAD-Project/openroad-psm
35+
#/src/ram/
36+
/src/rcx/ @The-OpenROAD-Project/openroad-rcx
37+
/src/rmp/ @The-OpenROAD-Project/openroad-rmp
38+
/src/rsz/ @The-OpenROAD-Project/openroad-rsz
39+
/src/sta/ @The-OpenROAD-Project/openroad-sta
40+
/src/stt/ @The-OpenROAD-Project/openroad-stt
41+
/src/syn/ @The-OpenROAD-Project/openroad-syn
42+
/src/tap/ @The-OpenROAD-Project/openroad-tap
43+
/src/tst/ @The-OpenROAD-Project/openroad-tst
44+
/src/upf/ @The-OpenROAD-Project/openroad-upf
45+
/src/utl/ @The-OpenROAD-Project/openroad-utl
46+
/src/web/ @The-OpenROAD-Project/openroad-web

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
- [ ] I have verified that the local build succeeds (`./etc/Build.sh`).
1717
- [ ] I have run the relevant tests and they pass.
1818
- [ ] My code follows the repository's formatting guidelines.
19+
<!-- Delete next item if this PR is not a bug fix or new feature -->
20+
- [ ] I have included tests to prevent regressions.
1921
- [ ] **I have signed my commits (DCO).**
2022

2123
## Related Issues

0 commit comments

Comments
 (0)