I was working on C language builds using Meister with the Eclipse CDT (C Development Tools). The way libraries are managed in CDT compared with the JDT (Java Development Tools) is very different. In fact, there is really no concept of libraries in CDT. Linking is configured by supplying –l (dash little-el) and –L (dash big-el) options for the linker to use.

The way libraries are acknowledged to exist in JDT and have a build path is a great implementation. To manage your libraries in CDT, you are taken out of the Eclipse environment of abstracted functionality for creating solutions and forced to focus on dirty command-line compiler options.

We also have this great code in our plug-in that uses Eclipse API’s in JDT, but can’t be re-used for equivalent functionality in CDT. It’s not surprising since Java developers usually don’t think about the command line and C developers can’t think of anything else.

Mainly it shows there is no overall build management strategy for Eclipse across compiled languages. This is a huge opportunity loss for plug-in developers who don’t have a common API and each has to develop standard patterns of managing builds – if they even know what those are.