| OLD | NEW |
| (Empty) |
| 1 # Copyright (c) 2013 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 | |
| 5 # This file returns the MSVC config used by the Windows build. | |
| 6 # It's a bit hardcoded right now. I suspect we want to build this functionality | |
| 7 # into GN itself in the future. | |
| 8 | |
| 9 import sys | |
| 10 | |
| 11 # This script expects one parameter: the path to the root output directory. | |
| 12 | |
| 13 # TODO(brettw): do escaping. | |
| 14 def FormatStringForGN(x): | |
| 15 return '"' + x + '"' | |
| 16 | |
| 17 def PrintListOfStrings(x): | |
| 18 print '[' | |
| 19 for i in x: | |
| 20 print FormatStringForGN(i) + ', ' | |
| 21 print ']' | |
| 22 | |
| 23 # GN wants system-absolutepaths to begin in slashes. | |
| 24 sdk_root = '/C:\\Program Files (x86)\\Windows Kits\\8.0\\' | |
| 25 vs_root = '/C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\' | |
| 26 | |
| 27 def GetIncludes(): | |
| 28 return [ | |
| 29 sdk_root + 'Include\\shared', | |
| 30 sdk_root + 'Include\\um', | |
| 31 sdk_root + 'Include\\winrt', | |
| 32 vs_root + 'VC\\atlmfc\\include' | |
| 33 ] | |
| 34 | |
| 35 def _FormatAsEnvironmentBlock(envvar_dict): | |
| 36 """Format as an 'environment block' directly suitable for CreateProcess. | |
| 37 Briefly this is a list of key=value\0, terminated by an additional \0. See | |
| 38 CreateProcess documentation for more details.""" | |
| 39 block = '' | |
| 40 nul = '\0' | |
| 41 for key, value in envvar_dict.iteritems(): | |
| 42 block += key + '=' + value + nul | |
| 43 block += nul | |
| 44 return block | |
| 45 | |
| 46 def WriteEnvFile(file_path, values): | |
| 47 f = open(file_path, "w") | |
| 48 f.write(_FormatAsEnvironmentBlock(values)) | |
| 49 | |
| 50 includes = GetIncludes() | |
| 51 | |
| 52 # Write the environment files. | |
| 53 WriteEnvFile(sys.argv[1] + '\\environment.x86', | |
| 54 { 'TMP': 'C:\\Users\\brettw\\AppData\\Local\\Temp', | |
| 55 'SYSTEMROOT': 'C:\\Windows', | |
| 56 'TEMP': 'C:\\Users\\brettw\\AppData\\Local\\Temp', | |
| 57 'LIB': 'c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\LIB;c:\\P
rogram Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\LIB;C:\\Program Fi
les (x86)\\Microsoft SDKs\\Windows\\v7.0A\\lib;c:\\Program Files (x86)\\Microsof
t Visual Studio 10.0\\VC\\LIB;c:\\Program Files (x86)\\Microsoft Visual Studio 1
0.0\\VC\\ATLMFC\\LIB;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\li
b;', | |
| 58 'LIBPATH': 'C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Windows\\M
icrosoft.NET\\Framework\\v3.5;c:\\Program Files (x86)\\Microsoft Visual Studio 1
0.0\\VC\\LIB;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\
LIB;C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Windows\\Microsoft.NET
\\Framework\\v3.5;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\LIB
;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\LIB;', | |
| 59 'PATH': 'C:\\apps\\depot_tools\\python_bin;c:\\Program Files (x86)\\Microsof
t F#\\v4.0\\;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VSTSDB\\Depl
oy;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\\;c:\\Pro
gram Files (x86)\\Microsoft Visual Studio 10.0\\VC\\BIN;c:\\Program Files (x86)\
\Microsoft Visual Studio 10.0\\Common7\\Tools;C:\\Windows\\Microsoft.NET\\Framew
ork\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework\\v3.5;c:\\Program Files (x
86)\\Microsoft Visual Studio 10.0\\VC\\VCPackages;C:\\Program Files (x86)\\HTML
Help Workshop;C:\\Program Files (x86)\\HTML Help Workshop;C:\\Program Files (x86
)\\Microsoft SDKs\\Windows\\v7.0A\\bin\\NETFX 4.0 Tools;C:\\Program Files (x86)\
\Microsoft SDKs\\Windows\\v7.0A\\bin;C:\\apps\\depot_tools\\python_bin;C:\\apps\
\depot_tools\\;C:\\apps\\depot_tools\\;C:\\apps\\depot_tools\\;c:\\Program Files
(x86)\\Microsoft F#\\v4.0\\;c:\\Program Files (x86)\\Microsoft Visual Studio 10
.0\\VSTSDB\\Deploy;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common
7\\IDE\\;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\BIN;c:\\Prog
ram Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\Tools;C:\\Windows\\Micro
soft.NET\\Framework\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework\\v3.5;c:\\
Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\VCPackages;C:\\Program Fi
les (x86)\\HTML Help Workshop;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\
v7.0A\\bin\\NETFX 4.0 Tools;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7
.0A\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windo
ws\\System32\\WindowsPowerShell\\v1.0\\;C:\\windows\\corpam;C:\\python_26_amd64\
\files;C:\\Windows\\ccmsetup;c:\\Program Files (x86)\\Microsoft SQL Server\\100\
\Tools\\Binn\\;c:\\Program Files\\Microsoft SQL Server\\100\\Tools\\Binn\\;c:\\P
rogram Files\\Microsoft SQL Server\\100\\DTS\\Binn\\;c:\\cygwin\\bin;C:\\apps\\;
C:\\apps\\depot_tools;C:\\Program Files (x86)\\Windows Kits\\8.0\\Windows Perfor
mance Toolkit\\;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Fil
es (x86)\\Google\\Cert Installer;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\
\;C:\\Program Files (x86)\\Google\\google_appengine\\', | |
| 60 'PATHEXT': '=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', | |
| 61 'INCLUDE': 'c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLU
DE;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\INCLUDE;C:
\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\include;c:\\Program Files
(x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE;c:\\Program Files (x86)\\Micro
soft Visual Studio 10.0\\VC\\ATLMFC\\INCLUDE;C:\\Program Files (x86)\\Microsoft
SDKs\\Windows\\v7.0A\\include;'}) | |
| 62 | |
| 63 WriteEnvFile(sys.argv[1] + '\\environment.x64', | |
| 64 { 'TMP': 'C:\\Users\\brettw\\AppData\\Local\\Temp', | |
| 65 'SYSTEMROOT': 'C:\\Windows', | |
| 66 'TEMP': 'C:\\Users\\brettw\\AppData\\Local\\Temp', | |
| 67 'LIB': 'c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\LIB\\amd6
4;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\LIB\\amd64;
C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\lib\\x64;c:\\Program Fi
les (x86)\\Microsoft Visual Studio 10.0\\VC\\LIB;c:\\Program Files (x86)\\Micros
oft Visual Studio 10.0\\VC\\ATLMFC\\LIB;C:\\Program Files (x86)\\Microsoft SDKs\
\Windows\\v7.0A\\lib;', | |
| 68 'LIBPATH': 'C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Windows\
\Microsoft.NET\\Framework64\\v3.5;c:\\Program Files (x86)\\Microsoft Visual Stud
io 10.0\\VC\\LIB\\amd64;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\V
C\\ATLMFC\\LIB\\amd64;C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Wind
ows\\Microsoft.NET\\Framework\\v3.5;c:\\Program Files (x86)\\Microsoft Visual St
udio 10.0\\VC\\LIB;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\AT
LMFC\\LIB;', | |
| 69 'PATH': 'C:\\apps\\depot_tools\\python_bin;c:\\Program Files (x86)\\Microsof
t Visual Studio 10.0\\VC\\BIN\\amd64;C:\\Windows\\Microsoft.NET\\Framework64\\v4
.0.30319;C:\\Windows\\Microsoft.NET\\Framework64\\v3.5;c:\\Program Files (x86)\\
Microsoft Visual Studio 10.0\\VC\\VCPackages;c:\\Program Files (x86)\\Microsoft
Visual Studio 10.0\\Common7\\IDE;c:\\Program Files (x86)\\Microsoft Visual Studi
o 10.0\\Common7\\Tools;C:\\Program Files (x86)\\HTML Help Workshop;C:\\Program F
iles (x86)\\HTML Help Workshop;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\
\v7.0A\\bin\\NETFX 4.0 Tools\\x64;C:\\Program Files (x86)\\Microsoft SDKs\\Windo
ws\\v7.0A\\bin\\x64;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\bin
;C:\\apps\\depot_tools\\python_bin;C:\\apps\\depot_tools\\;C:\\apps\\depot_tools
\\;C:\\apps\\depot_tools\\;c:\\Program Files (x86)\\Microsoft F#\\v4.0\\;c:\\Pro
gram Files (x86)\\Microsoft Visual Studio 10.0\\VSTSDB\\Deploy;c:\\Program Files
(x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\\;c:\\Program Files (x86)\\Mi
crosoft Visual Studio 10.0\\VC\\BIN;c:\\Program Files (x86)\\Microsoft Visual St
udio 10.0\\Common7\\Tools;C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\
Windows\\Microsoft.NET\\Framework\\v3.5;c:\\Program Files (x86)\\Microsoft Visua
l Studio 10.0\\VC\\VCPackages;C:\\Program Files (x86)\\HTML Help Workshop;C:\\Pr
ogram Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\bin\\NETFX 4.0 Tools;C:\\Prog
ram Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\bin;C:\\Windows\\system32;C:\\W
indows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.
0\\;C:\\windows\\corpam;C:\\python_26_amd64\\files;C:\\Windows\\ccmsetup;c:\\Pro
gram Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\;c:\\Program Files\\Mi
crosoft SQL Server\\100\\Tools\\Binn\\;c:\\Program Files\\Microsoft SQL Server\\
100\\DTS\\Binn\\;c:\\cygwin\\bin;C:\\apps\\;C:\\apps\\depot_tools;C:\\Program Fi
les (x86)\\Windows Kits\\8.0\\Windows Performance Toolkit\\;C:\\Windows\\System3
2\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Google\\Cert Installer;C:\
\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Google\\g
oogle_appengine\\', | |
| 70 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', | |
| 71 'INCLUDE': 'c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLU
DE;c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\INCLUDE;C:
\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\include;c:\\Program Files
(x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE;c:\\Program Files (x86)\\Micro
soft Visual Studio 10.0\\VC\\ATLMFC\\INCLUDE;C:\\Program Files (x86)\\Microsoft
SDKs\\Windows\\v7.0A\\include;'}) | |
| 72 | |
| 73 # Return the includes and such. | |
| 74 print '[' | |
| 75 PrintListOfStrings(includes) | |
| 76 print ']' | |
| 77 | |
| OLD | NEW |