+#include <msp/builder/architecture.h>
+#include "gnuarchiver.h"
+#include "gnucompiler.h"
+#include "gnulinker.h"
+#include "gnutools.h"
+#include "mingwdlltool.h"
+
+GnuTools::GnuTools(Builder &builder, const Architecture &arch):
+ Toolchain("gnu", get_priority(arch))
+{
+ add_tool(new GnuCompiler(builder, arch, "CC"));
+ add_tool(new GnuCompiler(builder, arch, "CXX"));
+ add_tool(new GnuCompiler(builder, arch, "OBJC"));
+
+ add_tool(new GnuLinker(builder, arch));
+ add_tool(new GnuArchiver(builder, arch));
+
+ if(arch.get_system()=="windows")
+ add_tool(new MingwDllTool(builder, arch));
+}
+
+int GnuTools::get_priority(const Architecture &arch)
+{
+ if(arch.get_toolchain()=="gnu")
+ return 20;
+ else if(arch.get_system()=="linux")
+ return 10;
+ else
+ return 0;
+}