Mozilla, from time to time, might support building against multiple versions of the Windows SDK as a compatibility/transitional measure. If it does, several features will be disabled if you build with an SDK older than the default, which means that you'll have to specify a non-default SDK version explicitly.
Quick start
Follow the instructions for whichever version of Visual C++ you're using.
Visual Studio Professional 2013
This comes with the Windows 8.1 SDK included.
Visual Studio Express 2013 for Windows Desktop
This comes with the Windows 8.1 SDK included.
Visual Studio Professional 2012
This comes with the Windows 8.0 SDK included.
Visual Studio 2012 Express for Windows Desktop
This comes with the Windows 8.0 SDK included.
Visual C++ 10 (VS2010) Professional
This comes with the Windows 7 SDK, so you should be all set out of the box.
Visual C++ 10 (VS2010) Express
Download and install the Windows 7 SDK.
Older versions
Some of the older version are no longer supported, further information is available at Obsolete Build Caveats and Tips [en-US] under the Windows SDK article.
Windows 8 SDK (Official)
Features that depend on this SDK include:
- Metro Firefox front end
- Gamepad API support
You can download the SDK from the Microsoft Download Center [web setup].
Windows 7 SDK
Features that depend on this SDK include:
- Windows 7 taskbar previews
- Windows 7 download taskbar progress
- Windows 7 jump lists
You can download the SDK (v7.0 [web setup or ISO image] or unsupported v7.1 [web setup or ISO image]) from the Microsoft Download Center. Note that if you're running a 64 bit version of Windows you may require the "AMD" version of the SDK even if you have an Intel processor, and you may need to deselect the documentation component in the installer in order to avoid an installation error. (This was certainly the case for 64 bit Windows 7 on a late 2008 MacBook Pro.)
Older SDKs
These are no longer supported, further information is available at Obsolete Build Caveats and Tips [en-US] under the Windows SDK article.
Troubleshooting
Help! I know I have the correct SDK, but configure.in's still failing!
Try the following things in order:
- Run the Windows SDK Configuration Tool (if available) and make sure the right SDK is selected.
- Restart the msys console.
- Delete your entire object directory and start over.