Gives you the tools to run the configure scripts on the target but build on the host.
(+) Probobly best tool in the long run (once you got it properly configured)
(+) You can compile programs just like you do for your standard x86 (configure, make, make install)
(-) Requires a prebuilt toolchain before you can start
(-) Requires abit more knowledge
(-) Debian based (if you got debian as hostsystem then good, otherwise bad)
With little effort you can make openembedded create packages for you simply by putting your CPU information in a config file (machine file).
(+) Extremely easy to get going
(+) Compiling the availabel packages almost always works
(+) Easy to create a standard userland (and porting it to other CPU arch's )
(-) Limited amount of packages (can create your own but requires some skill & knowledge)
(-) Only way of controlling the build is to edit the build package, no real interaction
A set of scripts that build a working toolchain for you (to be used on the host machine)
(+) Requires a minimal set of skill to get the toolchain compiled
(+) Easy to upgrade
(-) After toolchain is finished it's quite hard to start crosscompiling (need to set all paths/libs yourself)
Instructions Crosstool028rc37: How to use crosstool to build an SH toolchain
Building everything yourself
Best way to learn? Well download sources and start fixing!
(+) Best way to learn
(+) If you get the toolchain to work then you will probobly not have any problems compiling anything else
(-) Damn hard! Requires hardcore linux knowledge