Windows 8 will eventually support compiling mozilla-central and related repositories and products. This page documents the steps to get a working Windows 8 development environment.
Installing Windows 8
Installing Windows 8 is accomplished following the instructions on the download site and onscreen.
Windows 8 Pro can be obtained from http://windows.microsoft.com/en-US/windows/download-shop. An ISO image of the Windows 8 installation can be downloaded if you prefer, and installed on a bootable USB device using the 'Windows 7 USB/DVD download tool' at http://www.microsoftstore.com/store/msstore/html/pbPage.Help_Win7_usbdvd_dwnTool.
The Windows 8 Consumer Preview setup is no longer available from http://windows.microsoft.com/en-US/windows-8/download and http://windows.microsoft.com/en-US/windows-8/iso. Both links redirect to the "download-shop" page above.
If you want to run Windows 8 on Virtualbox, one resource to do this is at http://www.groovypost.com/howto/install-windows-8-vm-virtualbox/. (The page was posted in September 2011 before the current release of Windows 8 Pro and may be out-of-date.)
As for hardware resources of the VM or Virtualbox, you should be able to fit the base OS, all the dependencies, source, and build in a 30GB partition. For memory, 2GB should be considered the minimum. More memory will yeild better performance.
Install Developer Tools
As with the existing Windows 7 development steps, you'll need to install a number of prerequisites.
(required) Visual Studio 2010 or Visual Studio 2012
Visual Studio Express can be downloaded from https://www.microsoft.com/visualstudio/11/en-us/downloads. The download there is just a simple installer that will download and install the real components. When you install VS2012, have something else to do because it takes a long time.
For now, installation of the full Visual Studio is required. Eventually, compiling on Visual Studio Express should be possible. Bug 701050 has more.
(required) mozilla-build Bundle
The latest mozilla-build is required.
(optional) DirectX SDK
Download and install the DirectX SDK from http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812.
If the DIrectX SDK fails to install you may need to temporarily uninstall the Visual C++ 2010 Redistributable Package. You can find more information on this error from the DIrectX SDK blog entry http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023-error.aspx
If you don't install the DirectX SDK, add the following to your .mozconfig:
(optional) Windows SDK
Download and install the Windows 8 SDK from http://msdn.microsoft.com/en-us/windows/hardware/hh852363. But the Windows SDK isn't technically required (the files in Visual Studio 2011 will suffice). Like Visual Studio, this is a web downloader, so the bulk of the downloading is performed while running the installer. The default install options should be sufficient.
Theoretically, you can install the Windows 7 (or 7.1) SDK as a substitute. If you want to install the 7.1 SDK, the download you want is at http://www.microsoft.com/download/en/details.aspx?id=8279.
(optional) Outlook 2010 MAPI Header Files
If you want to build Thunderbird or Seamonkey, you also need the Outlook 2010 MAPI Header Files from http://www.microsoft.com/en-us/download/details.aspx?id=12905 if you use the Windows 8 SDK. This is because that SDK doesn't contain the MAPI headers any more.
Start up your compilation environment by running
start-msvc11.bat from mozilla-build (if you are using Visual Studio 2012). You should see output resembling the following:
"Mozilla tools directory: C:\mozilla-build\"
Visual C++ 11 directory: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\
Visual C++ 11 Express directory: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\
Windows SDK directory: C:\Program Files (x86)\Windows Kits\8.0\
Windows SDK version: 8.0
Using VC 2012 built-in SDK
Mozilla build environment: MSVC version 11.
Now, you'll need to fetch mozilla-central:
$ cd /c/dev $ hg clone https://hg.mozilla.org/mozilla-central
Then, create your .mozconfig: (with mozilla-build >=1.9.x you can skip this step. It will generate automatically an object folder and a mozinfo.json file with autodetected options)
# This specifies the directory where mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-ff # Uncomment the following line if you want to build with debugging code enabled: #ac_add_options --enable-debug # uncomment the following if you did NOT install the DirectX SDK: #ac_add_options --disable-webgl #ac_add_options --disable-angle #ac_add_options --disable-gamepad
Then, you should be able to build and run Firefox by running the following commands in the mozilla-central directory. Building for the first time may take an hour or more, depending on your hardware!
./mach build ./mach run
Compiling Firefox for Windows 8 Touch ("Metro style")
To build Firefox with the Windows 8 "Metro" style interface enabled, you must install the Windows 8 SDK and the DirectX SDK. If you are using Visual Studio 2010 or any version of Visual Studio Express, you may need to install additional libraries. For details, see the Windows 8 Integration wiki page.
To enable the Metro feature, add the following line to your .mozconfig:
Then build and run Firefox as above, and use the "Relaunch in Windows 8 Style" button in the menu to switch to the "Metro" interface.
Since WIndows 8 isn't officially supported yet, there may be a breakage. But the tree has been known to compile. If you run into errors, look for bugs here. If you see an issue not reported, please file a bug!