From 17b66affdf439ed7c35d2825a1e2bf7967191e14 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Tue, 7 Dec 2010 21:09:56 +0100 Subject: ccache: rework ccache management * ccache is now a normal package (both for the host and the target). * ccache option is now part of the "Build options" menu. It will automatically build ccache for the host before building anything, and will use it to cache builds for both host compilations and target compilations. * bump ccache to 3.1.3 Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- package/ccache/Config.in | 9 +++++++++ package/ccache/ccache.mk | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 package/ccache/Config.in create mode 100644 package/ccache/ccache.mk (limited to 'package/ccache') diff --git a/package/ccache/Config.in b/package/ccache/Config.in new file mode 100644 index 000000000..f4f7f8f9c --- /dev/null +++ b/package/ccache/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_CCACHE + bool "ccache" + help + ccache is a compiler cache. It speeds up recompilation by + caching previous compilations and detecting when the same + compilation is being done again + + http://samba.ccache.org + diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk new file mode 100644 index 000000000..1d0a5608e --- /dev/null +++ b/package/ccache/ccache.mk @@ -0,0 +1,33 @@ +############################################################# +# +# ccache +# +############################################################# + +CCACHE_VERSION = 3.1.3 +CCACHE_SITE = http://samba.org/ftp/ccache +CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.bz2 + +# When ccache is being built for the host, ccache is not yet +# available, so we have to use the special C compiler without the +# cache. +HOST_CCACHE_CONF_ENV = \ + CC="$(HOSTCC_NOCCACHE)" + +# We directly hardcode the cache location into the binary, as it is +# much easier to handle than passing an environment variable. +define HOST_CCACHE_FIX_CCACHE_DIR + sed -i 's,getenv("CCACHE_DIR"),"$(CCACHE_CACHE_DIR)",' $(@D)/ccache.c +endef + +HOST_CCACHE_POST_CONFIGURE_HOOKS += \ + HOST_CCACHE_FIX_CCACHE_DIR + +$(eval $(call AUTOTARGETS,package,ccache)) +$(eval $(call AUTOTARGETS,package,ccache,host)) + +ifeq ($(BR2_CCACHE),y) +ccache-stats: host-ccache + $(Q)$(CCACHE) -s +endif + -- cgit v1.2.3