michael@0: .. _build_supported_configurations: michael@0: michael@0: ======================== michael@0: Supported Configurations michael@0: ======================== michael@0: michael@0: This page attempts to document supported build configurations. michael@0: michael@0: Windows michael@0: ======= michael@0: michael@0: We support building on Windows XP and newer operating systems using michael@0: Visual Studio 2010 and newer. michael@0: michael@0: The following are not fully supported by Mozilla (but may work): michael@0: michael@0: * Building without the latest *MozillaBuild* Windows development michael@0: environment michael@0: * Building with Mingw or any other non-Visual Studio toolchain. michael@0: michael@0: OS X michael@0: ==== michael@0: michael@0: We support building on OS X 10.6 and newer with the OS X 10.6 SDK. michael@0: michael@0: The tree should build with the following OS X releases and SDK versions: michael@0: michael@0: * 10.6 Snow Leopard michael@0: * 10.7 Lion michael@0: * 10.8 Mountain Lion michael@0: * 10.9 Mavericks michael@0: michael@0: The tree requires building with Clang 3.3 and newer. This corresponds to michael@0: version of 4.2 of Apple's Clang that ships with Xcode. This corresponds michael@0: to Xcode 4.6 and newer. Xcode 4.6 only runs on OS X 10.7.4 and newer. michael@0: So, OS X 10.6 users will need to install a non-Apple toolchain. Running michael@0: ``mach bootstrap`` should install an appropriate toolchain from Homebrew michael@0: or MacPorts automatically. michael@0: michael@0: The tree should build with GCC 4.4 and newer on OS X. However, this michael@0: build configuration isn't as widely used (and differs from what Mozilla michael@0: uses to produce OS X builds), so it's recommended to stick with Clang. michael@0: michael@0: Linux michael@0: ===== michael@0: michael@0: Linux 2.6 and later kernels are supported. michael@0: michael@0: Most distributions are supported as long as the proper package michael@0: dependencies are in place. Running ``mach bootstrap`` should install michael@0: packages for popular Linux distributions. ``configure`` will typically michael@0: detect missing dependencies and inform you how to disable features to michael@0: work around unsatisfied dependencies. michael@0: michael@0: Clang 3.3 or GCC 4.4 is required to build the tree.