summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhaled Hosny <khaled@libreoffice.org>2023-05-30 12:25:22 +0300
committerخالد حسني <khaled@libreoffice.org>2023-06-01 01:57:07 +0200
commit70fd835b4cf75e386ee115c705241a4059fb68a8 (patch)
tree52cb1e93097bc7a8cdd19dfe5c0efa8dc5196769
parenta05dc1591ca9122056e95cb2801e7f924bb7ecdb (diff)
Fix ccache cache size detection
I have ccache 4.8.1 and it reports: (/home/khaled/.config/ccache/ccache.conf) max_size = 30.0 GB With a space between the number and the unit and the configure check with then see a unit-less 30 and will warn: ccache's cache size is less than 1GB using it is counter-productive: Disabling auto-ccache detection Instead of relying on the human readable output, use --print-stats which prints machine-readable output and is available since 3.7 (thanks to Cloph for the suggestion). Change-Id: I69f994a07cfbf08b66a2010f9c99401881d4acf3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152382 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Jenkins
-rw-r--r--configure.ac34
1 files changed, 9 insertions, 25 deletions
diff --git a/configure.ac b/configure.ac
index e86e3c30141d..06a60ebf8d8d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3316,31 +3316,15 @@ AC_SUBST(CCACHE_DEPEND_MODE)
# sccache defaults are good enough
if test "$CCACHE" != "" -a -z "$SCCACHE"; then
- # e.g. (/home/rene/.config/ccache/ccache.conf) max_size = 20.0G
- # -p works with both 4.2 and 4.4
- ccache_size_msg=$([$CCACHE -p | $AWK /max_size/'{ print $4 }' | sed -e 's/\.[0-9]*//'])
- ccache_size=$(echo "$ccache_size_msg" | grep "G" | sed -e 's/G.*$//')
- if test "$ccache_size" = ""; then
- ccache_size=$(echo "$ccache_size_msg" | grep "M" | sed -e 's/\ M.*$//')
- if test "$ccache_size" = ""; then
- ccache_size=0
- fi
- # we could not determine the size or it was less than 1GB -> disable auto-ccache
- if test $ccache_size -lt 1024; then
- CCACHE=""
- AC_MSG_WARN([ccache's cache size is less than 1GB using it is counter-productive: Disabling auto-ccache detection])
- add_warning "ccache's cache size is less than 1GB using it is counter-productive: auto-ccache detection disabled"
- else
- # warn that ccache may be too small for debug build
- AC_MSG_WARN([ccache's cache size is less than 5GB using it may be counter-productive for debug or symbol-enabled build])
- add_warning "ccache's cache size is less than 5GB using it may be counter-productive for debug or symbol-enabled build"
- fi
- else
- if test $ccache_size -lt 5; then
- #warn that ccache may be too small for debug build
- AC_MSG_WARN([ccache's cache size is less than 5GB using it may be counter-productive for debug or symbol-enabled build])
- add_warning "ccache's cache size is less than 5GB using it may be counter-productive for debug or symbol-enabled build"
- fi
+ ccache_size=$($CCACHE --print-stats | $AWK /cache_size_kibibyte/'{ print $2 }')
+ if test $ccache_size -lt 976563; then
+ CCACHE=""
+ AC_MSG_WARN([ccache's cache size is less than 1GB using it is counter-productive: Disabling auto-ccache detection])
+ add_warning "ccache's cache size is less than 1GB using it is counter-productive: auto-ccache detection disabled"
+ elif test $ccache_size -lt 4883000; then
+ # warn that ccache may be too small for debug build
+ AC_MSG_WARN([ccache's cache size is less than 5GB using it may be counter-productive for debug or symbol-enabled build])
+ add_warning "ccache's cache size is less than 5GB using it may be counter-productive for debug or symbol-enabled build"
fi
fi