restore frameset
wikiSearch

About SCons

SCons is a software construction tool (build tool, or make tool) implemented in Python, that uses Python scripts as "configuration files" for software builds. SCons solves a number of problems associated with other build tools, especially including the classic and ubiquitous Make itself.

In its evolution, scons will be more general than a make replacement, it will be a Gnu Build System replacement. The Gnu Build System (GBS) is also known as the set of Autotools (autoconf, automake, autoheader, etc...)

Distinctive features of SCons include:

  • modular design, lending itself to embedding in other applications
  • a GlobalView? of all dependencies in the source tree
  • an improved model for ParallelBuilds? (-j)
  • automatic scanning of files for dependencies
  • use of MD5? signatures for deciding whether a file is up-to-date
  • use of MD5? signatures instead of traditional file timestamps available as an option
  • use of Python functions or objects to build target files
  • easy user extensibility.

Where to download Scons and how to install it.

Yo can download it here: http://www.scons.org/download.php

And here it is the manual to learn how to use it: http://www.scons.org/doc/HTML/scons-user/book1.html

Prototype SCons based build systems for OpenThreads?, Producer and OpenSceneGraph

Pros

  • Based on a full-fledged programming language, Python. This means you can make the build system do pretty much anything you can figure out how to program, if it doesn't do it already.
  • Support for many platforms, compilers, and targets built-in.
  • Has auto-configuration abilities.
  • Can be distributed with the software product so users do not need to install it.

Cons

  • Based on a general-purpose programming language, Python. This means writing even a basic build file requires you to know a bit about Python and its syntax.
  • If you want to do more complicated builds, you will quickly find yourself having to write a fair amount of Python code to achieve the functionality built into something like Boost Jam.
  • Requires users (developers) to have a full Python installation and then to install the SCons scripts on top of that.
  • Very centric on the idea of having a build dir. Great pains to avoid this.

The information used to fill this wiki page is publicly available at: http://www.scons.org/cgi-bin/wiki/

Edit Page | Delete Uploads | Printable View | Recent Changes | Page History
© 2004 OSG Community | Please don't forget what a Wiki is for and what it is not for!!! | Webmaster