aboutsummaryrefslogtreecommitdiff
path: root/.shippable.yml
diff options
context:
space:
mode:
authorJerome Forissier <jerome.forissier@linaro.org>2018-06-01 15:48:21 +0200
committerJérôme Forissier <jerome.forissier@linaro.org>2018-06-04 11:25:14 +0200
commita2a52e198719e5c7967f19b7c79ed9891cacb6e3 (patch)
tree39b28c00925498b45b845fca05ab29b907b30063 /.shippable.yml
parentc8f568354b16896704e9f8e5f73b28df5f4c8eac (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.yml7
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