| Linux |
| ===== |
| |
| Quickstart |
| ---------- |
| |
| <!--?prettify lang=sh?--> |
| |
| |
| # Install depot_tools (this provides ninja and git-cl). |
| git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git' |
| export PATH="${PWD}/depot_tools:${PATH}" |
| |
| # Get Skia. |
| git clone 'https://skia.googlesource.com/skia' |
| cd skia |
| |
| # Install Dependencies (may require sudo). |
| tools/install_dependencies.sh |
| |
| # Sync, Config, and Build. |
| bin/sync-and-gyp |
| ninja -C out/Debug dm SampleApp |
| |
| # Run DM, the Skia test app. |
| out/Debug/dm |
| |
| # Run SampleApp. |
| out/Debug/SampleApp |
| |
| # Run nanobench, the Skia benchmarking tool. |
| ninja -C out/Release nanobench |
| out/Release/nanobench |
| |
| |
| <a name="prerequisites"></a>Prerequisites |
| ----------------------------------------- |
| |
| On a Ubuntu 12.04 (Precise) or Ubuntu 14.04 (Trusty) system, you can run |
| `tools/install_dependencies.sh`, which will install the needed packages. On |
| Ubuntu 12.04, you will need to install the`ninja` build tool separately, which |
| comes with Chromium's `depot_tools`. |
| |
| To contribute changes back to Skia, you will need `git-cl`, which |
| comes with Chromium's `depot_tools`. |
| |
| (If you use another Linux distribution, please consider contributing back |
| instructions for installing the required packages — we can then incorporate |
| that knowledge into the `tools/install_dependencies.sh` tool.) |
| |
| Make sure the following have been installed: |
| |
| * [Chromium depot_tools](http://www.chromium.org/developers/how-tos/depottools) |
| |
| * A C++ compiler (typically GCC or Clang) **build-essential** or **clang-3.6** |
| |
| * Python 2.7.x: **python2.7-dev** |
| |
| * The FreeType and Fontconfig font engines: **libfreetype6-dev** and |
| **libfontconfig1-dev** |
| |
| * Mesa OpenGL utility library headers: **libglu1-mesa-dev** |
| |
| * Mesa headers: **mesa-common-dev** |
| |
| * GL, such as **freeglut3-dev** |
| |
| Check out the source code |
| ------------------------- |
| |
| Follow the instructions [here](../download) for downloading the Skia source. |
| |
| Notes |
| ----- |
| |
| 1. On 32-bit Linux (when `uname -m` is *not* `x86_64`), you will have to |
| explicitly specify the architecture: |
| |
| <!--?prettify lang=sh?--> |
| |
| GYP_DEFINES='skia_arch_type=x86' python bin/sync-and-gyp |
| 2. By default, many Linux systems use gcc by default. To use clang you will |
| need to [set the CC and CXX environment variables](/user/tips#gypdefines). |
| |
| Generate build files |
| -------------------- |
| |
| See [this page for generating build files and run tests](desktop). |