From e290b05988d30d008d1c596705754ed6de09c45c Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Fri, 7 Aug 2015 17:03:32 -0700 Subject: [PATCH] profiles: tell ccache to rewrite paths relative to $S There are a number of ways the absolute path to a source file can make it into the compiler output, some of which can prevent cached results from being used when compiling related code in different locations. The default source directory $S contains the package version so paths need to be relative to it in order to work between package versions. --- .../coreos-overlay/profiles/coreos/base/profile.bashrc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/profile.bashrc b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/profile.bashrc index 3e4b812f6e..bbf8d895b9 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/profile.bashrc +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/profile.bashrc @@ -99,3 +99,10 @@ SYSROOT_WRAPPERS_BIN="/usr/lib/sysroot-wrappers/bin" if [[ "$PATH" != *"$SYSROOT_WRAPPERS_BIN"* ]]; then export PATH="$SYSROOT_WRAPPERS_BIN:$PATH" fi + +# Improve the chance that ccache is valid across versions by making all +# paths under $S relative to $S, avoiding encoding the package version +# contained in the path into __FILE__ expansions and debug info. +if [[ -z "${CCACHE_BASEDIR}" ]] && [[ -d "${S}" ]]; then + export CCACHE_BASEDIR="${S}" +fi