media/webrtc/trunk/build/win/install-build-deps.py

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rwxr-xr-x

Integrate suggestion from review to improve consistency with existing code.

     1 #!/usr/bin/env python
     2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
     3 # Use of this source code is governed by a BSD-style license that can be
     4 # found in the LICENSE file.
     6 import shutil
     7 import sys
     8 import os
    10 def patch_msbuild():
    11   """VS2010 MSBuild has a ULDI bug that we patch here. See http://goo.gl/Pn8tj.
    12   """
    13   source_path = os.path.join(os.environ['ProgramFiles(x86)'],
    14                              "MSBuild",
    15                              "Microsoft.Cpp",
    16                              "v4.0",
    17                              "Microsoft.CppBuild.targets")
    18   backup_path = source_path + ".backup"
    19   if not os.path.exists(backup_path):
    20     try:
    21       print "Backing up %s..." % source_path
    22       shutil.copyfile(source_path, backup_path)
    23     except IOError:
    24       print "Could not back up %s to %s. Run as Administrator?" % (
    25           source_path, backup_path)
    26       return 1
    28   source = open(source_path).read()
    29   base = ('''<Target Name="GetResolvedLinkObjs" Returns="@(ObjFullPath)" '''
    30           '''DependsOnTargets="$(CommonBuildOnlyTargets);ComputeCLOutputs;'''
    31           '''ResolvedLinkObjs"''')
    32   find = base + '>'
    33   replace = base + ''' Condition="'$(ConfigurationType)'=='StaticLibrary'">'''
    34   result = source.replace(find, replace)
    36   if result != source:
    37     open(source_path, "w").write(result)
    38     print "Patched %s." % source_path
    39   return 0
    42 def main():
    43   return patch_msbuild()
    46 if __name__ == "__main__":
    47   sys.exit(main())

mercurial