]> git.tdb.fi Git - builder.git/blobdiff - source/builder.cpp
Split SystemTools into GnuTools and ClangTools
[builder.git] / source / builder.cpp
index 3ad6146349fbaf331fa2779e97407e4ff2aa6f6a..b49bc7577909471b81459be1ee13c76e0651d194 100644 (file)
 #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"
 
@@ -85,9 +86,13 @@ void Builder::set_temp_directory(const FS::Path &p)
 
 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));
 }