Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Build Model Proposal Status


Tensilica decided to just go ahead and implement something for us. We didn't have time to wait for consensus in the community over a holiday and in the end, it's not very hard.

The hardest part really was appropriate management of tool switches.

You want different switch sets. (Build targets like Release, Debug, UsersNewSettings) You want inheritance (things set on the project affect all it's contained files and folders.). You want override. (Setting -DFOO=bar at the file or directory replaces -DFOO=foo set somewhere above the object) You want removeables. (Removing -ipa that came from the project works for the object and its children.) You want switch order preservation. (If an object inherits -Ia and -Ib, the switch order must match and when the object puts -Ic in the middle of a and b, things that inherit from the object need to get -Ia -Ic -Ib.)
You want persistence (save all that junk to a file.)
You want sparse fast operations (when the user adds a flag to a project, you don't have to go update an entry for every file.)

After that mechanism is in place, the rest of it is simple. How hard is it to scan the workspace, find source files and write a makefile? Not too hard. (Recursive make invocation on NT had some ugly syntax, I attached an example that comes out of our generator) How hard is it to have contributed tool chains provide their own default targets (Release, Debug, Foo) and UI to set those switches in targets? Not too hard.


At 01:35 PM 1/10/2003 -0500, you wrote:

Last month there was a lot of discussion about Sam Robb's build model proposal. I have not heard anything since and was wondering what the status of the proposal is at this time. My impression is that there is a general consensus around the key requirements and challenges, but there is still a lot that needs to be discussed and finalized. What I would like to do now is figure out what our next step should be so we can keep driving this work forward. Would it be helpful at this point to organize a conference call to discuss some of the big issues? Is there actually code that could be submitted and looked at? Are we all waiting for the other shoe to drop.... If so, please let me know and I will see what support Rational can offer to move this process along.

Sean Evoy
Senior Software Engineer
Rational Software

Attachment: Makefile
Description: Binary data

Back to the top