summaryrefslogtreecommitdiff
path: root/package/ccache/ccache.mk
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-12-07 21:09:56 +0100
committerPeter Korsgaard <jacmet@sunsite.dk>2010-12-08 17:51:49 +0100
commit17b66affdf439ed7c35d2825a1e2bf7967191e14 (patch)
tree1ca4fdfe4efb06a8a081236c492531d9697e22bf /package/ccache/ccache.mk
parent3bbf1c2ea6140d8b288b0af5b1a9c3a1aa92edad (diff)
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 <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/ccache/ccache.mk')
-rw-r--r--package/ccache/ccache.mk33
1 files changed, 33 insertions, 0 deletions
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
+