Toolchains, system roots, and other binaries used by the build system

Clone this repo:


  1. 5ecd4bf Teach gn shells script where to find .gn by Adam Barth · 4 days ago master
  2. c638530 Update go toolchains to versions that include syscall/zx rename by James Robinson · 6 days ago
  3. 055ff78 Roll Clang toolchain by Petr Hosek · 6 days ago
  4. 12da7ef [download] Remove directory we will unzip into, not subdir by James Robinson · 7 days ago
  5. 62e4021 Update Go toolchain prebuilts to ones based off of go b90d1f0 by James Robinson · 10 days ago

Fuchsia Build Tools

This repository contains the hashes of a number of prebuilt tools that are used to build Fuchsia-related projects. The actual tools themselves are located in Google Storage.

In most cases, the jiri tool will download the build tools automatically during its update step. To download the tools manually, run

Uploading a tool

NOTE: These instructions are for Googlers only.

Installing gsutil

The tarballs are uploaded with the “gsutil” program. See

There's a link there to download and install the Google Cloud SDK:

After installing the SDK you need to initialize/authenticate:

One of the steps will ask you for a cloud project. Choose loas-fuchsia-team.

At this point you can use gsutil to upload/download tarballs, view cloud directory contents, and so on.


Tarballs must have the tool name as the top level directory. E.g.,

bash$ tar tvf qemu.tar.bz2
drwxr-xr-x ... qemu/
drwxr-xr-x ... qemu/libexec/

The uploaded file name is the sha1 hash of the tarball. It could also be a sha1 hash of the tarball contents, avoiding unnecessary spurious differences in uploads.

To compute the latter, one can do something like:

bash$ LC_ALL=POSIX cat $(find qemu/ -type f | sort) | shasum -a1

The sha1 hash is checked into the buildtools repo and supports adding new tarballs or rolling back to a previous one. See the *.sha1 files in buildtools/{mac,linux64}.

There are separate directories for mac and linux tarballs. E.g.,

bash$ ./bin/gsutil ls gs://fuchsia-build/fuchsia/qemu/mac
bash$ ./bin/gsutil ls gs://fuchsia-build/fuchsia/qemu/linux64