Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Issue 6729005: GYP: Stronger MSVS Version Autodetection; VC2010 Express support

Created:
9 years, 9 months ago by RN
Modified:
9 years, 8 months ago
Reviewers:
Mark Mentovai, bradn, jeanluc1, knight
CC:
gyp-developer_googlegroups.com
Visibility:
Public.

Description

GYP: Stronger MSVS Version Autodetection; VC2010 Express support 1) Cleans up reg.exe launching by putting the logic into a single function. Also: 1a) Attempts Sysnative to bypass WoW directory redirection on 64-bit machines using 32-bit python (default with depot_tools); if that fails it falls back to the normal System32 reg.exe. Sysnative is available on Vista and up; XP and 2003 have a KB patch available (KB 942589 - http://support.microsoft.com/kb/942589/en-us). 2) Changes _CreateVersion() in MSVSVersion.py: 2a) Adds "2010e" MSVS_VERSION detection, passes it to the gyp files, and sets flat_sln to True as VC2010 express does not appear to support non-flat similar to previous express versions. 3) Changes _DetectVisualStudioVersions() in MSVSVersion.py: 3a) Modifies the newer (2010+) DevDiv detection method to scan for the express key. 3b) Detect 32-bit versions of MSVS through the Wow6432Node registry key. 3c) Detect MSVS Express versions, currently only 32-bit but checks both the normal and WoW locations in case of a (now more common) 64-bit machine. BUG=http://code.google.com/p/gyp/issues/detail?id=186 TEST=Make sure it auto-detects the proper MSVS version as well as express versions; in the case of 2010 express, passes "2010e" as MSVS_VERSION and generates correct project/solution files. If using 32-bit python on a 64-bit machine ensure it correctly bypasses WoW directory redirection and uses C:\Windows\System32 through the virtual directory c:\Windows\Sysnative (32-bit python is the default included with depot_tools).

Patch Set 1 #

Patch Set 2 : DevDiv express support; fix _RegistryKeyExists; VC2010 express support #

Patch Set 3 : Registry logic cleanup; try Sysnative before System32; AUTHORS #

Unified diffs Side-by-side diffs Delta from patch set Stats (+107 lines, -43 lines) Patch
M AUTHORS View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M pylib/gyp/MSVSVersion.py View 1 2 6 chunks +106 lines, -43 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
RN
9 years, 9 months ago (2011-03-23 21:58:07 UTC) #1
RN
Updated description a bit to explain the code change(s) more.
9 years, 9 months ago (2011-03-27 15:43:10 UTC) #2
bradn
LGTM I'll endeavor to land it for you soon?
9 years, 9 months ago (2011-03-27 16:30:18 UTC) #3
RN
On 2011/03/27 16:30:18, bradn wrote: > LGTM > > I'll endeavor to land it for ...
9 years, 9 months ago (2011-03-27 21:48:24 UTC) #4
RN
Updated for VC2010 express
9 years, 8 months ago (2011-03-30 07:02:43 UTC) #5
RN
Updated for VC2010 express
9 years, 8 months ago (2011-03-30 07:02:43 UTC) #6
RN
Killed whitespace; take your time with this if you want. mini_installer on Chromium compiles on ...
9 years, 8 months ago (2011-03-30 07:10:50 UTC) #7
RN
9 years, 8 months ago (2011-03-30 07:16:47 UTC) #8
Mark Mentovai
Brad, you gave LGTM and said you’d land this soon. Since then, Ryan has made ...
9 years, 8 months ago (2011-04-06 21:22:19 UTC) #9
RN
It's probably my fault for adding in a couple more related fixes/tweaks a few days ...
9 years, 8 months ago (2011-04-06 21:34:06 UTC) #10
RN
9 years, 8 months ago (2011-04-15 12:33:01 UTC) #11
Another week.... did some more tweaks to tweaks and added in sysnative directory
bypassing for those on 64-bit machines use the 64-bit version of reg.exe and not
the redirected 32-bit version that cannot correctly query 64-bit registry keys.
The default 32-bit version of python that comes with depot_tools, so more
out-of-the-box experience there.

Also updated the copyright and added myself to AUTHORS as required by my other
Chromium CLs.

Powered by Google App Engine
This is Rietveld 408576698