Chromium Code Reviews| Index: chrome/tools/build/win/check_sdk_patch.py |
| diff --git a/chrome/tools/build/win/check_sdk_patch.py b/chrome/tools/build/win/check_sdk_patch.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f93e265bbb7223b21d1909c65c649de2be0e38b3 |
| --- /dev/null |
| +++ b/chrome/tools/build/win/check_sdk_patch.py |
| @@ -0,0 +1,43 @@ |
| +#!/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. |
| + |
| +"""Script to check that the Windows 8 SDK has been appropriately patched so that |
| + it can be used with VS 2010. |
| + |
| + In practice, this checks for the presence of 'enum class' in asyncinfo.h. |
| + Changing that to 'enum' is the only thing needed to build with the WinRT |
| + headers in VS 2010. |
| +""" |
| + |
| +import os |
| +import sys |
| + |
| + |
| +def main(argv): |
| + if len(argv) < 2: |
| + print "Usage: check_sdk_patch.py path_to_windows_8_sdk" |
| + return -1 |
|
grt (UTC plus 2)
2012/08/29 02:59:18
are you following a convention for using negative
robertshield
2012/08/30 13:34:05
Done.
|
| + |
| + # Look for asyncinfo.h |
| + async_info_path = os.path.join(argv[1], 'Include/winrt/asyncinfo.h') |
| + if not os.path.exists(async_info_path): |
| + print ("Could not find %s in provided SDK path. Please check input." % |
| + async_info_path) |
| + print "CWD: %s" % os.getcwd() |
| + return -1 |
| + else: |
| + if 'enum class' in open(async_info_path).read(): |
| + print ("\nERROR: You are using an unpatched Windows 8 SDK. Please see " |
| + "instructions at\nhttp://www.chromium.org/developers/how-tos/" |
| + "build-instructions-windows\nfor how to apply the patch to build " |
| + "with VS2010.\n") |
| + return -2 |
| + else: |
| + # Patched Windows 8 SDK found. |
| + return 0 |
| + |
| + |
| +if '__main__' == __name__: |
| + sys.exit(main(sys.argv)) |