Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2013
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.15 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. SET MSVCROOTKEY=HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio
  26. SET MSVCEXPROOTKEY=HKLM\SOFTWARE\Wow6432Node\Microsoft\VCExpress
  27. ) else (
  28. SET MSVCROOTKEY=HKLM\SOFTWARE\Microsoft\VisualStudio
  29. SET MSVCEXPROOTKEY=HKLM\SOFTWARE\Microsoft\VCExpress
  30. )
  31.  
  32. SET MSVC71KEY=%MSVCROOTKEY%\7.1\Setup\VC
  33. SET MSVC8KEY=%MSVCROOTKEY%\8.0\Setup\VC
  34. SET MSVC8EXPRESSKEY=%MSVCEXPROOTKEY%\8.0\Setup\VC
  35. SET MSVC9KEY=%MSVCROOTKEY%\9.0\Setup\VC
  36. SET MSVC9EXPRESSKEY=%MSVCEXPROOTKEY%\9.0\Setup\VC
  37. SET MSVC10KEY=%MSVCROOTKEY%\10.0\Setup\VC
  38. SET MSVC10EXPRESSKEY=%MSVCEXPROOTKEY%\10.0\Setup\VC
  39. SET MSVC11KEY=%MSVCROOTKEY%\11.0\Setup\VC
  40. SET MSVC11EXPRESSKEY=%MSVCEXPROOTKEY%\11.0\Setup\VC
  41.  
  42. REM First see if we can find MSVC, then set the variable
  43. REM NOTE: delims=<tab><space>
  44. REM NOTE: run the initial REQ QUERY outside of the if() to set ERRORLEVEL correctly
  45.  
  46. REG QUERY "%MSVC71KEY%" /v ProductDir >nul 2>nul
  47. if "%VC71DIR%"=="" (
  48. IF %ERRORLEVEL% EQU 0 (
  49. FOR /F "tokens=2*" %%A IN ('REG QUERY "%MSVC71KEY%" /v ProductDir') DO SET VC71DIR=%%B
  50. )
  51. )
  52.  
  53. REG QUERY "%MSVC8KEY%" /v ProductDir >nul 2>nul
  54. if "%VC8DIR%"=="" (
  55. IF %ERRORLEVEL% EQU 0 (
  56. FOR /F "tokens=2*" %%A IN ('REG QUERY "%MSVC8KEY%" /v ProductDir') DO SET VC8DIR=%%B
  57. )
  58. )
  59.  
  60. REG QUERY "%MSVC8EXPRESSKEY%" /v ProductDir >nul 2>nul
  61. if "%VC8EXPRESSDIR%"=="" (
  62. IF %ERRORLEVEL% EQU 0 (
  63. FOR /F "tokens=2*" %%A IN ('REG QUERY "%MSVC8EXPRESSKEY%" /v ProductDir') DO SET VC8EXPRESSDIR=%%B
  64. )
  65. )
  66.  
  67. REG QUERY "%MSVC9KEY%" /v ProductDir >nul 2>nul
  68. if "%VC9DIR%"=="" (
  69. REM Newer SDKs (6.1, 7.0) install the VC9 compilers and set this key,
  70. REM but they're functionally equivalent to the VC9 Express compilers.
  71. IF %ERRORLEVEL% EQU 0 (
  72. FOR /F "tokens=2*" %%A IN ('REG QUERY "%MSVC9KEY%" /v ProductDir') DO SET TEMPVC9DIR=%%B
  73. )
  74. )
  75.  
  76. REM We'll double-check for a VC9 Pro install here per the comment above.
  77. REG QUERY "%MSVCROOTKEY%\9.0\InstalledProducts\Microsoft Visual C++" >nul 2>nul
  78. if NOT "%TEMPVC9DIR%"=="" (
  79. IF %ERRORLEVEL% EQU 0 (
  80. SET "VC9DIR=%TEMPVC9DIR%"
  81. ) ELSE (
  82. SET "VC9EXPRESSDIR=%TEMPVC9DIR%"
  83. )
  84. )
  85.  
  86. REG QUERY "%MSVC9EXPRESSKEY%" /v ProductDir >nul 2>nul
  87. if "%VC9EXPRESSDIR%"=="" (
  88. IF %ERRORLEVEL% EQU 0 (
  89. FOR /F "tokens=2*" %%A IN ('REG QUERY "%MSVC9EXPRESSKEY%" /v ProductDir') DO SET VC9EXPRESSDIR=%%B
  90. )
  91. )
  92.  
  93. REG QUERY "%MSVC10KEY%" /v ProductDir >nul 2>nul
  94. if "%VC10DIR%"=="" (
  95. REM Newer SDKs (7.1) install the VC10 compilers and set this key,
  96. REM but they're functionally equivalent to the VC10 Express compilers.
  97. IF %ERRORLEVEL% EQU 0 (
  98. FOR /F "tokens=2*" %%A IN ('REG QUERY "%MSVC10KEY%" /v ProductDir') DO SET TEMPVC10DIR=%%B
  99. )
  100. )
  101.  
  102. REM We'll double-check for a VC10 Pro install here per the comment above.
  103. REG QUERY "%MSVCROOTKEY%\10.0\InstalledProducts\Microsoft Visual C++" >nul 2>nul
  104. if NOT "%TEMPVC10DIR%"=="" (
  105. IF %ERRORLEVEL% EQU 0 (
  106. SET "VC10DIR=%TEMPVC10DIR%"
  107. ) ELSE (
  108. SET "VC10EXPRESSDIR=%TEMPVC10DIR%"
  109. )
  110. )
  111.  
  112. REG QUERY "%MSVC10EXPRESSKEY%" /v ProductDir >nul 2>nul
  113. if "%VC10EXPRESSDIR%"=="" (
  114. IF %ERRORLEVEL% EQU 0 (
  115. FOR /F "tokens=2*" %%A IN ('REG QUERY "%MSVC10EXPRESSKEY%" /v ProductDir') DO SET VC10EXPRESSDIR=%%B
  116. )
  117. )
  118.  
  119. REG QUERY "%MSVC11KEY%" /v ProductDir >nul 2>nul
  120. if "%VC11DIR%"=="" (
  121. IF %ERRORLEVEL% EQU 0 (
  122. FOR /F "tokens=2*" %%A IN ('REG QUERY "%MSVC11KEY%" /v ProductDir') DO SET VC11DIR=%%B
  123. )
  124. )
  125.  
  126. REG QUERY "%MSVC11EXPRESSKEY%" /v ProductDir >nul 2>nul
  127. if "%VC11EXPRESSDIR%"=="" (
  128. IF %ERRORLEVEL% EQU 0 (
  129. FOR /F "tokens=2*" %%A IN ('REG QUERY "%MSVC11EXPRESSKEY%" /v ProductDir') DO SET VC11EXPRESSDIR=%%B
  130. )
  131. )
  132.  
  133. REM Look for Installed SDKs:
  134. SET SDKROOTKEY=HKLM\SOFTWARE\Microsoft\MicrosoftSDK\InstalledSDKs
  135. SET SDK2003SP1KEY=%SDKROOTKEY%\8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3
  136. SET SDK2003SP2KEY=%SDKROOTKEY%\D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1
  137. SET SDK6KEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0
  138. REM 6.0A comes with Visual C++ 2008. If you have 6.0 installed, even
  139. REM the express edition will update you to 6.0A
  140. SET SDK6AKEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A
  141. SET SDK61KEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.1
  142. SET SDK7KEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0
  143. SET SDK7AKEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A
  144. SET SDK71KEY=HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1
  145. SET SDK80KEY=HKLM\SOFTWARE\Microsoft\Windows Kits\Installed Roots
  146.  
  147. REM Just a base value to compare against
  148. SET SDKDIR=
  149. SET SDKVER=0
  150. SET SDKMINORVER=0
  151.  
  152. REM Support a maximum version of the Windows SDK to use, to support older
  153. REM branches and older compilers. (Note that this is unrelated to the configure
  154. REM option on which version of Windows to support.)
  155. IF NOT DEFINED MOZ_MAXWINSDK (
  156. REM Maximum WinSDK version to use; 2 digits for major, 2 for minor, 2 for revision
  157. REM Revivsion is A = 01, B = 02, etc.
  158. SET MOZ_MAXWINSDK=999999
  159. )
  160.  
  161. REG QUERY "%SDK80KEY%" /v KitsRoot >nul 2>nul
  162. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 80000 (
  163. IF %ERRORLEVEL% EQU 0 (
  164. FOR /F "tokens=2*" %%A IN ('REG QUERY "%SDK80KEY%" /v KitsRoot') DO SET SDKDIR=%%B
  165. SET SDKVER=8
  166. SET SDKMINORVER=0
  167. )
  168. )
  169.  
  170. REG QUERY "%SDK71KEY%" /v InstallationFolder >nul 2>nul
  171. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 70100 (
  172. IF %ERRORLEVEL% EQU 0 (
  173. FOR /F "tokens=2*" %%A IN ('REG QUERY "%SDK71KEY%" /v InstallationFolder') DO SET SDKDIR=%%B
  174. SET SDKVER=7
  175. SET SDKMINORVER=1
  176. )
  177. )
  178.  
  179. REG QUERY "%SDK7AKEY%" /v InstallationFolder >nul 2>nul
  180. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 70001 (
  181. IF %ERRORLEVEL% EQU 0 (
  182. FOR /F "tokens=2*" %%A IN ('REG QUERY "%SDK7AKEY%" /v InstallationFolder') DO SET SDKDIR=%%B
  183. SET SDKVER=7
  184. SET SDKMINORVER=0A
  185. )
  186. )
  187.  
  188. REG QUERY "%SDK7KEY%" /v InstallationFolder >nul 2>nul
  189. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 70000 (
  190. IF %ERRORLEVEL% EQU 0 (
  191. FOR /F "tokens=2*" %%A IN ('REG QUERY "%SDK7KEY%" /v InstallationFolder') DO SET SDKDIR=%%B
  192. SET SDKVER=7
  193. )
  194. )
  195.  
  196. REG QUERY "%SDK61KEY%" /v InstallationFolder >nul 2>nul
  197. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 60100 (
  198. IF %ERRORLEVEL% EQU 0 (
  199. FOR /F "tokens=2*" %%A IN ('REG QUERY "%SDK61KEY%" /v InstallationFolder') DO SET SDKDIR=%%B
  200. SET SDKVER=6
  201. SET SDKMINORVER=1
  202. )
  203. )
  204.  
  205. REG QUERY "%SDK6AKEY%" /v InstallationFolder >nul 2>nul
  206. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 60001 (
  207. IF %ERRORLEVEL% EQU 0 (
  208. FOR /F "tokens=2*" %%A IN ('REG QUERY "%SDK6AKEY%" /v InstallationFolder') DO SET SDKDIR=%%B
  209. SET SDKVER=6
  210. REM insane, I know!
  211. SET SDKMINORVER=0A
  212. )
  213. )
  214.  
  215. REG QUERY "%SDK6KEY%" /v InstallationFolder >nul 2>nul
  216. if "%SDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 60000 (
  217. IF %ERRORLEVEL% EQU 0 (
  218. FOR /F "tokens=2*" %%A IN ('REG QUERY "%SDK6KEY%" /v InstallationFolder') DO SET SDKDIR=%%B
  219. SET SDKVER=6
  220. )
  221. )
  222.  
  223. REM The Vista SDK (6.0 and 6.0A) ships with a VC8 Express install
  224.  
  225. REG QUERY "%SDK6KEY%\WinSDKCompiler" /v InstallationFolder >nul 2>nul
  226. IF %ERRORLEVEL% EQU 0 (
  227. FOR /F "tokens=2*" %%A IN ('REG QUERY "%SDK6KEY%\WinSDKCompiler" /v InstallationFolder') DO SET VC8EXPRESSDIR=%%BVC\
  228. )
  229.  
  230. REG QUERY "%SDK2003SP2KEY%" /v "Install Dir" >nul 2>nul
  231. if "%PSDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 50000 (
  232. IF %ERRORLEVEL% EQU 0 (
  233. FOR /F "tokens=3*" %%A IN ('REG QUERY "%SDK2003SP2KEY%" /v "Install Dir"') DO SET PSDKDIR=%%B
  234. REM arbitrary, but works for me
  235. SET PSDKVER=5
  236. )
  237. )
  238.  
  239. REG QUERY "%SDK2003SP1KEY%" /v "Install Dir" >nul 2>nul
  240. if "%PSDKDIR%"=="" IF %MOZ_MAXWINSDK% GEQ 40000 (
  241. IF %ERRORLEVEL% EQU 0 (
  242. FOR /F "tokens=3*" %%A IN ('REG QUERY "%SDK2003SP1KEY%" /v "Install Dir"') DO SET PSDKDIR=%%B
  243. SET PSDKVER=4
  244. )
  245. )
  246.  
  247. if defined VC71DIR ECHO Visual C++ 7.1 directory: %VC71DIR%
  248. if defined VC8DIR ECHO Visual C++ 8 directory: %VC8DIR%
  249. if defined VC8EXPRESSDIR ECHO Visual C++ 8 Express directory: %VC8EXPRESSDIR%
  250. if defined VC9DIR ECHO Visual C++ 9 directory: %VC9DIR%
  251. if defined VC9EXPRESSDIR ECHO Visual C++ 9 Express directory: %VC9EXPRESSDIR%
  252. if defined VC10DIR ECHO Visual C++ 10 directory: %VC10DIR%
  253. if defined VC10EXPRESSDIR ECHO Visual C++ 10 Express directory: %VC10EXPRESSDIR%
  254. if defined VC11DIR ECHO Visual C++ 11 directory: %VC11DIR%
  255. if defined VC11EXPRESSDIR ECHO Visual C++ 11 Express directory: %VC11EXPRESSDIR%
  256.  
  257. setlocal enableextensions enabledelayedexpansion
  258.  
  259. if "!SDKDIR!"=="" (
  260. SET SDKDIR=!PSDKDIR!
  261. SET SDKVER=%PSDKVER%
  262. ) else (
  263. ECHO Windows SDK directory: !SDKDIR!
  264. ECHO Windows SDK version: %SDKVER%.%SDKMINORVER%
  265. )
  266. if not "!PSDKDIR!"=="" (
  267. ECHO Platform SDK directory: !PSDKDIR!
  268. ECHO Platform SDK version: %PSDKVER%
  269. )
  270.  
  271. setlocal disableextensions enabledelayedexpansion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement