Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Standard Make and Managed Make Projects

Hi Pierre-Alexandre,

That's an interesting use of the MBS.  Thanks for reporting it.  We are
going to try to accomplish some of the same goals with the "new project
model" proposal being discussed in 115935.  Specifically, there would be
a tool-chain definition that could be used by any part of CDT.  We would
define the way to add a builder to CDT, and builders would share a lot
of common functionality and UI.  I haven't thought much in detail about
standard build and managed builder sharing more code, but I agree with
you that we should consider that in the new implementation.  If you have
time to review the discussions in 115935, please add any feedback there.

Regards,
Leo

-----Original Message-----
From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
On Behalf Of Pierre-Alexandre Masse
Sent: Friday, December 30, 2005 5:59 PM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] Standard Make and Managed Make Projects

Hi all,

First of all, Happy New Year!

I have been playing lately with the standard make and managed make
project to integrate our cross GNU toolchains. 
The only thing I really needed to do was some way of defining
environment variables to set the path to the toolchain, and define a few
others as well that are related but without importance.

I have to say that it was quite easy to do with the Managed Make Build.
Just had to add one toolchain and define an EnvironmentSupplier and that
was going beautifully. However doingthe same with the Standard Make has
been quite painful. I may have missed something but I haven't found an
easy way of doing it. The first issue here might just be my ignorance,
but as I couldn't get away from it, I kept looking for a way around my
problem...

I looked in bugz and ran into a few bugs on that same issue or related
that issue:

bug 80905: Managed build assumes compiler is in the PATH environment
variable (which is actually now resolved IMHO with the
environmentSupplier)
bug 82873: CDT should have a toolchain definition extension point
bug 102014: Environment Variables has different UI

The key here seems to be the second bug, to create a toolchain
definition extension point. 

But then one light turned on in my dark head, I thought that the managed
make should be a makefile generator + a standard make equivalent. Going
that way I defined a new project type, with a new toolchain (with no
tools), providing my own makefile generator that just doesn't generate
anything, and here I was with a standard make project type withing the
managed make (see attached plugin).
ok, I am maybe too excited here telling my story, so let's go back to
more concrete suggestion/proposal:

why not merge the standard make build in the managed make build that has
already so many handy extensions. This is in very quick what I sort of
did (try my attached plugin) though it obviously need much more work
that this hack. 
Also, in my opinion that would be cleaner in the UI, but even better,
that would be easier to integrate a toolchain in CDT (MBS + standard
make).

It seems that the build types have already a lot in common. Looking at
the property pages the C/C++ Make Project page (from the standard make
project) could be brought in the C/C++ Build page (of the managed make).
I am sure there will be plenty of other things to fix up but I couldn't
find any blocker (but I don't know enough I guess for that statement to
be valid enough :) )

A few advantages I can imagine if we do that:
- more consistent UI between projects
- standard make project could use toolchain, environment supplier and
macro supplier extensions from the managed build
- a standard make and a managed make could use the same toolchain
without having to define one more extension and changing much in the MBS

Any thoughts?

Regards,

Pierre-Alexandre



Back to the top