diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
index 24288f2be85..357a1355290 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
@@ -3694,7 +3694,7 @@ public class Tool extends HoldsOptions implements ITool, IOptionCategory, IMatch
return supportsManagedBuild.booleanValue();
}
- private class MatchKey {
+ private static class MatchKey {
Tool tool;
public MatchKey(Tool tch) {
@@ -3711,11 +3711,11 @@ public class Tool extends HoldsOptions implements ITool, IOptionCategory, IMatch
}
public int hashCode() {
- String name = getName();
+ String name = tool.getName();
if(name == null)
- name = getId();
+ name = tool.getId();
int code = name.hashCode();
- String version = ManagedBuildManager.getVersionFromIdAndVersion(getId());
+ String version = ManagedBuildManager.getVersionFromIdAndVersion(tool.getId());
if(version != null)
code += version.hashCode();
return code;
diff --git a/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.properties b/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.properties
index 35656ca4692..34c6633d4b0 100644
--- a/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.properties
+++ b/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.properties
@@ -76,10 +76,24 @@ ToolName.linker.gnu.cpp = GCC C++ Linker
ToolName.archiver.gnu = GCC Archiver
ToolName.assembler.gnu = GCC Assembler
+#Cygwin tool names
+ToolName.linker.cygwin.gnu.c=Cygwin C Linker
+ToolName.linker.cygwin.gnu.cpp=Cygwin C++ Linker
+ToolName.compiler.cygwin.gnu.c = Cygwin C Compiler
+ToolName.compiler.cygwin.gnu.cpp = Cygwin C++ Compiler
+
+#MinGW tool names
+ToolName.linker.mingw.gnu.c=MinGW C Linker
+ToolName.linker.mingw.gnu.cpp=MinGW C++ Linker
+
# Mach-O tool names
ToolName.linker.macosx.c = MacOS X C Linker
ToolName.linker.macosx.cpp = MacOS X C++ Linker
+#Solaris tool names
+ToolName.compiler.solaris.c = Solaris C Compiler
+ToolName.compiler.solaris.cpp = Solaris C++ Compiler
+
# Generic Category Names
OptionCategory.Symbols = Symbols
OptionCategory.Preproc = Preprocessor
diff --git a/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml b/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml
index 51dd37b0f0a..a5d83ab1516 100644
--- a/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml
+++ b/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml
@@ -1496,6 +1496,7 @@
+ id="cdt.managedbuild.tool.gnu.c.linker.cygwin.output.so"
+ superClass="cdt.managedbuild.tool.gnu.c.linker.output.so">
+ id="cdt.managedbuild.tool.gnu.cpp.linker.cygwin.output.so"
+ superClass="cdt.managedbuild.tool.gnu.cpp.linker.output.so">
@@ -1774,9 +1781,16 @@
value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
+
+
+
@@ -1786,6 +1800,11 @@
value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
+
+
@@ -1940,11 +1959,13 @@
@@ -2930,7 +2951,7 @@
+ superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.so.output.base">
+ superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.output.base">
+ superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.so.output.base">
+ superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.so.output.base">