- SCons
Infobox_Software
name = SCons
caption =
developer = Steven Knight
latest_release_version = 1.0.1
latest_release_date = September 7, 2008
operating_system = Windows,POSIX
genre =Software development tools
license =MIT License
website = [http://www.scons.org/ www.scons.org]SCons is an
open source software build tool. SCons is a substitute for the classic Make utility with integrated functionality similar toautoconf /automake and compiler caches such asccache . Compared to earlier tools, SCons aims to be easier to use, more reliable, and faster.Major features
*Configuration files are Python scripts, which means that user-written builds have access to a complete general-purpose programming language.
*Automatic dependency analysis built-in for C,C++ andFortran . Unlike make, no extra command like "make depend" or "make clean"In most cases, "depend" and "clean" targets are generated by autotools or written by user. Make is just a tool, that executes them.] is required to get all of the dependencies. Dependency analysis is easily extensible through user-defined dependency scanners for other languages or file types. Unlike autotools, gcc's built in dependency analysis is not used. Instead, a regexp scan for "#include" is done over all C/C++ source files. For a gcc based build, this means that dependency generation can be slower (i.e. an extra scan is always needed) and less reliable (in the sense that things like preprocessor flags, e.g. -DSOMETHING, are ignored), but it is more portable since the same scanner can be used for non-gcc compilers.
*Built-in support for C,C++ , D, Java,Fortran ,Objective-C ,Yacc , Lex, Qt andSWIG , and buildingTeX andLaTeX documents. Other languages or file types can be supported through user-defined Builders.
*Building from central repositories of source code and/or pre-built targets.
*Built-in support for fetching source files fromSCCS , RCS, CVS, Subversion,BitKeeper andPerforce .
*Built-in support for Microsoft Visual Studio .NET and past Visual Studio versions, including generation of .dsp, .dsw, .sln and .vcproj files.
*Detection of file content changes usingMD5 signatures; optional, configurable support for traditional timestamps.
*Support for parallel builds which keeps the specified number of jobs running simultaneously regardless of directory hierarchy.
*Integrated Autoconf-like support for finding #include files, libraries, functions and typedefs.
*Global view of all dependencies, so multiple build passes or reordering targets is not required.
*Ability to share built files in a cache to speed up multiple builds - like ccache but for any type of target file, not just C/C++ compilation.
*Designed from the ground up for cross-platform builds, and known to work onLinux , otherPOSIX systems (including AIX, *BSD systems,HP-UX ,IRIX and Solaris),Windows NT ,Mac OS X , andOS/2 .ample SConstruct file
Program('main.c')
When the user runs the 'scons' command, scons will build a 'main' executable (on
Linux ) or 'main.exe' (on Windows).History and related projects
SCons began life as the 'ScCons' build tool design which won the [http://software-carpentry.codesourcery.com/ Software Carpentry] SC Build competition in August 2000. That design was in turn based on the [http://www.dsmit.com/cons/ Cons] software construction utility.
Waf , formerly known as "SCons/BKsys", is a tool inspired by SCons that emerged in theKDE community. For some time, there were plans to use it as the build tool for KDE 4 and beyond, but they were later scrapped in favor ofCMake . [http://lwn.net/Articles/188693/]Notable applications
*
Aqsis
*Ardour
*Battlefield 1942
*Blender
*Delta3D
*id Software
*Nullsoft Scriptable Install System
*SuperCollider
*VMware
*Csound5
*Google Chrome [http://code.google.com/p/v8/source/browse/branches/0.1/SConstruct]External links
* [http://www.scons.org/ SCons Home Page]
* [http://freshmeat.net/articles/view/1715/ Make Alternatives]
* [http://freshmeat.net/articles/view/889/ Stop the autoconf insanity! Why we need a new build system.]References
Wikimedia Foundation. 2010.