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 https://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 https://www.microsoftstore.com/store/msstore/html/pbPage.Help_Win7_usbdvd_dwnTool.
The Windows 8 Consumer Preview setup is no longer available from https://windows.microsoft.com/en-US/windows-8/download and https://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 https://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 yield 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 2012 or Visual Studio 2013
Visual Studio Express can be downloaded from https://www.visualstudio.com/downloads/download-visual-studio-vs. 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 https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=6812.
If you don't install the DirectX SDK, add the following to your .mozconfig:
ac_add_options --disable-webgl ac_add_options --disable-gamepad
(optional) Windows SDK
Download and install the Windows 8 SDK from https://dev.windows.com/en-us/downloads/windows-8-sdk. 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 https://www.microsoft.com/en-us/download/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 https://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.
Compiling
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 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:
ac_add_options --enable-metro
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!