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

Building

Michael Thomsen edited this page Jan 27, 2016 · 14 revisions

Building Dartino (Mac and Linux only)

Prerequisites

Getting the Sources

mkdir dartino-repo
cd dartino-repo
fetch dartino
cd sdk

One of three possible options:

  1. You're a committer in the Dartino project org, run:

git remote set-url origin git@github.com:dartino/sdk.git

  1. You're planning to contribute to Dartino. 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 Dartino and build it:

you are done already

Updating your checkout

To update your checkout run:

git pull
gclient sync

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

git mergetool

Building Dartino

After getting the sources, build Dartino by running:

ninja -C out/DebugIA32Clang

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

After getting the sources, build Dartino 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 dpkg --add-architecture i386 && sudo apt-get update
sudo apt-get install linux-libc-dev:i386 gcc-4.8-arm-linux-gnueabihf g++-4.8-arm-linux-gnueabihf

Testing Dartino

After building Dartino, you can test Dartino by running:

tools/test.py

Contributions

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

Details

Dartino 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