| # Copyright 2024 The IREE Authors | |
| # | |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. | |
| # See https://llvm.org/LICENSE.txt for license information. | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| # sccache (https://github.com/mozilla/sccache/) setup, focused on Azure Blob | |
| # Storage. See https://github.com/mozilla/sccache/blob/main/docs/Azure.md. | |
| # | |
| # If the `SCCACHE_AZURE_CONNECTION_STRING` environment variable is set, this | |
| # will enable sccache. Note that `SCCACHE_AZURE_BLOB_CONTAINER` should also be | |
| # set. The `SCCACHE_CACHE_ZSTD_LEVEL` and `SCCACHE_AZURE_KEY_PREFIX` | |
| # environment variables are also recommended. We could give them default values | |
| # here if we wanted. | |
| # | |
| # If the `SCCACHE_AZURE_CONNECTION_STRING` environment variable is _not_ set, | |
| # this keeps sccache disabled. It does _not_ use a readonly cache. | |
| # | |
| # Note: this file must be *sourced* not executed. | |
| set -eo pipefail | |
| if [ -n "$SCCACHE_AZURE_CONNECTION_STRING" ]; then | |
| echo "Connection string set, using sccache" | |
| export IREE_USE_SCCACHE=1 | |
| export CMAKE_C_COMPILER_LAUNCHER="$(which sccache)" | |
| export CMAKE_CXX_COMPILER_LAUNCHER="$(which sccache)" | |
| else | |
| echo "Connection string _not_ set, skipping sccache setup" | |
| unset SCCACHE_AZURE_CONNECTION_STRING | |
| export IREE_USE_SCCACHE=0 | |
| fi | |
| sccache --zero-stats | |
| sccache --show-stats |