%define compilers gcc g++ cc c++ gcc296 g++296 gcc32 kgcc egcs egcs++ gcc3 g++3 gcc-ssa g++-ssa gcc34 c++34 g++34 gcc33 c++33 g++33 %define pkgs gcc, gcc-c++, compat-gcc, compat-gcc-c++, gcc32, gcc3, gcc3-c++, kgcc, compat-egcs, compat-egcs-c++, egcs, egcs-c++, gcc-ssa, gcc-c++-ssa, gcc34, gcc34-c++ Name: ccache Version: 2.3 Release: 0.fdr.5.rh90 Epoch: 0 Summary: Compiler cache Group: Development/Tools License: GPL URL: http://ccache.samba.org/ Source0: http://ccache.samba.org/ftp/ccache/ccache-2.3.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description ccache is a compiler cache. It acts as a caching pre-processor to C/C++ compilers, using the -E compiler switch and a hash to detect when a compilation can be satisfied from cache. This often results in a 5 to 10 times speedup in common compilations. %prep %setup -q %build %configure %{__make} %{?_smp_mflags} cat < %{name}.sh if ! echo "\$PATH" | grep -q %{_libdir}/ccache/bin ; then PATH="%{_libdir}/ccache/bin:\$PATH" fi EOF cat < %{name}.csh if ( "\$path" !~ *%{_libdir}/ccache/bin* ) then set path = ( %{_libdir}/ccache/bin \$path ) endif EOF %install rm -rf $RPM_BUILD_ROOT install -dm 755 $RPM_BUILD_ROOT{%{_libdir}/ccache/bin,%{_mandir}/man1} install -pm 755 ccache $RPM_BUILD_ROOT%{_libdir}/ccache/bin install -pm 644 ccache.1 $RPM_BUILD_ROOT%{_mandir}/man1 install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d install -pm 755 %{name}.sh %{name}.csh $RPM_BUILD_ROOT%{_sysconfdir}/profile.d > %{name}-%{version}.compilers for name in %{compilers} ; do for comp in $name %{_target_cpu}-%{_vendor}-%{_target_os}-$name ; do ln -s ccache $RPM_BUILD_ROOT%{_libdir}/ccache/bin/$comp echo "%ghost %{_libdir}/ccache/bin/$comp" >> %{name}-%{version}.compilers done done %clean rm -fr $RPM_BUILD_ROOT %triggerin -- %{pkgs} for name in %{compilers} ; do for comp in $name %{_target_cpu}-%{_vendor}-%{_target_os}-$name ; do if [ -x %{_bindir}/$comp ] ; then ln -sf ccache %{_libdir}/ccache/bin/$comp else # This block is to support upgrading from < 2.3-0.fdr.1. rm -f %{_libdir}/ccache/bin/$comp fi done done %triggerpostun -- %{pkgs} for name in %{compilers} ; do for comp in $name %{_target_cpu}-%{_vendor}-%{_target_os}-$name ; do [ -x %{_bindir}/$comp ] || rm -f %{_libdir}/ccache/bin/$comp done done %files -f %{name}-%{version}.compilers %defattr(-,root,root,-) %doc README %config %{_sysconfdir}/profile.d/%{name}.*sh %dir %{_libdir}/ccache %dir %{_libdir}/ccache/bin %{_libdir}/ccache/bin/ccache %{_mandir}/man1/ccache.1* %changelog * Fri Jun 25 2004 Ville Skyttä - 0:2.3-0.fdr.5 - Add support for gcc33 and g++33. * Thu Jun 10 2004 Ville Skyttä - 0:2.3-0.fdr.4 - Fix hardcoded lib path in profile.d scriptlets (bug 1558). * Mon May 3 2004 Ville Skyttä - 0:2.3-0.fdr.3 - Add support for gcc34 and g++34, and %%{_target_cpu}-%%{_vendor}-%%{_target_os}-* variants. * Thu Nov 13 2003 Ville Skyttä - 0:2.3-0.fdr.2 - Add overriding symlinks for gcc-ssa and g++-ssa (bug 963). * Tue Nov 11 2003 Ville Skyttä - 0:2.3-0.fdr.1 - Update to 2.3. - Implement triggers to keep list of "aliased" compilers up to date on the fly. - Add gcc32 and a bunch of legacy packages to the list of overridden compilers. * Sat Aug 2 2003 Ville Skyttä - 0:2.2-0.fdr.6 - Add c++ to the list of overridden compilers (bug 548). - Own everything including dirs under %%{_libdir}/ccache (bug 529). - %%{buildroot} -> $RPM_BUILD_ROOT. - Fix man page permissions. - Use %%{?_smp_mflags}. - Other cosmetic specfile tweaks. * Fri Mar 29 2003 Warren Togami 2.2-0.fdr.5 - Epoch: 0 - Remove /usr/lib/ccache/sbin from PATH * Fri Mar 28 2003 Warren Togami 2.2-0.fdr.4 - Add BuildRequires: autoconf >= 0:2.52 - Add Requires: gcc, gcc-c++ (minimal expectation of compilers) * Fri Mar 28 2003 Warren Togami 2.2-0.fdr.3 - No longer use %ghost, symlinks always exist * Thu Mar 27 2003 Warren Togami 2.2-0.fdr.2 - Move symlinks to /usr/lib/ccache/bin - Use /etc/profile.d/ccache.* scripts to add it to PATH As long as it is before /usr/bin it is good. * Thu Mar 27 2003 Warren Togami 2.2-0.fdr.1 - Move symlinks to /bin since it seems to be at the beginning of PATH of all users before /usr/bin, the location of the real compiler. - Package symlinks rather than create and remove during %post and %postun * Thu Feb 20 2003 Warren Togami 2.2-4.fedora.1 - Fedora * Thu Feb 20 2003 Samir M. Nassar 2.2-3.redconcepts - Added symlinks to g++ - Removed symlink removal in post * Thu Feb 20 2003 Samir M. Nassar 2.2-2.redconcepts - Cleans symlinks if present to make upgrades easier * Thu Feb 20 2003 Samir M. Nassar 2.2-1.redconcepts - Upgraded to ccache 2.2 * Tue Feb 04 2003 Samir M. Nassar 2.1.1-4.redconcepts - Using %post to create the soft symlinks - Using %postun to remove the soft symlinks - Thanks to Che for the help - Packaged as user * Sun Jan 19 2003 Samir M. Nassar 2.1.1-3.redconcepts - make a soft symlink between ccache and gcc - make a soft symlink between ccache and cc * Thu Jan 16 2003 Samir M. Nassar 2.1.1-2.redconcepts - Normalized spec file. * Wed Jan 15 2003 Samir M, Nassar 2.1.1-1.redconcepts - Using ccache 2.2.1 sources - Changed release to redconcepts for consistency * Wed Oct 22 2002 Samir M. Nassar 1.9-1.rcn - Initial RedConcepts.NET (rcn) build for Red Hat Linux 8.0