Advertisement
Guest User

guess-msvc w/echo

a guest
Oct 6th, 2011
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 7.40 KB | None | 0 0
  1. REM -*- Mode: fundamental; tab-width: 8; indent-tabs-mode: 1 -*-
  2. @ECHO OFF
  3.  
  4. set CYGWIN=
  5. if not defined MOZ_NO_RESET_PATH (
  6.     set PATH=%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem
  7. )
  8.  
  9. REM if DISPLAY is set, rxvt attempts to load libX11.dll and fails to start
  10. REM (see mozilla bug 376828)
  11. SET DISPLAY=
  12.  
  13. SET INCLUDE=
  14. SET LIB=
  15.  
  16. SET WINCURVERKEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion
  17. REG QUERY "%WINCURVERKEY%" /v "ProgramFilesDir (x86)" >nul 2>nul
  18. if %ERRORLEVEL% EQU 0 (
  19.   SET WIN64=1
  20. ) else (
  21.   SET WIN64=0
  22. )
  23.  
  24. if "%WIN64%" == "1" (
  25.   ECHO Mode Win64 ON
  26.   SET MSVCROOTKEY=HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio
  27.   SET MSVCEXPROOTKEY=HKLM\SOFTWARE\Wow6432Node\Microsoft\VCExpress
  28. ) else (
  29.   ECHO Mode Win64 OFF
  30.   SET MSVCROOTKEY=HKLM\SOFTWARE\Microsoft\VisualStudio
  31.   SET MSVCEXPROOTKEY=HKLM\SOFTWARE\Microsoft\VCExpress
  32. )
  33.  
  34. SET MSVC6KEY=%MSVCROOTKEY%\6.0\Setup\Microsoft Visual C++
  35. SET MSVC71KEY=%MSVCROOTKEY%\7.1\Setup\VC
  36. SET MSVC8KEY=%MSVCROOTKEY%\8.0\Setup\VC
  37. SET MSVC8EXPRESSKEY=%MSVCEXPROOTKEY%\8.0\Setup\VC
  38. SET MSVC9KEY=%MSVCROOTKEY%\9.0\Setup\VC
  39. SET MSVC9EXPRESSKEY=%MSVCEXPROOTKEY%\9.0\Setup\VC
  40. SET MSVC10KEY=%MSVCROOTKEY%\10.0\Setup\VC
  41. SET MSVC10EXPRESSKEY=%MSVCEXPROOTKEY%\10.0\Setup\VC
  42.  
  43. ECHO Cle recherche MSVC9 : %MSVC9KEY%
  44. ECHO Cle recherche MSVC10 : %MSVC10KEY%
  45.  
  46. REM First see if we can find MSVC, then set the variable
  47. REM NOTE: delims=<tab><space>
  48. REM NOTE: run the initial REQ QUERY outside of the if() to set ERRORLEVEL correctly
  49.  
  50. REG QUERY "%MSVC6KEY%" /v ProductDir >nul 2>nul
  51. if "%VC6DIR%"=="" (
  52.   IF %ERRORLEVEL% EQU 0 (
  53.     FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "%MSVC6KEY%" /v ProductDir') DO SET VC6DIR=%%B
  54.   )
  55. )
  56.  
  57. REG QUERY "%MSVC71KEY%" /v ProductDir >nul 2>nul
  58. if "%VC71DIR%"=="" (
  59.   IF %ERRORLEVEL% EQU 0 (
  60.     FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "%MSVC71KEY%" /v ProductDir') DO SET VC71DIR=%%B
  61.   )
  62. )
  63.  
  64. REG QUERY "%MSVC8KEY%" /v ProductDir >nul 2>nul
  65. if "%VC8DIR%"=="" (
  66.   IF %ERRORLEVEL% EQU 0 (
  67.     FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "%MSVC8KEY%" /v ProductDir') DO SET VC8DIR=%%B
  68.   )
  69. )
  70.  
  71. REG QUERY "%MSVC8EXPRESSKEY%" /v ProductDir >nul 2>nul
  72. if "%VC8EXPRESSDIR%"=="" (
  73.   IF %ERRORLEVEL% EQU 0 (
  74.     FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "%MSVC8EXPRESSKEY%" /v ProductDir') DO SET VC8EXPRESSDIR=%%B
  75.   )
  76. )
  77.  
  78. REG QUERY "%MSVC9KEY%" /v ProductDir >nul 2>nul
  79. if "%VC9DIR%"=="" (
  80.  REM Newer SDKs (6.1, 7.0) install the VC9 compilers and set this key,
  81.  REM but they're functionally equivalent to the VC9 Express compilers.
  82.   IF %ERRORLEVEL% EQU 0 (
  83.     FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "%MSVC9KEY%" /v ProductDir') DO SET TEMPVC9DIR=%%B
  84.     ECHO VC9 temp : %TEMPVC9DIR%
  85.   )
  86. )
  87.  
  88. REM We'll double-check for a VC9 Pro install here per the comment above.
  89. REG QUERY "%MSVCROOTKEY%\9.0\InstalledProducts\Microsoft Visual C++" >nul 2>nul
  90. if NOT "%TEMPVC9DIR%"=="" (
  91.   IF %ERRORLEVEL% EQU 0 (
  92.     SET "VC9DIR=%TEMPVC9DIR%"
  93.     ECHO MSVC9 trouve : %VC9DIR%
  94.   ) ELSE (
  95.     SET "VC9EXPRESSDIR=%TEMPVC9DIR%"
  96.     ECHO MSVC9EX trouve : %VC9EXPRESSDIR%
  97.   )
  98. )
  99.  
  100. REG QUERY "%MSVC9EXPRESSKEY%" /v ProductDir >nul 2>nul
  101. if "%VC9EXPRESSDIR%"=="" (
  102.   IF %ERRORLEVEL% EQU 0 (
  103.     FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "%MSVC9EXPRESSKEY%" /v ProductDir') DO SET VC9EXPRESSDIR=%%B
  104.   )
  105. )
  106.  
  107. REG QUERY "%MSVC10KEY%" /v ProductDir >nul 2>nul
  108. if "%VC10DIR%"=="" (
  109.   IF %ERRORLEVEL% EQU 0 (
  110.     FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "%MSVC10KEY%" /v ProductDir') DO SET VC10DIR=%%B
  111.     ECHO VC10 trouve : %VC10DIR%
  112.   )
  113. )
  114.  
  115. REG QUERY "%MSVC10EXPRESSKEY%" /v ProductDir >nul 2>nul
  116. if "%VC8EXPRESSDIR%"=="" (
  117.   IF %ERRORLEVEL% EQU 0 (
  118.     FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "%MSVC10EXPRESSKEY%" /v ProductDir') DO SET VC10EXPRESSDIR=%%B
  119.   )
  120. )
  121.  
  122. REM Look for Installed SDKs:
  123. SET SDKROOTKEY=HKLM\SOFTWARE\Microsoft\MicrosoftSDK\InstalledSDKs
  124. SET SDK2003SP1KEY=%SDKROOTKEY%\8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3
  125. SET SDK2003SP2KEY=%SDKROOTKEY%\D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1
  126. SET SDK6KEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0
  127. REM 6.0A comes with Visual C++ 2008. If you have 6.0 installed, even
  128. REM the express edition will update you to 6.0A
  129. SET SDK6AKEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A
  130. SET SDK61KEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.1
  131. SET SDK7KEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0
  132.  
  133. REM Just a base value to compare against
  134. SET SDKVER=0
  135. SET SDKMINORVER=0
  136.  
  137. REM Support a maximum version of the Windows SDK to use, to support older
  138. REM branches and older compilers.  (Note that this is unrelated to the configure
  139. REM option on which version of Windows to support.)
  140. IF NOT DEFINED MOZ_MAXWINSDK (
  141.  REM Maximum WinSDK version to use; 2 digits for major, 2 for minor, 2 for revision
  142.  REM Revivsion is A = 01, B = 02, etc.
  143.   SET MOZ_MAXWINSDK=999999
  144. )
  145.  
  146.  
  147. REG QUERY "%SDK7KEY%" /v InstallationFolder >nul 2>nul
  148. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 70000 (
  149.   IF %ERRORLEVEL% EQU 0 (
  150.     FOR /F "tokens=2* usebackq delims=   " %%A IN (`REG QUERY "%SDK7KEY%" /v InstallationFolder`) DO SET SDKDIR=%%B
  151.     SET SDKVER=7
  152.   )
  153. )
  154.  
  155. REG QUERY "%SDK61KEY%" /v InstallationFolder >nul 2>nul
  156. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 60100 (
  157.   IF %ERRORLEVEL% EQU 0 (
  158.     FOR /F "tokens=2* usebackq delims=   " %%A IN (`REG QUERY "%SDK61KEY%" /v InstallationFolder`) DO SET SDKDIR=%%B
  159.     SET SDKVER=6
  160.     SET SDKMINORVER=1
  161.   )
  162. )
  163.  
  164. REG QUERY "%SDK6AKEY%" /v InstallationFolder >nul 2>nul
  165. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 60001 (
  166.   IF %ERRORLEVEL% EQU 0 (
  167.     FOR /F "tokens=2* usebackq delims=   " %%A IN (`REG QUERY "%SDK6AKEY%" /v InstallationFolder`) DO SET SDKDIR=%%B
  168.     SET SDKVER=6
  169.    REM insane, I know!
  170.     SET SDKMINORVER=0A
  171.   )
  172. )
  173.  
  174. REG QUERY "%SDK6KEY%" /v InstallationFolder >nul 2>nul
  175. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 60000 (
  176.   IF %ERRORLEVEL% EQU 0 (
  177.     FOR /F "tokens=2* usebackq delims=   " %%A IN (`REG QUERY "%SDK6KEY%" /v InstallationFolder`) DO SET SDKDIR=%%B
  178.     SET SDKVER=6
  179.   )
  180. )
  181.  
  182. REM The Vista SDK (6.0 and 6.0A) ships with a VC8 Express install
  183.  
  184. if "%SDKVER%"=="6" (
  185.   if "%VC8EXPRESSDIR%"=="" (
  186.     SET VC8EXPRESSDIR=%SDKDIR%VC\
  187.   )
  188. )
  189.  
  190. REG QUERY "%SDK2003SP2KEY%" /v "Install Dir" >nul 2>nul
  191. if "%PSDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 50000 (
  192.   IF %ERRORLEVEL% EQU 0 (
  193.     FOR /F "tokens=3* delims=    " %%A IN ('REG QUERY "%SDK2003SP2KEY%" /v "Install Dir"') DO SET PSDKDIR=%%B
  194.    REM arbitrary, but works for me
  195.     SET PSDKVER=5
  196.   )
  197. )
  198.  
  199. REG QUERY "%SDK2003SP1KEY%" /v "Install Dir" >nul 2>nul
  200. if "%PSDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 40000 (
  201.   IF %ERRORLEVEL% EQU 0 (
  202.     FOR /F "tokens=3* delims=    " %%A IN ('REG QUERY "%SDK2003SP1KEY%" /v "Install Dir"') DO SET PSDKDIR=%%B
  203.     SET PSDKVER=4
  204.   )
  205. )
  206.  
  207. ECHO Visual C++ 6 directory: %VC6DIR%
  208. ECHO Visual C++ 7.1 directory: %VC71DIR%
  209. ECHO Visual C++ 8 directory: %VC8DIR%
  210. ECHO Visual C++ 8 Express directory: %VC8EXPRESSDIR%
  211. ECHO Visual C++ 9 directory: %VC9DIR%
  212. ECHO Visual C++ 9 Express directory: %VC9EXPRESSDIR%
  213. ECHO Visual C++ 10 directory: %VC10DIR%
  214. ECHO Visual C++ 10 Express directory: %VC10EXPRESSDIR%
  215. if "%SDKDIR%"=="" (
  216.     SET SDKDIR=%PSDKDIR%
  217.     SET SDKVER=%PSDKVER%
  218. ) else (
  219.     ECHO Windows SDK directory: %SDKDIR%
  220.     ECHO Windows SDK version: %SDKVER%.%SDKMINORVER%
  221. )
  222. if not "%PSDKDIR%"=="" (
  223.     ECHO Platform SDK directory: %PSDKDIR%
  224.     ECHO Platform SDK version: %PSDKVER%
  225. )
  226.  
  227. PAUSE
  228.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement