private <T extends BinaryToolSpec> CommandLineTool<T> commandLineTool( String toolName, File exe) { CommandLineTool<T> tool = new CommandLineTool<T>(toolName, exe, execActionFactory); // The visual C++ tools use the path to find other executables tool.withPath( install.getVisualCppBin(targetPlatform), sdk.getBinDir(targetPlatform), install.getCommonIdeBin()); return tool; }
public <T extends BinaryToolSpec> Compiler<T> createCCompiler() { CommandLineTool<CCompileSpec> commandLineTool = commandLineTool("C compiler", install.getCompiler(targetPlatform)); Transformer<CCompileSpec, CCompileSpec> specTransformer = addIncludePath(); commandLineTool.withSpecTransformer(specTransformer); CCompiler cCompiler = new CCompiler(commandLineTool); return (Compiler<T>) new OutputCleaningCompiler<CCompileSpec>(cCompiler, ".obj"); }
public <T extends StaticLibraryArchiverSpec> Compiler<T> createStaticLibraryArchiver() { CommandLineTool<StaticLibraryArchiverSpec> commandLineTool = commandLineTool("Static library archiver", install.getStaticLibArchiver(targetPlatform)); return (Compiler<T>) new LibExeStaticLibraryArchiver(commandLineTool); }
public <T extends LinkerSpec> Compiler<T> createLinker() { CommandLineTool<LinkerSpec> commandLineTool = commandLineTool("Linker", install.getLinker(targetPlatform)); commandLineTool.withSpecTransformer(addLibraryPath()); return (Compiler<T>) new LinkExeLinker(commandLineTool); }
public <T extends BinaryToolSpec> Compiler<T> createAssembler() { CommandLineTool<AssembleSpec> commandLineTool = commandLineTool("Assembler", install.getAssembler(targetPlatform)); return (Compiler<T>) new Assembler(commandLineTool); }