2424# - wget
2525
2626set -e
27+ set -o xtrace
2728
2829WD=$( cd $( dirname $0 ) && pwd)
2930WORKSPACE=$( cd $WD /.. && pwd -P)
@@ -36,12 +37,12 @@ EXTRA_PATH=
3637
3738case $os in
3839 Darwin)
39- install=" python-tools u-boot-tools discoteq-flock elf-toolchain gen-romfs kconfig-frontends bloaty arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain"
40+ install=" python-tools u-boot-tools discoteq-flock elf-toolchain gen-romfs kconfig-frontends arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain c-cache "
4041 mkdir -p ${prebuilt} /homebrew
4142 export HOMEBREW_CACHE=${prebuilt} /homebrew
4243 ;;
4344 Linux)
44- install=" python-tools gen-romfs gperf kconfig-frontends bloaty arm-gcc-toolchain mips-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain rx-gcc-toolchain c-cache"
45+ install=" python-tools gen-romfs gperf kconfig-frontends arm-gcc-toolchain mips-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain rx-gcc-toolchain c-cache"
4546 ;;
4647esac
4748
@@ -289,21 +290,39 @@ function rx-gcc-toolchain {
289290function c-cache {
290291 add_path $prebuilt /ccache/bin
291292
292- if [ ! -f " $prebuilt / ccache/bin/ccache " ] ; then
293- cd $prebuilt ;
294- wget --quiet https://github.com/ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz
295- tar zxf ccache-3.7.7.tar.gz
296- cd ccache-3.7.7 ; ./configure --prefix= $prebuilt /ccache ; make ; make install
297- cd $prebuilt ; rm -rf ccache-3.7.7 ; rm ccache-3.7.7.tar.gz
298- ln -sf $prebuilt /ccache/bin/ccache $prebuilt /ccache/bin/gcc
299- ln -sf $prebuilt /ccache/bin /ccache $prebuilt /ccache/bin/g++
300- ln -sf $prebuilt /ccache/bin/ccache $prebuilt / ccache/bin/arm-none-eabi-gcc
301- ln -sf $prebuilt /ccache/bin/ccache $prebuilt /ccache/bin/arm-none-eabi-g++
302- ln -sf $prebuilt / ccache/bin/ccache $prebuilt / ccache/bin/p32-gcc
303- ln -sf $prebuilt /ccache/bin/ccache $prebuilt /ccache/bin/riscv64-unknown-elf-gcc
304- ln -sf $prebuilt /ccache/bin/ccache $prebuilt /ccache/bin/riscv64-unknown-elf-g++
293+ if ! type ccache > /dev/null ; then
294+ case $os in
295+ Darwin)
296+ brew install ccache
297+ ;;
298+ Linux)
299+ cd $prebuilt ;
300+ wget https://github.com /ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz
301+ tar zxf ccache-3.7.7.tar.gz
302+ cd ccache-3.7.7 ; ./configure --prefix= $prebuilt /ccache; make ; make install
303+ cd $prebuilt ; rm -rf ccache-3.7.7 ; rm ccache-3.7.7.tar.gz
304+ ;;
305+ esac
305306 fi
307+
306308 ccache --version
309+ mkdir -p $prebuilt /ccache/bin/
310+ ln -sf ` which ccache` $prebuilt /ccache/bin/x86_64-elf-gcc
311+ ln -sf ` which ccache` $prebuilt /ccache/bin/x86_64-elf-g++
312+ ln -sf ` which ccache` $prebuilt /ccache/bin/cc
313+ ln -sf ` which ccache` $prebuilt /ccache/bin/c++
314+ ln -sf ` which ccache` $prebuilt /ccache/bin/clang
315+ ln -sf ` which ccache` $prebuilt /ccache/bin/clang++
316+ ln -sf ` which ccache` $prebuilt /ccache/bin/gcc
317+ ln -sf ` which ccache` $prebuilt /ccache/bin/g++
318+ ln -sf ` which ccache` $prebuilt /ccache/bin/arm-none-eabi-gcc
319+ ln -sf ` which ccache` $prebuilt /ccache/bin/arm-none-eabi-g++
320+ ln -sf ` which ccache` $prebuilt /ccache/bin/p32-gcc
321+ ln -sf ` which ccache` $prebuilt /ccache/bin/riscv64-unknown-elf-gcc
322+ ln -sf ` which ccache` $prebuilt /ccache/bin/riscv64-unknown-elf-g++
323+ ln -sf ` which ccache` $prebuilt /ccache/bin/xtensa-esp32-elf-gcc
324+ ln -sf ` which ccache` $prebuilt /ccache/bin/avr-gcc
325+ ln -sf ` which ccache` $prebuilt /ccache/bin/avr-g++
307326}
308327
309328function usage {
@@ -324,8 +343,7 @@ function usage {
324343
325344function enable_ccache {
326345 export USE_CCACHE=1;
327- export CCACHE_DIR=$prebuilt /ccache/.ccache;
328- ccache -c
346+ ccache -z
329347 ccache -M 5G;
330348 ccache -s
331349}
0 commit comments