예제 #1
0
 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");
 }
예제 #2
0
 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");
 }
예제 #3
0
    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;
    }
예제 #4
0
 public <T extends LinkerSpec> Compiler<T> createLinker() {
   CommandLineTool<LinkerSpec> commandLineTool =
       commandLineTool("Linker", install.getLinker(targetPlatform));
   commandLineTool.withSpecTransformer(addLibraryPath());
   return (Compiler<T>) new LinkExeLinker(commandLineTool);
 }