As I want to modify a toolChain (for example, changing
one tool of the toolChain to a new tool), I find that all the enumerated type
options are set to the default value.
E.g. After I replaced the GCC C Linker to Cygwin C
Linker, I found that the value of Optimization Level option, which I previously
set to “Optimaize more (-O2)”, was set to “None (-O0)”. Actually I did not
modify the tool GCC C Compiler, but its enumerated options’ value was changed.
As I investigated, the method
toolChain.propertyChanged() will be called as modifying the toolChain. And this
method will adjust all the options of the toolChain and its child tools. And
this adjustment will set all the enumerated type options’ value to the default
value which is defined in the plugin.xml.
For example, the Optimization Level option in the
plugin.xml of org.eclipse.cdt.managedbuilder.gnu.ui, it has two enablement
elements. One makes the option to select the value
“gnu.c.optimization.leve.most” as the buildType is “release”. The other one
makes the option to select the value “gnu.c.optimization.leve.none” as the
buildType is “debug”. When you modify the toolChain, the propertyChanged() will
be called. And the value of Optimization Level option will be set to the
default value.
I’m not sure whether it is designed to do so. Dose
anyone have some ideas about this?
Best Regards,
---------------------------------------------
Yi Zhang
China Runtime Technologies Lab,
SSG/SSD/MRTC, Intel