Building WebKit

Building WebKit requires that you have the proper developer tools installed and that you have a copy of the WebKit source tree. Run the build-webkit script to build WebKit. Use the --debug option for a debug build, which includes debugging symbols and assertions:

build-webkit --debug

By default, build-webkit places build products in WebKitBuild. You can specify a different build location on Mac in your Xcode preferences. On other platforms, the WEBKIT_OUTPUTDIR environment variable can be used to set a different build products location. If you have set up a custom build location, then build-webkit will place the build products there. Once your build has finished, you can run Safari using your custom WebKit build. Don’t forget that if you have any questions or problems building WebKit, feel free to get in touch!


Building on Windows requires a few more steps. For details, see

Embedded Builds

iOS, tvOS and watchOS are all considered embedded builds. The first time after you install a new Xcode, you will need to run sudo Tools/Scripts/configure-xcode-for-embedded-development in the Terminal to enable Xcode to build command line tools for embedded platforms. Otherwise you will see the error message: target specifies product type ‘’, but there’s no such product type for the embedded platform. when building target JSCLLIntOffsetsExtractor of project JavaScriptCore. Then follow the instructions below, passing the --<platform>-simulator or --<platform>-device option, to build WebKit for your first build and all subsequent builds. Note that while simulator builds will be able to be run in the matching simulated device type, device builds of WebKit cannot be installed on embedded devices.

Setting a Default Configuration

To set a default build configuration for build-webkit and other scripts, use the set-webkit-configuration script:

set-webkit-configuration --debug

set-webkit-configuration --release

Building WebKit from Xcode

To build from within Xcode, you can use the WebKit workspace. Ensure that the Products and Intermediates locations for the workspace match those used by build-webkit: choose File > Workspace Settings, then click the Advanced button, select Custom, Relative to Workspace, and enter WebKitBuild for both Products and Intermediates. Note that if you have specified a custom build location in Xcode preferences, then you don’t need to do this.