The current module system used for the enterprise build operates as a non-standard extension to the behavior of SCons. By replacing it with a system for discovering SConscript files, it will facilitate adding tests for enterprise-only features, library dependencies, and more.
The basic approach will be for the master SConstruct file to discover SConscript files for modules in the same way that it currently discovers build.py module configuration files. However, it will process these SConscript files in the same way that other SConscripts in the build system are processed. That means that these SConscripts will be able to import the "env" environment to describe build rules for libraries and tests.
A simple procedure for adding more library dependencies to mongod, mongos and friends will be necessary, and will be achieved by setting variables in the "env" environment, or through a specially named set of exported SConstruct variables.
- depends on
-
SERVER-7332 Separate command line processing from server startup in mongod and mongos.
- Closed