A toolchain is a set of
software development tools used to
build and otherwise
develop software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
. Often, the tools are executed sequentially and form a
pipeline
A pipeline is a system of Pipe (fluid conveyance), pipes for long-distance transportation of a liquid or gas, typically to a market area for consumption. The latest data from 2014 gives a total of slightly less than of pipeline in 120 countries ...
such that the output of one tool is the input for the next. Sometimes the term is used for a set of related tools that are not necessarily executed sequentially.
A relatively common and simple toolchain consists of the tools to build for a particular
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
(OS) and
CPU architecture; consisting of a
compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
, a
linker
Linker or linkers may refer to:
Computing
* Linker (computing), a computer program that takes one or more object files generated by a compiler or generated by an assembler and links them with libraries, generating an executable program or shar ...
, and a
debugger. With a
cross-compiler, a toolchain can support
cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
development.
For building more complex software systems, many other tools may be in the toolchain. For example, for a
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
, the toolchain may include tools for preparing
sound effects, music,
textures,
3-dimensional models and
animation
Animation is a filmmaking technique whereby still images are manipulated to create moving images. In traditional animation, images are drawn or painted by hand on transparent celluloid sheets to be photographed and exhibited on film. Animati ...
s, and for combining these resources into the finished product.
See also
*
*
*
*
*
*
*
References
Programming tools
{{Programming-software-stub