1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
10 groups = Development/Compilers
11 url = https://ccache.dev
13 summary = C/C++ compiler cache.
16 ccache is a compiler cache. It acts as a caching pre-processor to
17 C/C++ compilers, using the -E compiler switch and a hash to detect
18 when a compilation can be satisfied from cache. This often results in
19 a 5 to 10 times speedup in common compilations.
22 source_dl = https://github.com/ccache/ccache/releases/download/v%{version}/
23 sources = %{thisapp}.tar.xz
25 # Sets ccache max size up to 2 GB
26 CFLAGS += -DDEFAULT_MAXSIZE=2097152
36 CCACHE_CACHE = %{localstatedir}/cache/ccache
39 # Do not run test for pre-compiled headers
40 sed -e "/^pch$/d" -i test/run
51 CCACHE_PLATFORM_TARGET=$(echo %{DISTRO_MACHINE} | sed -e "s/-gnu//g")
53 mkdir -pv %{BUILDROOT}%{libdir}/ccache
54 for i in gcc g++ cc c++; do \
55 ln -svf ../../bin/ccache %{BUILDROOT}%{libdir}/ccache/${i}; \
56 ln -svf ../../bin/ccache %{BUILDROOT}%{libdir}/ccache/${CCACHE_PLATFORM_TARGET}-${i}; \
59 mkdir -pv %{BUILDROOT}/etc/profile.d
60 sed -e "s|@LIBDIR@|%{libdir}|g" -e "s|@CACHEDIR@|%{CCACHE_CACHE}|g" \
61 < %{DIR_SOURCE}/ccache.sh > %{BUILDROOT}/etc/profile.d/ccache.sh
63 mkdir -pv -m770 %{BUILDROOT}/%{CCACHE_CACHE}
70 package %{name}-debuginfo