Traditionally, openroad had been pulled in via bazel_rules_hdl, but in the meantime, upstream OpenROAD can be compiled with bazel.
The current bazel_rules_hdl build rules for OpenROAD pull in a bunch of pretty old dependencies, such as com_github_fmtlib_fmt, which don't even compile anymore on modern clang++ (e.g. it would not be possible to update the toolchain to clang 20.1.8).
So a MODULE.bazel dependency like the following:
bazel_dep(name = "openroad")
git_override(
module_name = "openroad",
commit = "ff29559bbd6db23678b58a6a7595f6e09c868454",
remote = "https://github.com/The-OpenROAD-Project/OpenROAD.git",
init_submodules = True,
)
bazel_dep(name = "qt-bazel")
git_override(
module_name = "qt-bazel",
commit = "886104974c2fd72439f2c33b5deebf0fe4649df7",
remote = "https://github.com/The-OpenROAD-Project/qt_bazel_prebuilts",
)
... and adaption of the @openroad//-paths in the *.bzl rules that run openroad (bazel_rules_hdl) could do the trick to modernize the build and replace the bazel-rules-hdl provided @org_theopenroadproject
Discussed offline with @QuantamHD - so since this involves changes to bazel_rules_hdl (the invocation needs to point to the new @openroad-binaries), maybe he or @mikesinouye could have a look at that; Paul (@grebe) might also be interested.
With that, probably a bunch of other little headaches probably are also not needed anymore (e.g. there are some 'repo_name='-mappings in MODULE.bazel for com_google_ortools, com_google_protobuf, com_google_absl ... maybe these were only there to accommodate the old dependency ?)
Traditionally, openroad had been pulled in via bazel_rules_hdl, but in the meantime, upstream OpenROAD can be compiled with bazel.
The current bazel_rules_hdl build rules for OpenROAD pull in a bunch of pretty old dependencies, such as com_github_fmtlib_fmt, which don't even compile anymore on modern clang++ (e.g. it would not be possible to update the toolchain to clang 20.1.8).
So a MODULE.bazel dependency like the following:
... and adaption of the
@openroad//-paths in the *.bzl rules that run openroad (bazel_rules_hdl) could do the trick to modernize the build and replace the bazel-rules-hdl provided@org_theopenroadprojectDiscussed offline with @QuantamHD - so since this involves changes to bazel_rules_hdl (the invocation needs to point to the new
@openroad-binaries), maybe he or @mikesinouye could have a look at that; Paul (@grebe) might also be interested.With that, probably a bunch of other little headaches probably are also not needed anymore (e.g. there are some
'repo_name='-mappings in MODULE.bazel forcom_google_ortools,com_google_protobuf,com_google_absl... maybe these were only there to accommodate the old dependency ?)