plugin first steps

Daron Chabot daronchabot at gmail.com
Sat Nov 22 19:16:49 UTC 2008


On 22-Nov-08, at 3:38 AM, Robert Fu wrote:

> For the "first steps" type of references, there is also another  
> place contains
> more detailed information: "Managed Build System Extensibility  
> Document"
> (mentioned in referrence section in my previous email) contains a  
> section called
> "Tutorial: An Example Tool Integration". It worked well for me. The  
> initial
> version of the plug-in was built upon what I got after following  
> the tutorial
> step by step.
>
> Somebody said "Managed Build System Extensibility Document" is the  
> bible
> for CDT plug-in development, and I believed it. In fact this  
> document plus
> "What's New in CDT Build System 4.0" are the only 2 documents that
> guided me for the developement of initial RTEMS plug-in.

Yah, I've been through the "MBS Extensibility" doc, and it *is* the  
"bible" for CDT plugin development. But, there are other good sources  
too, the CDT sources being an example. Another is the CDT extension  
point reference docs:

	http://help.eclipse.org/help33/index.jsp?topic=/ 
org.eclipse.cdt.doc.isv/reference/extension-points/index.html

Although these refer to eclipse 3.3, they are still very much  
relevant to the CDT as found in eclipse 3.4.

> Although I don't know how actually Sebastian plan to do it, I think  
> if we can
> automatically extract settings/configurations from Makefiles generated
> by configure process, it's an improvement over the current one  
> since it'd
> require less user input.

That approach implies some type of parser is required. I'm sure  
Sebastian will communicate his ideas here as soon as he's able.

Only a couple of years ago, the CDT had two types of projects:  
Managed Build and Standard Makefile. Both are still present, only in  
a more refined form. Managed build projects construct Makefiles  
automatically, while Standard Makefile projects simply rely on the  
user to provide a (Makefile-based) build system.

The RTEMS-Eclipse plugin I was designing would utilize the RTEMS  
makefile templates, Makefile.leaf, Makefile.lib, and Makefile.dir  
(found in ${RTEMS_INSTALL_LOCATION}/make/Templates), *in conjuction*  
with user-provided values like executable name, etc.

However, upon closer analysis, it became clear that in order to  
maintain a useful degree of independence from the RTEMS build-system  
and maximum flexibility, the Managed Build approach is *the* way to go.

> One other improvement I can see is to make it work on Linux and Mac.
> It seems we 3 have right mix of environments: I have Windows one,  
> Sebastian
> has openSuSE 10.3 env and you have Mac env.

Having the plugin work across the 3, main OSes is not just an  
improvement, it's a *necessity * :-)

Of course, we should strive for OS-independence as much as possible...

I would also lump RTEMS target arch and BSP selection as necessities.

> I assume that we cannot get all we want in one shot, so one of many  
> possible
> ways to move forward is:
>
> 1. Make the 1st version work in Linux and Mac; Once it works in one  
> OS, re-test
>     it in the other OS until we get one version that works in each  
> of the 3 OS. We
>     then use it as a comman base for further refinement.
>
> 2. Add new improvements one by one. After one new feature works in  
> one OS,
>     re-test the new plug-in in the other OS. We go through this  
> iterative process
>     until we think we have all necessary features.

Yes. An iterative development scheme is the only way to go.

We need to get a solid base to build upon. First focusing on the  
basic toolchain elements: assembler, c/c++ compiler & linker,  
archiver. Debugger and Launch configs are almost as important. But we  
have to be able to build something to run and debug first :-)

I'm still studying your plugin trying to get up to speed... thanks  
again.

>
>
> > From: daronchabot at gmail.com
> > Subject: plugin first steps
> > Date: Fri, 21 Nov 2008 21:05:17 -0600
> > To: robert.fu at live.com
> > CC: sebastian.huber at embedded-brains.de; rtems-users at rtems.org
> >
> > Robert,
> >
> > Thanks for your contribution. It looks like a good place to start.
> >
> > I sent the link below to Sebastian in an earlier email.
> >
> > If you have not already done so, I recommend checking out the cdt- 
> all
> > CVS module from the Eclipse repo. You can find directions here:
> >
> > http://wiki.eclipse.org/Getting_started_with_CDT_development
> >
> > The best place to learn how things work is the reference
> > implementations contained in the "cdt-all" CVS module.
> >
> > If you and Sebastian have no objections, I'd like to remove the
> > unused library dependencies from the plugin's ".settings" file,
> > partly to see if I can commit to the RTEMS cvs repo and partly to
> > clean things up a bit.
> >
> > Those dependencies are:
> > 1) org.eclipse.cdt.core.lrparser_5.0.1.200809120802.jar
> > 2) org.eclipse.cdt.core.parser.upc_5.0.0.200809120802.jar
> >
> >
> > -- dc
> > _______________________________________________
> > rtems-users mailing list
> > rtems-users at rtems.com
> > http://rtems.rtems.org/mailman/listinfo/rtems-us
>
> Get more done, have more fun, and stay more connected with Windows  
> Mobile®. See how.




More information about the users mailing list