Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make path to ORFS configurable #9

Closed

Conversation

lpawelcz
Copy link
Contributor

This PR moves the task of specifying path to ORFS outside of this repository and build systems that are used here.
It hardcodes an implicit dependency on orfs_path.sh script which is expected to be placed in the home directory. The script must contain a definition of ORFS environment variable with a path to local installation of OpenROAD-flow-script.

This modification breaks bazel's hermeticity in order to allow changing the path to local ORFS installation without the need of rebuilding expensive targets.

Additionally, it is important to remember that changing version of ORFS, OpenROAD, yosys, etc., as well as any manual modification to the build system, TCL scripts, environment variables configuration and tools source code in the scope of ORFS repository will not cause invalidation of previous builds. It is the user's responsibility to rebuild artifacts when necessary to keep the integrity of the build after modifications made to local OpenROAD-flow-scripts setup.

Introduce implicit dependency on `~/orfs_path.sh` script.
It must declare `ORFS` environment variable with a path to
local `OpenROAD-flow-scripts` installation.

Signed-off-by: Pawel Czarnecki <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
Copy link
Collaborator

@oharboe oharboe left a comment

Choose a reason for hiding this comment

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

This is just kicking the can down the road.

We need a more satisfactory solution.

I think the answer is to stop fighting Bazel and go for a more idiomatic solution.

  1. add a docker url and version string in BUILD.bazel and use this in the build
  2. for local hacking, rely exclusively on the _make scripts.

@oharboe
Copy link
Collaborator

oharboe commented Feb 26, 2024

This is an ./orfs equivalent example for building w docker. Copy and adapt here: https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/master/flow/util/docker_shell

@lpawelcz
Copy link
Contributor Author

lpawelcz commented Mar 4, 2024

Let's close this PR and focus on providing a solution that includes defining ORFS as an explicit Bazel dependency

@lpawelcz lpawelcz closed this Mar 4, 2024
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