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 BinaryToolSpec> Compiler<T> createWindowsResourceCompiler() { CommandLineTool<WindowsResourceCompileSpec> commandLineTool = commandLineTool("Windows resource compiler", sdk.getResourceCompiler(targetPlatform)); Transformer<WindowsResourceCompileSpec, WindowsResourceCompileSpec> specTransformer = addIncludePath(); commandLineTool.withSpecTransformer(specTransformer); WindowsResourceCompiler windowsResourceCompiler = new WindowsResourceCompiler(commandLineTool); return (Compiler<T>) new OutputCleaningCompiler<WindowsResourceCompileSpec>(windowsResourceCompiler, ".res"); }
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 LinkerSpec> Compiler<T> createLinker() { CommandLineTool<LinkerSpec> commandLineTool = commandLineTool("Linker", install.getLinker(targetPlatform)); commandLineTool.withSpecTransformer(addLibraryPath()); return (Compiler<T>) new LinkExeLinker(commandLineTool); }