new_contents: #!/usr/bin/env python
  # Copyright (c) 2012 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  import shutil
  import sys
  import os
  
  def patch_msbuild():
    """VS2010 MSBuild has a ULDI bug that we patch here. See http://goo.gl/Pn8tj.
    """
    source_path = os.path.join(os.environ['ProgramFiles(x86)'],
                               "MSBuild",
                               "Microsoft.Cpp",
                               "v4.0",
                               "Microsoft.CppBuild.targets")
    backup_path = source_path + ".backup"
    if not os.path.exists(backup_path):
      try:
        print "Backing up %s..." % source_path
        shutil.copyfile(source_path, backup_path)
      except IOError:
        print "Could not back up %s to %s. Run as Administrator?" % (
            source_path, backup_path)
        return 1
  
    source = open(source_path).read()
    base = ('''<Target Name="GetResolvedLinkObjs" Returns="@(ObjFullPath)" '''
            '''DependsOnTargets="$(CommonBuildOnlyTargets);ComputeCLOutputs;'''
            '''ResolvedLinkObjs"''')
    find = base + '>'
    replace = base + ''' Condition="'$(ConfigurationType)'=='StaticLibrary'">'''
    result = source.replace(find, replace)
  
    if result != source:
      open(source_path, "w").write(result)
      print "Patched %s." % source_path
    return 0
  
  
  def main():
    return patch_msbuild()
  
  
  if __name__ == "__main__":
    sys.exit(main())
  
subject: Add install-build-deps.py to patch msbuild for vs2010