summaryrefslogtreecommitdiff
blob: 30aff6b8fb8aa6b92b51baaae47ac0ac54fa5950 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
utime(...,NULL) in some cases may cause truncation of sub-second portions of
timestamps. If utimes(...,NULL) is available, use it instead to avoid this
problem.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>

diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/ccache.c ccache-2.4/ccache.c
--- ccache-2.4.orig/ccache.c	2004-09-13 03:38:30.000000000 -0700
+++ ccache-2.4/ccache.c	2006-06-09 16:29:16.695117780 -0700
@@ -481,7 +481,11 @@
 		return;
 	}
 
+#ifdef HAVE_UTIMES
+	utimes(stderr_file, NULL);
+#else
 	utime(stderr_file, NULL);
+#endif
 
 	if (strcmp(output_file, "/dev/null") == 0) {
 		ret = 0;
@@ -515,7 +519,11 @@
 	}
 	if (ret == 0) {
 		/* update the mtime on the file so that make doesn't get confused */
+#ifdef HAVE_UTIMES
+		utimes(output_file, NULL);
+#else
 		utime(output_file, NULL);
+#endif
 	}
 
 	/* get rid of the intermediate preprocessor file */
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/ccache.h ccache-2.4/ccache.h
--- ccache-2.4.orig/ccache.h	2004-09-13 03:38:30.000000000 -0700
+++ ccache-2.4/ccache.h	2006-06-09 16:28:16.601658626 -0700
@@ -22,6 +22,9 @@
 #ifdef HAVE_PWD_H
 #include <pwd.h>
 #endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
 
 #define STATUS_NOTFOUND 3
 #define STATUS_FATAL 4
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/config.h.in ccache-2.4/config.h.in
--- ccache-2.4.orig/config.h.in	2003-09-27 21:48:17.000000000 -0700
+++ ccache-2.4/config.h.in	2006-06-09 16:25:43.000000000 -0700
@@ -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
 
@@ -60,6 +66,9 @@
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
 /* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H
 
@@ -69,6 +78,9 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the `utimes' function. */
+#undef HAVE_UTIMES
+
 /* Define to 1 if you have the `vasprintf' function. */
 #undef HAVE_VASPRINTF
 
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/configure.in ccache-2.4/configure.in
--- ccache-2.4.orig/configure.in	2004-09-13 03:38:30.000000000 -0700
+++ ccache-2.4/configure.in	2006-06-09 16:25:15.541288184 -0700
@@ -27,10 +27,11 @@
 AC_HEADER_TIME
 AC_HEADER_SYS_WAIT
 
-AC_CHECK_HEADERS(ctype.h strings.h stdlib.h string.h pwd.h)
+AC_CHECK_HEADERS(ctype.h strings.h stdlib.h string.h pwd.h sys/time.h)
 
 AC_CHECK_FUNCS(realpath snprintf vsnprintf vasprintf asprintf mkstemp)
 AC_CHECK_FUNCS(gethostname getpwuid)
+AC_CHECK_FUNCS(utimes)
 
 AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [
     AC_TRY_COMPILE(