Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What exactly is a toolchain?

I searched it on google and got the below result.

a toolchain is a set of programming tools that are used to perform a complex >software development task or to create a software product, which is typically >another computer program or a set of related programs

From the above paragraph, I understood that toolchain or compiler toolchain is used in developing any software product such as OS (I am not sure please correct if I was wrong )

If so, I am presently using Ubuntu 16.04. And I found a compiler toolchain preinstalled on it. But OS is already developed completely so what is need of a toolchain here until and unless a separate software product is built?

like image 562
Sandesh Ghanta Avatar asked Apr 30 '18 15:04

Sandesh Ghanta


People also ask

What does a toolchain do?

What is the purpose of a toolchain? The purpose of a software toolchain is to have a group of software tools linked together and optimized for a specific programming process. The output generated by one tool in the chain is used by the next tool in the chain as the input.

What is difference between toolchain and compiler?

A cross-compiler is a compiler where the target is different from the host. A toolchain is the set of compiler + linker + librarian + any other tools you need to produce the executable (+ shared libraries, etc) for the target. A debugger and/or IDE may also count as part of a toolchain.

Is an IDE a toolchain?

A toolchain is a set of programming tools that is used to perform a complex set of operations. In the Arduino Software (IDE) the toolchain is hidden from the user, but it is used to compile and upload the user Sketch. It includes compiler, assembler, linker and Standard C & math libraries.

How do you make a tool chain?

building the C library requires a core pass 2 compiler and the binutils. the core pass 2 compiler needs the C library headers and start files, to know how to use the C library, and the binutils. building the start files requires a compiler, the kernel headers and the binutils. the core pass 1 compiler needs the ...


1 Answers

It's true that a full toolchain (compiler, assembler, linker, etc) is required to build the OS itself, but it is also necessary for building other software packages. If you download a software package on Linux whose installation instructions say to do some variant on ./configure && make && make install, then you will be using that toolchain to do the compilation. Likewise, Linux (and all the GNU/Ubuntu packages) are developed on a GNU/Linux system themselves, and so will need a toolchain to support that work on the next version of the operating system.

like image 117
C. Tindall Avatar answered Sep 20 '22 12:09

C. Tindall