#include "binarypackage.h"
#include "builder.h"
#include "builtintools.h"
+#include "clangtools.h"
#include "datatool.h"
+#include "gnutools.h"
#include "installedfile.h"
#include "package.h"
#include "sharedlibrary.h"
#include "sourcepackage.h"
-#include "systemtools.h"
#include "task.h"
#include "virtualtarget.h"
void Builder::add_default_tools()
{
- if(current_arch->get_system()=="android")
+ const string &sys = current_arch->get_system();
+ if(sys=="android")
toolchain.add_toolchain(new AndroidTools(*this, *current_arch));
- toolchain.add_toolchain(new SystemTools(*this, *current_arch));
+ else if((sys=="darwin" || sys=="freebsd") && vfs.find_binary("clang"))
+ toolchain.add_toolchain(new ClangTools(*this, *current_arch));
+ else
+ toolchain.add_toolchain(new GnuTools(*this, *current_arch));
toolchain.add_toolchain(new BuiltinTools(*this));
toolchain.add_tool(new DataTool(*this));
}
--- /dev/null
+#include "builder.h"
+#include "clangcompiler.h"
+#include "clangtools.h"
+#include "gnuarchiver.h"
+#include "gnulinker.h"
+
+using namespace std;
+
+ClangTools::ClangTools(Builder &builder, const Architecture &arch)
+{
+ add_tool(new ClangCompiler(builder, arch, "CC"));
+ add_tool(new ClangCompiler(builder, arch, "CXX"));
+ add_tool(new ClangCompiler(builder, arch, "OBJC"));
+
+ add_tool(new GnuLinker(builder, arch));
+ add_tool(new GnuArchiver(builder, arch));
+}
--- /dev/null
+#ifndef CLANGTOOLS_H_
+#define CLANGTOOLS_H_
+
+#include "toolchain.h"
+
+class Architecture;
+class Builder;
+
+class ClangTools: public Toolchain
+{
+public:
+ ClangTools(Builder &, const Architecture &);
+};
+
+#endif
--- /dev/null
+#include "builder.h"
+#include "gnuarchiver.h"
+#include "gnucompiler.h"
+#include "gnulinker.h"
+#include "gnutools.h"
+#include "mingwdlltool.h"
+
+GnuTools::GnuTools(Builder &builder, const Architecture &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));
+}
--- /dev/null
+#ifndef GNUTOOLS_H_
+#define GNUTOOLS_H_
+
+#include "toolchain.h"
+
+class Architecture;
+class Builder;
+
+class GnuTools: public Toolchain
+{
+public:
+ GnuTools(Builder &, const Architecture &);
+};
+
+#endif
+++ /dev/null
-#include "architecture.h"
-#include "builder.h"
-#include "clangcompiler.h"
-#include "gnuarchiver.h"
-#include "gnucompiler.h"
-#include "gnulinker.h"
-#include "mingwdlltool.h"
-#include "systemtools.h"
-#include "vcxprojectgenerator.h"
-
-using namespace std;
-
-SystemTools::SystemTools(Builder &builder, const Architecture &arch)
-{
- const string &sys = arch.get_system();
- if((sys=="darwin" || sys=="freebsd") && builder.get_vfs().find_binary("clang"))
- {
- add_tool(new ClangCompiler(builder, arch, "CC"));
- add_tool(new ClangCompiler(builder, arch, "CXX"));
- add_tool(new ClangCompiler(builder, arch, "OBJC"));
- }
- else
- {
- 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));
- add_tool(new VcxProjectGenerator(builder));
- }
-}
+++ /dev/null
-#ifndef SYSTEMTOOLS_H_
-#define SYSTEMTOOLS_H_
-
-#include "toolchain.h"
-
-class Architecture;
-class Builder;
-
-class SystemTools: public Toolchain
-{
-public:
- SystemTools(Builder &, const Architecture &);
-};
-
-#endif