What is a toolchain and a cross compiler?

ctrl-shift-esc picture ctrl-shift-esc · Mar 31, 2014 · Viewed 21.4k times · Source

I have had confusion over this terminology for a long time. I have tried to google this question and have been getting some contradictory answers.

One site says cross compiler is the same as a tool chain, some sites say cross compiler is a part of a toolchain. I have clearly not found this useful.

To be specific, I have used PowerPCeabi cross-compiler and Atmel AVR toolchain. Are these both toolchains and/or cross-compilers or are they different?

I guess, my very specific question would be, if I had to put this in my resume, will it be right in saying Experienced in powerpceabi and AVR toolchains ?

Edit: For the people who marked this question as unclear what you're asking, how much more clear should I have to make this ?

Modified question: Can I mention powerpceabi and AVR together as toolchains ?

Answer

Mats Petersson picture Mats Petersson · Mar 31, 2014

If we define the word "host" to mean a computer on which you are compiling, and "target" as the computer on which you want to run the code, then a native compiler is one where the target and the host are the same (kind). 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.

So

Experience with Powerpceabi and AVR toolchains

would be how I'd express it if I had some experience with those.