7 | | [https://github.com/mozilla/sccache sccache] is available in the SDK. Depending on your sccache-dist cloud deployment, you might need to ask for an authentication token to your sysadmin. Once you have it, generate the toolchain archives that will be used for the distributed compilation: |
| 7 | This documentation applies to the WPE and GTK ports. From the [https://github.com/mozilla/sccache sccache] homepage: |
| 8 | |
| 9 | [https://github.com/mozilla/sccache sccache] is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible, storing a cache in a remote storage using the Amazon Simple Cloud Storage Service (S3) API, the Google Cloud Storage (GCS) API, or Redis. It works as a client-server. The client spawns a server if one is not running already, and sends the wrapped command line as a request to the server, which then does the work and returns stdout/stderr for the job. The client-server model allows the server to be more efficient in its handling of the remote storage. |
| 10 | |
| 11 | Sccache can also be used with local storage instead of remote. |
| 12 | |
| 13 | Depending on your sccache-dist cloud deployment, you might need to ask for an authentication token to your sysadmin. Once you have it, generate the toolchain archives that will be used for the distributed compilation: |
| 24 | Here is an example of the config file contents: |
| 25 | {{{ |
| 26 | [dist] |
| 27 | scheduler_url = "https://sccache.igalia.com" |
| 28 | [[dist.toolchains]] |
| 29 | compiler_executable = "/usr/bin/c++" |
| 30 | archive_compiler_executable = "/usr/bin/g++" |
| 31 | type = "path_override" |
| 32 | archive = "/home/phil/WebKit/WebKitBuild/Toolchains/webkit-sdk-gcc-df05b4231b1586d4bc07430d8353065c.tar.gz" |
| 33 | |
| 34 | [[dist.toolchains]] |
| 35 | compiler_executable = "/usr/bin/clang++" |
| 36 | archive_compiler_executable = "/usr/bin/clang++" |
| 37 | type = "path_override" |
| 38 | archive = "/home/phil/WebKit/WebKitBuild/Toolchains/webkit-sdk-clang-1898673fc91e702aa44006e0195695a3.tar.gz" |
| 39 | |
| 40 | [dist.auth] |
| 41 | token = "s3cr3t-tok3n" |
| 42 | type = "token" |
| 43 | }}} |
| 44 | |
| 45 | |