SCons

from Wikipedia, the free encyclopedia
SCons

SCons.png
Basic data

Maintainer The SCons Foundation
Current  version 4.0.1
( July 17, 2020 )
operating system Unix , Linux , Windows , POSIX
programming language python
category Programming tool
License MIT license
German speaking No
www.scons.org

SCons is a free tool for developing and creating software . It is a replacement for the classic make program and integrates the functionality of tools such as Autoconf , Automake and compiler caches such as ccache . SCons is based on the Python programming language , configuration files can use the full scope of the language as normal Python scripts.

By default, C , C ++ , D , Java , Fortran , Objective-C , Yacc , Lex , Qt , SWIG and the construction of TeX and LaTeX documents are supported. Other languages ​​or file formats can be added by the user using so-called “builders”.

Example SCons file

The following very simple SConstruct file compiles the c file hello-world.c with the platform-specific compiler.

Program('hello-world.c')

The following slightly more complicated example creates an environment that is used for building the hello program .

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

functionality

If a build is triggered in SCons, the dependencies are determined first. No build artifacts (e.g. object files, libraries or executables) are created or changed. In the second step, these dependencies are used to generate the build artifacts according to the dependencies, if its dependent files have changed since the last SCons execution.

History and related projects

SCons' software architecture is based on Cons by Bob Sidebotham, written in Perl in 1999 . SCons was originally written by Steven Knight and Chad Austin, Charles Crain, Steve Leblanc, Anthony Roach.

SCons, in turn, inspired WAF .

Well-known application examples

Alternatives

Individual evidence

  1. Release 4.0.1 . July 17, 2020 (accessed July 17, 2020).
  2. CONS: A Make replacement. Archived from the original on February 21, 2011 ; accessed on February 1, 2016 .
  3. FAQ SCons History and Background scons.org
  4. mongodb.org