- toolchain.add_tool(new GnuCCompiler(*this, *current_arch));
- toolchain.add_tool(new GnuCxxCompiler(*this, *current_arch));
- toolchain.add_tool(new GnuLinker(*this, *current_arch));
- toolchain.add_tool(new GnuArchiver(*this, *current_arch));
- toolchain.add_tool(new Copy(*this));
- toolchain.add_tool(new Tar(*this));
- toolchain.add_tool(new PkgConfigGenerator(*this));
- if(current_arch->get_system()=="windows")
- toolchain.add_tool(new MingwDllTool(*this, *current_arch));
+ const string &arch_tc = current_arch->get_toolchain();
+ if(current_arch->get_system()=="android")
+ toolchain.add_toolchain(new AndroidTools(*this, *current_arch));
+ else if(arch_tc=="clang")
+ toolchain.add_toolchain(new ClangTools(*this, *current_arch));
+ else if(arch_tc=="gnu")
+ toolchain.add_toolchain(new GnuTools(*this, *current_arch));
+ toolchain.add_toolchain(new BuiltinTools(*this));