{{Short description|Software development tools used in sequence}}

A '''toolchain''' is a set of software development tools used to build and otherwise develop software. Often, the tools are executed sequentially and form a pipeline 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.<ref name="nongnu">{{cite web | url = http://www.nongnu.org/avr-libc/user-manual/overview.html | title = Toolchain Overview | date = 2012-01-03 | accessdate = 2013-10-21 | website = nongnu.org }}</ref><ref name="elinux">{{cite web | url = http://elinux.org/Toolchains | title = Toolchains | date = 2013-09-08 | accessdate = 2013-10-21 | website = elinux.org }}</ref><ref name="springer">{{cite book | title = Tool Chains in Agile ALM Environments: A Short Introduction | date = 2015-10-29 | doi=10.1007/978-3-319-26138-6_40 | volume = 9416 | pages=371–380 | series = Lecture Notes in Computer Science | last1 = Imran | first1 = Saed | last2 = Buchheit | first2 = Martin | last3 = Hollunder | first3 = Bernhard | last4 = Schreier | first4 = Ulf | isbn = 978-3-319-26137-9 }}</ref>

A relatively common and simple toolchain consists of the tools to build for a particular operating system (OS) and CPU architecture: a compiler, a linker, and a debugger. With a cross-compiler, a toolchain can support cross-platform development.

For building more complex software systems, many other tools may be in the toolchain. For example, for a video game, the toolchain may include tools for preparing sound effects, music, textures, 3-dimensional models and animations, and for combining these resources into the finished product.<ref name="nongnu" /><ref name="elinux" />

==See also== {{Portal|Computer programming}}

* {{Annotated link|Buildroot}} * {{Annotated link|Debian build toolchain}} * {{Annotated link|DevOps toolchain}} * {{Annotated link|Software framework|Framework}} * {{Annotated link|Library (computing)|Library}} * {{Annotated link|GNU toolchain}} * {{Annotated link|LLVM}}

==References== {{Reflist}}

Category:Programming tools

{{Programming-software-stub}}