You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now, the bazel build of openroad has all the relevant tcl system files (e.g. init.tcl, but also timezone data) packaged as runfiles. This has multiple issues
Without intervention, this just works if openroad is called from within the bazel workspace. If it is copied outside, the user has to figure out a way to assemble the TCL_LIBRARY path. This makes it hard to just distribute a openroad binary.
Tcl already has a way to solve all this: package all these files together and use that via a virtual filesystem, then embed this collection into the final binary. There are multiple ways of doing that, needs to be explored. This entails
Right now, the bazel build of openroad has all the relevant tcl system files (e.g.
init.tcl, but also timezone data) packaged as runfiles. This has multiple issuesTCL_LIBRARYpath. This makes it hard to just distribute aopenroadbinary.Tcl already has a way to solve all this: package all these files together and use that via a virtual filesystem, then embed this collection into the final binary. There are multiple ways of doing that, needs to be explored. This entails
Tcl_Sizefor all tcl functions returning sizes. OpenSTA#323 and UseTcl_Sizefor all tcl functions returning sizes. #9979 )tclreadlinescripts)Result: a binary that is independent, can be copied anywhere and provides the full functionality. Also possibly faster to use in unit tests.
cc: @oharboe