This document describes how to set up and build Fuchsia.
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:
fx set product.board
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:
coreis a product with the minimum feature set for Fuchsia, which includes common network capabilities.
qemu-x64is 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
To reduce the time it takes to build Fuchsia, you can do any of the following:
Speed up the build with Goma
Goma 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:
Speed up the build with ccache
If you do not have access to Goma, but want to accelerate the Fuchsia build
ccache to cache
artifacts from previous builds.
ccache on Linux, install the following package:
sudo apt-get install ccache
For macOS, see Using CCache on Mac 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
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
To build Fuchsia, run the following command:
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.
Set up Fuchsia on an emulator or a device:
- To set up a Fuchsia emulator and experiment with Fuchsia, follow the steps in Set up the Fuchsia emulator (FEMU).
- To set up a hardware device, follow the steps in Installing Fuchsia on a device and the build and pave quickstart.
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.