1# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5declare_args() {
6  # Path to Visual Studio. If empty, the default is used which is to use the
7  # automatic toolchain in depot_tools. If set, you must also set the
8  # visual_studio_version and wdk_path.
9  visual_studio_path = ""
10
11  # Version of Visual Studio pointed to by the visual_studio_path.
12  # Use "2013" for Visual Studio 2013, or "2013e" for the Express version.
13  visual_studio_version = ""
14
15  # Directory of the Windows driver kit. If visual_studio_path is empty, this
16  # will be auto-filled.
17  wdk_path = ""
18
19  # Full path to the Windows SDK, not including a backslash at the end.
20  # This value is the default location, override if you have a different
21  # installation location.
22  windows_sdk_path = "C:\Program Files (x86)\Windows Kits\8.0"
23
24  # The list of include directories that are treated as "system" include
25  # directories. TODO(scottmg): These are incorrectly put on the command line
26  # in GN, they should really be stored into %INCLUDE%.
27  system_include_dirs = []
28}
29
30if (visual_studio_path == "") {
31  toolchain_data =
32      exec_script("../../vs_toolchain.py", [ "get_toolchain_dir" ], "scope")
33  visual_studio_path = toolchain_data.vs_path
34  windows_sdk_path = toolchain_data.sdk_path
35  visual_studio_version = toolchain_data.vs_version
36  wdk_path = toolchain_data.wdk_dir
37} else {
38  assert(visual_studio_version != "",
39         "You must set the visual_studio_version if you set the path")
40  assert(wdk_path != "",
41         "You must set the wdk_path if you set the visual studio path")
42}
43
44# Set when using the "Express" version of a Visual Studio version we support.
45is_visual_studio_express = (visual_studio_version == "2013e")
46
47
48# The Windows SDK include directories must be first. They both have a sal.h,
49# and the SDK one is newer and the SDK uses some newer features from it not
50# present in the Visual Studio one.
51system_include_dirs = [
52  "$windows_sdk_path\Include\shared",
53  "$windows_sdk_path\Include\um",
54  "$windows_sdk_path\Include\winrt",
55  "$visual_studio_path\VC\include",
56  "$visual_studio_path\VC\atlmfc\include",
57]
58
59if (is_visual_studio_express) {
60  system_include_dirs += [
61    "$wdk_path/inc/atl71",
62    "$wdk_path/inc/mfc42",
63  ]
64}
65