#12 Toolchain discovery

Next Release

Several years ago I hoped to use Eclipse for embedded development. I could not find a way to make it use toolchain other than host. Later Cross Compile option was added and I use it now with delight. I often use it with workspace containing projects that have build targets for host, embedded ARM Linux target and ARM target on "bare metal" all for the same project. Typically I use workspace/project build and environment variables to specify toolchains I use. I find that all I need is variables for prefix, path to toolchain bin, path to toochain include and path to toolchain libs. I do the same for compile/link options. In my case for cross compile I avoid installing the toolchains I use because I use buildroot built toolchains for embedded linux, code sourcery
and custom built for "bare metal ARM". I always manually install toolchain sysroot (even codesourcery) to /opt so that I can maintain versions in parallel without conflicts.

Going back to the days when Eclipse did not have Cross Compile option I always wondered how I might define toolchains that would show up when a new project created. Unfortunately not enough hours in a day to figure it out.

What I might suggest regarding the difficulty of discovering a variety of toolchains in GNU ARM Plug-in is a way to define a toolchain. When defined, that toolchain is then visible in list of toolchain options when new projects are created or build target created for existing project. This way if GNU ARM Plug-in is able to find toolchains these are presented, otherwise a user might define them manually.

Values to collect would be:

Toolchain Name

Simply path to toolchain sysroot

OR individual paths...

to bin
to include
to lib

bin prefix: arm-linux-, arm-none-linux-, arm-none-eabi-, user entered

And to make it really nice allow to specify processor and maybe default
compile settings relevant to processor.

Unfortunately I never had time to learn how to do eclipse plug-in development. As such I have no idea if suggestion is "easily" possible or monumental task. If I had the time I'd help out. In any case I appreciate the work you put into the GNU ARM Plug-in project.




  • Liviu Ionescu (ilg)

    Thank you for your suggestions, yes, I'm also considering a redesign of the plug-in, to address several problems with the existing version.

    A fully automated process to detect all possible toolchains on all possible platforms would be complicated and very time consuming, making it impractical.

    However a semi-automated process might be possible, and always having the last resort option to manually configure the toolchain definitions.

    Some time ago I did some tests and they looked promising, however, as you mentioned, there are not enough hours in a day to implement all ideas :-(



  • Liviu Ionescu (ilg)

    • assigned_to: nobody --> ilg-ul
    • labels: --> Supported Toolchains
    • status: open --> open-accepted
  • Liviu Ionescu (ilg)

    • status: open-accepted --> closed
    • Group: --> Next Release