code: private void writeLinkerElement(final ContentHandler content, final boolean isDebug,
        final List<DependencyDef> dependencies, final String basePath, final TargetInfo linkTarget,
        final Map<String, TargetInfo> targets) throws SAXException {
      final AttributesImpl attributes = new AttributesImpl();
      addAttribute(attributes, "Name", "VCLinkerTool");
  
      final ProcessorConfiguration config = linkTarget.getConfiguration();
      if (config instanceof CommandLineLinkerConfiguration) {
        final CommandLineLinkerConfiguration linkerConfig = (CommandLineLinkerConfiguration) config;
        if (linkerConfig.getLinker() instanceof MsvcCompatibleLinker) {
          addAttribute(attributes, "LinkIncremental", getLinkIncremental(linkerConfig));
          if (isDebug) {
            addAttribute(attributes, "GenerateDebugInformation", this.trueLiteral);
          } else {
            addAttribute(attributes, "GenerateDebugInformation", this.falseLiteral);
          }
          addAttribute(attributes, "SubSystem", getSubsystem(linkerConfig));
          addAttribute(attributes, "TargetMachine", getTargetMachine(linkerConfig));
        }
      }
      addAttribute(attributes, "AdditionalDependencies",
          getAdditionalDependencies(linkTarget, dependencies, targets, basePath));
      content.startElement(null, "Tool", "Tool", attributes);
      content.endElement(null, "Tool", "Tool");
    }
docs: Write Tool element for linker.
  
  @param content
  serialization content handler.
  @param isDebug
  true if generating debug configuration.
  @param dependencies
  project dependencies.
  @param basePath
  path to directory containing project file.
  @param linkTarget
  link target.
  @param targets
  all targets.
  @throws SAXException
  thrown if error during serialization.