SCons

SCons
Original author(s) Steven Knight
Stable release 2.3.4[1] / September 27, 2014
Written in Python
Operating system Cross-platform
Type Software development tools
License MIT License
Website scons.org

SCons is a computer software construction tool that automatically analyzes source code file dependencies and operating system adaptation requirements from a software project description and generates final binary executables for installation on the target operating system platform. Its function is analogous to the traditional GNU build system based on the make utility and the autoconf tools.

SCons uses the Python general purpose programming language as a foundation, so that all software project configurations and build process implementations are Python scripts.

Major features

History and related projects

SCons software history started with the Cons software construction utility created by Bob Sidebotham in 1999.[2] Cons was written in the Perl language. It served as a base for the ScCons build tool, a design which won the Software Carpentry project SC Build competition in August 2000.[3] ScCons was the foundation for SCons.

SCons inspired the creation of Waf, formerly known as SCons/BKsys, which emerged in the KDE community. For some time, there were plans to use it as the build tool for KDE 4 and beyond, but that effort was abandoned in favor of CMake.[4]

Examples

The following example is a very simple SConstruct file that compiles the C program file hello-world.c using the default platform compiler:

Program('hello-world.c')

The following is a more complex example that creates an environment used to build the program hello:

env = Environment()
env.Append(CPPFLAGS=['-Wall','-g'])
env.Program('hello',
            ['hello.c', 'main.c'])

Notable applications using Scons

See also

References

  1. http://www.scons.org/CHANGES.txt
  2. Cons (web site), DSMit.
  3. Samuel, Alex (2000-08-04). "Software Carpentry Design Competition Second Round Results Config, Build, and Track categories". Retrieved 2012-10-29.
  4. Neundorf, Alexander (21 June 2006). "Why the KDE project switched to CMake – and how (continued)". LWN. Retrieved 21 July 2009.
  5. "CompilingWesnoth". Wiki. Wesnoth. Retrieved 2011-04-11.
  6. "Dev:Doc/Building Blender". Wiki. Blender. 2011-02-16. Retrieved 2011-04-11.
  7. "Building Csound". C sounds. Retrieved 2011-04-11.
  8. Gem5.
  9. "SCons is full of win today". ESR. iBiblio. 2011-04-05. Retrieved 2011-04-11.
  10. "Developer documentation for GtkRadiant 1.6.0 (Zeroradiant)" (Trac). QE radiant. 2008-06-30. Retrieved 2009-12-28.
  11. "Installation". Wiki. Ahay. 2011-02-26. Retrieved 2011-04-11.
  12. "Mixxx/Compiling". 2014-08-26.
  13. "Building for Linux". MongoDB. 10gen. January 30, 2009. Retrieved February 8, 2011.
  14. "INSTALL". NSIS (source code). Source forge. 2011-05-28. Retrieved 2011-04-11.
  15. "Open Source Routing Machine". Retrieved May 29, 2012.
  16. "How to Download and Build V8". V8. Google. Retrieved July 5, 2011.
  17. "Modular Controller Architecture". Research Center for Information Technology (FZI), Karlsruhe Institute of Technology (KIT).
  18. "Generic Graphics Toolkit". GGT.

External links