-
-
Notifications
You must be signed in to change notification settings - Fork 320
SConsFutureProjects
REWORD THIS SECTION!
These are projects that the SCons team would like to do that are larger than a bugfix. Presence on this page is not a commitment that the project will be done, nor does the ordering imply any sense of priority. For that information, see the Roadmap page.
This page is only a list of projects and a brief description (with links to more information, if any). Debates about what does (and does not) belong in this page should go in the discussion page.
Steven has posted some information on what he wants to do; it should be referenced here. For an alternative formulation that involves compiling environment variables, see SubstQuoteEscapeCache.
Convert the Node hierarchy to use composition instead of inheritance.
Set up platform and other one-time stuff.
Set up IAPAT for cross-compile if targeted platform is not same as build host.
Some replacement for Add``Option() moves here.
Functionality of Variables() moves here.
Functionality of configure contexts moves here.
Replacement for the config_h
configuration parameter moves here.
Modifies IAPAT so Environments created from it have specified set of tools.
Replace the deprecated spawn
functions with the subprocess
module, hopefully eliminating the SPAWN
and PSPAWN
environment variables at the same time.
Rewrite the ad-hoc bottom-up evaluation driven by the Jobs module to be a top-down topological sort that drives the Jobs module.
Setting up and editing tests for the core functionalities and Tools can get tedious. File contents and the file/folder structure have to be hard-coded in the test script itself. As discussed on the SConsTestingRevisions page, the framework should provide "fixtures" for files and complete folders and also have less dependencies on the SCons core in general. The latter is important for the support of external Tools (see ToolsIndex), a first draft exists at https://code.launchpad.net/~dl9obn/sconsaddons/scons-test-framework.
Shift some of the core Tools out, by making them external plug-ins (see ToolsIndex). The critical part of this work will probably be the decision about which Tools should comprise the Core...and which do not.
The =Help()= function is too coarse. Any call overwrites the local options added via the AddOption()
function. The AddOption()
function itself doesn't support grouping options. You can't get help about local options unless you read all the SConscript
files. The whole thing needs a refactoring to address more sophisticated, modern needs.