@@ -166,6 +166,10 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile string, debugLevel
166
166
objectFile = filepath .Clean (objectFile )
167
167
dependencyFile = filepath .Clean (dependencyFile )
168
168
169
+ if debugLevel >= 20 {
170
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "Checking previous results for {0} (result = {1}, dep = {2})" , sourceFile , objectFile , dependencyFile );
171
+ }
172
+
169
173
sourceFileStat , err := os .Stat (sourceFile )
170
174
if err != nil {
171
175
return false , i18n .WrapError (err )
@@ -174,6 +178,9 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile string, debugLevel
174
178
objectFileStat , err := os .Stat (objectFile )
175
179
if err != nil {
176
180
if os .IsNotExist (err ) {
181
+ if debugLevel >= 20 {
182
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "Not found: {0}" , objectFile );
183
+ }
177
184
return false , nil
178
185
} else {
179
186
return false , i18n .WrapError (err )
@@ -183,16 +190,25 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile string, debugLevel
183
190
dependencyFileStat , err := os .Stat (dependencyFile )
184
191
if err != nil {
185
192
if os .IsNotExist (err ) {
193
+ if debugLevel >= 20 {
194
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "Not found: {0}" , dependencyFile );
195
+ }
186
196
return false , nil
187
197
} else {
188
198
return false , i18n .WrapError (err )
189
199
}
190
200
}
191
201
192
202
if sourceFileStat .ModTime ().After (objectFileStat .ModTime ()) {
203
+ if debugLevel >= 20 {
204
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "{0} newer than {1}" , sourceFile , objectFile );
205
+ }
193
206
return false , nil
194
207
}
195
208
if sourceFileStat .ModTime ().After (dependencyFileStat .ModTime ()) {
209
+ if debugLevel >= 20 {
210
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "{0} newer than {1}" , sourceFile , dependencyFile );
211
+ }
196
212
return false , nil
197
213
}
198
214
@@ -212,10 +228,16 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile string, debugLevel
212
228
213
229
firstRow := rows [0 ]
214
230
if ! strings .HasSuffix (firstRow , ":" ) {
231
+ if debugLevel >= 20 {
232
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "No colon in first line of depfile" );
233
+ }
215
234
return false , nil
216
235
}
217
236
objFileInDepFile := firstRow [:len (firstRow )- 1 ]
218
237
if objFileInDepFile != objectFile {
238
+ if debugLevel >= 20 {
239
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "Depfile is about different file: {0}" , objFileInDepFile );
240
+ }
219
241
return false , nil
220
242
}
221
243
@@ -225,12 +247,22 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile string, debugLevel
225
247
if err != nil && ! os .IsNotExist (err ) {
226
248
// There is probably a parsing error of the dep file
227
249
// Ignore the error and trigger a full rebuild anyway
250
+ if debugLevel >= 20 {
251
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "Failed to read: {0}" , row )
252
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , i18n .WrapError (err ).Error ())
253
+ }
228
254
return false , nil
229
255
}
230
256
if os .IsNotExist (err ) {
257
+ if debugLevel >= 20 {
258
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "Not found: {0}" , row )
259
+ }
231
260
return false , nil
232
261
}
233
262
if depStat .ModTime ().After (objectFileStat .ModTime ()) {
263
+ if debugLevel >= 20 {
264
+ logger .Fprintln (os .Stdout , constants .LOG_LEVEL_DEBUG , "{0} newer than {1}" , row , objectFile );
265
+ }
234
266
return false , nil
235
267
}
236
268
}
0 commit comments