Skip to content
This repository was archived by the owner on Sep 15, 2022. It is now read-only.

Building

Rico Wind edited this page Oct 2, 2015 · 14 revisions

Building Fletch (Mac and Linux only)

Prerequisites

Getting the Sources

mkdir fletch-repo
cd fletch-repo
fetch fletch
cd fletch

One of three possible options:

  1. You're a committer on the dart-lang project, run:

git remote set-url origin [email protected]:dart-lang/fletch.git

  1. You're planning to contribute to Fletch. In that case use, fork it on GitHub and run:

git remote set-url origin <URL>

where <URL> is the SSH clone URL from GitHub.

  1. You just want to checkout Fletch and build it:

you are done already

Updating your checkout

To update your checkout run:

git pull
gclient sync

Git pull will update the fletch sources, while gclient sync will update all of our dependencies. If you have conflicts, you can use

git mergetool

Building Fletch

After getting the sources, build Fletch by running:

ninja -C out/DebugIA32Clang

Cross-compiling for ARM (Linux only, issue #127)

After getting the sources, build Fletch by running:

ninja -C out/DebugXARM

For Ubuntu 14.04.1 LTS (Trusty Tahr), you need to install the following packages to be able to cross-compile:

  • linux-libc-dev:i386 1
  • gcc-4.8-arm-linux-gnueabihf
  • g++-4.8-arm-linux-gnueabihf

Install them by running:

sudo apt-get install linux-libc-dev:i386 gcc-4.8-arm-linux-gnueabihf g++-4.8-arm-linux-gnueabihf

Testing Fletch

After building Fletch, you can test Fletch by running:

tools/test.py

Contributions

If you plan on contributing to Fletch, we encourage you to fork the repository on GitHub.

Details

Fletch uses the Chromium gclient tool for managing dependencies and the ninja build system for building. It only works on Mac and Linux at the moment.

Footnotes

1: When installing gcc-4.8-arm-linux-gnueabihf and g++-4.8-arm-linux-gnueabihf on Ubuntu, apt-get will uninstall gcc-multilib and g++-multilib. Unfortunately, this breaks cross-compiling IA32 on X64, so one needs to install the header files for IA32 (i386).

Clone this wiki locally