DescriptionGYP: 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 #Messages
Total messages: 11 (0 generated)
|