[pacman-dev] [PATCH 2/3] makepkg: Correctly layer distcc and ccache
Jan Alexander Steffens (heftig)
jan.steffens at gmail.com
Tue Sep 15 20:17:03 UTC 2015
ccache expects further compiler wrappers to be specified via
CCACHE_PREFIX. Otherwise, ccache will hash the wrapper executable
instead of the real one.
Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
---
scripts/makepkg.sh.in | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index a8bac02..076d315 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -856,15 +856,22 @@ run_prepare() {
}
run_build() {
- # use distcc if it is requested (check buildenv and PKGBUILD opts)
- if check_buildoption "distcc" "y"; then
- [[ -d /usr/lib/distcc/bin ]] && export PATH="/usr/lib/distcc/bin:$PATH"
- export DISTCC_HOSTS
- fi
+ local ccache=0
# use ccache if it is requested (check buildenv and PKGBUILD opts)
- if check_buildoption "ccache" "y"; then
- [[ -d /usr/lib/ccache/bin ]] && export PATH="/usr/lib/ccache/bin:$PATH"
+ if check_buildoption "ccache" "y" && [[ -d /usr/lib/ccache/bin ]]; then
+ export PATH="/usr/lib/ccache/bin:$PATH"
+ ccache=1
+ fi
+
+ # use distcc if it is requested (check buildenv and PKGBUILD opts)
+ if check_buildoption "distcc" "y"; then
+ if (( ccache )); then
+ export CCACHE_PREFIX="${CCACHE_PREFIX:+$CCACHE_PREFIX }distcc"
+ elif [[ -d /usr/lib/distcc/bin ]]; then
+ export PATH="/usr/lib/distcc/bin:$PATH"
+ fi
+ export DISTCC_HOSTS
fi
run_function_safe "build"
--
2.5.2
More information about the pacman-dev
mailing list