Index: site/user/quick/nacl.md |
diff --git a/site/user/quick/nacl.md b/site/user/quick/nacl.md |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2d88d8878eb54835c807944e871995352806738a |
--- /dev/null |
+++ b/site/user/quick/nacl.md |
@@ -0,0 +1,93 @@ |
+NaCl (Experimental) |
+=================== |
+ |
+Important Notes |
+--------------- |
+ |
+ * This process has only been verified to work on Linux |
+ * Skia for NaCl is new and currently under development. Therefore, some features are not (yet) supported: |
+ * GPU backend |
+ * Fonts - Currently, NaCl has no way to access system fonts. This means |
+ that text drawn in Skia will not display. A Pepper font API is in the |
+ works and should be available in the near future, but for now your best |
+ bet is to either package font data with your nexe or to send font data |
+ from javascript to your plugin at runtime. Note that this will be the |
+ case with any graphics library in NaCl until the font API is finished. |
+ |
+Prerequisites |
+------------- |
+ |
+Execute the following commands in whatever directory you want to hold the NaCl SDK directory: |
+ |
+ wget http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip |
+ unzip nacl_sdk.zip |
+ rm nacl_sdk.zip |
+ nacl_sdk/naclsdk update pepper_32 |
+ export NACL_SDK_ROOT=/path/to/nacl_sdk |
+ |
+Check out the Skia source |
+------------------------- |
+ |
+We use the "gclient" script (part of the depot_tools toolkit) to manage the |
+Skia source code. Follow the instructions at |
+http://www.chromium.org/developers/how-tos/depottools to get the gclient |
+script from depot_tools. |
+ |
+Instead of checking out trunk directly you will use gclient to checkout the |
+nacl directory, which will automatically pull the trunk directory for you. |
+Execute the following commands in whatever directory you want to be the root |
+for your Skia on NaCl development: |
+ |
+ gclient config https://skia.googlesource.com/skia.git |
+ gclient sync |
+ |
+Building the Skia libraries for NaCl |
+------------------------------------ |
+ |
+The nacl_make script is used to compile Skia targets for NaCl. It sets the |
+appropriate environment variables, calls GYP to generate makefiles, and runs |
+Make to build both 32 and 64-bit targets as required by NaCl. To build the |
+Skia libraries, run the following from the trunk directory: |
+ |
+ platform_tools/nacl/nacl_make skia_lib |
+ |
+This will result in a set of static libraries being built into the out/nacl32 |
+and out/nacl64 directories. You can use these libraries in external NaCl |
+apps. |
+ |
+Building and running Skia's Apps in NaCl (Experimental) |
+------------------------------------------------------- |
+ |
+It is possible to run some of Skia's console apps in the browser. |
+ |
+### Skia Unit Tests |
+ |
+Build Skia tests from the trunk directory: |
+ |
+ platform_tools/nacl/bin/nacl_make tests |
+ |
+This will build the tests executable. We include a tiny HTTP server (borrowed |
+from the NaCl SDK) in order to run the apps: |
+ |
+ cd platform_tools/nacl |
+ ./httpd.py |
+ |
+The HTTP server runs on port 5103 by default. In Chrome, navigate to |
+`http://localhost:5103/` and click on the link for "unit tests." After the |
+module downloads, you should see the tests begin to run. |
+ |
+### Sample App |
+ |
+The sample app relies on the GPU backend. Therefore, it will compile but will not yet run. |
+ |
+ platform_tools/nacl/bin/nacl_make SampleApp |
+ |
+You can access the sample app at http://localhost:5103/SampleApp. |
+ |
+### Debugger |
+ |
+The debugger is currently in a partially-working state: |
+ |
+ platform_tools/nacl/bin/nacl_make debugger |
+ |
+You can access it at http://localhost:5103/debugger. |