public WorkResult execute(LinkerSpec spec) {
MutableCommandLineToolInvocation invocation = baseInvocation.copy();
invocation.addPostArgsAction(new VisualCppOptionsFileArgTransformer(spec.getTempDir()));
invocation.setArgs(argsTransformer.transform(specTransformer.transform(spec)));
commandLineTool.execute(invocation);
return new SimpleWorkResult(true);
}