Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Fix for bugzilla 49590: error when trying to build projects with '.' in name


OK,
Here is a fix for bugzilla 49590. It was a problem where the build model was not keeping track of the extension for a build goal as separate from the name. This was a problem for *nix projects.The solution is to store both the name and extension as separate items in the build model for a project. There is also some work related to some new features we will be rolling out, but the work is in dialogs that are not turned on. Details in the change log. Have regression tested on *nix and Win32.

Sean Evoy
Rational Software - IBM Software Group
Ottawa, Ontario, Canada

Index: ChangeLog
===================================================================
retrieving revision 1.12
diff -u -r1.12 ChangeLog
--- ChangeLog	13 Nov 2003 19:41:53 -0000	1.12
+++ ChangeLog	6 Feb 2004 18:44:28 -0000
@@ -1,3 +1,23 @@
+2004-2-6 Sean Evoy
+	Fixes for bug 49590:
+	The system now makes a distinction betweenthe name of the output and its extension. 
+	The UI for managing the name of the build output now has a field for entering the 
+	extension. The new project wizard does not automatically append the extension to the 
+	name of the build output.
+	* src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java
+	* src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
+	* src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java
+	
+	Some ground work for C11:
+	Added a browse button and an area for selecting a path variable to the browse
+	dialog. However, this is still turned off since it is not fully functional.
+	* src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties
+	* src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java
+	* src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
+	
+	Changed the order of the configurations in the manifest sothat debug configurations are the default for every project.
+	* plugin.xml
+
 2003-11-10 Tanya Wolff
 
 	I18N-Externalized strings from plugin.xml.
Index: plugin.xml
===================================================================
retrieving revision 1.15
diff -u -r1.15 plugin.xml
--- plugin.xml	5 Jan 2004 20:26:33 -0000	1.15
+++ plugin.xml	6 Feb 2004 18:44:29 -0000
@@ -31,8 +31,8 @@
             icon="icons/full/wizban/newmngcc_app.gif"
             category="org.eclipse.cdt.ui.newCCWizards"
             class="org.eclipse.cdt.managedbuilder.ui.wizards.NewManagedCCProjectWizard"
-            finalPerspective="org.eclipse.cdt.ui.CPerspective"
             project="true"
+            finalPerspective="org.eclipse.cdt.ui.CPerspective"
             id="org.eclipse.cdt.managedbuilder.ui.wizards.StdCCWizard">
          <description>
             %MngCCWizard.description
@@ -43,8 +43,8 @@
             icon="icons/full/wizban/newmngc_app.gif"
             category="org.eclipse.cdt.ui.newCWizards"
             class="org.eclipse.cdt.managedbuilder.ui.wizards.NewManagedCProjectWizard"
-            finalPerspective="org.eclipse.cdt.ui.CPerspective"
             project="true"
+            finalPerspective="org.eclipse.cdt.ui.CPerspective"
             id="org.eclipse.cdt.managedbuilder.ui.wizards.StdCWizard">
          <description>
             %MngCWizard.description
@@ -81,12 +81,12 @@
             osList="win32">
          <tool
                natureFilter="cnature"
-               name="%ToolName.compiler.c"
                sources="c"
+               name="%ToolName.compiler.c"
                headerExtensions="h"
                outputFlag="-o"
-               command="gcc"
                outputs="o"
+               command="gcc"
                id="cdt.build.tool.cygwin.gnu.c.compiler">
             <optionCategory
                   owner="cdt.build.tool.cygwin.gnu.c.compiler"
@@ -98,16 +98,16 @@
                   name="%Option.Posix.Nostdinc"
                   category="cygwin.gnu.c.compiler.category.preprocessor"
                   command="-nostdinc"
-                  id="cygwin.gnu.c.compiler.preprocessor.nostdinc"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.preprocessor.nostdinc">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.PreprocOnly"
                   category="cygwin.gnu.c.compiler.category.preprocessor"
                   command="-E"
-                  id="cygwin.gnu.c.compiler.preprocessor.preprocess"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.preprocessor.preprocess">
             </option>
             <optionCategory
                   owner="cdt.build.tool.cygwin.gnu.c.compiler"
@@ -118,103 +118,103 @@
                   name="%Option.Posix.DefSym"
                   category="cygwin.gnu.c.compiler.category.symbols"
                   command="-D"
-                  id="cygwin.gnu.c.preprocessor.def.symbols"
-                  valueType="definedSymbols">
+                  valueType="definedSymbols"
+                  id="cygwin.gnu.c.preprocessor.def.symbols">
                <listOptionValue
-                     builtIn="true"
-                     value="_X86_=1">
+                     value="_X86_=1"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__OPTIMIZE__">
+                     value="__OPTIMIZE__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__STDC_HOSTED__=1">
+                     value="__STDC_HOSTED__=1"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="i386">
+                     value="i386"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__i386">
+                     value="__i386"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__i386__">
+                     value="__i386__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_i686__">
+                     value="__tune_i686__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_pentiumpro__">
+                     value="__tune_pentiumpro__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_pentium2__">
+                     value="__tune_pentium2__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_pentium3__">
+                     value="__tune_pentium3__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__stdcall=__attribute__((__stdcall__))">
+                     value="__stdcall=__attribute__((__stdcall__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__fastcall=__attribute__((__fastcall__))">
+                     value="__fastcall=__attribute__((__fastcall__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__cdecl=__attribute__((__cdecl__))">
+                     value="__cdecl=__attribute__((__cdecl__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="_stdcall=__attribute__((__stdcall__))">
+                     value="_stdcall=__attribute__((__stdcall__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="_fastcall=__attribute__((__fastcall__))">
+                     value="_fastcall=__attribute__((__fastcall__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="_cdecl=__attribute__((__cdecl__))">
+                     value="_cdecl=__attribute__((__cdecl__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__declspec(x)=__attribute__((x))">
+                     value="__declspec(x)=__attribute__((x))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__CYGWIN32__">
+                     value="__CYGWIN32__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__CYGWIN__">
+                     value="__CYGWIN__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="unix">
+                     value="unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix__">
+                     value="__unix__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix">
+                     value="__unix"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <option
                   name="%Option.Posix.UndefSym"
                   category="cygwin.gnu.c.compiler.category.symbols"
                   command="-U"
-                  id="cygwin.gnu.c.preprocessor.undef.symbol"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.gnu.c.preprocessor.undef.symbol">
             </option>
             <optionCategory
                   owner="cdt.build.tool.cygwin.gnu.c.compiler"
@@ -225,11 +225,11 @@
                   name="%Option.Posix.InclPaths"
                   category="cygwin.gnu.c.compiler.category.dirs"
                   command="-I"
-                  id="cygwin.gnu.c.compiler.general.include.paths"
-                  valueType="includePath">
+                  valueType="includePath"
+                  id="cygwin.gnu.c.compiler.general.include.paths">
                <listOptionValue
-                     builtIn="true"
-                     value="C:\cygwin\usr\include\w32api">
+                     value="C:\cygwin\usr\include\w32api"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <optionCategory
@@ -240,8 +240,8 @@
             <option
                   name="%Option.Posix.OptLevel"
                   category="cygwin.gnu.c.compiler.category.optimization"
-                  id="cygwin.gnu.c.compiler.general.optimization.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="cygwin.gnu.c.compiler.general.optimization.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Optimize.None"
                      isDefault="false"
@@ -268,8 +268,8 @@
             <option
                   name="%Option.Posix.Optimize.Flags"
                   category="cygwin.gnu.c.compiler.category.optimization"
-                  id="cygwin.gnu.c.compiler.optimization.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.gnu.c.compiler.optimization.flags">
             </option>
             <optionCategory
                   owner="cdt.build.tool.cygwin.gnu.c.compiler"
@@ -279,8 +279,8 @@
             <option
                   name="%Option.Posix.DebugLevel"
                   category="cygwin.gnu.c.compiler.category.debug"
-                  id="cygwin.c.compiler.debugging.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="cygwin.c.compiler.debugging.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Debug.None"
                      isDefault="false"
@@ -308,24 +308,24 @@
                   defaultValue="-gstabs"
                   name="%Option.Posix.Debug.Other"
                   category="cygwin.gnu.c.compiler.category.debug"
-                  id="cygwin.gnu.c.compiler.debugging.other"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.gnu.c.compiler.debugging.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.gprof"
                   category="cygwin.gnu.c.compiler.category.debug"
                   command="-pg"
-                  id="cygwin.gnu.c.compiler.debugging.gprof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.debugging.gprof">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.prof"
                   category="cygwin.gnu.c.compiler.category.debug"
                   command="-p"
-                  id="cygwin.gnu.c.compiler.debugging.prof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.debugging.prof">
             </option>
             <optionCategory
                   owner="cdt.build.tool.cygwin.gnu.c.compiler"
@@ -337,48 +337,48 @@
                   name="%Option.Posix.Warn.Syntax"
                   category="cygwin.c.compiler.category.warnings"
                   command="-fsyntax-only"
-                  id="cygwin.gnu.c.compiler.warnings.syntax"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.warnings.syntax">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.Pedandic"
                   category="cygwin.c.compiler.category.warnings"
                   command="-pedantic"
-                  id="cygwin.gnu.c.compiler.warnings.pedantic"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.warnings.pedantic">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.PedErrors"
                   category="cygwin.c.compiler.category.warnings"
                   command="-pedantic-errors"
-                  id="cygwin.gnu.c.compiler.warnings.pedantic.error"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.warnings.pedantic.error">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.nowarn"
                   category="cygwin.c.compiler.category.warnings"
                   command="-w"
-                  id="cygwin.gnu.c.compiler.warnings.nowarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.warnings.nowarn">
             </option>
             <option
                   defaultValue="true"
                   name="%Option.Posix.Warn.allwarn"
                   category="cygwin.c.compiler.category.warnings"
                   command="-Wall"
-                  id="cygwin.gnu.c.compiler.warnings.allwarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.warnings.allwarn">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.toerrs"
                   category="cygwin.c.compiler.category.warnings"
                   command="-Werror"
-                  id="cygwin.gnu.c.compiler.warnings.toerrors"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.warnings.toerrors">
             </option>
             <optionCategory
                   owner="cdt.build.tool.cygwin.gnu.c.compiler"
@@ -389,34 +389,34 @@
                   defaultValue="-c"
                   name="%Option.OtherFlags"
                   category="cygwin.c.compiler.category.other"
-                  id="cygwin.gnu.c.compiler.misc.other"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.gnu.c.compiler.misc.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Verbose"
                   category="cygwin.c.compiler.category.other"
                   command="-v"
-                  id="cygwin.gnu.c.compiler.misc.verbose"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.misc.verbose">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Ansi"
                   category="cygwin.c.compiler.category.other"
                   command="-ansi"
-                  id="cygwin.gnu.c.compiler.misc.ansi"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.compiler.misc.ansi">
             </option>
          </tool>
          <tool
                natureFilter="ccnature"
-               name="%ToolName.compiler.cpp"
                sources="c,cc,cpp,cxx,C"
+               name="%ToolName.compiler.cpp"
                headerExtensions="h,H,hpp"
                outputFlag="-o"
-               command="g++"
                outputs="o"
+               command="g++"
                id="org.eclipse.cdt.build.tool.cygwin.compiler">
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.compiler"
@@ -428,16 +428,16 @@
                   name="%Option.Posix.Nostdinc"
                   category="cygwin.compiler.category.preprocessor"
                   command="-nostdinc"
-                  id="cygwin.gnu.compiler.preprocessor.nostdinc"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.preprocessor.nostdinc">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.PreprocOnly"
                   category="cygwin.compiler.category.preprocessor"
                   command="-E"
-                  id="cygwin.gnu.compiler.preprocessor.preprocess"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.preprocessor.preprocess">
             </option>
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.compiler"
@@ -448,103 +448,103 @@
                   name="%Option.Posix.DefSym"
                   category="cygwin.gnu.compiler.category.symbols"
                   command="-D"
-                  id="cygwin.preprocessor.def.symbols"
-                  valueType="definedSymbols">
+                  valueType="definedSymbols"
+                  id="cygwin.preprocessor.def.symbols">
                <listOptionValue
-                     builtIn="true"
-                     value="_X86_=1">
+                     value="_X86_=1"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__OPTIMIZE__">
+                     value="__OPTIMIZE__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__STDC_HOSTED__=1">
+                     value="__STDC_HOSTED__=1"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="i386">
+                     value="i386"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__i386">
+                     value="__i386"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__i386__">
+                     value="__i386__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_i686__">
+                     value="__tune_i686__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_pentiumpro__">
+                     value="__tune_pentiumpro__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_pentium2__">
+                     value="__tune_pentium2__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_pentium3__">
+                     value="__tune_pentium3__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__stdcall=__attribute__((__stdcall__))">
+                     value="__stdcall=__attribute__((__stdcall__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__fastcall=__attribute__((__fastcall__))">
+                     value="__fastcall=__attribute__((__fastcall__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__cdecl=__attribute__((__cdecl__))">
+                     value="__cdecl=__attribute__((__cdecl__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="_stdcall=__attribute__((__stdcall__))">
+                     value="_stdcall=__attribute__((__stdcall__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="_fastcall=__attribute__((__fastcall__))">
+                     value="_fastcall=__attribute__((__fastcall__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="_cdecl=__attribute__((__cdecl__))">
+                     value="_cdecl=__attribute__((__cdecl__))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__declspec(x)=__attribute__((x))">
+                     value="__declspec(x)=__attribute__((x))"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__CYGWIN32__">
+                     value="__CYGWIN32__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__CYGWIN__">
+                     value="__CYGWIN__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="unix">
+                     value="unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix__">
+                     value="__unix__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix">
+                     value="__unix"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <option
                   name="%Option.Posix.UndefSym"
                   category="cygwin.gnu.compiler.category.symbols"
                   command="-U"
-                  id="cygwin.preprocessor.undef.symbol"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.preprocessor.undef.symbol">
             </option>
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.compiler"
@@ -555,11 +555,11 @@
                   name="%Option.Posix.InclPaths"
                   category="cygwin.gnu.compiler.category.dirs"
                   command="-I"
-                  id="cygwin.compiler.general.include.paths"
-                  valueType="includePath">
+                  valueType="includePath"
+                  id="cygwin.compiler.general.include.paths">
                <listOptionValue
-                     builtIn="true"
-                     value="C:\cygwin\usr\include\w32api">
+                     value="C:\cygwin\usr\include\w32api"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <optionCategory
@@ -570,8 +570,8 @@
             <option
                   name="%Option.Posix.OptLevel"
                   category="cygwin.gnu.compiler.category.optimization"
-                  id="cygwin.compiler.general.optimization.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="cygwin.compiler.general.optimization.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Optimize.None"
                      isDefault="false"
@@ -598,8 +598,8 @@
             <option
                   name="%Option.Posix.Optimize.Flags"
                   category="cygwin.gnu.compiler.category.optimization"
-                  id="cygwin.compiler.optimization.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.compiler.optimization.flags">
             </option>
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.compiler"
@@ -609,8 +609,8 @@
             <option
                   name="%Option.Posix.DebugLevel"
                   category="cygwin.gnu.compiler.category.debug"
-                  id="cygwin.compiler.debugging.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="cygwin.compiler.debugging.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Debug.None"
                      isDefault="false"
@@ -638,24 +638,24 @@
                   defaultValue="-gstabs"
                   name="%Option.Posix.Debug.Other"
                   category="cygwin.gnu.compiler.category.debug"
-                  id="cygwin.gnu.compiler.debugging.other"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.gnu.compiler.debugging.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.prof"
                   category="cygwin.gnu.compiler.category.debug"
                   command="-p"
-                  id="cygwin.gnu.compiler.debugging.prof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.debugging.prof">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.gprof"
                   category="cygwin.gnu.compiler.category.debug"
                   command="-pg"
-                  id="cygwin.gnu.compiler.debugging.gprof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.debugging.gprof">
             </option>
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.compiler"
@@ -667,48 +667,48 @@
                   name="%Option.Posix.Warn.Syntax"
                   category="cygwin.compiler.category.warnings"
                   command="-fsyntax-only"
-                  id="cygwin.gnu.compiler.warnings.syntax"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.warnings.syntax">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.Pedandic"
                   category="cygwin.compiler.category.warnings"
                   command="-pedantic"
-                  id="cygwin.gnu.compiler.warnings.pedantic"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.warnings.pedantic">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.PedErrors"
                   category="cygwin.compiler.category.warnings"
                   command="-pedantic-errors"
-                  id="cygwin.gnu.compiler.warnings.pedantic.error"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.warnings.pedantic.error">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.nowarn"
                   category="cygwin.compiler.category.warnings"
                   command="-w"
-                  id="cygwin.gnu.compiler.warnings.nowarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.warnings.nowarn">
             </option>
             <option
                   defaultValue="true"
                   name="%Option.Posix.Warn.allwarn"
                   category="cygwin.compiler.category.warnings"
                   command="-Wall"
-                  id="cygwin.gnu.compiler.warnings.allwarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.warnings.allwarn">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.toerrs"
                   category="cygwin.compiler.category.warnings"
                   command="-Werror"
-                  id="cygwin.gnu.compiler.warnings.toerrors"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.compiler.warnings.toerrors">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.compiler"
@@ -719,78 +719,78 @@
                   defaultValue="-c"
                   name="%Option.OtherFlags"
                   category="cygwin.compiler.category.other"
-                  id="cygwin.compiler.misc.other"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.compiler.misc.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Verbose"
                   category="cygwin.compiler.category.other"
                   command="-v"
-                  id="cygwin.compiler.misc.verbose"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.compiler.misc.verbose">
             </option>
          </tool>
       </target>
       <target
             isTest="false"
             name="Cygwin Executable"
-            binaryParser="org.eclipse.cdt.core.PE"
             parent="cygwin"
+            binaryParser="org.eclipse.cdt.core.PE"
             defaultExtension="exe"
             isAbstract="false"
             id="cygwin.exec">
          <configuration
-               name="%ConfigName.Rel"
-               id="cygwin.exec.release">
+               name="%ConfigName.Dbg"
+               id="cygwin.exec.debug">
             <toolReference
                   id="org.eclipse.cdt.build.tool.cygwin.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
-                     command="-O3"
+                     defaultValue="%Option.Posix.Optimize.None"
+                     command="-O0"
                      id="cygwin.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
+                     command="-g3"
                      id="cygwin.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.cygwin.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="cygwin.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="cygwin.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="cygwin.exec.debug">
+               name="%ConfigName.Rel"
+               id="cygwin.exec.release">
             <toolReference
                   id="org.eclipse.cdt.build.tool.cygwin.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
-                     command="-O0"
+                     defaultValue="%Option.Posix.Optimize.Most"
+                     command="-O3"
                      id="cygwin.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
-                     command="-g3"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="cygwin.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.cygwin.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="cygwin.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="cygwin.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
@@ -799,8 +799,8 @@
                natureFilter="cnature"
                name="%ToolName.linker.c"
                outputFlag="-o"
-               command="gcc"
                outputs="exe"
+               command="gcc"
                id="cdt.build.tool.cygwin.c.link">
             <optionCategory
                   owner="cdt.build.tool.cygwin.c.link"
@@ -812,40 +812,40 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="cygwin.gnu.c.linker.category.general"
                   command="-nostartfiles"
-                  id="cygwin.gnu.c.link.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.link.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="cygwin.gnu.c.linker.category.general"
                   command="-nodefaultlibs"
-                  id="cygwin.gnu.c.link.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.link.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="cygwin.gnu.c.linker.category.general"
                   command="-nostdlib"
-                  id="cygwin.gnu.c.link.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.link.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="cygwin.gnu.c.linker.category.general"
                   command="-s"
-                  id="cygwin.gnu.c.link.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.link.options.strip">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Static"
                   category="cygwin.gnu.c.linker.category.general"
                   command="-static"
-                  id="cygwin.gnu.c.link.options.noshared"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.link.options.noshared">
             </option>
             <optionCategory
                   owner="cdt.build.tool.cygwin.c.link"
@@ -856,15 +856,15 @@
                   name="%Option.Posix.Libs"
                   category="cygwin.gnu.c.linker.category.libs"
                   command="-l"
-                  id="cygwin.gnu.c.link.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="cygwin.gnu.c.link.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="cygwin.gnu.c.linker.category.libs"
                   command="-L"
-                  id="cygwin.gnu.c.link.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.gnu.c.link.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.cygwin.c.link"
@@ -874,29 +874,29 @@
             <option
                   name="%Option.Posix.Linker.Flags"
                   category="cygwin.gnu.c.linker.category.other"
-                  id="cygwin.gnu.c.link.ldflags"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.gnu.c.link.ldflags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="cygwin.gnu.c.linker.category.other"
                   command="-Xlinker"
-                  id="cygwin.gnu.c.link.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.gnu.c.link.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="cygwin.gnu.c.linker.category.other"
-                  id="cygwin.gnu.c.link.ld.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="cygwin.gnu.c.link.ld.userobjs">
             </option>
          </tool>
          <tool
                natureFilter="ccnature"
                name="%ToolName.linker.cpp"
                outputFlag="-o"
-               command="g++"
                outputs="exe"
+               command="g++"
                id="org.eclipse.cdt.build.tool.cygwin.link">
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.link"
@@ -908,40 +908,40 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="cygwin.linker.category.general"
                   command="-nostartfiles"
-                  id="cygwin.gnu.linker.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.linker.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="cygwin.linker.category.general"
                   command="-nodefaultlibs"
-                  id="cygwin.gnu.linker.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.linker.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="cygwin.linker.category.general"
                   command="-nostdlib"
-                  id="cygwin.gnu.linker.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.linker.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="cygwin.linker.category.general"
                   command="-s"
-                  id="cygwin.gnu.linker.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.linker.options.strip">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Static"
                   category="cygwin.linker.category.general"
                   command="-static"
-                  id="cygwin.gnu.linker.options.noshared"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.linker.options.noshared">
             </option>
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.link"
@@ -952,15 +952,15 @@
                   name="%Option.Posix.Libs"
                   category="cygwin.gnu.linker.category.libs"
                   command="-l"
-                  id="cygwin.link.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="cygwin.link.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="cygwin.gnu.linker.category.libs"
                   command="-L"
-                  id="cygwin.link.ld.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.link.ld.paths">
             </option>
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.link"
@@ -970,83 +970,83 @@
             <option
                   name="%Option.Posix.Linker.Flags"
                   category="cygwin.gnu.linker.category.other"
-                  id="cygwin.link.ld.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.link.ld.flags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="cygwin.gnu.linker.category.other"
                   command="-Xlinker"
-                  id="cygwin.gnu.linker.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.gnu.linker.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="cygwin.gnu.linker.category.other"
-                  id="cygwin.gnu.link.ld.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="cygwin.gnu.link.ld.userobjs">
             </option>
          </tool>
       </target>
       <target
             isTest="false"
             name="Cygwin Shared Library"
-            binaryParser="org.eclipse.cdt.core.PE"
             parent="cygwin"
+            binaryParser="org.eclipse.cdt.core.PE"
             defaultExtension="dll"
             isAbstract="false"
             id="cygwin.so">
          <configuration
-               name="%ConfigName.Rel"
-               id="cygwin.so.release">
+               name="%ConfigName.Dbg"
+               id="cygwin.so.debug">
             <toolReference
                   id="org.eclipse.cdt.build.tool.cygwin.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
-                     command="-O3"
+                     defaultValue="%Option.Posix.Optimize.None"
+                     command="-O0"
                      id="cygwin.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
+                     command="-g3"
                      id="cygwin.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.cygwin.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="cygwin.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="cygwin.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="cygwin.so.debug">
+               name="%ConfigName.Rel"
+               id="cygwin.so.release">
             <toolReference
                   id="org.eclipse.cdt.build.tool.cygwin.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
-                     command="-O0"
+                     defaultValue="%Option.Posix.Optimize.Most"
+                     command="-O3"
                      id="cygwin.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
-                     command="-g3"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="cygwin.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.cygwin.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="cygwin.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="cygwin.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
@@ -1055,9 +1055,9 @@
                natureFilter="cnature"
                name="%ToolName.linker.c"
                outputFlag="-o"
-               command="gcc"
-               outputPrefix="lib"
                outputs="dll"
+               outputPrefix="lib"
+               command="gcc"
                id="cdt.build.tool.cygwin.c.solink">
             <optionCategory
                   owner="cdt.build.tool.cygwin.c.solink"
@@ -1069,40 +1069,40 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="cygwin.gnu.c.solink.category.general"
                   command="-nostartfiles"
-                  id="cygwin.gnu.c.solink.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.solink.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="cygwin.gnu.c.solink.category.general"
                   command="-nodefaultlibs"
-                  id="cygwin.gnu.c.solink.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.solink.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="cygwin.gnu.c.solink.category.general"
                   command="-nostdlib"
-                  id="cygwin.gnu.c.solink.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.solink.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="cygwin.gnu.c.solink.category.general"
                   command="-s"
-                  id="cygwin.gnu.c.solink.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.solink.options.strip">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Static"
                   category="cygwin.gnu.c.solink.category.general"
                   command="-static"
-                  id="cygwin.gnu.c.solink.options.noshared"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.c.solink.options.noshared">
             </option>
             <optionCategory
                   owner="cdt.build.tool.cygwin.c.solink"
@@ -1113,15 +1113,15 @@
                   name="%Option.Posix.Libs"
                   category="cygwin.gnu.c.solink.category.libs"
                   command="-l"
-                  id="cygwin.gnu.c.solink.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="cygwin.gnu.c.solink.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="cygwin.gnu.c.solink.category.libs"
                   command="-L"
-                  id="cygwin.gnu.c.solink.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.gnu.c.solink.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.cygwin.c.solink"
@@ -1132,30 +1132,30 @@
                   defaultValue="-shared"
                   name="%Option.Posix.Linker.Flags"
                   category="cygwin.gnu.c.solink.category.other"
-                  id="cygwin.gnu.c.solink.ldflags"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.gnu.c.solink.ldflags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="cygwin.gnu.c.solink.category.other"
                   command="-Xlinker"
-                  id="cygwin.gnu.c.solink.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.gnu.c.solink.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="cygwin.gnu.c.solink.category.other"
-                  id="cygwin.gnu.c.solink.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="cygwin.gnu.c.solink.userobjs">
             </option>
          </tool>
          <tool
                natureFilter="ccnature"
                name="%ToolName.linker.cpp"
                outputFlag="-o"
-               command="g++"
-               outputPrefix="lib"
                outputs="dll"
+               outputPrefix="lib"
+               command="g++"
                id="org.eclipse.cdt.build.tool.cygwin.solink">
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.solink"
@@ -1167,32 +1167,32 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="cygwin.gnu.solink.category.general"
                   command="-nostartfiles"
-                  id="cygwin.gnu.solink.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.solink.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="cygwin.gnu.solink.category.general"
                   command="-nodefaultlibs"
-                  id="cygwin.gnu.solink.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.solink.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="cygwin.gnu.solink.category.general"
                   command="-nostdlib"
-                  id="cygwin.gnu.solink.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.solink.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="cygwin.gnu.solink.category.general"
                   command="-s"
-                  id="cygwin.gnu.solink.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="cygwin.gnu.solink.options.strip">
             </option>
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.solink"
@@ -1203,15 +1203,15 @@
                   name="%Option.Posix.Libs"
                   category="cygwin.gnu.solink.category.libs"
                   command="-l"
-                  id="cygwin.solink.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="cygwin.solink.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="cygwin.gnu.solink.category.libs"
                   command="-L"
-                  id="cygwin.solink.ld.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.solink.ld.paths">
             </option>
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.solink"
@@ -1222,61 +1222,61 @@
                   defaultValue="-shared"
                   name="%Option.Posix.Linker.Flags"
                   category="cygwin.gnu.solink.category.other"
-                  id="cygwin.solink.ld.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.solink.ld.flags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="cygwin.gnu.solink.category.other"
                   command="-Xlinker"
-                  id="cygwin.gnu.solinker.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.gnu.solinker.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="cygwin.gnu.solink.category.other"
-                  id="cygwin.gnu.solink.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="cygwin.gnu.solink.userobjs">
             </option>
          </tool>
       </target>
       <target
             isTest="true"
             name="Cygwin Export Library (DLL)"
-            binaryParser="org.eclipse.cdt.core.PE"
             parent="cygwin"
+            binaryParser="org.eclipse.cdt.core.PE"
             defaultExtension="dll.a"
             isAbstract="false"
             id="cygwin.exp">
          <configuration
-               name="%ConfigName.Rel"
-               id="cygwin.exp.release">
+               name="%ConfigName.Dbg"
+               id="cygwin.exp.debug">
             <toolReference
                   id="org.eclipse.cdt.build.tool.cygwin.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
-                     command="-O3"
+                     defaultValue="%Option.Posix.Optimize.None"
+                     command="-O0"
                      id="cygwin.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
+                     command="-g3"
                      id="cygwin.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="cygwin.exp.debug">
+               name="%ConfigName.Rel"
+               id="cygwin.exp.release">
             <toolReference
                   id="org.eclipse.cdt.build.tool.cygwin.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
-                     command="-O0"
+                     defaultValue="%Option.Posix.Optimize.Most"
+                     command="-O3"
                      id="cygwin.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
-                     command="-g3"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="cygwin.compiler.debugging.level">
                </optionReference>
             </toolReference>
@@ -1285,9 +1285,9 @@
                natureFilter="ccnature"
                name="%ToolName.linker.cpp"
                outputFlag="-o"
-               command="g++ -shared"
-               outputPrefix="cyg"
                outputs="dll"
+               outputPrefix="cyg"
+               command="g++ -shared"
                id="org.eclipse.cdt.build.tool.cygwin.explink">
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.explink"
@@ -1298,84 +1298,84 @@
                   defaultValue="-Wl,--export-all-symbols -Wl,--enable-auto-import"
                   name="%Option.Posix.Linker.Flags"
                   category="cygwin.explink.category.general"
-                  id="cygwin.explink.ld.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.explink.ld.flags">
             </option>
             <option
                   name="%Option.Posix.Libs"
                   category="cygwin.explink.category.general"
                   command="-l"
-                  id="cygwin.explink.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="cygwin.explink.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="cygwin.explink.category.general"
                   command="-L"
-                  id="cygwin.explink.ld.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="cygwin.explink.ld.paths">
             </option>
          </tool>
       </target>
       <target
             isTest="false"
             name="Cygwin Static Library"
-            binaryParser="org.eclipse.cdt.core.PE"
             parent="cygwin"
+            binaryParser="org.eclipse.cdt.core.PE"
             defaultExtension="a"
             isAbstract="false"
             id="cygwin.lib">
          <configuration
-               name="%ConfigName.Rel"
-               id="cygwin.lib.release">
+               name="%ConfigName.Dbg"
+               id="cygwin.lib.debug">
             <toolReference
                   id="org.eclipse.cdt.build.tool.cygwin.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
-                     command="-O3"
+                     defaultValue="%Option.Posix.Optimize.None"
+                     command="-O0"
                      id="cygwin.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
+                     command="-g3"
                      id="cygwin.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.cygwin.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="cygwin.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="cygwin.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="cygwin.lib.debug">
+               name="%ConfigName.Rel"
+               id="cygwin.lib.release">
             <toolReference
                   id="org.eclipse.cdt.build.tool.cygwin.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
-                     command="-O0"
+                     defaultValue="%Option.Posix.Optimize.Most"
+                     command="-O3"
                      id="cygwin.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
-                     command="-g3"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="cygwin.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.cygwin.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="cygwin.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="cygwin.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
@@ -1383,9 +1383,9 @@
          <tool
                natureFilter="both"
                name="%ToolName.archiver"
-               command="ar"
-               outputPrefix="lib"
                outputs="a"
+               outputPrefix="lib"
+               command="ar"
                id="org.eclipse.cdt.build.tool.cygwin.ar">
             <optionCategory
                   owner="org.eclipse.cdt.build.tool.cygwin.ar"
@@ -1396,8 +1396,8 @@
                   defaultValue="-r"
                   name="%Option.Posix.Archiver.Flags"
                   category="cygwin.ar.category.general"
-                  id="cygwin.ar.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="cygwin.ar.flags">
             </option>
          </tool>
       </target>
@@ -1413,12 +1413,12 @@
             osList="linux">
          <tool
                natureFilter="cnature"
-               name="%ToolName.compiler.c"
                sources="c"
+               name="%ToolName.compiler.c"
                headerExtensions="h"
                outputFlag="-o"
-               command="gcc"
                outputs="o"
+               command="gcc"
                id="cdt.build.tool.linux.gnu.c.compiler">
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.compiler"
@@ -1430,16 +1430,16 @@
                   name="%Option.Posix.Nostdinc"
                   category="linux.gnu.c.compiler.category.preprocessor"
                   command="-nostdinc"
-                  id="linux.gnu.c.compiler.preprocessor.nostdinc"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.preprocessor.nostdinc">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.PreprocOnly"
                   category="linux.gnu.c.compiler.category.preprocessor"
                   command="-E"
-                  id="linux.gnu.c.compiler.preprocessor.preprocess"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.preprocessor.preprocess">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.compiler"
@@ -1450,75 +1450,75 @@
                   name="%Option.Posix.DefSym"
                   category="linux.gnu.c.compiler.category.symbols"
                   command="-D"
-                  id="linux.gnu.c.preprocessor.def.symbols"
-                  valueType="definedSymbols">
+                  valueType="definedSymbols"
+                  id="linux.gnu.c.preprocessor.def.symbols">
                <listOptionValue
-                     builtIn="true"
-                     value="__ELF__">
+                     value="__ELF__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="unix">
+                     value="unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__gnu_linux__">
+                     value="__gnu_linux__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="linux">
+                     value="linux"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix__">
+                     value="__unix__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__linux__">
+                     value="__linux__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix">
+                     value="__unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__linux">
+                     value="__linux"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__OPTIMIZE__">
+                     value="__OPTIMIZE__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__STDC_HOSTED__=1">
+                     value="__STDC_HOSTED__=1"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="_GNU_SOURCE">
+                     value="_GNU_SOURCE"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="i386">
+                     value="i386"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__i386">
+                     value="__i386"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__i386__">
+                     value="__i386__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_i386__">
+                     value="__tune_i386__"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <option
                   name="%Option.Posix.UndefSym"
                   category="linux.gnu.c.compiler.category.symbols"
                   command="-U"
-                  id="linux.gnu.c.preprocessor.undef.symbol"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.c.preprocessor.undef.symbol">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.compiler"
@@ -1529,8 +1529,8 @@
                   name="%Option.Posix.InclPaths"
                   category="linux.gnu.c.compiler.category.dirs"
                   command="-I"
-                  id="linux.gnu.c.compiler.general.include.paths"
-                  valueType="includePath">
+                  valueType="includePath"
+                  id="linux.gnu.c.compiler.general.include.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.compiler"
@@ -1540,8 +1540,8 @@
             <option
                   name="%Option.Posix.OptLevel"
                   category="linux.gnu.c.compiler.category.optimization"
-                  id="linux.gnu.c.compiler.general.optimization.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="linux.gnu.c.compiler.general.optimization.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Optimize.None"
                      isDefault="false"
@@ -1568,8 +1568,8 @@
             <option
                   name="%Option.Posix.Optimize.Flags"
                   category="linux.gnu.c.compiler.category.optimization"
-                  id="linux.gnu.c.compiler.optimization.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.c.compiler.optimization.flags">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.compiler"
@@ -1579,8 +1579,8 @@
             <option
                   name="%Option.Posix.DebugLevel"
                   category="linux.gnu.c.compiler.category.debug"
-                  id="linux.c.compiler.debugging.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="linux.c.compiler.debugging.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Debug.None"
                      isDefault="false"
@@ -1607,24 +1607,24 @@
             <option
                   name="%Option.Posix.Debug.Other"
                   category="linux.gnu.c.compiler.category.debug"
-                  id="linux.gnu.c.compiler.debugging.other"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.c.compiler.debugging.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.gprof"
                   category="linux.gnu.c.compiler.category.debug"
                   command="-pg"
-                  id="linux.gnu.c.compiler.debugging.gprof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.debugging.gprof">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.prof"
                   category="linux.gnu.c.compiler.category.debug"
                   command="-p"
-                  id="linux.gnu.c.compiler.debugging.prof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.debugging.prof">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.compiler"
@@ -1636,48 +1636,48 @@
                   name="%Option.Posix.Warn.Syntax"
                   category="linux.c.compiler.category.warnings"
                   command="-fsyntax-only"
-                  id="linux.gnu.c.compiler.warnings.syntax"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.warnings.syntax">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.Pedandic"
                   category="linux.c.compiler.category.warnings"
                   command="-pedantic"
-                  id="linux.gnu.c.compiler.warnings.pedantic"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.warnings.pedantic">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.PedErrors"
                   category="linux.c.compiler.category.warnings"
                   command="-pedantic-errors"
-                  id="linux.gnu.c.compiler.warnings.pedantic.error"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.warnings.pedantic.error">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.nowarn"
                   category="linux.c.compiler.category.warnings"
                   command="-w"
-                  id="linux.gnu.c.compiler.warnings.nowarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.warnings.nowarn">
             </option>
             <option
                   defaultValue="true"
                   name="%Option.Posix.Warn.allwarn"
                   category="linux.c.compiler.category.warnings"
                   command="-Wall"
-                  id="linux.gnu.c.compiler.warnings.allwarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.warnings.allwarn">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.toerrs"
                   category="linux.c.compiler.category.warnings"
                   command="-Werror"
-                  id="linux.gnu.c.compiler.warnings.toerrors"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.warnings.toerrors">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.compiler"
@@ -1688,34 +1688,34 @@
                   defaultValue="-c"
                   name="%Option.OtherFlags"
                   category="linux.c.compiler.category.other"
-                  id="linux.gnu.c.compiler.misc.other"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.c.compiler.misc.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Verbose"
                   category="linux.c.compiler.category.other"
                   command="-v"
-                  id="linux.gnu.c.compiler.misc.verbose"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.misc.verbose">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Ansi"
                   category="linux.c.compiler.category.other"
                   command="-ansi"
-                  id="linux.gnu.c.compiler.misc.ansi"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.compiler.misc.ansi">
             </option>
          </tool>
          <tool
                natureFilter="ccnature"
-               name="%ToolName.compiler.cpp"
                sources="c,C,cc,cxx,cpp"
+               name="%ToolName.compiler.cpp"
                headerExtensions="h,H,hpp"
                outputFlag="-o"
-               command="g++"
                outputs="o"
+               command="g++"
                id="cdt.build.tool.linux.gnu.compiler">
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.compiler"
@@ -1727,90 +1727,90 @@
                   name="%Option.Posix.Nostdinc"
                   category="linux.gnu.compiler.category.preprocessor"
                   command="-nostdinc"
-                  id="linux.gnu.compiler.preprocessor.nostdinc"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.preprocessor.nostdinc">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.PreprocOnly"
                   category="linux.gnu.compiler.category.preprocessor"
                   command="-E"
-                  id="linux.gnu.compiler.preprocessor.preprocess"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.preprocessor.preprocess">
             </option>
             <option
                   name="%Option.Posix.DefSym"
                   category="linux.gnu.compiler.category.preprocessor"
                   command="-D"
-                  id="linux.gnu.compiler.preprocessor.def"
-                  valueType="definedSymbols">
+                  valueType="definedSymbols"
+                  id="linux.gnu.compiler.preprocessor.def">
                <listOptionValue
-                     builtIn="true"
-                     value="__ELF__">
+                     value="__ELF__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="unix">
+                     value="unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__gnu_linux__">
+                     value="__gnu_linux__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="linux">
+                     value="linux"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix__">
+                     value="__unix__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__linux__">
+                     value="__linux__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix">
+                     value="__unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__linux">
+                     value="__linux"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__OPTIMIZE__">
+                     value="__OPTIMIZE__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__STDC_HOSTED__=1">
+                     value="__STDC_HOSTED__=1"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="_GNU_SOURCE">
+                     value="_GNU_SOURCE"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="i386">
+                     value="i386"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__i386">
+                     value="__i386"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__i386__">
+                     value="__i386__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__tune_i386__">
+                     value="__tune_i386__"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <option
                   name="%Option.Posix.UndefSym"
                   category="linux.gnu.compiler.category.preprocessor"
                   command="-U"
-                  id="linux.gnu.compiler.preprocessor.undef"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.compiler.preprocessor.undef">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.compiler"
@@ -1821,15 +1821,15 @@
                   name="%Option.Posix.InclPaths"
                   category="linux.gnu.compiler.category.dirs"
                   command="-I"
-                  id="linux.gnu.compiler.dirs.incpaths"
-                  valueType="includePath">
+                  valueType="includePath"
+                  id="linux.gnu.compiler.dirs.incpaths">
                <listOptionValue
-                     builtIn="true"
-                     value="/usr/local/include">
+                     value="/usr/local/include"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="/usr/include">
+                     value="/usr/include"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <optionCategory
@@ -1840,8 +1840,8 @@
             <option
                   name="%Option.Posix.OptLevel"
                   category="linux.gnu.compiler.category.optimization"
-                  id="linux.gnu.compiler.optimization.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="linux.gnu.compiler.optimization.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Optimize.None"
                      command="-O0"
@@ -1867,8 +1867,8 @@
             <option
                   name="%Option.Posix.Optimize.Flags"
                   category="linux.gnu.compiler.category.optimization"
-                  id="linux.compiler.optimization.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.compiler.optimization.flags">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.compiler"
@@ -1878,8 +1878,8 @@
             <option
                   name="%Option.Posix.DebugLevel"
                   category="linux.gnu.compiler.category.debug"
-                  id="linux.gnu.compiler.debugging.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="linux.gnu.compiler.debugging.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Debug.None"
                      isDefault="false"
@@ -1906,24 +1906,24 @@
             <option
                   name="%Option.Posix.Debug.Other"
                   category="linux.gnu.compiler.category.debug"
-                  id="linux.gnu.compiler.debugging.other"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.compiler.debugging.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.prof"
                   category="linux.gnu.compiler.category.debug"
                   command="-p"
-                  id="linux.gnu.compiler.debugging.prof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.debugging.prof">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.gprof"
                   category="linux.gnu.compiler.category.debug"
                   command="-pg"
-                  id="linux.gnu.compiler.debugging.gprof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.debugging.gprof">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.compiler"
@@ -1935,48 +1935,48 @@
                   name="%Option.Posix.Warn.Syntax"
                   category="linux.gnu.compiler.category.warnings"
                   command="-fsyntax-only"
-                  id="linux.gnu.compiler.warnings.syntax"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.syntax">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.Pedandic"
                   category="linux.gnu.compiler.category.warnings"
                   command="-pedantic"
-                  id="linux.gnu.compiler.warnings.pedantic"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.pedantic">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.PedErrors"
                   category="linux.gnu.compiler.category.warnings"
                   command="-pedantic-errors"
-                  id="linux.gnu.compiler.warnings.pedantic.error"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.pedantic.error">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.nowarn"
                   category="linux.gnu.compiler.category.warnings"
                   command="-w"
-                  id="linux.gnu.compiler.warnings.nowarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.nowarn">
             </option>
             <option
                   defaultValue="true"
                   name="%Option.Posix.Warn.allwarn"
                   category="linux.gnu.compiler.category.warnings"
                   command="-Wall"
-                  id="linux.gnu.compiler.warnings.allwarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.allwarn">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.toerrs"
                   category="linux.gnu.compiler.category.warnings"
                   command="-Werror"
-                  id="linux.gnu.compiler.warnings.toerrors"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.toerrors">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.compiler"
@@ -1987,82 +1987,82 @@
                   defaultValue="-c"
                   name="%Option.OtherFlags"
                   category="linux.gnu.compiler.category.other"
-                  id="linux.gnu.compiler.other.other"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.compiler.other.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Verbose"
                   category="linux.gnu.compiler.category.other"
                   command="-v"
-                  id="linux.gnu.compiler.other.verbose"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.compiler.other.verbose">
             </option>
          </tool>
       </target>
       <target
             isTest="false"
             name="Linux Executable"
-            binaryParser="org.eclipse.cdt.core.ELF"
             parent="linux.gnu"
+            binaryParser="org.eclipse.cdt.core.ELF"
             isAbstract="false"
             id="linux.gnu.exec">
          <configuration
-               name="%ConfigName.Rel"
-               id="linux.gnu.exec.release">
+               name="%ConfigName.Dbg"
+               id="linux.gnu.exec.debug">
             <toolReference
                   id="cdt.build.tool.linux.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="linux.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="linux.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.linux.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="linux.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="linux.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="linux.gnu.exec.debug">
+               name="%ConfigName.Rel"
+               id="linux.gnu.exec.release">
             <toolReference
                   id="cdt.build.tool.linux.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="linux.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="linux.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.linux.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="linux.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="linux.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <tool
                natureFilter="cnature"
-               name="%ToolName.linker.c"
                sources="o"
+               name="%ToolName.linker.c"
                outputFlag="-o"
                command="gcc"
                id="cdt.build.tool.linux.c.link">
@@ -2076,40 +2076,40 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="linux.gnu.c.linker.category.general"
                   command="-nostartfiles"
-                  id="linux.gnu.c.link.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.link.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="linux.gnu.c.linker.category.general"
                   command="-nodefaultlibs"
-                  id="linux.gnu.c.link.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.link.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="linux.gnu.c.linker.category.general"
                   command="-nostdlib"
-                  id="linux.gnu.c.link.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.link.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="linux.gnu.c.linker.category.options"
                   command="-s"
-                  id="linux.gnu.c.link.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.link.options.strip">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Static"
                   category="linux.gnu.c.linker.category.general"
                   command="-static"
-                  id="linux.gnu.c.link.options.noshared"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.link.options.noshared">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.c.link"
@@ -2120,15 +2120,15 @@
                   name="%Option.Posix.Libs"
                   category="linux.gnu.c.linker.category.libs"
                   command="-l"
-                  id="linux.gnu.c.link.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="linux.gnu.c.link.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="linux.gnu.c.linker.category.libs"
                   command="-L"
-                  id="linux.gnu.c.link.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.c.link.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.c.link"
@@ -2138,27 +2138,27 @@
             <option
                   name="%Option.Posix.Linker.Flags"
                   category="linux.gnu.c.linker.category.other"
-                  id="linux.gnu.c.link.ldflags"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.c.link.ldflags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="linux.gnu.c.linker.category.other"
                   command="-Xlinker"
-                  id="linux.gnu.c.link.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.c.link.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="linux.gnu.c.linker.category.other"
-                  id="linux.gnu.c.link.ld.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="linux.gnu.c.link.ld.userobjs">
             </option>
          </tool>
          <tool
                natureFilter="ccnature"
-               name="%ToolName.linker.cpp"
                sources="o"
+               name="%ToolName.linker.cpp"
                outputFlag="-o"
                command="g++"
                id="cdt.build.tool.linux.gnu.link">
@@ -2172,40 +2172,40 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="linux.gnu.linker.category.options"
                   command="-nostartfiles"
-                  id="linux.gnu.linker.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="linux.gnu.linker.category.options"
                   command="-nodefaultlibs"
-                  id="linux.gnu.linker.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="linux.gnu.linker.category.options"
                   command="-nostdlib"
-                  id="linux.gnu.linker.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="linux.gnu.linker.category.options"
                   command="-s"
-                  id="linux.gnu.linker.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.strip">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Static"
                   category="linux.gnu.linker.category.options"
                   command="-static"
-                  id="linux.gnu.linker.options.noshared"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.noshared">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.link"
@@ -2216,15 +2216,15 @@
                   name="%Option.Posix.Libs"
                   category="linux.gnu.linker.category.libs"
                   command="-l"
-                  id="linux.gnu.linker.libs.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="linux.gnu.linker.libs.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="linux.gnu.linker.category.libs"
                   command="-L"
-                  id="linux.gnu.linker.libs.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.linker.libs.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.link"
@@ -2234,92 +2234,92 @@
             <option
                   name="%Option.Posix.Linker.Flags"
                   category="linux.gnu.linker.category.other"
-                  id="linux.gnu.linker.libs.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.linker.libs.flags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="linux.gnu.linker.category.other"
                   command="-Xlinker"
-                  id="linux.gnu.linker.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.linker.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="linux.gnu.linker.category.other"
-                  id="linux.gnu.linker.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="linux.gnu.linker.userobjs">
             </option>
          </tool>
       </target>
       <target
             isTest="false"
             name="Linux Shared Library"
-            binaryParser="org.eclipse.cdt.core.ELF"
             parent="linux.gnu"
+            binaryParser="org.eclipse.cdt.core.ELF"
             defaultExtension="so"
             isAbstract="false"
             id="linux.gnu.so">
          <configuration
-               name="%ConfigName.Rel"
-               id="linux.gnu.so.release">
+               name="%ConfigName.Dbg"
+               id="linux.gnu.so.debug">
             <toolReference
                   id="cdt.build.tool.linux.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="linux.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="linux.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.linux.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="linux.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="linux.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="linux.gnu.so.debug">
+               name="%ConfigName.Rel"
+               id="linux.gnu.so.release">
             <toolReference
                   id="cdt.build.tool.linux.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="linux.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="linux.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.linux.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="linux.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="linux.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <tool
                natureFilter="cnature"
-               name="%ToolName.linker.c"
                sources="o"
+               name="%ToolName.linker.c"
                outputFlag="-o"
-               command="gcc"
-               outputPrefix="lib"
                outputs="so"
+               outputPrefix="lib"
+               command="gcc"
                id="cdt.build.tool.linux.gnu.c.solink">
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.solink"
@@ -2331,40 +2331,40 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="linux.gnu.c.solink.category.general"
                   command="-nostartfiles"
-                  id="linux.gnu.c.solink.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.solink.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="linux.gnu.c.solink.category.general"
                   command="-nodefaultlibs"
-                  id="linux.gnu.c.solink.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.solink.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="linux.gnu.c.solink.category.general"
                   command="-nostdlib"
-                  id="linux.gnu.c.solink.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.solink.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="linux.gnu.c.solink.category.general"
                   command="-s"
-                  id="linux.gnu.c.solink.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.solink.options.strip">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Static"
                   category="linux.gnu.c.solink.category.general"
                   command="-static"
-                  id="linux.gnu.c.solink.options.noshared"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.c.solink.options.noshared">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.solink"
@@ -2375,15 +2375,15 @@
                   name="%Option.Posix.Libs"
                   category="linux.gnu.c.solink.category.libs"
                   command="-l"
-                  id="linux.gnu.c.solink.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="linux.gnu.c.solink.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="linux.gnu.c.solink.category.libs"
                   command="-L"
-                  id="linux.gnu.c.solink.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.c.solink.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.c.solink"
@@ -2394,31 +2394,31 @@
                   defaultValue="-shared"
                   name="%Option.Posix.Linker.Flags"
                   category="linux.gnu.c.solink.category.other"
-                  id="linux.gnu.c.solink.ldflags"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.c.solink.ldflags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="linux.gnu.c.solink.category.other"
                   command="-Xlinker"
-                  id="linux.gnu.c.solink.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.c.solink.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="linux.gnu.c.solink.category.other"
-                  id="linux.gnu.c.solink.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="linux.gnu.c.solink.userobjs">
             </option>
          </tool>
          <tool
                natureFilter="ccnature"
-               name="%ToolName.linker.cpp"
                sources="o"
+               name="%ToolName.linker.cpp"
                outputFlag="-o"
-               command="g++"
-               outputPrefix="lib"
                outputs="so"
+               outputPrefix="lib"
+               command="g++"
                id="cdt.build.tool.linux.gnu.solink">
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.solink"
@@ -2430,32 +2430,32 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="linux.gnu.solink.category.options"
                   command="-nostartfiles"
-                  id="linux.gnu.solink.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="linux.gnu.solink.category.options"
                   command="-nodefaultlibs"
-                  id="linux.gnu.solink.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="linux.gnu.solink.category.options"
                   command="-nostdlib"
-                  id="linux.gnu.solink.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="linux.gnu.solink.category.options"
                   command="-s"
-                  id="linux.gnu.solink.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.strip">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.solink"
@@ -2466,15 +2466,15 @@
                   name="%Option.Posix.Libs"
                   category="linux.gnu.solink.category.libs"
                   command="-l"
-                  id="linux.gnu.solink.libs.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="linux.gnu.solink.libs.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="linux.gnu.solink.category.libs"
                   command="-L"
-                  id="linux.gnu.solink.libs.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.solink.libs.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.solink"
@@ -2485,91 +2485,91 @@
                   defaultValue="-shared"
                   name="%Option.Posix.Linker.Flags"
                   category="linux.gnu.solink.category.other"
-                  id="linux.gnu.solink.libs.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.solink.libs.flags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="linux.gnu.solink.category.other"
                   command="-Xlinker"
-                  id="linux.gnu.solink.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="linux.gnu.solink.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="linux.gnu.solink.category.other"
-                  id="linux.gnu.solink.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="linux.gnu.solink.userobjs">
             </option>
          </tool>
       </target>
       <target
             isTest="false"
             name="Linux Static Library"
-            binaryParser="org.eclipse.cdt.core.ELF"
             parent="linux.gnu"
+            binaryParser="org.eclipse.cdt.core.ELF"
             defaultExtension="a"
             isAbstract="false"
             id="linux.gnu.lib">
          <configuration
-               name="%ConfigName.Rel"
-               id="linux.gnu.lib.release">
+               name="%ConfigName.Dbg"
+               id="linux.gnu.lib.debug">
             <toolReference
                   id="cdt.build.tool.linux.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="linux.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="linux.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.linux.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="linux.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="linux.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="linux.gnu.lib.debug">
+               name="%ConfigName.Rel"
+               id="linux.gnu.lib.release">
             <toolReference
                   id="cdt.build.tool.linux.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="linux.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="linux.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.linux.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="linux.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="linux.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <tool
                natureFilter="both"
-               name="%ToolName.archiver"
                sources="o"
-               command="ar"
-               outputPrefix="lib"
+               name="%ToolName.archiver"
                outputs="a"
+               outputPrefix="lib"
+               command="ar"
                id="cdt.build.tool.linux.gnu.lib">
             <optionCategory
                   owner="cdt.build.tool.linux.gnu.lib"
@@ -2580,8 +2580,8 @@
                   defaultValue="-r"
                   name="%Option.Posix.Archiver.Flags"
                   category="linux.gnu.lib.category.general"
-                  id="linux.gnu.lib.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="linux.gnu.lib.flags">
             </option>
          </tool>
       </target>
@@ -2597,12 +2597,12 @@
             osList="solaris">
          <tool
                natureFilter="cnature"
-               name="%ToolName.compiler.c"
                sources="c"
+               name="%ToolName.compiler.c"
                headerExtensions="h"
                outputFlag="-o"
-               command="gcc"
                outputs="o"
+               command="gcc"
                id="cdt.build.tool.solaris.gnu.c.compiler">
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.compiler"
@@ -2614,16 +2614,16 @@
                   name="%Option.Posix.Nostdinc"
                   category="solaris.gnu.c.compiler.category.preprocessor"
                   command="-nostdinc"
-                  id="solaris.gnu.c.compiler.preprocessor.nostdinc"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.preprocessor.nostdinc">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.PreprocOnly"
                   category="solaris.gnu.c.compiler.category.preprocessor"
                   command="-E"
-                  id="solaris.gnu.c.compiler.preprocessor.preprocess"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.preprocessor.preprocess">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.compiler"
@@ -2634,67 +2634,67 @@
                   name="%Option.Posix.DefSym"
                   category="solaris.gnu.c.compiler.category.symbols"
                   command="-D"
-                  id="solaris.gnu.c.preprocessor.def.symbols"
-                  valueType="definedSymbols">
+                  valueType="definedSymbols"
+                  id="solaris.gnu.c.preprocessor.def.symbols">
                <listOptionValue
-                     builtIn="true"
-                     value="sun">
+                     value="sun"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="sparc">
+                     value="sparc"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="unix">
+                     value="unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__svr4__">
+                     value="__svr4__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__SVR4">
+                     value="__SVR4"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__GCC_NEW_VARARGS__">
+                     value="__GCC_NEW_VARARGS__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__sun__">
+                     value="__sun__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__sparc__">
+                     value="__sparc__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix__">
+                     value="__unix__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__sun">
+                     value="__sun"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__sparc">
+                     value="__sparc"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix">
+                     value="__unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__OPTIMIZE__">
+                     value="__OPTIMIZE__"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <option
                   name="%Option.Posix.UndefSym"
                   category="solaris.gnu.c.compiler.category.symbols"
                   command="-U"
-                  id="solaris.gnu.c.preprocessor.undef.symbol"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="solaris.gnu.c.preprocessor.undef.symbol">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.compiler"
@@ -2705,8 +2705,8 @@
                   name="%Option.Posix.InclPaths"
                   category="solaris.gnu.c.compiler.category.dirs"
                   command="-I"
-                  id="solaris.gnu.c.compiler.general.include.paths"
-                  valueType="includePath">
+                  valueType="includePath"
+                  id="solaris.gnu.c.compiler.general.include.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.compiler"
@@ -2716,8 +2716,8 @@
             <option
                   name="%Option.Posix.OptLevel"
                   category="solaris.gnu.c.compiler.category.optimization"
-                  id="solaris.gnu.c.compiler.general.optimization.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="solaris.gnu.c.compiler.general.optimization.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Optimize.None"
                      isDefault="false"
@@ -2744,8 +2744,8 @@
             <option
                   name="%Option.Posix.Optimize.Flags"
                   category="solaris.gnu.c.compiler.category.optimization"
-                  id="solaris.gnu.c.compiler.optimization.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.c.compiler.optimization.flags">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.compiler"
@@ -2755,8 +2755,8 @@
             <option
                   name="%Option.Posix.DebugLevel"
                   category="solaris.gnu.c.compiler.category.debug"
-                  id="solaris.c.compiler.debugging.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="solaris.c.compiler.debugging.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Debug.None"
                      isDefault="false"
@@ -2783,24 +2783,24 @@
             <option
                   name="%Option.Posix.Debug.Other"
                   category="solaris.gnu.c.compiler.category.debug"
-                  id="solaris.gnu.c.compiler.debugging.other"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.c.compiler.debugging.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.gprof"
                   category="solaris.gnu.c.compiler.category.debug"
                   command="-pg"
-                  id="solaris.gnu.c.compiler.debugging.gprof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.debugging.gprof">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.prof"
                   category="solaris.gnu.c.compiler.category.debug"
                   command="-p"
-                  id="solaris.gnu.c.compiler.debugging.prof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.debugging.prof">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.compiler"
@@ -2812,48 +2812,48 @@
                   name="%Option.Posix.Warn.Syntax"
                   category="solaris.c.compiler.category.warnings"
                   command="-fsyntax-only"
-                  id="solaris.gnu.c.compiler.warnings.syntax"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.warnings.syntax">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.Pedandic"
                   category="solaris.c.compiler.category.warnings"
                   command="-pedantic"
-                  id="solaris.gnu.c.compiler.warnings.pedantic"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.warnings.pedantic">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.PedErrors"
                   category="solaris.c.compiler.category.warnings"
                   command="-pedantic-errors"
-                  id="solaris.gnu.c.compiler.warnings.pedantic.error"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.warnings.pedantic.error">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.nowarn"
                   category="solaris.c.compiler.category.warnings"
                   command="-w"
-                  id="solaris.gnu.c.compiler.warnings.nowarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.warnings.nowarn">
             </option>
             <option
                   defaultValue="true"
                   name="%Option.Posix.Warn.allwarn"
                   category="solaris.c.compiler.category.warnings"
                   command="-Wall"
-                  id="solaris.gnu.c.compiler.warnings.allwarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.warnings.allwarn">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.toerrs"
                   category="solaris.c.compiler.category.warnings"
                   command="-Werror"
-                  id="solaris.gnu.c.compiler.warnings.toerrors"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.warnings.toerrors">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.compiler"
@@ -2864,34 +2864,34 @@
                   defaultValue="-c"
                   name="%Option.OtherFlags"
                   category="solaris.c.compiler.category.other"
-                  id="solaris.gnu.c.compiler.misc.other"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.c.compiler.misc.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Verbose"
                   category="solaris.c.compiler.category.other"
                   command="-v"
-                  id="solaris.gnu.c.compiler.misc.verbose"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.misc.verbose">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Ansi"
                   category="solaris.c.compiler.category.other"
                   command="-ansi"
-                  id="solaris.gnu.c.compiler.misc.ansi"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.compiler.misc.ansi">
             </option>
          </tool>
          <tool
                natureFilter="ccnature"
-               name="%ToolName.compiler.cpp"
                sources="c,C,cc,cxx,cpp"
+               name="%ToolName.compiler.cpp"
                headerExtensions="h,H,hpp"
                outputFlag="-o"
-               command="g++"
                outputs="o"
+               command="g++"
                id="cdt.build.tool.solaris.gnu.compiler">
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.compiler"
@@ -2903,74 +2903,74 @@
                   name="%Option.Posix.Nostdinc"
                   category="solaris.gnu.compiler.category.preprocessor"
                   command="-nostdinc"
-                  id="solaris.gnu.compiler.preprocessor.nostdinc"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.preprocessor.nostdinc">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.PreprocOnly"
                   category="solaris.gnu.compiler.category.preprocessor"
                   command="-E"
-                  id="solaris.gnu.compiler.preprocessor.preprocess"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.preprocessor.preprocess">
             </option>
             <option
                   name="%Option.Posix.DefSym"
                   category="solaris.gnu.compiler.category.preprocessor"
                   command="-D"
-                  id="solaris.gnu.compiler.preprocessor.def"
-                  valueType="definedSymbols">
+                  valueType="definedSymbols"
+                  id="solaris.gnu.compiler.preprocessor.def">
                <listOptionValue
-                     builtIn="true"
-                     value="sun">
+                     value="sun"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="sparc">
+                     value="sparc"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="unix">
+                     value="unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__svr4__">
+                     value="__svr4__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__SVR4">
+                     value="__SVR4"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__GCC_NEW_VARARGS__">
+                     value="__GCC_NEW_VARARGS__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__sun__">
+                     value="__sun__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__sparc__">
+                     value="__sparc__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix__">
+                     value="__unix__"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__sun">
+                     value="__sun"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__sparc">
+                     value="__sparc"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__unix">
+                     value="__unix"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="__OPTIMIZE__">
+                     value="__OPTIMIZE__"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <optionCategory
@@ -2982,15 +2982,15 @@
                   name="%Option.Posix.InclPaths"
                   category="solaris.gnu.compiler.category.dirs"
                   command="-I"
-                  id="solaris.gnu.compiler.dirs.incpaths"
-                  valueType="includePath">
+                  valueType="includePath"
+                  id="solaris.gnu.compiler.dirs.incpaths">
                <listOptionValue
-                     builtIn="true"
-                     value="/usr/local/include">
+                     value="/usr/local/include"
+                     builtIn="true">
                </listOptionValue>
                <listOptionValue
-                     builtIn="true"
-                     value="/usr/include">
+                     value="/usr/include"
+                     builtIn="true">
                </listOptionValue>
             </option>
             <optionCategory
@@ -3001,8 +3001,8 @@
             <option
                   name="%Option.Posix.OptLevel"
                   category="solaris.gnu.compiler.category.optimization"
-                  id="solaris.gnu.compiler.optimization.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="solaris.gnu.compiler.optimization.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Optimize.None"
                      command="-O0"
@@ -3028,8 +3028,8 @@
             <option
                   name="%Option.Posix.Optimize.Flags"
                   category="solaris.gnu.compiler.category.optimization"
-                  id="solaris.compiler.optimization.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.compiler.optimization.flags">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.compiler"
@@ -3039,8 +3039,8 @@
             <option
                   name="%Option.Posix.DebugLevel"
                   category="solaris.gnu.compiler.category.debug"
-                  id="solaris.gnu.compiler.debugging.level"
-                  valueType="enumerated">
+                  valueType="enumerated"
+                  id="solaris.gnu.compiler.debugging.level">
                <enumeratedOptionValue
                      name="%Option.Posix.Debug.None"
                      isDefault="false"
@@ -3067,24 +3067,24 @@
             <option
                   name="%Option.Posix.Debug.Other"
                   category="solaris.gnu.compiler.category.debug"
-                  id="solaris.gnu.compiler.debugging.other"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.compiler.debugging.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.prof"
                   category="solaris.gnu.compiler.category.debug"
                   command="-p"
-                  id="solaris.gnu.compiler.debugging.prof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.debugging.prof">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Debug.gprof"
                   category="solaris.gnu.compiler.category.debug"
                   command="-pg"
-                  id="solaris.gnu.compiler.debugging.gprof"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.debugging.gprof">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.compiler"
@@ -3096,48 +3096,48 @@
                   name="%Option.Posix.Warn.Syntax"
                   category="solaris.gnu.compiler.category.warnings"
                   command="-fsyntax-only"
-                  id="solaris.gnu.compiler.warnings.syntax"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.syntax">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.Pedandic"
                   category="solaris.gnu.compiler.category.warnings"
                   command="-pedantic"
-                  id="solaris.gnu.compiler.warnings.pedantic"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.pedantic">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.PedErrors"
                   category="solaris.gnu.compiler.category.warnings"
                   command="-pedantic-errors"
-                  id="solaris.gnu.compiler.warnings.pedantic.error"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.pedantic.error">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.nowarn"
                   category="solaris.gnu.compiler.category.warnings"
                   command="-w"
-                  id="solaris.gnu.compiler.warnings.nowarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.nowarn">
             </option>
             <option
                   defaultValue="true"
                   name="%Option.Posix.Warn.allwarn"
                   category="solaris.gnu.compiler.category.warnings"
                   command="-Wall"
-                  id="solaris.gnu.compiler.warnings.allwarn"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.allwarn">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Warn.toerrs"
                   category="solaris.gnu.compiler.category.warnings"
                   command="-Werror"
-                  id="solaris.gnu.compiler.warnings.toerrors"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.toerrors">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.compiler"
@@ -3148,82 +3148,82 @@
                   defaultValue="-c"
                   name="%Option.OtherFlags"
                   category="solaris.gnu.compiler.category.other"
-                  id="solaris.gnu.compiler.other.other"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.compiler.other.other">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Verbose"
                   category="solaris.gnu.compiler.category.other"
                   command="-v"
-                  id="solaris.gnu.compiler.other.verbose"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.other.verbose">
             </option>
          </tool>
       </target>
       <target
             isTest="false"
             name="Solaris Executable"
-            binaryParser="org.eclipse.cdt.core.ELF"
             parent="solaris.gnu"
+            binaryParser="org.eclipse.cdt.core.ELF"
             isAbstract="false"
             id="solaris.gnu.exec">
          <configuration
-               name="%ConfigName.Rel"
-               id="solaris.gnu.exec.release">
+               name="%ConfigName.Dbg"
+               id="solaris.gnu.exec.debug">
             <toolReference
                   id="cdt.build.tool.solaris.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="solaris.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="solaris.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.solaris.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="solaris.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="solaris.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="solaris.gnu.exec.debug">
+               name="%ConfigName.Rel"
+               id="solaris.gnu.exec.release">
             <toolReference
                   id="cdt.build.tool.solaris.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="solaris.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="solaris.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.solaris.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="solaris.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="solaris.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <tool
                natureFilter="cnature"
-               name="%ToolName.linker.c"
                sources="o"
+               name="%ToolName.linker.c"
                outputFlag="-o"
                command="gcc"
                id="cdt.build.tool.solaris.gnu.c.link">
@@ -3237,40 +3237,40 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="solaris.gnu.c.linker.category.general"
                   command="-nostartfiles"
-                  id="solaris.gnu.c.link.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.link.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="solaris.gnu.c.linker.category.general"
                   command="-nodefaultlibs"
-                  id="solaris.gnu.c.link.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.link.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="solaris.gnu.c.linker.category.general"
                   command="-nostdlib"
-                  id="solaris.gnu.c.link.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.link.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="solaris.gnu.c.linker.category.options"
                   command="-s"
-                  id="solaris.gnu.c.link.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.link.options.strip">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Static"
                   category="solaris.gnu.c.linker.category.general"
                   command="-static"
-                  id="solaris.gnu.c.link.options.noshared"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.link.options.noshared">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.link"
@@ -3281,15 +3281,15 @@
                   name="%Option.Posix.Libs"
                   category="solaris.gnu.c.linker.category.libs"
                   command="-l"
-                  id="solaris.gnu.c.link.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="solaris.gnu.c.link.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="solaris.gnu.c.linker.category.libs"
                   command="-L"
-                  id="solaris.gnu.c.link.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="solaris.gnu.c.link.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.link"
@@ -3299,27 +3299,27 @@
             <option
                   name="%Option.Posix.Linker.Flags"
                   category="solaris.gnu.c.linker.category.other"
-                  id="solaris.gnu.c.link.ldflags"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.c.link.ldflags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="solaris.gnu.c.linker.category.other"
                   command="-Xlinker"
-                  id="solaris.gnu.c.link.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="solaris.gnu.c.link.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="solaris.gnu.c.linker.category.other"
-                  id="solaris.gnu.c.link.ld.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="solaris.gnu.c.link.ld.userobjs">
             </option>
          </tool>
          <tool
                natureFilter="ccnature"
-               name="%ToolName.linker.cpp"
                sources="o"
+               name="%ToolName.linker.cpp"
                outputFlag="-o"
                command="g++"
                id="cdt.build.tool.solaris.gnu.link">
@@ -3333,40 +3333,40 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="solaris.gnu.linker.category.options"
                   command="-nostartfiles"
-                  id="solaris.gnu.linker.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="solaris.gnu.linker.category.options"
                   command="-nodefaultlibs"
-                  id="solaris.gnu.linker.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="solaris.gnu.linker.category.options"
                   command="-nostdlib"
-                  id="solaris.gnu.linker.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="solaris.gnu.linker.category.options"
                   command="-s"
-                  id="solaris.gnu.linker.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.strip">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Static"
                   category="solaris.gnu.linker.category.options"
                   command="-static"
-                  id="solaris.gnu.linker.options.noshared"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.noshared">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.link"
@@ -3377,15 +3377,15 @@
                   name="%Option.Posix.Libs"
                   category="solaris.gnu.linker.category.libs"
                   command="-l"
-                  id="solaris.gnu.linker.libs.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="solaris.gnu.linker.libs.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="solaris.gnu.linker.category.libs"
                   command="-L"
-                  id="solaris.gnu.linker.libs.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="solaris.gnu.linker.libs.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.link"
@@ -3395,96 +3395,96 @@
             <option
                   name="%Option.Posix.Linker.Flags"
                   category="solaris.gnu.linker.category.other"
-                  id="solaris.gnu.linker.libs.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.linker.libs.flags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="solaris.gnu.linker.category.other"
                   command="-Xlinker"
-                  id="solaris.gnu.linker.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="solaris.gnu.linker.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="solaris.gnu.linker.category.other"
-                  id="solaris.gnu.linker.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="solaris.gnu.linker.userobjs">
             </option>
          </tool>
       </target>
       <target
             isTest="false"
             name="Solaris Shared Library"
-            binaryParser="org.eclipse.cdt.core.ELF"
             parent="solaris.gnu"
+            binaryParser="org.eclipse.cdt.core.ELF"
             defaultExtension="so"
             isAbstract="false"
             id="solaris.gnu.so">
          <configuration
-               name="%ConfigName.Rel"
-               id="solaris.gnu.so.release">
+               name="%ConfigName.Dbg"
+               id="solaris.gnu.so.debug">
             <toolReference
                   id="cdt.build.tool.solaris.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="solaris.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="solaris.gnu.compiler.debugging.level">
                </optionReference>
-               <optionReference
-                     defaultValue="-c -fPIC"
-                     id="solaris.gnu.compiler.other.other">
-               </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.solaris.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="solaris.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="solaris.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="solaris.gnu.so.debug">
+               name="%ConfigName.Rel"
+               id="solaris.gnu.so.release">
             <toolReference
                   id="cdt.build.tool.solaris.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="solaris.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="solaris.gnu.compiler.debugging.level">
                </optionReference>
+               <optionReference
+                     defaultValue="-c -fPIC"
+                     id="solaris.gnu.compiler.other.other">
+               </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.solaris.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="solaris.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="solaris.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <tool
                natureFilter="cnature"
-               name="%ToolName.linker.c"
                sources="o"
+               name="%ToolName.linker.c"
                outputFlag="-o"
-               command="gcc"
-               outputPrefix="lib"
                outputs="so"
+               outputPrefix="lib"
+               command="gcc"
                id="cdt.build.tool.solaris.gnu.c.solink">
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.solink"
@@ -3496,40 +3496,40 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="solaris.gnu.c.solink.category.general"
                   command="-nostartfiles"
-                  id="solaris.gnu.c.solink.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.solink.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="solaris.gnu.c.solink.category.general"
                   command="-nodefaultlibs"
-                  id="solaris.gnu.c.solink.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.solink.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="solaris.gnu.c.solink.category.general"
                   command="-nostdlib"
-                  id="solaris.gnu.c.solink.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.solink.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="solaris.gnu.c.solink.category.general"
                   command="-s"
-                  id="solaris.gnu.c.solink.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.solink.options.strip">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Static"
                   category="solaris.gnu.c.solink.category.general"
                   command="-static"
-                  id="solaris.gnu.c.solink.options.noshared"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.c.solink.options.noshared">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.solink"
@@ -3540,15 +3540,15 @@
                   name="%Option.Posix.Libs"
                   category="solaris.gnu.c.solink.category.libs"
                   command="-l"
-                  id="solaris.gnu.c.solink.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="solaris.gnu.c.solink.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="solaris.gnu.c.solink.category.libs"
                   command="-L"
-                  id="solaris.gnu.c.solink.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="solaris.gnu.c.solink.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.c.solink"
@@ -3559,31 +3559,31 @@
                   defaultValue="-shared -fPIC"
                   name="%Option.Posix.Linker.Flags"
                   category="solaris.gnu.c.solink.category.other"
-                  id="solaris.gnu.c.solink.ldflags"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.c.solink.ldflags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="solaris.gnu.c.solink.category.other"
                   command="-Xlinker"
-                  id="solaris.gnu.c.solink.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="solaris.gnu.c.solink.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="solaris.gnu.c.solink.category.other"
-                  id="solaris.gnu.c.solink.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="solaris.gnu.c.solink.userobjs">
             </option>
          </tool>
          <tool
                natureFilter="ccnature"
-               name="%ToolName.linker.cpp"
                sources="o"
+               name="%ToolName.linker.cpp"
                outputFlag="-o"
-               command="g++"
-               outputPrefix="lib"
                outputs="so"
+               outputPrefix="lib"
+               command="g++"
                id="cdt.build.tool.solaris.gnu.solink">
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.solink"
@@ -3595,32 +3595,32 @@
                   name="%Option.Posix.Linker.NoStartFiles"
                   category="solaris.gnu.solink.category.options"
                   command="-nostartfiles"
-                  id="solaris.gnu.solink.options.nostart"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.nostart">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoDefLibs"
                   category="solaris.gnu.solink.category.options"
                   command="-nodefaultlibs"
-                  id="solaris.gnu.solink.options.nodeflibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.nodeflibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.NoStdLibs"
                   category="solaris.gnu.solink.category.options"
                   command="-nostdlib"
-                  id="solaris.gnu.solink.options.nostdlibs"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.nostdlibs">
             </option>
             <option
                   defaultValue="false"
                   name="%Option.Posix.Linker.Strip"
                   category="solaris.gnu.solink.category.options"
                   command="-s"
-                  id="solaris.gnu.solink.options.strip"
-                  valueType="boolean">
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.strip">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.solink"
@@ -3631,15 +3631,15 @@
                   name="%Option.Posix.Libs"
                   category="solaris.gnu.solink.category.libs"
                   command="-l"
-                  id="solaris.gnu.solink.libs.libs"
-                  valueType="libs">
+                  valueType="libs"
+                  id="solaris.gnu.solink.libs.libs">
             </option>
             <option
                   name="%Option.Posix.Libsearch"
                   category="solaris.gnu.solink.category.libs"
                   command="-L"
-                  id="solaris.gnu.solink.libs.paths"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="solaris.gnu.solink.libs.paths">
             </option>
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.solink"
@@ -3650,91 +3650,91 @@
                   defaultValue="-shared -fPIC"
                   name="%Option.Posix.Linker.Flags"
                   category="solaris.gnu.solink.category.other"
-                  id="solaris.gnu.solink.libs.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.solink.libs.flags">
             </option>
             <option
                   name="%Option.Posix.Linker.XLinker"
                   category="solaris.gnu.solink.category.other"
                   command="-Xlinker"
-                  id="solaris.gnu.solink.options.other"
-                  valueType="stringList">
+                  valueType="stringList"
+                  id="solaris.gnu.solink.options.other">
             </option>
             <option
                   name="%Option.Posix.UserObjs"
                   category="solaris.gnu.solink.category.other"
-                  id="solaris.gnu.solink.userobjs"
-                  valueType="userObjs">
+                  valueType="userObjs"
+                  id="solaris.gnu.solink.userobjs">
             </option>
          </tool>
       </target>
       <target
             isTest="false"
             name="Solaris Static Library"
-            binaryParser="org.eclipse.cdt.core.ELF"
             parent="solaris.gnu"
+            binaryParser="org.eclipse.cdt.core.ELF"
             defaultExtension="a"
             isAbstract="false"
             id="solaris.gnu.lib">
          <configuration
-               name="%ConfigName.Rel"
-               id="solaris.gnu.lib.release">
+               name="%ConfigName.Dbg"
+               id="solaris.gnu.lib.debug">
             <toolReference
                   id="cdt.build.tool.solaris.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="solaris.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="solaris.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.solaris.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.Most"
+                     defaultValue="%Option.Posix.Optimize.None"
                      id="solaris.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.None"
+                     defaultValue="%Option.Posix.Debug.Max"
                      id="solaris.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <configuration
-               name="%ConfigName.Dbg"
-               id="solaris.gnu.lib.debug">
+               name="%ConfigName.Rel"
+               id="solaris.gnu.lib.release">
             <toolReference
                   id="cdt.build.tool.solaris.gnu.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="solaris.gnu.compiler.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="solaris.gnu.compiler.debugging.level">
                </optionReference>
             </toolReference>
             <toolReference
                   id="cdt.build.tool.solaris.gnu.c.compiler">
                <optionReference
-                     defaultValue="%Option.Posix.Optimize.None"
+                     defaultValue="%Option.Posix.Optimize.Most"
                      id="solaris.gnu.c.compiler.general.optimization.level">
                </optionReference>
                <optionReference
-                     defaultValue="%Option.Posix.Debug.Max"
+                     defaultValue="%Option.Posix.Debug.None"
                      id="solaris.c.compiler.debugging.level">
                </optionReference>
             </toolReference>
          </configuration>
          <tool
                natureFilter="both"
-               name="%ToolName.archiver"
                sources="o"
-               command="ar"
-               outputPrefix="lib"
+               name="%ToolName.archiver"
                outputs="a"
+               outputPrefix="lib"
+               command="ar"
                id="cdt.build.tool.solaris.gnu.lib">
             <optionCategory
                   owner="cdt.build.tool.solaris.gnu.lib"
@@ -3745,8 +3745,8 @@
                   defaultValue="-r"
                   name="%Option.Posix.Archiver.Flags"
                   category="solaris.gnu.lib.category.general"
-                  id="solaris.gnu.lib.flags"
-                  valueType="string">
+                  valueType="string"
+                  id="solaris.gnu.lib.flags">
             </option>
          </tool>
       </target>
Index: src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties
===================================================================
retrieving revision 1.5
diff -u -r1.5 PluginResources.properties
--- src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties	13 Nov 2003 19:41:53 -0000	1.5
+++ src/org/eclipse/cdt/managedbuilder/internal/ui/PluginResources.properties	6 Feb 2004 18:44:29 -0000
@@ -59,7 +59,8 @@
 ManageConfig.label.makecmdgroup=Make command
 ManageConfig.label.makecmddef=Use default command
 ManageConfig.label.output.group=Build output
-ManageConfig.label.output.label=Artifact name:
+ManageConfig.label.output.name=Artifact name:
+ManageConfig.label.output.extension=Artifact extension:
 ManageConfig.label.configs=Manage configurations
 ManageConfig.label.restore=Restore
 ManageConfig.label.configs.current=Current:
Index: src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java
===================================================================
retrieving revision 1.2
diff -u -r1.2 BrowseEntryDialog.java
--- src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java	13 Nov 2003 19:41:53 -0000	1.2
+++ src/org/eclipse/cdt/managedbuilder/ui/properties/BrowseEntryDialog.java	6 Feb 2004 18:44:29 -0000
@@ -1,73 +1,102 @@
 package org.eclipse.cdt.managedbuilder.ui.properties;
 
-/**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
+/*******************************************************************************
+ * Copyright (c) 2002,2004 IBM Corporation and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Common Public License v0.5 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/cpl-v05.html
  * 
- * Contributors: 
- * IBM Rational Software - Initial API and implementation
- * **********************************************************************/
+ * Contributors: IBM Rational Software - Initial API and implementation
+ ******************************************************************************/
 
+import org.eclipse.cdt.internal.ui.dialogs.SelectionStatusDialog;
+import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin;
 import org.eclipse.cdt.managedbuilder.internal.ui.ManagedBuilderUIPlugin;
 import org.eclipse.cdt.utils.ui.controls.ControlFactory;
-import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
 
-public class BrowseEntryDialog extends Dialog {
+/**
+ * The BrowseEntryDialog allows clients to prompt the user for a path location.
+ * The dialog will contain a browse button to make it easy to lcate absolute
+ * locations onthe target file system. The user will also be able to specify a
+ * location using defined variables. The client must be able to deal with these
+ * variables.
+ */
+public class BrowseEntryDialog extends SelectionStatusDialog {
 	// String constants
-	private static final String PREFIX = "BuildPropertyCommon";	//$NON-NLS-1$
-	private static final String LABEL = PREFIX + ".label";	//$NON-NLS-1$
-	private static final String BROWSE = LABEL + ".browse";	//$NON-NLS-1$
-
-	/**
+	private static final String PREFIX = "BuildPropertyCommon"; //$NON-NLS-1$
+	private static final String LABEL = PREFIX + ".label"; //$NON-NLS-1$
+	private static final String BROWSE = LABEL + ".browse"; //$NON-NLS-1$
+	private static final String HIDE = "hideAdvanced"; //$NON-NLS-1$
+	private static final String SHOW = "showAdvanced"; //$NON-NLS-1$
+	private static final String EMPTY = "NewFolderDialog.folderNameEmpty"; //$NON-NLS-1$
+	
+	/* (non-Javadoc)
 	 * The title of the dialog.
 	 */
 	private String title = "";
 
-	/**
+	/* (non-Javadoc)
 	 * The message to display, or <code>null</code> if none.
 	 */
 	private String message = "";
 
-	/**
+	/* (non-Javadoc)
 	 * The input value; the empty string by default.
 	 */
-	private String value = "";
-
-	/**
-	 * Error message label widget.
+	private String folderName = "";
+	
+	/* (non-Javadoc)
+	 * 
 	 */
-	private Label errorMessageLabel;
+	private int basicShellHeight;
+	
+	/* (non-Javadoc)
+	 * 
+	 */
+//	private CreateLinkedResourceGroup linkedResourceGroup;
 
 	// Widgets
-	private Button btnBrowse = null;
-	private Button btnOK = null;
+	private Button advancedButton = null;
+	private Button browseButton = null;
+	private Label errorMessageLabel;
+	private Composite macroComposite;
 	private Text text = null;
 
 	/**
-	 * Creates an input dialog with OK, Cancel, and a Browse button.
+	 * Creates an input dialog with OK, Cancel, a Browse button and a button to
+	 * reveal path macros.
 	 * 
-	 * @param shell the parent shell
-	 * @param dialogTitle the title of the dialog or <code>null</code> if none
-	 * @param dialogMessage the dialog message, or <code>null</code> if none
-	 * @param initialValue the initial input value, or <code>null</code> if none
-	 * (equivalent to the empty string)
+	 * @param shell
+	 *            the parent shell
+	 * @param dialogTitle
+	 *            the title of the dialog or <code>null</code> if none
+	 * @param dialogMessage
+	 *            the dialog message, or <code>null</code> if none
+	 * @param initialValue
+	 *            the initial input value, or <code>null</code> if none
+	 *            (equivalent to the empty string)
 	 */
 	public BrowseEntryDialog(Shell shell, String dialogTitle, String dialogMessage, String initialValue) {
 		super(shell);
@@ -81,105 +110,228 @@
 		}
 		// Value for the text widget
 		if (initialValue != null) {
-			value = initialValue;
+			folderName = initialValue;
 		}
+		setStatusLineAboveButtons(true);
 	}
 
 	/* (non-Javadoc)
-	 * Method declared on Dialog.
+	 * @see org.eclipse.cdt.internal.ui.dialogs.SelectionStatusDialog#computeResult()
 	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			value = text.getText().trim();
-		} else {
-			value = null;
-		}
-		super.buttonPressed(buttonId);
+	protected void computeResult() {
+		// TODO Auto-generated method stub
+		
 	}
 
 	/* (non-Javadoc)
-	 * Method declared in Window.
+	 * @see org.eclipse.cdt.internal.ui.dialogs.SelectionStatusDialog#configureShell(org.eclipse.swt.widgets.Shell)
 	 */
 	protected void configureShell(Shell shell) {
 		super.configureShell(shell);
-		if (title != null)
+		// Set the display title the user has specified
+		if (title != null) {
 			shell.setText(title);
+		}
 	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.internal.ui.dialogs.SelectionStatusDialog#create()
+	 */
+	public void create() {
+		// Disable the OK button to start
+		super.create();
+		getButton(IDialogConstants.OK_ID).setEnabled(false);
+	}
+	
+	/* (non-Javadoc)
+	 * 
+	 * @param parent
+	 */
+	private void createAdvancedBrowseArea(Composite parent) {
+		// Instantiate the macros button
+		advancedButton = new Button(parent, SWT.PUSH);
+		applyDialogFont(advancedButton);
+		advancedButton.setText(IDEWorkbenchMessages.getString(SHOW));
+		setButtonLayoutData(advancedButton);
+		GridData data = (GridData) advancedButton.getLayoutData();
+		data.horizontalAlignment = GridData.BEGINNING;
+		advancedButton.setLayoutData(data);
+		advancedButton.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent e) {
+				handleAdvancedPressed();
+			}
+		});
+		advancedButton.addDisposeListener(new DisposeListener() {
+			public void widgetDisposed(DisposeEvent e) {
+				advancedButton = null;
+			}
+		});
+		
+//		linkedResourceGroup = new CreateLinkedResourceGroup(
+//				IResource.FOLDER, 
+//				new Listener(){
+//					public void handleEvent(Event event) {
+//						// TODO Auto-generated method stub
+//						
+//					}
+//				});
+	}
+	
+	/* (non-Javadoc)
+	 * 
+	 * @param parent
+	 */
+	private void createBasicBrowseArea(Composite parent) {
+		Composite basicGroup = new Composite(parent, SWT.NONE);
+		basicGroup.setLayout(new GridLayout(2, false));
+		basicGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = ControlFactory.createComposite(parent, 4);
-
+		GridData data;
 		// Create the label
 		if (message != null) {
-			Label label = new Label(composite, SWT.WRAP);
+			Label label = new Label(basicGroup, SWT.WRAP);
 			label.setText(message);
-			GridData gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-			gd.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
-			gd.horizontalSpan = 4;
-			label.setLayoutData(gd);
-			label.setFont(parent.getFont());
+			data = new GridData(			
+					GridData.FILL_HORIZONTAL |
+					GridData.GRAB_VERTICAL |
+					GridData.VERTICAL_ALIGN_BEGINNING);
+			data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
+			data.horizontalSpan = 2;
+			label.setLayoutData(data);
+			applyDialogFont(label);
 		}
-		
-		text = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		GridData gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan = 3;
-		text.setLayoutData(gd);
+
+		// Entry widget next
+		text = new Text(basicGroup, SWT.SINGLE | SWT.BORDER);
+		data = new GridData(GridData.FILL_BOTH);
+		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+		text.setLayoutData(data);
 		text.addModifyListener(new ModifyListener() {
 			public void modifyText(ModifyEvent e) {
-				updateButtonState();
+				validateLocation();
 			}
 		});
+		applyDialogFont(text);
 		
-		// Instantiate the browse button
-		btnBrowse = ControlFactory.createPushButton(composite, ManagedBuilderUIPlugin.getResourceString(BROWSE));
-		setButtonLayoutData(btnBrowse);
-		btnBrowse.addSelectionListener(new SelectionAdapter () {
+		// Finally make the browse button
+		browseButton = new Button(basicGroup, SWT.PUSH);
+		applyDialogFont(browseButton);
+		browseButton.setText(ManagedBuilderUIPlugin.getResourceString(BROWSE));
+		setButtonLayoutData(browseButton);
+		data = (GridData) browseButton.getLayoutData();
+		data.horizontalAlignment = GridData.BEGINNING;
+		browseButton.setLayoutData(data);
+		browseButton.addSelectionListener(new SelectionAdapter () {
 			public void widgetSelected(SelectionEvent e) {
 				handleBrowsePressed();
 			}
 		});
+		browseButton.addDisposeListener(new DisposeListener () {
+			public void widgetDisposed(DisposeEvent e) {
+				browseButton = null;
+			}
+		});
+	}
+
+	protected Control createDialogArea(Composite parent) {
+		Composite composite = (Composite) super.createDialogArea(parent);
+		composite.setLayout(new GridLayout());
+		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
 
+		createBasicBrowseArea(composite);
+		createAdvancedBrowseArea(composite);
+		
 		return composite;
 	}
 
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK and Cancel buttons by default
-		btnOK = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
+	/**
+	 * Answers the value the user has entered in the selection dialog. 
+	 * 
+	 * <p>The selection will be a folder location specified in the format appropriate 
+	 * for the platform that Eclipse is running on, i.e. <code>C:\foo\mydir</code> 
+	 * for Windows platforms and <code>/foo/mydir</code> on POSIX platforms.
+	 * 
+	 * <p>The answer may also contain a path variable as a component of the location. It 
+	 * is the responsibility of the client to properly handle this situation.
+	 *  
+	 * @return String
+	 */
+	public String getValue() {
+		return folderName;
+	}
 
-		text.setFocus();
-		if (value != null) {
-			text.setText(value);
+	/* (non-Javadoc)
+	 * Shows/hides the path macro widgets.
+	 */
+	protected void handleAdvancedPressed() {
+		Shell shell = getShell();
+		Point shellSize = shell.getSize();
+
+		if (macroComposite == null) {
+			basicShellHeight = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).y;
+			Composite composite = (Composite) getDialogArea();
+//			macroComposite = linkedResourceGroup.createContents(composite);
+			macroComposite = ControlFactory.createComposite(composite, 1);
+			shellSize = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
+			shell.setSize(shellSize);
+			advancedButton.setText(IDEWorkbenchMessages.getString(HIDE)); 
+		} else if (macroComposite.getVisible()) {
+			macroComposite.setVisible(false);
+			shell.setSize(shellSize.x, basicShellHeight);
+			advancedButton.setText(IDEWorkbenchMessages.getString(SHOW));
+		} else {
+			macroComposite.setVisible(true);
+			shellSize = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
+			shell.setSize(shellSize);
+			advancedButton.setText(IDEWorkbenchMessages.getString(HIDE));
 		}
-		updateButtonState();
+		
+	}
+	
+	/* (non-Javadoc)
+	 * 
+	 */
+	protected void handleBrowsePressed() {
+		// TODO Auto-generated method stub
+		
 	}
 
-	protected String getValue() {
-		return value;
+	/* (non-Javadoc)
+	 * Utility method to send a status message to the status line of the dialog.
+	 *   
+	 * @param severity
+	 * @param message
+	 */
+	private void updateStatus(int severity, String message) {
+		updateStatus(new Status(severity, ManagedBuilderCorePlugin.getUniqueIdentifier(), severity, message, null));
 	}
 
-	protected void handleBrowsePressed() {
-		// Popup a file browser widget
-		DirectoryDialog dialog = new DirectoryDialog(getShell());
-		// Create a hint if text widget contains value
-		String widgetText; 
-		if ((widgetText = text.getText().trim()).length() > 0) {
-			dialog.setFilterPath(widgetText);
-		} 
-		// Open the selection dialog and populate the widget 
-		String directory;
-		if ((directory = dialog.open()) != null) {
-			 /* 
-			  * TODO: Convert the dialog to the proper format for platform (i.e.
-			  * if platform.pathStyle == Platform.POSIX then swap \\ to / )
-			  */
-			 text.setText(directory.trim());
-			 updateButtonState();
-		}
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.internal.ui.dialogs.SelectionStatusDialog#updateStatus(org.eclipse.core.runtime.IStatus)
+	 */
+	protected void updateStatus(IStatus status) {
+		// TODO Auto-generated method stub
+		super.updateStatus(status);
 	}
 
-	protected void updateButtonState() {
-		if (btnOK != null)
-			btnOK.setEnabled(text.getText().trim().length() > 0);
+	/**
+	 * 
+	 */
+	protected void validateLocation() {
+		folderName = text.getText();
+		// Empty or null string is invalid
+		if (folderName == null || folderName.equals("")) {
+			updateStatus(IStatus.ERROR, IDEWorkbenchMessages.getString(EMPTY));
+			return;
+		} else {
+			// Make sure that the specified location exists
+			IPath path = new Path(folderName);
+			if (!path.isValidPath(folderName)) {
+				updateStatus(IStatus.ERROR, "Folder name invalid");
+				return;
+			}
+		}
+		updateStatus(IStatus.OK, "");	//$NON-NLS-1$
+		getButton(IDialogConstants.OK_ID).setEnabled(true);
 	}
 }
Index: src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
===================================================================
retrieving revision 1.4
diff -u -r1.4 BuildOptionListFieldEditor.java
--- src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java	13 Nov 2003 19:41:53 -0000	1.4
+++ src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java	6 Feb 2004 18:44:29 -0000
@@ -1,7 +1,7 @@
 package org.eclipse.cdt.managedbuilder.ui.properties;
 
 /**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2002,2004 Rational Software Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Common Public License v0.5
  * which accompanies this distribution, and is available at
@@ -43,13 +43,6 @@
 	private static final String DOWN = "BuildPropertyCommon.label.down"; //$NON-NLS-1$
 	private static final String EDIT = "BuildPropertyCommon.label.editVar"; //$NON-NLS-1$
 	
-	// UI constants
-	private static final int VERTICAL_DIALOG_UNITS_PER_CHAR = 8;
-	private static final int HORIZONTAL_DIALOG_UNITS_PER_CHAR = 4;
-	private static final int LIST_HEIGHT_IN_CHARS = 10;
-	private static final int LIST_HEIGHT_IN_DLUS = 
-		LIST_HEIGHT_IN_CHARS * VERTICAL_DIALOG_UNITS_PER_CHAR;
-
 	// The top-level control for the field editor.
 	private Composite top;
 	// The list of tags.
@@ -171,14 +164,6 @@
 
 		// Make the list
 		list = new List(controlGroup, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	
-		// Create a grid data that takes up the extra space in the dialog and spans one column.
-		GridData listData = new GridData(GridData.FILL_HORIZONTAL);
-		listData.heightHint = 
-			convertVerticalDLUsToPixels(list, LIST_HEIGHT_IN_DLUS);
-		listData.horizontalSpan = 1;
-		
-		list.setLayoutData(listData);
 		list.addSelectionListener(new SelectionAdapter() {
 			public void widgetSelected(SelectionEvent e) {
 				selectionChanged();
@@ -222,6 +207,12 @@
 	
 		// Create the buttons
 		createButtons(buttonGroup);
+
+		// Create a grid data that takes up the extra space in the dialog and spans one column.
+		GridData listData = new GridData(GridData.FILL_HORIZONTAL);
+		listData.heightHint = buttonGroup.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
+		listData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+		list.setLayoutData(listData);
 	}
 
 	/* (non-Javadoc)
@@ -329,9 +320,11 @@
 	protected String getNewInputObject() {
 		// Create a dialog to prompt for a new symbol or path
 		InputDialog dialog = new InputDialog(getShell(), ManagedBuilderUIPlugin.getResourceString(TITLE), fieldName, new String(), null);
+//		BrowseEntryDialog dialog = new BrowseEntryDialog(getShell(), ManagedBuilderUIPlugin.getResourceString(TITLE), fieldName, new String());
 		String input = new String();
 		if (dialog.open() == InputDialog.OK) {
-			input = dialog.getValue();
+//		if (dialog.open() == BrowseEntryDialog.OK) {
+				input = dialog.getValue();
 		}
 		return input;
 	}
Index: src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java
===================================================================
retrieving revision 1.3
diff -u -r1.3 BuildPropertyPage.java
--- src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java	1 Oct 2003 23:56:26 -0000	1.3
+++ src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java	6 Feb 2004 18:44:29 -0000
@@ -1,7 +1,7 @@
 package org.eclipse.cdt.managedbuilder.ui.properties;
 
 /**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2002,2004 Rational Software Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Common Public License v0.5
  * which accompanies this distribution, and is available at
@@ -446,7 +446,11 @@
 			// Get the build output name
 			String newBuildOutput = manageDialog.getBuildArtifactName();
 			if (!selectedTarget.getArtifactName().equals(newBuildOutput)) {
-				selectedTarget.setBuildArtifact(newBuildOutput);
+				selectedTarget.setArtifactName(newBuildOutput);
+			}
+			String newBuildExt = manageDialog.getBuildArtifaceExtension();
+			if (!selectedTarget.getArtifactExtension().equals(newBuildExt)) {
+				selectedTarget.setArtifactExtension(newBuildExt);
 			}
 			
 			// Get the new make command
Index: src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
===================================================================
retrieving revision 1.3
diff -u -r1.3 ManageConfigDialog.java
--- src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java	13 Nov 2003 19:41:53 -0000	1.3
+++ src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java	6 Feb 2004 18:44:30 -0000
@@ -1,7 +1,7 @@
 package org.eclipse.cdt.managedbuilder.ui.properties;
 
 /**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2002,2004 Rational Software Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Common Public License v0.5
  * which accompanies this distribution, and is available at
@@ -19,7 +19,6 @@
 import org.eclipse.cdt.managedbuilder.core.ITarget;
 import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
 import org.eclipse.cdt.managedbuilder.internal.ui.ManagedBuilderUIPlugin;
-import org.eclipse.cdt.utils.ui.controls.ControlFactory;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogConstants;
@@ -29,6 +28,7 @@
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -50,14 +50,16 @@
 	private static final String GROUP = LABEL + ".makecmdgroup";	//$NON-NLS-1$
 	private static final String DEF_BTN = LABEL + ".makecmddef";	//$NON-NLS-1$
 	private static final String OUTPUT_GROUP = LABEL + ".output.group";	//$NON-NLS-1$
-	private static final String OUTPUT_LABEL = LABEL + ".output.label";	//$NON-NLS-1$
+	private static final String OUTPUT_EXT = LABEL + ".output.extension";	//$NON-NLS-1$
+	private static final String OUTPUT_NAME = LABEL + ".output.name";	//$NON-NLS-1$
 	private static final String CONFIGS = LABEL + ".configs";	//$NON-NLS-1$
 	private static final String CURRENT_CONFIGS = CONFIGS + ".current";	//$NON-NLS-1$
 	private static final String DELETED_CONFIGS = CONFIGS + ".deleted";	//$NON-NLS-1$
 	private static final String CONF_DLG = LABEL + ".new.config.dialog";	//$NON-NLS-1$
 
 	// The name of the build artifact
-	private String buildArtifact;
+	private String artifactExt;
+	private String artifactName;
 	// The list of configurations to delete
 	private SortedMap deletedConfigs;
 	// Map of configuration names and ids
@@ -74,7 +76,8 @@
 	private boolean useDefaultMake;
 	
 	// Widgets
-	protected Text buildArtifactEntry;
+	protected Text buildArtifactExt;
+	protected Text buildArtifactName;
 	protected List currentConfigList;
 	protected List deletedConfigList;
 	protected Button makeCommandDefault;
@@ -96,7 +99,8 @@
 		makeCommand = managedTarget.getMakeCommand();
 		
 		// Get the name of the build artifact
-		buildArtifact = managedTarget.getArtifactName();
+		artifactExt = managedTarget.getArtifactExtension();
+		artifactName = managedTarget.getArtifactName();
 		
 		// Get the defined configurations from the target
 		getExistingConfigs().clear();
@@ -117,16 +121,17 @@
 		if (buttonId == IDialogConstants.OK_ID) {
 			useDefaultMake = makeCommandDefault.getSelection();
 			makeCommand = makeCommandEntry.getText().trim();
-			buildArtifact = buildArtifactEntry.getText().trim();
+			artifactName = buildArtifactName.getText().trim();
+			artifactExt = buildArtifactExt.getText().trim();
 		} else {
 			useDefaultMake = true;
-			buildArtifact = managedTarget.getArtifactName();
+			artifactName = managedTarget.getArtifactName();
 		}
 		super.buttonPressed(buttonId);
 	}
 
 	/* (non-Javadoc)
-	 * Method declared in Window.
+	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
 	 */
 	protected void configureShell(Shell shell) {
 		super.configureShell(shell);
@@ -134,6 +139,65 @@
 			shell.setText(title);
 	}
 
+	/* (non-Javadoc)
+	 * Creates the group that contains the build artifact name controls.
+	 */
+	private void createBuildArtifactGroup(Composite parent) {
+		final Group outputGroup = new Group(parent, SWT.NONE);
+		outputGroup.setFont(parent.getFont());
+		outputGroup.setText(ManagedBuilderUIPlugin.getResourceString(OUTPUT_GROUP));
+		outputGroup.setLayout(new GridLayout(3, false));
+		outputGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); 
+
+		// Three labels
+		final Label nameLabel = new Label(outputGroup, SWT.LEFT);
+		nameLabel.setFont(outputGroup.getFont());
+		nameLabel.setText(ManagedBuilderUIPlugin.getResourceString(OUTPUT_NAME));
+		nameLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+		final Label placeHolder = new Label(outputGroup, SWT.CENTER);
+		placeHolder.setText(new String());
+		placeHolder.setLayoutData(new GridData());
+		
+		final Label extLabel = new Label(outputGroup, SWT.LEFT);
+		extLabel.setFont(outputGroup.getFont());
+		extLabel.setText(ManagedBuilderUIPlugin.getResourceString(OUTPUT_EXT));
+		extLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+		// Now we need two text widgets separated by a label
+		buildArtifactName = new Text(outputGroup, SWT.SINGLE | SWT.BORDER);
+		buildArtifactName.setFont(outputGroup.getFont());
+		buildArtifactName.setText(artifactName);
+		GridData data = new GridData(GridData.FILL_HORIZONTAL);
+		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+		buildArtifactName.setLayoutData(data);
+		buildArtifactName.addDisposeListener(new DisposeListener() {
+			public void widgetDisposed(DisposeEvent event) {
+				buildArtifactName = null;
+			}
+		});
+		
+		final Label dotLabel = new Label(outputGroup, SWT.CENTER);
+		dotLabel.setFont(outputGroup.getFont());
+		dotLabel.setText(new String("."));
+		dotLabel.setLayoutData(new GridData());
+
+		buildArtifactExt = new Text(outputGroup, SWT.SINGLE | SWT.BORDER);
+		buildArtifactExt.setFont(outputGroup.getFont());
+		buildArtifactExt.setText(artifactExt);
+		data = new GridData(GridData.FILL_HORIZONTAL);
+		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+		buildArtifactExt.setLayoutData(data);
+		buildArtifactExt.addDisposeListener(new DisposeListener() {
+			public void widgetDisposed(DisposeEvent e) {
+				buildArtifactExt = null;
+			}
+		});
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
+	 */
 	protected void createButtonsForButtonBar(Composite parent) {
 		// create OK and Cancel buttons by default
 		okBtn = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
@@ -142,71 +206,40 @@
 		updateButtons();
 	}
 
-	protected Control createDialogArea(Composite parent) {
-		Composite comp = ControlFactory.createComposite(parent, 1);
-		
-		// Create a group for the build output
-		Group outputGroup = ControlFactory.createGroup(comp, ManagedBuilderUIPlugin.getResourceString(OUTPUT_GROUP), 1);
-		outputGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-		Label outputLabel = ControlFactory.createLabel(outputGroup, ManagedBuilderUIPlugin.getResourceString(OUTPUT_LABEL));
-		outputLabel.setLayoutData(new GridData());
-		buildArtifactEntry = ControlFactory.createTextField(outputGroup);
-		buildArtifactEntry.setText(buildArtifact);
-		buildArtifactEntry.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				buildArtifactEntry = null;
-			}
-		});
-
-		// Create the make command group area
-		Group makeCommandGroup = ControlFactory.createGroup(comp, ManagedBuilderUIPlugin.getResourceString(GROUP), 1);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		makeCommandGroup.setLayoutData(gd);
-		makeCommandDefault = ControlFactory.createCheckBox(makeCommandGroup, ManagedBuilderUIPlugin.getResourceString(DEF_BTN));
-		setButtonLayoutData(makeCommandDefault);
-		makeCommandDefault.setSelection(!managedTarget.hasOverridenMakeCommand());
-		makeCommandDefault.addSelectionListener(new SelectionAdapter () {
-			public void widgetSelected(SelectionEvent e) {
-				handleUseDefaultPressed();
-			}
-		});
-		makeCommandDefault.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				makeCommandDefault = null;
-			}
-		});
-		makeCommandEntry = ControlFactory.createTextField(makeCommandGroup);
-		makeCommandEntry.setEditable(!makeCommandDefault.getSelection());
-		makeCommandEntry.setText(makeCommand);
-		makeCommandEntry.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				makeCommandEntry = null;
-			}
-		});
-		
-		
+	/* (non-Javadoc)
+	 * Create and lays out the group with the configuration edit controls
+	 */
+	private void createConfigListGroup(Composite parent) {
 		// Create the config list group area
-		Group configListGroup = ControlFactory.createGroup(comp, ManagedBuilderUIPlugin.getResourceString(CONFIGS), 3);
-		gd = new GridData(GridData.FILL_BOTH);
-		configListGroup.setLayoutData(gd);
+		final Group configListGroup = new Group(parent, SWT.NONE);
+		configListGroup.setFont(parent.getFont());
+		configListGroup.setText(ManagedBuilderUIPlugin.getResourceString(CONFIGS));
+		configListGroup.setLayout(new GridLayout(3, false));
+		configListGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
 
 		// Create the 2 labels first to align the buttons and list controls
-		Label currentConfigLabel = ControlFactory.createLabel(configListGroup, ManagedBuilderUIPlugin.getResourceString(CURRENT_CONFIGS));
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		currentConfigLabel.setLayoutData(gd);
-		Label deletedConfigLabel = ControlFactory.createLabel(configListGroup, ManagedBuilderUIPlugin.getResourceString(DELETED_CONFIGS));
+		final Label currentConfigLabel = new Label(configListGroup, SWT.LEFT);
+		currentConfigLabel.setFont(configListGroup.getFont());
+		currentConfigLabel.setText(ManagedBuilderUIPlugin.getResourceString(CURRENT_CONFIGS));
+		GridData data = new GridData(GridData.FILL_HORIZONTAL);
+		data.horizontalSpan = 2;
+		currentConfigLabel.setLayoutData(data);
+		final Label deletedConfigLabel = new Label(configListGroup, SWT.LEFT);
+		deletedConfigLabel.setFont(configListGroup.getFont());
+		deletedConfigLabel.setText(ManagedBuilderUIPlugin.getResourceString(DELETED_CONFIGS));
 		deletedConfigLabel.setLayoutData(new GridData());
 		
 		// Create the current config list
-		Composite currentComp = ControlFactory.createComposite(configListGroup, 1);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = 1;
-		currentComp.setLayoutData(gd);
+		final Composite currentComp = new Composite(configListGroup, SWT.NULL);
+		currentComp.setFont(configListGroup.getFont());
+		currentComp.setLayout(new GridLayout(1, true));
+		currentComp.setLayoutData(new GridData(GridData.FILL_BOTH));
+
 		currentConfigList = new List(currentComp, SWT.SINGLE|SWT.V_SCROLL|SWT.H_SCROLL|SWT.BORDER);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.widthHint = 100;
-		currentConfigList.setLayoutData(gd);
+		currentConfigList.setFont(currentComp.getFont());
+		data = new GridData(GridData.FILL_BOTH);
+		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+		currentConfigList.setLayoutData(data);
 		currentConfigList.addDisposeListener(new DisposeListener() {
 			public void widgetDisposed(DisposeEvent event) {
 				currentConfigList = null;
@@ -214,10 +247,14 @@
 		});
 		
 		// Create a composite for the buttons		
-		Composite buttonBar = ControlFactory.createComposite(configListGroup, 1);
-		buttonBar.setLayoutData(new GridData());
-
-		newBtn = ControlFactory.createPushButton(buttonBar, ManagedBuilderUIPlugin.getResourceString(NEW));
+		final Composite buttonBar = new Composite(configListGroup, SWT.NULL);
+		buttonBar.setFont(configListGroup.getFont());
+		buttonBar.setLayout(new GridLayout(1, true));
+		buttonBar.setLayoutData(new GridData(GridData.FILL_VERTICAL));
+
+		newBtn = new Button(buttonBar, SWT.PUSH);
+		newBtn.setFont(buttonBar.getFont());
+		newBtn.setText(ManagedBuilderUIPlugin.getResourceString(NEW));
 		setButtonLayoutData(newBtn);
 		newBtn.addSelectionListener(new SelectionAdapter () {
 			public void widgetSelected(SelectionEvent e) {
@@ -229,7 +266,10 @@
 				newBtn = null;				
 			}
 		});
-		removeBtn = ControlFactory.createPushButton(buttonBar, ManagedBuilderUIPlugin.getResourceString(REMOVE));
+		
+		removeBtn = new Button(buttonBar, SWT.PUSH);
+		removeBtn.setFont(buttonBar.getFont());
+		removeBtn.setText(ManagedBuilderUIPlugin.getResourceString(REMOVE));
 		setButtonLayoutData(removeBtn);
 		removeBtn.addSelectionListener(new SelectionAdapter () {
 			public void widgetSelected(SelectionEvent e) {
@@ -241,7 +281,10 @@
 				removeBtn = null;				
 			}
 		});
-		restoreBtn = ControlFactory.createPushButton(buttonBar, ManagedBuilderUIPlugin.getResourceString(RESTORE));
+
+		restoreBtn = new Button(buttonBar, SWT.PUSH);
+		restoreBtn.setFont(buttonBar.getFont());
+		restoreBtn.setText(ManagedBuilderUIPlugin.getResourceString(RESTORE));
 		setButtonLayoutData(restoreBtn);
 		restoreBtn.addSelectionListener(new SelectionAdapter () {
 			public void widgetSelected(SelectionEvent e) {
@@ -255,42 +298,104 @@
 		});
 
 		// Create the deleted config list
-		Composite deletedComp = ControlFactory.createComposite(configListGroup, 1);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = 1;
-		deletedComp.setLayoutData(gd);
+		final Composite deletedComp = new Composite(configListGroup, SWT.NULL);
+		deletedComp.setFont(configListGroup.getFont());
+		deletedComp.setLayout(new GridLayout(1, true));
+		deletedComp.setLayoutData(new GridData(GridData.FILL_BOTH));
+
 		deletedConfigList = new List(deletedComp, SWT.SINGLE|SWT.V_SCROLL|SWT.H_SCROLL|SWT.BORDER);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.widthHint = 100;
-		deletedConfigList.setLayoutData(gd);
+		deletedConfigList.setFont(deletedComp.getFont());
+		data = new GridData(GridData.FILL_BOTH);
+		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+		deletedConfigList.setLayoutData(data);
 		deletedConfigList.addDisposeListener(new DisposeListener() {
 			public void widgetDisposed(DisposeEvent event) {
 				deletedConfigList = null;
 			}
 		});
-
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
+	 */
+	protected Control createDialogArea(Composite parent) {
+		Composite comp = new Composite(parent, SWT.NULL);
+		comp.setFont(parent.getFont());
+		comp.setLayout(new GridLayout(1, true));
+		comp.setLayoutData(new GridData(GridData.FILL_BOTH));
+		
+		// Create a group for the build output
+		createBuildArtifactGroup(comp);
+	
+		// Create the make command group area
+		createMakeCommandGroup(comp);
+		
+		// Make the configuration management area
+		createConfigListGroup(comp);
+		
 		// Do the final widget prep
 		currentConfigList.setItems(getConfigurationNames());
 		currentConfigList.select(0);
 		newBtn.setFocus();
 		return comp;
 	}
+
+	/* (non-Javadoc)
+	 * Creates the group control for the make command
+	 * @param parent
+	 */
+	private void createMakeCommandGroup(Composite parent) {
+		final Group makeCommandGroup = new Group(parent, SWT.NONE);
+		makeCommandGroup.setFont(parent.getFont());
+		makeCommandGroup.setText(ManagedBuilderUIPlugin.getResourceString(GROUP));
+		makeCommandGroup.setLayout(new GridLayout(1, true));
+		makeCommandGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+		makeCommandDefault = new Button(makeCommandGroup, SWT.CHECK | SWT.LEFT);
+		makeCommandDefault.setFont(makeCommandGroup.getFont());
+		makeCommandDefault.setText(ManagedBuilderUIPlugin.getResourceString(DEF_BTN));
+		setButtonLayoutData(makeCommandDefault);
+		makeCommandDefault.setBackground(makeCommandGroup.getBackground());
+		makeCommandDefault.setForeground(makeCommandGroup.getForeground());
+		makeCommandDefault.setSelection(!managedTarget.hasOverridenMakeCommand());
+		makeCommandDefault.addSelectionListener(new SelectionAdapter () {
+			public void widgetSelected(SelectionEvent e) {
+				handleUseDefaultPressed();
+			}
+		});
+		makeCommandDefault.addDisposeListener(new DisposeListener() {
+			public void widgetDisposed(DisposeEvent event) {
+				makeCommandDefault = null;
+			}
+		});
+		
+		makeCommandEntry = new Text(makeCommandGroup, SWT.SINGLE | SWT.BORDER);
+		makeCommandEntry.setFont(makeCommandGroup.getFont());
+		makeCommandEntry.setEditable(!makeCommandDefault.getSelection());
+		makeCommandEntry.setText(makeCommand);
+		makeCommandEntry.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+		makeCommandEntry.addDisposeListener(new DisposeListener() {
+			public void widgetDisposed(DisposeEvent event) {
+				makeCommandEntry = null;
+			}
+		});
+	}
 	
 	/**
-	 * 
+	 * Answers the extension for the build artifact.
+	 * @return
 	 */
-	protected void handleUseDefaultPressed() {
-		// If the state of the button is unchecked, then we want to enable the edit widget
-		makeCommandEntry.setEditable(!makeCommandDefault.getSelection());
+	public String getBuildArtifaceExtension() {
+		return artifactExt;
 	}
-
+	
 	/**
 	 * Answers the value in the build artifact entry widget.
 	 * 
 	 * @return
 	 */
 	public String getBuildArtifactName() {
-		return buildArtifact;
+		return artifactName;
 	}
 
 	private String [] getConfigurationNames() {
@@ -453,6 +558,14 @@
 		}
 	}
 
+	/* (non-Javadoc)
+	 * Event handler for the use default check box in the make command group
+	 */
+	protected void handleUseDefaultPressed() {
+		// If the state of the button is unchecked, then we want to enable the edit widget
+		makeCommandEntry.setEditable(!makeCommandDefault.getSelection());
+	}
+
 	private void updateButtons() {
 		// Disable the remove button if there is only 1 configuration
 		removeBtn.setEnabled(currentConfigList.getItemCount() > 1);
@@ -460,6 +573,10 @@
 		restoreBtn.setEnabled(deletedConfigList.getItemCount() > 0);
 	}
 
+	/**
+	 * Answers <code>true</code> if the user has left the use default check box selected.
+	 * @return
+	 */
 	public boolean useDefaultMakeCommand () {
 		return useDefaultMake;
 	}
Index: src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java
===================================================================
retrieving revision 1.3
diff -u -r1.3 NewManagedProjectWizard.java
--- src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java	1 Oct 2003 23:56:26 -0000	1.3
+++ src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java	6 Feb 2004 18:44:30 -0000
@@ -1,7 +1,7 @@
 package org.eclipse.cdt.managedbuilder.ui.wizards;
 
 /**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2002,2004 Rational Software Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Common Public License v0.5
  * which accompanies this distribution, and is available at
@@ -111,8 +111,7 @@
 			newTarget = ManagedBuildManager.createTarget(newProject, parent);
 			if (newTarget != null) {
 				String artifactName = newProject.getName();
-				artifactName +=  parent.getDefaultExtension().length() == 0 ? "" : "." + parent.getDefaultExtension();
-				newTarget.setBuildArtifact(artifactName);
+				newTarget.setArtifactName(artifactName);
 				IConfiguration [] selectedConfigs = targetConfigurationPage.getSelectedConfigurations();
 				Random r = new Random();
 				r.setSeed(System.currentTimeMillis());
Index: ChangeLog
===================================================================
retrieving revision 1.15
diff -u -r1.15 ChangeLog
--- ChangeLog	27 Oct 2003 20:57:38 -0000	1.15
+++ ChangeLog	6 Feb 2004 18:44:07 -0000
@@ -1,3 +1,19 @@
+2004-2-6 Sean Evoy
+	Fixes for bug 49590:
+	The target maintains the default extension and the overridden extension. There 
+	is an interface to get and set the extension, but the method to get the default 
+	extension is deprecated.
+	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
+	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
+	
+	The build information now has a method to get at the extension
+	* src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
+	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
+	
+	The makefile generator now asks for both the name and the extension when 
+	generating targets and dependencies.
+	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
+
 2003-10-23 Bogdan Gheorghe
 	Updated the indexManager.perfomConcurrentJob call in MakefileGenerator
 	
Index: src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
===================================================================
retrieving revision 1.5
diff -u -r1.5 IManagedBuildInfo.java
--- src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java	1 Oct 2003 14:25:35 -0000	1.5
+++ src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java	6 Feb 2004 18:44:07 -0000
@@ -1,9 +1,7 @@
 package org.eclipse.cdt.managedbuilder.core;
 
-import java.util.List;
-
 /**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2003,2004 Rational Software Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Common Public License v0.5
  * which accompanies this distribution, and is available at
@@ -11,7 +9,9 @@
  * 
  * Contributors: 
  * IBM Rational Software - Initial API and implementation
-***********************************************************************/
+ ***********************************************************************/
+
+import java.util.List;
 
 public interface IManagedBuildInfo {
 
@@ -31,6 +31,14 @@
 	 */
 	public boolean buildsFileType(String srcExt);
 
+	
+	/**
+	 * Answers the file extension for the receivers build goal.
+	 * 
+	 * @return
+	 */
+	public String getBuildArtifactExtension();
+	
 	/**
 	 * Returns the name of the artifact to build for the receiver.
 	 * 
Index: src/org/eclipse/cdt/managedbuilder/core/ITarget.java
===================================================================
retrieving revision 1.4
diff -u -r1.4 ITarget.java
--- src/org/eclipse/cdt/managedbuilder/core/ITarget.java	26 Sep 2003 00:20:13 -0000	1.4
+++ src/org/eclipse/cdt/managedbuilder/core/ITarget.java	6 Feb 2004 18:44:07 -0000
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
+ * Copyright (c) 2003,2004 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
@@ -22,6 +22,7 @@
 	public static final String BINARY_PARSER = "binaryParser";	//$NON-NLS-1$
 	public static final String CLEAN_COMMAND = "cleanCommand";	//$NON-NLS-1$
 	public static final String DEFAULT_EXTENSION = "defaultExtension";	//$NON-NLS-1$
+	public static final String EXTENSION = "extension";	//$NON-NLS-1$
 	public static final String IS_ABSTRACT = "isAbstract";	//$NON-NLS-1$
 	public static final String IS_TEST = "isTest";	//$NON-NLS-1$
 	public static final String MAKE_COMMAND = "makeCommand";	//$NON-NLS-1$
@@ -50,6 +51,14 @@
 	public IConfiguration createConfiguration(String id);
 	
 	/**
+	 * Answers the extension that should be applied to build artifacts created by 
+	 * this target.
+	 * 
+	 * @return String
+	 */
+	public String getArtifactExtension();	
+
+	/**
 	 * Get the name of the final build artifact.
 	 * 
 	 * @return String
@@ -82,6 +91,7 @@
 	 * created by this target.
 	 * 
 	 * @return String
+	 * @deprecated
 	 */
 	public String getDefaultExtension();	
 
@@ -166,6 +176,14 @@
 	 * 
 	 */
 	public void resetMakeCommand();
+	
+	/**
+	 * Set (override) the extension that should be appended to the build artifact
+	 * for the receiver.
+	 *  
+	 * @param extension
+	 */
+	public void setArtifactExtension(String extension);
 
 	/**
 	 * Set the name of the artifact that will be produced when the receiver
@@ -173,7 +191,7 @@
 	 * 
 	 * @param name
 	 */
-	public void setBuildArtifact(String name);
+	public void setArtifactName(String name);
 
 	/**
 	 * Sets the make command for the receiver to the value in the argument.
Index: src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
===================================================================
retrieving revision 1.11
diff -u -r1.11 MakefileGenerator.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java	27 Oct 2003 20:57:38 -0000	1.11
+++ src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java	6 Feb 2004 18:44:07 -0000
@@ -1,7 +1,7 @@
 package org.eclipse.cdt.managedbuilder.internal.core;
 
 /**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2003,2004 Rational Software Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Common Public License v0.5
  * which accompanies this distribution, and is available at
@@ -294,7 +294,7 @@
 		// Get the name of the build target
 		target = info.getBuildArtifactName();
 		// Get its extension
-		extension = (new Path(target)).getFileExtension();
+		extension = info.getBuildArtifactExtension();
 		if (extension == null) {
 			extension = new String();
 		}
@@ -531,8 +531,11 @@
 		if (deps.length > 0) {
 			defaultTarget += WHITESPACE + "deps";
 		}
-		buffer.append(defaultTarget + WHITESPACE + outputPrefix + target + NEWLINE);
-		buffer.append(NEWLINE);
+		buffer.append(defaultTarget + WHITESPACE + outputPrefix + target);
+		if (extension.length() > 0) {
+			buffer.append(DOT + extension);
+		}
+		buffer.append(NEWLINE + NEWLINE);
 
 		/*
 		 * The build target may depend on other projects in the workspace. These are
@@ -555,12 +558,16 @@
 					
 						// Extract the build artifact to add to the dependency list
 						String depTarget = depInfo.getBuildArtifactName();
-						String depExt = (new Path(depTarget)).getFileExtension();
+						String depExt = depInfo.getBuildArtifactExtension();
 						String depPrefix = depInfo.getOutputPrefix(depExt);
 						if (depInfo.isDirty()) {
 							depTargets = "clean all";
 						}
-						managedProjectOutputs.add(buildDir + SEPARATOR + depPrefix + depTarget);
+						String dependency = buildDir + SEPARATOR + depPrefix + depTarget;
+						if (depExt.length() > 0) {
+							dependency += DOT + depExt;
+						}
+						managedProjectOutputs.add(dependency);
 					}
 					buffer.append(TAB + "-cd" + WHITESPACE + buildDir + WHITESPACE + LOGICAL_AND + WHITESPACE + "$(MAKE) " + depTargets + NEWLINE);
 				}
@@ -573,7 +580,11 @@
 		 * targ_<prefix><target>.<extension>: $(OBJS) [<dep_proj_1_output> ... <dep_proj_n_output>]
 		 * 		$(BUILD_TOOL) $(FLAGS) $(OUTPUT_FLAG) $@ $(OBJS) $(USER_OBJS) $(LIB_DEPS)
 		 */
-		buffer.append(outputPrefix + target + COLON + WHITESPACE + "$(OBJS)");
+		buffer.append(outputPrefix + target);
+		if (extension.length() > 0) {
+			buffer.append(DOT + extension);
+		}
+		buffer.append(COLON + WHITESPACE + "$(OBJS)");
 		Iterator iter = managedProjectOutputs.listIterator();
 		while (iter.hasNext()) {
 			buffer.append(WHITESPACE + (String)iter.next());
Index: src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
===================================================================
retrieving revision 1.7
diff -u -r1.7 ManagedBuildInfo.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java	1 Oct 2003 23:56:36 -0000	1.7
+++ src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java	6 Feb 2004 18:44:07 -0000
@@ -1,7 +1,7 @@
 package org.eclipse.cdt.managedbuilder.internal.core;
 
 /**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2002,2004 Rational Software Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Common Public License v0.5
  * which accompanies this distribution, and is available at
@@ -134,12 +134,35 @@
 	}
 
 	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.managedbuilder.core.IManagedBuildInfo#getBuildArtifactExtension()
+	 */
+	public String getBuildArtifactExtension() {
+		String ext = new String();
+		ITarget target = getDefaultTarget();
+		if (target != null) {
+			ext = target.getArtifactExtension();
+		} 
+		return ext;
+	}
+
+	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getBuildArtifactName()
 	 */
 	public String getBuildArtifactName() {
 		// Get the default target and use its value
-		String name = getDefaultTarget().getArtifactName();
-		return name == null ? new String() : name;
+//		String name = getDefaultTarget().getArtifactName();
+//		String ext = getDefaultTarget().getArtifactExtension();
+//		if (ext.length() > 0) {
+//			name += "." + ext;
+//		}
+//		
+//		return name;
+		String name = new String();
+		ITarget target = getDefaultTarget();
+		if (target != null) {
+			name = target.getArtifactName();
+		}
+		return name;
 	}
 
 	/* (non-Javadoc)
@@ -149,7 +172,9 @@
 		// Get from the model
 		String command = new String();
 		ITarget target = getDefaultTarget();
-		command = target.getCleanCommand();
+		if (target != null) {
+			command = target.getCleanCommand();
+		}
 		return command;
 	}
 
Index: src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
===================================================================
retrieving revision 1.5
diff -u -r1.5 Target.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/Target.java	1 Oct 2003 23:56:36 -0000	1.5
+++ src/org/eclipse/cdt/managedbuilder/internal/core/Target.java	6 Feb 2004 18:44:07 -0000
@@ -1,7 +1,7 @@
 package org.eclipse.cdt.managedbuilder.internal.core;
 
 /**********************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
+ * Copyright (c) 2003,2004 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
@@ -39,6 +39,7 @@
 	private Map configMap;
 	private List configurations;
 	private String defaultExtension;
+	private String extension;
 	private boolean isAbstract = false;
 	private boolean isTest = false;
 	private String makeCommand;
@@ -77,7 +78,7 @@
 		setName(parent.getName());
 		this.artifactName = parent.getArtifactName();
 		this.binaryParserId = parent.getBinaryParserId();
-		this.defaultExtension = parent.getDefaultExtension();
+		this.defaultExtension = parent.getArtifactExtension();
 		this.isTest = parent.isTestTarget();
 		this.cleanCommand = parent.getCleanCommand();
 
@@ -193,8 +194,10 @@
 		// contain what the user entered in the UI).
 		artifactName = element.getAttribute(ARTIFACT_NAME);
 
-		// Get the default extension
-		defaultExtension = element.getAttribute(DEFAULT_EXTENSION);
+		// Get the overridden extension
+		if (element.hasAttribute(EXTENSION)) {
+			extension = element.getAttribute(EXTENSION);
+		}
 
 		// parent
 		String parentId = element.getAttribute(PARENT);
@@ -261,7 +264,9 @@
 			element.setAttribute(PARENT, parent.getId());
 		element.setAttribute(IS_ABSTRACT, isAbstract ? "true" : "false");
 		element.setAttribute(ARTIFACT_NAME, getArtifactName());
-		element.setAttribute(DEFAULT_EXTENSION, getDefaultExtension());
+		if (extension != null) {
+			element.setAttribute(EXTENSION, extension);
+		}
 		element.setAttribute(IS_TEST, isTest ? "true" : "false");
 		element.setAttribute(CLEAN_COMMAND, getCleanCommand());
 		if (makeCommand != null) {
@@ -410,8 +415,9 @@
 			return emptyConfigs;
 	}
 
+
 	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.build.managed.ITarget#getDefaultExtension()
+	 * @see org.eclipse.cdt.managedbuilder.core.ITarget#getDefaultExtension()
 	 */
 	public String getDefaultExtension() {
 		return defaultExtension == null ? EMPTY_STRING : defaultExtension;
@@ -442,6 +448,28 @@
 		}
 	}
 
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.managedbuilder.core.ITarget#getArtifactExtension()
+	 */
+	public String getArtifactExtension() {
+		// Has the user changed the extension for this target
+		if (extension != null) {
+			return extension;
+		}
+		// If not, then go through the default extension lookup
+		if (defaultExtension == null) {
+			// Ask my parent first
+			if (parent != null) {
+				return parent.getArtifactExtension();
+			} else {
+				return EMPTY_STRING;
+			}
+		} else {
+			return defaultExtension;
+		}
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.managedbuilder.core.ITarget#getBinaryParserId()
 	 */
@@ -476,7 +504,7 @@
 		configurations.add(configuration);
 		configMap.put(configuration.getId(), configuration);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.build.managed.ITarget#isAbstract()
 	 */
@@ -506,9 +534,18 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.build.managed.ITarget#setBuildArtifact(java.lang.String)
+	 * @see org.eclipse.cdt.managedbuilder.core.ITarget#setArtifactExtension(java.lang.String)
+	 */
+	public void setArtifactExtension(String extension) {
+		if (extension != null) {
+			this.extension = extension;
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.core.build.managed.ITarget#setArtifactName(java.lang.String)
 	 */
-	public void setBuildArtifact(String name) {
+	public void setArtifactName(String name) {
 		if (name != null) {
 			artifactName = name;		
 		}
Index: ChangeLog
===================================================================
retrieving revision 1.178
diff -u -r1.178 ChangeLog
--- ChangeLog	5 Feb 2004 03:57:49 -0000	1.178
+++ ChangeLog	6 Feb 2004 18:43:38 -0000
@@ -1,3 +1,6 @@
+2004-2-6 Sean Evoy
+	Tested fixes for bug 49590.
+
 2004-02-04 John Camelon
 	Added preliminary SelectionParseTests to test SELECTION_PARSE clients. 
 	Added SelectionParseTests to ParserTestSuite.  
Index: build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java
===================================================================
retrieving revision 1.17
diff -u -r1.17 ManagedBuildTests.java
--- build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java	27 Jan 2004 01:23:29 -0000	1.17
+++ build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java	6 Feb 2004 18:43:38 -0000
@@ -65,6 +65,7 @@
 	private static final String testConfigName = "Tester";
 	private static final String enumVal = "Another Enum";
 	private static final String[] listVal = {"_DEBUG", "/usr/include", "libglade.a"};
+	private static final String newExt = "wen";
 	private static final String projectName = "ManagedBuildTest";
 	private static final String rootExt = "toor";
 	private static final String stringVal = "-c -Wall";
@@ -107,7 +108,7 @@
 			
 			if (target.getName().equals("Test Root")) {
 				testRoot = target;
-				checkRootTarget(testRoot, "x");
+				checkRootTarget(testRoot);
 			} else if (target.getName().equals("Test Sub")) {
 				testSub = target;
 				checkSubTarget(testSub);
@@ -373,7 +374,7 @@
 		
 		// See if it still contains the overridden values (see testProjectCreation())
 		try {
-			checkRootTarget(defaultTarget, "z");
+			checkRootTarget(defaultTarget);
 		} catch (BuildException e1) {
 			fail("Overridden root target check failed: " + e1.getLocalizedMessage());
 		}
@@ -381,7 +382,7 @@
 		// Reset the config and retest
 		ManagedBuildManager.resetConfiguration(project, defaultConfig);
 		try {
-			checkRootTarget(defaultTarget, "x");
+			checkRootTarget(defaultTarget);
 		} catch (BuildException e2) {
 			fail("Reset root target check failed: " + e2.getLocalizedMessage());
 		}
@@ -412,9 +413,9 @@
 		ITarget newTarget = ManagedBuildManager.createTarget(project, targetDef);
 		assertEquals(newTarget.getName(), targetDef.getName());
 		assertFalse(newTarget.equals(targetDef));
-		String buildArtifactName = projectName + "." + newTarget.getDefaultExtension();
-		newTarget.setBuildArtifact(buildArtifactName);
-		
+		String buildArtifactName = projectName;
+		newTarget.setArtifactName(buildArtifactName);
+		newTarget.setArtifactExtension(newExt);
 		ITarget[] targets = ManagedBuildManager.getTargets(project);
 		assertEquals(1, targets.length);
 		ITarget target = targets[0];
@@ -433,7 +434,7 @@
 			}
 		}
 		ManagedBuildManager.setDefaultConfiguration(project, defaultConfig);		
-		checkRootTarget(target, "x");
+		checkRootTarget(target);
 		
 		// Override the "String Option in Category" option value
 		configs = target.getConfigurations();
@@ -471,7 +472,7 @@
 		// See if the artifact name is remembered
 		assertEquals(targets[0].getArtifactName(), buildArtifactName);
 		// Check the rest of the default information
-		checkRootTarget(targets[0], "z");
+		checkRootTarget(targets[0]);
 		
 		// Now test the information the makefile builder needs
 		checkBuildTestSettings(info);
@@ -510,7 +511,8 @@
 		String expectedCmd = "doIt";
 		
 		assertNotNull(info);
-		assertEquals(info.getBuildArtifactName(), projectName + "." + rootExt);
+//		assertEquals(info.getBuildArtifactName(), projectName + "." + rootExt);
+		assertEquals(info.getBuildArtifactName(), projectName);
 		
 		// There should be a default configuration defined for the project
 		ITarget buildTarget = info.getDefaultTarget();
@@ -609,13 +611,17 @@
 	/*
 	 * Do a full sanity check on the root target.
 	 */
-	private void checkRootTarget(ITarget target, String oicValue) throws BuildException {
+	private void checkRootTarget(ITarget target) throws BuildException {
 		// Target stuff
 		String expectedCleanCmd = "del /myworld";
 		String expectedParserId = "org.eclipse.cdt.core.PE";
 		String[] expectedOSList = {"win32"};
 		assertTrue(target.isTestTarget());
-		assertEquals(target.getDefaultExtension(), rootExt);
+		if (target.getArtifactName().equals("ManagedBuildTest")) {
+			assertEquals(target.getArtifactExtension(), newExt);
+		} else {
+			assertEquals(target.getArtifactExtension(), rootExt);
+		}
 		assertEquals(expectedCleanCmd, target.getCleanCommand());
 		assertEquals("make", target.getMakeCommand());
 		assertEquals(expectedParserId, target.getBinaryParserId());
@@ -806,7 +812,7 @@
 		// Make sure this is a test target
 		assertTrue(target.isTestTarget());
 		// Make sure the build artifact extension is there
-		assertEquals(target.getDefaultExtension(), subExt);
+		assertEquals(target.getArtifactExtension(), subExt);
 				
 		// Get the tools for this target
 		ITool[] tools = target.getTools();
@@ -942,9 +948,9 @@
 		ITarget rootTarget = definedTargets[0];
 		
 		// Set the build artifact of the target
-		String ext = rootTarget.getDefaultExtension();
+		String ext = rootTarget.getArtifactExtension();
 		String name = project.getName() + "." + ext;
-		rootTarget.setBuildArtifact(name);
+		rootTarget.setArtifactName(name);
 		
 		// Save, close, reopen and test again
 		ManagedBuildManager.saveBuildInfo(project);

Back to the top