NewBuildSystem
This is a place to brainstorm ideas about the new build system:
- Using SCons
- Written (almost) entirely in python, for maximum portability with minimum maintenance
- Automatically check for and even optionally install as many dependancies as possible.
- The build system should be a separate package that merely needs to have a list of source repositories it can pull from, similar to Debian's apt-get. This would let the picogui repository become arbitrarily large without forcing the user to download more than they need.
- The build system should treat the software as a hierarchy of modules, with configuration parameters and dependencies shared between modules.
- Dependencies and configuration should interoperate with other build systems, like OpenEmbedded?
- More powerful dependencies should allow very high-level configuration, i.e. Desktop vs embedded, platforms, functionality groups.
- Due to the hierarchial structure, this configuration will affect server, applications, and the final installation
- There should be a top-level equivalent of "make install" to stuff the completed image (including launcher) into the current machine's root, a .ipk or similar package, or the root of an OpenEmbedded? build.
- Flexible configuration- the user may want to set high-level config options on the command line quickly, browse through detailed settings with an ncurses interface, wxWindows, or even run a picogui-based config tool that can run in ncurses or in the host OS's GUI.