我想共享使用一个工作空间构建的ccache,以供另一工作空间使用,以便使用ccache数据的一个副本来编译相同的源代码。
E.x:
1)创建一个工作区(home / user / source_code1)。
2)从服务器在这里同步了代码。
3)使用USE_CCACHE = 1编译代码
以上将构建我的ccache。现在,我执行以下操作
情况1:
1)创建一个工作空间(home / user / source_code2)。
2)在这里从服务器同步了相同的源代码。
3)进行了与之前工作区中相同的编译。
情况2:
1)删除工作空间home / user / source_code1
2)重新创建较早的工作空间(home / user / source_code1)。
2)从服务器重新同步此处的代码。
3)使用USE_CCACHE = 1编译代码
我希望source_code2编译使用从source_code1构建的ccache,并且当我删除并重新创建相同的工作区时,我需要使用已经构建的ccache进行编译。
任何达到相同目的的指针都欢迎!
在以上两种情况下,我现在看到的结果是,尽管ccache是??内置的,但从未使用过,或者ccache中没有命中,每当使用新的工作区时,它都会继续建立。 -在同一工作空间中编译而不删除任何较早的源代码(home / user / source_code1),然后ccache编译会跳转,并且有命中有助于减少构建时间。
知道为什么使用全新的工作空间时我看不到任何ccache命中吗?
我总是使" ccache miss"增加,而不是" cache hit(直接),或者cache hit(预处理)"。同样,"缓存命中(直接)"始终为0。
我设置了以下变量。
CCACHE_BASEDIR=/home/user
USE_CCACHE=1
CCACHE_DIR=/home/user/ccache
CCACHE_SLOPPINESS=time_macros,file_macro
请让我知道我是否在这里错过了什么。
也许您需要用ver替换ccache。 3.x或更高版本。
据我所知,android源代码树中包含的ccache是ver。 2.4。
并且CCACHE_BASEDIR在ccache 3.x中工作,您可以参考以下链接。
设置CCACHE_BASEDIR以在树之间共享目标文件
Andorid构建脚本将使用其预先构建的工具,而不是系统中已安装的工具。