[SERVER-79789] Adjust Bazel to optionally build static|dynamic Created: 07/Aug/23 Updated: 30/Jan/24 Resolved: 30/Jan/24 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.3.0-rc2 |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | Steve Gross | Assignee: | [DO NOT ASSIGN] Backlog - DevProd Build |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Build
|
| Backwards Compatibility: | Fully Compatible |
| Participants: |
| Description |
|
The current approach is to build static & dynamic libraries by default; we should investigate if it's feasible to only build static|dynamic as needed. |
| Comments |
| Comment by Zack Winter [ 30/Jan/24 ] |
|
This is effectively resolved by |
| Comment by Alex Neben [ 25/Aug/23 ] |
|
So this seems like we can just throw compute at this and then it won't be a problem since the faster of the two will just be used for what is needed. However, the last step of linking the final binary it is crucial that we can toggle between using the sos and the archives. The former is significantly slower at startup and 3%ish slower after filling out some caching things. However, the latter will take significantly longer to link. So a dev will often link the sos for fast iteration but we use the archives for release builds. Does that part of the requirement make sense? |
| Comment by Steve Gross [ 07/Aug/23 ] |
|
Note: lower priority (for now); this is a future optimization. |