Skip to content

Add bazelisk run //:install#4003

Open
oharboe wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
Pinata-Consulting:bazel-install
Open

Add bazelisk run //:install#4003
oharboe wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
Pinata-Consulting:bazel-install

Conversation

@oharboe
Copy link
Collaborator

@oharboe oharboe commented Mar 16, 2026

bazelisk run //:install

Builds and installs OpenROAD (with GUI), Yosys, and yosys-slang to tools/install/. Re-runs are instant (stamp file per submodule commit). No sudo required.

On Ubuntu, checks for missing -dev packages before building and fails fast with the apt install command. Other platforms not checked (we can't test them, contributions welcome).

Docs updated to present Bazel / Nix / CMake as three equal paths.

Zero churn: no changes to DependencyInstaller.sh, flow/, setup.sh, build_openroad.sh, or Nix flakes.

Tested: gcd/nangate45 synth, asap7/uart synth (yosys-slang).

    bazelisk run //:install

Builds and installs OpenROAD (with GUI), Yosys, and yosys-slang
to tools/install/. Re-runs are instant (stamp file per submodule
commit). No sudo required.

On Ubuntu, checks for missing -dev packages before building and
fails fast with the apt install command. Other platforms not
checked (we can't test them, contributions welcome).

Docs updated to present Bazel / Nix / CMake as three equal paths.

Zero churn: no changes to DependencyInstaller.sh, flow/, setup.sh,
build_openroad.sh, or Nix flakes.

Tested: gcd/nangate45 synth, asap7/uart synth (yosys-slang).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
bazel/install.sh Outdated
local missing_pkgs=()

# Commands needed for yosys build
command -v bison &>/dev/null || { missing_cmds+=(bison); missing_pkgs+=(bison); }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without running the dependency installer there is no guarantee these will be usable versions.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, scope is now MVP for bazel users to build and debug OpenROAD

bazel/install.sh Outdated
Comment on lines +73 to +74
echo "On Ubuntu this would be:"
echo " sudo apt install ${missing_pkgs[*]}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again no guarantee this is right

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, scope is now MVP for bazel users to build and debug OpenROAD

bazel/install.sh Outdated
# Currently only Ubuntu/Debian is checked. Dependency checking for
# other platforms (macOS, RHEL, Fedora, etc.) is not implemented
# because we cannot test them. Contributions welcome.
check_ubuntu_deps() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about all the other platforms?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, scope is now MVP for bazel users to build and debug OpenROAD

| **CMake** | `sudo ./setup.sh` | Yes | Existing CMake developers |

Supported configurations are: Ubuntu 20.04, Ubuntu 22.04, Ubuntu 22.04(aarch64), RHEL 8, RockyLinux 9 and Debian 11.
### Bazel (recommended)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can't be the recommended method based on what is in this PR currently.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, scope is now MVP for bazel users to build and debug OpenROAD

oharboe and others added 2 commits March 17, 2026 21:50
Remove Ubuntu dep checking, --skip-openroad flag, and verbose help text.
Docs: position Bazel as unsupported developer-only option, CMake first.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe oharboe requested a review from maliberty March 17, 2026 21:00
oharboe and others added 2 commits March 17, 2026 22:53
Add cross-platform dep checking (Ubuntu, RHEL, macOS, openSUSE).
Remove verbose help text. Docs: replace outdated Bazel section with
//:install, mark as unsupported developer-only path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Address review feedback: make it clear this is not a general-purpose
installer but specifically for bazel-orfs developers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe oharboe requested a review from maliberty March 18, 2026 23:05
@maliberty maliberty enabled auto-merge March 19, 2026 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants