Community
Participate
Working Groups
Build Identifier: 3.6.0 I20100129-1300 (M5) Hi, I noticed that with the new autotools code a renamed build configuration loses all configuration such as configure flags, build directory, ... Reproducible: Always
Just to let you know I am working on this. It requires some redesign on my part to work properly across the CDT Property pages.
Fix has been checked in. The design had to be changed to store and reference Autotool configurations by id and not name. This is because the name can be changed outside of the Autotools pages and to eventually figure out what the original configuration to copy is not possible by name under a number of scenarios (e.g. a double rename to an existing name). The id of the configuration however does not change across a rename and so the data can be copied reliably regardless of how many renames are performed. As a consequence of this, the .autotools file is less readable since the id is stored, not the configuration name. The ids correspond to the configuration ids in the .cproject file. An old .autotools file with name fields will still work. After the next Apply or Ok, it will be saved with id fields instead.
(In reply to comment #2) > An old .autotools file with name fields will still work. After the next Apply > or Ok, it will be saved with id fields instead. I did so and lost my build directory settings as the default "build-debug", "build-release" was used. Nevertheless it was easy to fix. I still had very many reordered lines in .autotools which makes viewing diffs very hard.
(In reply to comment #3) > (In reply to comment #2) > > An old .autotools file with name fields will still work. After the next Apply > > or Ok, it will be saved with id fields instead. > > I did so and lost my build directory settings as the default "build-debug", > "build-release" was used. Nevertheless it was easy to fix. > > I still had very many reordered lines in .autotools which makes viewing diffs > very hard. I'll take a look at the build directory. The reordering of options is to make them more predictable. The internal logic uses a Java Map for the options and there is no guaranteed ordering for iteration. To remedy this, a set ordering is used for extracting the options now.