Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: site/user/quick/linux.md

Issue 846523002: Add Linux quick start docs (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: move Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: site/user/quick/linux.md
diff --git a/site/user/quick/linux.md b/site/user/quick/linux.md
new file mode 100644
index 0000000000000000000000000000000000000000..db3f16ba8206cd2abd83c7998859a36d5c017fc7
--- /dev/null
+++ b/site/user/quick/linux.md
@@ -0,0 +1,132 @@
+Linux
+=====
+
+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)
+ * python 2.7.x
+ * suggested Ubuntu packages: python2.7, python2.7-dev
+ * The FreeType and Fontconfig font engines
+ * suggested Ubuntu packages: libfreetype6, libfreetype6-dev , libfontconfig , libfontconfig-dev e.g., `sudo apt-get install libfreetype6 libfreetype6-dev libfontconfig libfontconfig-dev`
+ * libpng
+ * suggested Ubuntu packages: libpng12-0, libpng12-dev e.g., `sudo apt-get install libpng12-0 libpng12-dev`
+ * libgif
+ * suggested Ubuntu package: libgif-dev e.g., `sudo apt-get install libgif-dev`
+ * `$ sudo apt-get install libgif4:i386`
+ * `$ sudo ln -s /usr/lib/i386-linux-gnu/libgif.so.4 /usr/lib/i386-linux-gnu/libgif.so`
+ * libglu1-mesa-dev
+ * mesa-common-dev
+ * GL
+ * such as freeglut3-dev
+ * Poppler PDF rendering library C++ development files
+ * suggested Ubuntu package: libpoppler-cpp-dev
+
+Check out the source code
+-------------------------
+
+Follow the instructions [here](../download) for downloading the Skia source.
+
+
+Generate build files
+--------------------
+
+We use the open-source gyp tool to generate ninja files (and analogous build
+scripts on other platforms) from our multiplatform "gyp" files.
+
+Generate the build files by running the following in your Skia home directory:
+
+ ./gyp_skia
+
+Or, you can just rely on it being run automatically by using `make` instead of
+`ninja` in examples shown below.
+
+If you want to use Eclipse, see Creating an Eclipse Project after you have generated the makefiles.
+
+Build and run tests from the command line
+-----------------------------------------
+
+ ninja -C out/Debug dm
+ out/Debug/dm
+
+The usual mode you want for testing is Debug mode (`SK_DEBUG` is defined, and
+debug symbols are included in the binary). If you would like to build the
+
+Release version instead
+-----------------------
+
+ ninja -C out/Release dm
+ out/Release/dm
+
+Build and run nanobench (performance tests)
+-------------------------------------------
+
+In this case, we will build with the "Release" configuration, since we are
+running performance tests.
+
+ ninja -C out/Release nanobench
+ out/Release/nanobench [ --skps path/to/*.skp ]
+
+Build and run SampleApp
+-----------------------
+
+This time we will add the `-j` flag to fire up multiple threads during the
+build. (This can be used with the other targets too.)
+
+ make -j SampleApp
+ out/Debug/SampleApp
+
+When this launches, you should see a window with various graphical examples.
+To move through the sample app, use the following keypresses:
+
+ * right-arrow key: cycle through different test pages
+ * left-arrow key: cycle through rendering methods for each test page
+ * other keys are defined in SampleApp.cpp’s SampleWindow::onHandleKey() and SampleWindow::onHandleChar() methods
+
+Build and run gm ("golden master") tests
+----------------------------------------
+
+This will display the return value (0 = success) after running the tests...
+
+ make -j gm
+ out/Debug/gm -r gm/base-linux ; echo $?
+
+You can also adjust the type used to represent SkScalar. By default, we use a
+float. To change that, run it as follows:
+
+ GYP_DEFINES="skia_scalar=fixed" make -j gm
+ out/Debug/gm -r gm/base-linux-fixed ; echo $?
+
+Build and run bench (performance testbench)
+-------------------------------------------
+
+Since bench tests performance, it usually makes more sense to run it in
+Release mode...
+
+ make -j bench BUILDTYPE=Release
+ out/Release/bench
+
+Build tools
+-----------
+
+ make -j tools
+ out/Debug/skdiff
+
+Clean up all generated files
+----------------------------
+
+ make clean
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698