GSoC/GCI Archive
Google Summer of Code 2009

SCons next-generation build system

Web Page: http://scons.org/wiki/GSoC2009

Mailing List: users@scons.tigris.org

SCons is a cross-platform, next-generation build tool. Unlike most other build tools that invent their own mini-language or wedge a scripting language onto some other configuration file syntax, SCons configuration files are actually Python scripts. The flexibility of Python scripting makes it possible to solve complicated build problems in surprisingly small amounts of maintainable code. Its portability (the only requirement is Python 2.2 or later), cross-platform features (extensive support for languages and compilers), and reliability (MD5 file signatures, cache) make it an incomparable tool not only for build masters but also for many free software projects.

SCons has been an active project since its founding in 2001. SCons now averages about 7000 downloads per month and has active user and development mailing lists with membership of approximately 450 and 150, respectively, and average monthly traffic of 275 and 100 messages, respectively.

The SCons Foundation was organized in 2003 to hold the copyrights of the SCons source code, and to provide a legal entity for any other organizational necessities (e.g., receiving donations). The Foundation is a Delaware non-profit corporation, but does not currently have 501(c)(3) status.

Projects

  • Improving SCons on Windows For Windows users, SCons currently provides a simple installer to install it into a Python distribution on the user's machine. Currently, there are several drawbacks, such as the dependence on a Python installation and the lack of integration with Windows itself. The project will improve on this by combining a self-contained SCons executable, documentation and Windows Explorer integration into a convenient installer. Users will only need this installer in order to use SCons in their projects.
  • Internationalization of SCons SCons is widely used installation system by the programmers all over the world. The programmers usually know a second language especially english as it is universal. But SCons is not used only by the programmer. It is also used by the users. In addition to this, the users encounter with the messages of SCons more than the programmers. The users may not know english. For that reason, internationalization of scons will increase the usebilty of SCons and will help it to spread larger area.