[SERVER-17756] Implement improved build module system Created: 26/Mar/15 Updated: 07/Aug/23 Resolved: 07/Aug/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | Andrew Morrow (Inactive) | Assignee: | [DO NOT ASSIGN] Backlog - Server Development Platform Team (SDP) (Inactive) |
| Resolution: | Won't Do | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Server Development Platform
|
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Platform 2 04/24/15 |
| Participants: |
| Description |
|
The current module system does not provide an API by which a module can express things like the addition of new options or variables to scons, and does not provide a simple way to integrate additional configure checks or environment modifications. Additionally, the top level SConstructs use of modules is fairly limited. A better module system should be developed that allows options, variables, configure checks to be pushed down into each loaded module. Additionally, the top level SConstruct should be updated so that it acts, essentially, as a builder of modules. Once this is done, we should write module definitions for src/mongo and src/third_party and push down much of the logic in the top level SConstruct into those modules. |