Chromium Code Reviews| Index: win_toolchain/package_from_installed.py |
| diff --git a/win_toolchain/package_from_installed.py b/win_toolchain/package_from_installed.py |
| index c71de3dab9f78809f6e2f5310397c732415729e7..b69b1730c0338c6273e54665feb8e38ff77ee98d 100644 |
| --- a/win_toolchain/package_from_installed.py |
| +++ b/win_toolchain/package_from_installed.py |
| @@ -21,6 +21,7 @@ useful as the resulting zip can't be redistributed, and most will presumably |
| have a Pro license anyway). |
| """ |
| +import glob |
| import optparse |
| import os |
| import platform |
| @@ -67,10 +68,14 @@ def BuildFileList(): |
| elif VS_VERSION == '2015': |
| paths += [ |
| ('VC/redist/x86/Microsoft.VC140.CRT', 'sys32'), |
| + ('VC/redist/x86/Microsoft.VC140.CRT', 'win_sdk/bin/x86'), |
| ('VC/redist/x86/Microsoft.VC140.MFC', 'sys32'), |
| ('VC/redist/debug_nonredist/x86/Microsoft.VC140.DebugCRT', 'sys32'), |
| ('VC/redist/debug_nonredist/x86/Microsoft.VC140.DebugMFC', 'sys32'), |
| ('VC/redist/x64/Microsoft.VC140.CRT', 'sys64'), |
| + ('VC/redist/x64/Microsoft.VC140.CRT', 'VC/bin/amd64_x86'), |
| + ('VC/redist/x64/Microsoft.VC140.CRT', 'VC/bin/amd64'), |
| + ('VC/redist/x64/Microsoft.VC140.CRT', 'win_sdk/bin/x64'), |
| ('VC/redist/x64/Microsoft.VC140.MFC', 'sys64'), |
| ('VC/redist/debug_nonredist/x64/Microsoft.VC140.DebugCRT', 'sys64'), |
| ('VC/redist/debug_nonredist/x64/Microsoft.VC140.DebugMFC', 'sys64'), |
| @@ -151,19 +156,36 @@ def BuildFileList(): |
| installer), |
| os.path.join('installers', installer))) |
| - system_crt_files = [ |
| - # Needed to let debug binaries run. |
| - 'ucrtbased.dll', |
| - ] |
| - bitness = platform.architecture()[0] |
| - # When running 64-bit python the x64 DLLs will be in System32 |
| - x64_path = 'System32' if bitness == '64bit' else 'Sysnative' |
| - x64_path = os.path.join(r'C:\Windows', x64_path) |
| - for system_crt_file in system_crt_files: |
| - result.append((os.path.join(r'C:\Windows\SysWOW64', system_crt_file), |
| - os.path.join('sys32', system_crt_file))) |
| - result.append((os.path.join(x64_path, system_crt_file), |
| - os.path.join('sys64', system_crt_file))) |
| + if VS_VERSION == '2015': |
| + # Copy the x86 ucrt DLLs to all directories with 32-bit binaries that are |
| + # added to the path by SetEnv.cmd, and to sys32. |
| + ucrt_paths = glob.glob(os.path.join(sdk_path, r'redist\ucrt\dlls\x86\*')) |
| + for ucrt_path in ucrt_paths: |
| + ucrt_file = os.path.split(ucrt_path)[1] |
| + for dest_dir in [ r"win_sdk\bin\x86", "sys32" ]: |
|
scottmg
2016/02/02 22:55:13
" -> '
brucedawson
2016/02/03 00:19:49
D'oh! Done.
|
| + result.append((ucrt_path, os.path.join(dest_dir, ucrt_file))) |
| + # Copy the x64 ucrt DLLs to all directories with 64-bit binaries that are |
| + # added to the path by SetEnv.cmd, and to sys64. |
| + ucrt_paths = glob.glob(os.path.join(sdk_path, r'redist\ucrt\dlls\x64\*')) |
| + for ucrt_path in ucrt_paths: |
| + ucrt_file = os.path.split(ucrt_path)[1] |
| + for dest_dir in [ r"VC\bin\amd64_x86", r"VC\bin\amd64", |
|
scottmg
2016/02/02 22:55:13
and here
brucedawson
2016/02/03 00:19:49
Done.
|
| + r"win_sdk\bin\x64", "sys64"]: |
| + result.append((ucrt_path, os.path.join(dest_dir, ucrt_file))) |
| + |
| + system_crt_files = [ |
| + # Needed to let debug binaries run. |
| + 'ucrtbased.dll', |
| + ] |
| + bitness = platform.architecture()[0] |
| + # When running 64-bit python the x64 DLLs will be in System32 |
| + x64_path = 'System32' if bitness == '64bit' else 'Sysnative' |
| + x64_path = os.path.join(r'C:\Windows', x64_path) |
| + for system_crt_file in system_crt_files: |
| + result.append((os.path.join(r'C:\Windows\SysWOW64', system_crt_file), |
| + os.path.join('sys32', system_crt_file))) |
| + result.append((os.path.join(x64_path, system_crt_file), |
| + os.path.join('sys64', system_crt_file))) |
| # Generically drop all arm stuff that we don't need, and |
| # drop .msi files because we don't need installers. |
| @@ -185,7 +207,6 @@ def GenerateSetEnvCmd(target_dir): |
| # Common to x86 and x64 |
| 'set VSINSTALLDIR=%~dp0..\\..\\\n' |
| 'set VCINSTALLDIR=%~dp0..\\..\\VC\\\n' |
| - 'set PATH=%~dp0..\\..\\Common7\\IDE;%PATH%\n' |
|
scottmg
2016/02/02 22:55:13
Are you sure this isn't needed any more? I thought
brucedawson
2016/02/03 00:19:49
Yep, pretty sure. Adding it to the path is a NOP b
scottmg
2016/02/03 00:23:56
OK. That may have been for the x86 host tools, not
|
| 'set INCLUDE=%~dp0..\\..\\win_sdk\\Include\\WINVERSION\\um;' |
| '%~dp0..\\..\\win_sdk\\Include\\WINVERSION\\shared;' |
| '%~dp0..\\..\\win_sdk\\Include\\WINVERSION\\winrt;'.replace( |