Merge commit 'ccache-2_4-18_fc13' into el5

Conflicts:
	Makefile
	ccache.csh.in
	ccache.sh.in
	ccache.spec
This commit is contained in:
Ville Skyttä 2011-04-02 14:03:33 +03:00
commit 18f551150f
5 changed files with 183 additions and 24 deletions

81
06_md.diff Normal file
View File

@ -0,0 +1,81 @@
diff --git a/ccache.c b/ccache.c
index 64c979b..843929f 100644
--- a/ccache.c
+++ b/ccache.c
@@ -647,6 +647,13 @@ static void process_args(int argc, char **argv)
int found_S_opt = 0;
struct stat st;
char *e;
+ /* is gcc being asked to output dependencies? */
+ int generating_dependencies = 0;
+ /* is the dependency makefile name overridden with -MF? */
+ int dependency_filename_specified = 0;
+ /* is the dependency makefile target name specified with -MQ or -MF? */
+ int dependency_target_specified = 0;
+
stripped_args = args_init(0, NULL);
@@ -725,6 +732,18 @@ static void process_args(int argc, char **argv)
continue;
}
+ /* These options require special handling, because they
+ behave differently with gcc -E, when the output
+ file is not specified. */
+
+ if (strcmp(argv[i], "-MD") == 0 || strcmp(argv[i], "-MMD") == 0) {
+ generating_dependencies = 1;
+ } else if (strcmp(argv[i], "-MF") == 0) {
+ dependency_filename_specified = 1;
+ } else if (strcmp(argv[i], "-MQ") == 0 || strcmp(argv[i], "-MT") == 0) {
+ dependency_target_specified = 1;
+ }
+
/* options that take an argument */
{
const char *opts[] = {"-I", "-include", "-imacros", "-iprefix",
@@ -837,6 +856,41 @@ static void process_args(int argc, char **argv)
p[2] = 0;
}
+ /* If dependencies are generated, configure the preprocessor */
+
+ if (generating_dependencies && output_file) {
+ if (!dependency_filename_specified) {
+ char *default_depfile_name = x_strdup(output_file);
+ char *p = strrchr(default_depfile_name, '.');
+
+ if (p) {
+ if (strlen(p) < 2) {
+ stats_update(STATS_ARGS);
+ failed();
+ return;
+ }
+ *p = 0;
+ }
+ else {
+ int len = p - default_depfile_name;
+
+ p = x_malloc(len + 3);
+ strncpy(default_depfile_name, p, len - 1);
+ free(default_depfile_name);
+ default_depfile_name = p;
+ }
+
+ strcat(default_depfile_name, ".d");
+ args_add(stripped_args, "-MF");
+ args_add(stripped_args, default_depfile_name);
+ }
+
+ if (!dependency_target_specified) {
+ args_add(stripped_args, "-MT");
+ args_add(stripped_args, output_file);
+ }
+ }
+
/* cope with -o /dev/null */
if (strcmp(output_file,"/dev/null") != 0 && stat(output_file, &st) == 0 && !S_ISREG(st.st_mode)) {
cc_log("Not a regular file %s\n", output_file);

View File

@ -0,0 +1,45 @@
Index: config.h.in
===================================================================
RCS file: /cvsroot/ccache/config.h.in,v
retrieving revision 1.5
retrieving revision 1.7
diff -u -r1.5 -r1.7
--- config.h.in 7 Mar 2003 12:09:19 -0000 1.5
+++ config.h.in 25 Jul 2005 07:05:46 -0000 1.7
@@ -19,6 +19,9 @@
/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME
+/* Define to 1 if you have the `getpwuid' function. */
+#undef HAVE_GETPWUID
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -31,6 +34,9 @@
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
+/* Define to 1 if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H
+
/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
Index: util.c
===================================================================
RCS file: /cvsroot/ccache/util.c,v
retrieving revision 1.34
retrieving revision 1.37
diff -u -r1.34 -r1.37
--- util.c 6 Sep 2004 12:59:12 -0000 1.34
+++ util.c 17 Jul 2006 03:41:12 -0000 1.37
@@ -448,7 +444,7 @@
}
}
#endif
- fatal("Unable to determine home directory");
+ fprintf(stderr, "ccache: Unable to determine home directory");
return NULL;
}

View File

@ -9,8 +9,8 @@ endif
# want that even if they have that write permission can set the CCACHE_DIR
# and unset the CCACHE_UMASK environment variables in their personal profile.
if ( ! $?CCACHE_DIR && -d @CACHEDIR@ && -w @CACHEDIR@ ) then
setenv CCACHE_DIR /var/cache/ccache
if ( ! $?CCACHE_DIR && -w @CACHEDIR@ && -d @CACHEDIR@ ) then
setenv CCACHE_DIR @CACHEDIR@
setenv CCACHE_UMASK 002
unsetenv CCACHE_HARDLINK
endif

View File

@ -1,16 +1,17 @@
# Use ccache by default. Users who don't want that can set the CCACHE_DISABLE
# environment variable in their personal profile.
if ! echo "$PATH" | grep -qw @LIBDIR@/ccache ; then
PATH="@LIBDIR@/ccache:$PATH"
fi
case ":$PATH:" in
*:@LIBDIR@/ccache:*) ;;
*) PATH="@LIBDIR@/ccache:$PATH" ;;
esac
# If @CACHEDIR@ is writable, use a shared cache there. Users who don't
# want that even if they have that write permission can set the CCACHE_DIR
# and unset the CCACHE_UMASK environment variables in their personal profile.
if [ -z "$CCACHE_DIR" -a -d @CACHEDIR@ -a -w @CACHEDIR@ ] ; then
export CCACHE_DIR=/var/cache/ccache
if [ -z "$CCACHE_DIR" ] && [ -w @CACHEDIR@ ] && [ -d @CACHEDIR@ ] ; then
export CCACHE_DIR=@CACHEDIR@
export CCACHE_UMASK=002
unset CCACHE_HARDLINK
fi

View File

@ -6,18 +6,20 @@
Name: ccache
Version: 2.4
Release: 10%{?dist}
Release: 18%{?dist}
Summary: C/C++ compiler cache
Group: Development/Tools
License: GPLv2+
URL: http://ccache.samba.org/
Source0: http://ccache.samba.org/ftp/ccache/%{name}-%{version}.tar.gz
Source0: http://samba.org/ftp/ccache/%{name}-%{version}.tar.gz
Source1: %{name}.sh.in
Source2: %{name}.csh.in
Patch0: %{name}-html-links.patch
Patch1: %{name}-2.4-coverage-231462.patch
Patch2: %{name}-2.4-hardlink-doc.patch
Patch3: %{name}-2.4-noHOME-315441.patch
Patch4: http://patch-tracking.debian.net/patch/series/dl/ccache/2.4-17/06_md.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: perl(File::Spec)
@ -36,6 +38,8 @@ a 5 to 10 times speedup in common compilations.
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p1
sed -e 's|@LIBDIR@|%{_libdir}|g' -e 's|@CACHEDIR@|%{_var}/cache/ccache|g' \
%{SOURCE1} > %{name}.sh
sed -e 's|@LIBDIR@|%{_libdir}|g' -e 's|@CACHEDIR@|%{_var}/cache/ccache|g' \
@ -98,68 +102,96 @@ done
%changelog
* Sun Aug 19 2007 Ville Skyttä <ville.skytta at iki.fi> - 2.4-10
* Fri Jun 4 2010 Ville Skyttä <ville.skytta@iki.fi> - 2.4-18
- Don't use "pathmunge" in the profile.d sh script to work around #548960.
* Sat Dec 19 2009 Ville Skyttä <ville.skytta@iki.fi> - 2.4-17
- Minor profile.d script performance improvements.
- Fix hardcoded /var/cache/ccache in profile.d scripts.
* Mon Aug 10 2009 Ville Skyttä <ville.skytta@iki.fi> - 2.4-16
- Switch #438201 patch URL to Debian patch tracking (original is MIA).
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Wed Mar 19 2008 Ville Skyttä <ville.skytta@iki.fi> - 2.4-13
- Apply patch to fix path to saved dependency files (#438201).
* Sat Feb 9 2008 Ville Skyttä <ville.skytta@iki.fi> - 2.4-12
- Rebuild.
* Tue Oct 2 2007 Ville Skyttä <ville.skytta@iki.fi> - 2.4-11
- Apply upstream fix for problems when $HOME is not set (#315441).
* Wed Aug 22 2007 Ville Skyttä <ville.skytta@iki.fi>
- Fix URL to upstream tarball.
* Sun Aug 19 2007 Ville Skyttä <ville.skytta@iki.fi> - 2.4-10
- License: GPLv2+
- Make compiler symlinks relative.
- Make profile.d scripts noreplace.
* Mon Jul 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 2.4-9
* Mon Jul 30 2007 Ville Skyttä <ville.skytta@iki.fi> - 2.4-9
- Use shared cache dir for users in the ccache group by default
(#247760, based on Andy Shevchenko's work).
- Fix outdated hardlink info in cache sharing docs.
- Add auto-symlink support for avr-gcc(-c++) and arm-gp2x-linux-gcc(-c++).
- Make triggers always exit with a zero exit status.
* Thu Mar 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 2.4-8
* Thu Mar 15 2007 Ville Skyttä <ville.skytta@iki.fi> - 2.4-8
- Bypass cache with --coverage, -fprofile-arcs and -ftest-coverage
(upstream CVS and Matt Fago, #231462).
* Fri Nov 10 2006 Ville Skyttä <ville.skytta at iki.fi> - 2.4-7
* Fri Nov 10 2006 Ville Skyttä <ville.skytta@iki.fi> - 2.4-7
- Require coreutils for triggers (#215030).
* Wed Aug 9 2006 Ville Skyttä <ville.skytta at iki.fi> - 2.4-6
* Wed Aug 9 2006 Ville Skyttä <ville.skytta@iki.fi> - 2.4-6
- Add auto-symlink support for compat-gcc-34(-c++).
- Untabify, escape macros in changelog.
* Tue May 16 2006 Ville Skyttä <ville.skytta at iki.fi> - 2.4-5
* Tue May 16 2006 Ville Skyttä <ville.skytta@iki.fi> - 2.4-5
- Add auto-symlink support for g++-libstdc++-so_7.
* Sat Nov 26 2005 Ville Skyttä <ville.skytta at iki.fi> - 2.4-4
* Sat Nov 26 2005 Ville Skyttä <ville.skytta@iki.fi> - 2.4-4
- Drop "bin" from compiler symlink path.
- Make profile.d snippets non-executable (#35714).
* Sun May 1 2005 Ville Skyttä <ville.skytta at iki.fi> - 2.4-3
* Sun May 1 2005 Ville Skyttä <ville.skytta@iki.fi> - 2.4-3
- Auto-symlink update: add compat-gcc-32 and compat-gcc-32-c++, drop
bunch of no longer relevant compilers.
* Fri Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 2.4-2
- rebuilt
* Sun Sep 26 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.4-0.fdr.1
* Sun Sep 26 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:2.4-0.fdr.1
- Update to 2.4.
- Add symlinking support for gcc4 and gcc4-c++.
- Move the ccache executable to %%{_bindir}.
- Include more docs.
* Fri Jun 25 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.3-0.fdr.5
* Fri Jun 25 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:2.3-0.fdr.5
- Add support for gcc33 and g++33.
* Thu Jun 10 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.3-0.fdr.4
* Thu Jun 10 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:2.3-0.fdr.4
- Fix hardcoded lib path in profile.d scriptlets (bug 1558).
* Mon May 3 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.3-0.fdr.3
* Mon May 3 2004 Ville Skyttä <ville.skytta@iki.fi> - 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ä <ville.skytta at iki.fi> - 0:2.3-0.fdr.2
* Thu Nov 13 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:2.3-0.fdr.2
- Add overriding symlinks for gcc-ssa and g++-ssa (bug 963).
* Tue Nov 11 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.3-0.fdr.1
* Tue Nov 11 2003 Ville Skyttä <ville.skytta@iki.fi> - 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ä <ville.skytta at iki.fi> - 0:2.2-0.fdr.6
* Sat Aug 2 2003 Ville Skyttä <ville.skytta@iki.fi> - 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.