34 // recorded if the platform file was seen. |
34 // recorded if the platform file was seen. |
35 private FileList platformFiles; |
35 private FileList platformFiles; |
36 private FileList outerFiles; |
36 private FileList outerFiles; |
37 private FileList indivIncludes; |
37 private FileList indivIncludes; |
38 private FileList grandInclude; // the results for the grand include file |
38 private FileList grandInclude; // the results for the grand include file |
|
39 private HashMap<String,String> platformDepFiles; |
39 private long threshold; |
40 private long threshold; |
40 private int nOuterFiles; |
41 private int nOuterFiles; |
41 private int nPrecompiledFiles; |
42 private int nPrecompiledFiles; |
42 private boolean missingOk; |
43 private boolean missingOk; |
43 private Platform plat; |
44 private Platform plat; |
55 allFiles = new FileList("allFiles", plat); |
56 allFiles = new FileList("allFiles", plat); |
56 platformFiles = new FileList("platformFiles", plat); |
57 platformFiles = new FileList("platformFiles", plat); |
57 outerFiles = new FileList("outerFiles", plat); |
58 outerFiles = new FileList("outerFiles", plat); |
58 indivIncludes = new FileList("IndivIncludes", plat); |
59 indivIncludes = new FileList("IndivIncludes", plat); |
59 grandInclude = new FileList(plat.getGIFileTemplate().nameOfList(), plat); |
60 grandInclude = new FileList(plat.getGIFileTemplate().nameOfList(), plat); |
|
61 platformDepFiles = new HashMap<String,String>(); |
60 |
62 |
61 threshold = t; |
63 threshold = t; |
62 nOuterFiles = 0; |
64 nOuterFiles = 0; |
63 nPrecompiledFiles = 0; |
65 nPrecompiledFiles = 0; |
64 missingOk = false; |
66 missingOk = false; |
207 } |
209 } |
208 |
210 |
209 FileList p = allFiles.listForFile(includer); |
211 FileList p = allFiles.listForFile(includer); |
210 p.setPlatformDependentInclude(pdName.dirPreStemSuff()); |
212 p.setPlatformDependentInclude(pdName.dirPreStemSuff()); |
211 |
213 |
|
214 // Record the implicit include of this file so that the |
|
215 // dependencies for precompiled headers can mention it. |
|
216 platformDepFiles.put(newIncluder, includer); |
|
217 |
212 // Add an implicit dependency on platform |
218 // Add an implicit dependency on platform |
213 // specific file for the generic file |
219 // specific file for the generic file |
214 |
220 |
215 p = platformFiles.listForFile(newIncluder); |
221 p = platformFiles.listForFile(newIncluder); |
216 |
222 |
406 // write Precompiled_Files = ... |
412 // write Precompiled_Files = ... |
407 gd.println("Precompiled_Files = \\"); |
413 gd.println("Precompiled_Files = \\"); |
408 for (Iterator iter = grandInclude.iterator(); iter.hasNext(); ) { |
414 for (Iterator iter = grandInclude.iterator(); iter.hasNext(); ) { |
409 FileList list = (FileList) iter.next(); |
415 FileList list = (FileList) iter.next(); |
410 gd.println(list.getName() + " \\"); |
416 gd.println(list.getName() + " \\"); |
|
417 String platformDep = platformDepFiles.get(list.getName()); |
|
418 if (platformDep != null) { |
|
419 // make sure changes to the platform dependent file will |
|
420 // cause regeneration of the pch file. |
|
421 gd.println(platformDep + " \\"); |
|
422 } |
411 } |
423 } |
412 gd.println(); |
424 gd.println(); |
413 gd.println(); |
425 gd.println(); |
414 } |
426 } |
415 |
427 |