diff options
author | Jerome Forissier <jerome.forissier@linaro.org> | 2018-06-01 15:48:21 +0200 |
---|---|---|
committer | Jérôme Forissier <jerome.forissier@linaro.org> | 2018-06-04 11:25:14 +0200 |
commit | a2a52e198719e5c7967f19b7c79ed9891cacb6e3 (patch) | |
tree | 39b28c00925498b45b845fca05ab29b907b30063 /.shippable.yml | |
parent | c8f568354b16896704e9f8e5f73b28df5f4c8eac (diff) |
ci: shippable: enable ccache's 'unify' option
There is currently no caching possible between the various _make lines in
.shippable.yml, because they select different configuration flags. Since
all the files include $(out-dir)/include/generated/conf.h automatically,
the preprocessor output is therefore different simply due to the fact that
conf.h is different from one line to the other.
This is quite unfortunate, because most source files depend on a handful
of configuration flags only and therefore activating unrelated flags
should not cause a cache miss.
Addressing this problem is exactly the purpose of the 'unify' option of
ccache [1]. Activate it by setting CCACHE_UNIFY=true and CFG_DEBUG_INFO=n
before building. The lines that set DEBUG=0 or DEBUG=1 are adjusted to
produce the same result as before.
Link: [1] https://github.com/ccache/ccache/blob/v3.4.2/doc/MANUAL.adoc#configuration-settings
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to '.shippable.yml')
-rw-r--r-- | .shippable.yml | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/.shippable.yml b/.shippable.yml index 73662911..dc082b6f 100644 --- a/.shippable.yml +++ b/.shippable.yml @@ -12,14 +12,15 @@ build: - export LC_ALL=C - export CROSS_COMPILE32="ccache arm-linux-gnueabihf-" - export CROSS_COMPILE64="ccache aarch64-linux-gnu-" + - export CFG_DEBUG_INFO=n; export CCACHE_UNIFY=true # No parallel build ('make -j$(getconf _NPROCESSORS_ONLN)') due to: # https://github.com/Shippable/support/issues/3953 - function _make() { make -s $* && ccache -s && ccache -z; } - ccache -z - _make - - _make CFG_TEE_CORE_LOG_LEVEL=4 CFG_TEE_CORE_DEBUG=y CFG_TEE_TA_LOG_LEVEL=4 DEBUG=1 - - _make CFG_TEE_CORE_LOG_LEVEL=0 CFG_TEE_CORE_DEBUG=n CFG_TEE_TA_LOG_LEVEL=0 DEBUG=0 + - _make CFG_TEE_CORE_LOG_LEVEL=4 CFG_TEE_CORE_DEBUG=y CFG_TEE_TA_LOG_LEVEL=4 CFG_CC_OPTIMIZE_FOR_SIZE=n CFG_DEBUG_INFO=y + - _make CFG_TEE_CORE_LOG_LEVEL=0 CFG_TEE_CORE_DEBUG=n CFG_TEE_TA_LOG_LEVEL=0 CFG_CC_OPTIMIZE_FOR_SIZE=y CFG_DEBUG_INFO=n - _make CFG_TEE_CORE_MALLOC_DEBUG=y - _make CFG_CORE_SANITIZE_UNDEFINED=y - _make CFG_CORE_SANITIZE_KADDRESS=y @@ -37,7 +38,7 @@ build: - _make CFG_RPMB_FS=y CFG_RPMB_TESTKEY=y - _make CFG_REE_FS=n CFG_RPMB_FS=y - _make CFG_WITH_USER_TA=n CFG_CRYPTO=n CFG_SE_API=n CFG_PCSC_PASSTHRU_READER_DRV=y - - _make CFG_WITH_PAGER=y CFG_WITH_LPAE=y CFG_RPMB_FS=y CFG_DT=y CFG_TEE_CORE_LOG_LEVEL=1 CFG_TEE_CORE_DEBUG=y DEBUG=1 + - _make CFG_WITH_PAGER=y CFG_WITH_LPAE=y CFG_RPMB_FS=y CFG_DT=y CFG_TEE_CORE_LOG_LEVEL=1 CFG_TEE_CORE_DEBUG=y CFG_CC_OPTIMIZE_FOR_SIZE=n CFG_DEBUG_INFO=y - _make CFG_WITH_PAGER=y CFG_WITH_LPAE=y CFG_RPMB_FS=y CFG_DT=y CFG_TEE_CORE_LOG_LEVEL=0 CFG_TEE_CORE_DEBUG=n DEBUG=0 - _make CFG_BUILT_IN_ARGS=y CFG_PAGEABLE_ADDR=0 CFG_NS_ENTRY_ADDR=0 CFG_DT_ADDR=0 CFG_DT=y - _make CFG_TA_GPROF_SUPPORT=y CFG_ULIBS_GPROF=y |