Configure and build Fuchsia

This document describes how to set up and build Fuchsia.

Prerequisites

Before you can set up and build Fuchsia, you need to follow the steps in get the Fuchsia source code to download Fuchsia source code and set up your environment variables.

Set build configuration

To set your build configuration for Fuchsia, run the following command:

The fx set command takes PRODUCT and BOARD arguments, which define the product and board configuration of your build. This configuration informs the build system what packages to build for your Fuchsia device.

For a Fuchsia emulator with the core set of Fuchsia features, the build configuration is:

fx set core.qemu-x64

In this example:

  • core is a product with the minimum feature set for Fuchsia, which includes common network capabilities.
  • qemu-x64 is the board, which refers to the x64 architecture on the Fuchsia Emulator (FEMU) which is based on the open source emulator, QEMU.

For a Fuchsia device with the core set of Fuchsia features, the build configuration is

fx set core.x64

See Configure a build for more product and board options.

Speed up the build

Note: This step is optional.

To reduce the time it takes to build Fuchsia, you can do any of the following:

Speed up the build with Goma

Goma{:.external} is a distributed compiler service for open source projects such as Chrome, Android and Fuchsia. If you have access to Goma, run the following command to enable a Goma client on your machine:

fx goma

Speed up the build with ccache

If you do not have access to Goma, but want to accelerate the Fuchsia build locally, use ccache{:.external} to cache artifacts from previous builds.

To use ccache on Linux, install the following package:

sudo apt-get install ccache

For macOS, see Using CCache on Mac{:.external} for installation instructions.

ccache is enabled automatically if your CCACHE_DIR environment variable refers to an existing directory.

To override the default behavior, pass the following flags to fx set:

  • Force use of ccache even if other accelerators are available:

    fx set core.x64 --ccache
    
  • Disable use of ccache:

    fx set core.x64 --no-ccache
    

Build Fuchsia

Note: Building Fuchsia can take up to 90 minutes.

To build Fuchsia, run the following command:

fx build

The fx build command executes the build to transform source code into packages and other build artifacts.

If you modify source code, re-run the fx build command to perform an incremental build, or run the fx -i build command to start a watcher, which automatically builds whenever you update source code.

See Execute a build for more information.

Next steps

Set up Fuchsia on an emulator or a device:

Once you have set up the emulator or paved a device with Fuchsia, see:

  • Explore Fuchsia to learn more about how Fuchsia is structured and common workflows.