Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Rebuilding managed build project on properties change

Hi Wieant,

You are right, the tool-chain options changes themselves do not result
in a full rebuild. This was done intentionally. My assumption was that
the tool-chain options are not the build options themselves, i.e. not
used by makefile generation, etc. Instead they are used to
initiate/perform a [simultaneous] change of some build options (e.g.
tool option values, build environment, build macros, etc.).
That is why no full rebuild is initiated by the tool-chain option
change. Instead it is expected that the proper rebuild state will be set
by the build settings change initiated by the tool-chain option
modification (e.g. via a tool-chain option value handler).
I might be wrong with my assumption. In this case we may consider
changing the build logic to always perform a full rebuild after the
tool-chain option is modified.


-----Original Message-----
From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
On Behalf Of Wieant Nielander
Sent: Monday, October 02, 2006 6:42 PM
To: CDT General developers list.
Subject: Re: [cdt-dev] Rebuilding managed build project on properties

>> Can you tell me how changes in CDT tool properties currently cause a
>> rebuild, so that I can figure out why the same code does not work for
>> new options?

> [Mikhail] Most of the MBS model objects (Configuration, ToolChain,
> Option) maintain the rebuild state that gets set to "rebuild" when the
> property of the object is changed.
> The rebuild states are analyzed and the set of resources affected by
> MBS Model changes is calculated. This is done by the MBS Build Model.
> The affected resources are then removed and rebuild.
> See org.eclipse.cdt.managedbuilder.buildmodel.BuildDescriptionManager
> class and the implementation of the 
> ild() method.
> The build/rebuild itself is caused by the .cdtbuild file update that
> performed while persisting the MBS properties.


I have looked further into this rebuild problem on change of
toolchain-level options.

It seems the ToolChain model object correctly signals that a rebuild is
required, and just like you explained the BuildDescriptionManager is
to determine which resources are affected. However in this stage only
the (local) Tools are checked, and since these have not changed no
resources are affected. Result is that make is called, but it decides
nothing has changed and so nothing happens.

Shouldn't the BuildDescriptionManager take into account the
options and effectively update all resources?

cdt-dev mailing list

Back to the top