hotspot/src/share/tools/MakeDeps/Database.java

Print this page
rev 611 : Merge

*** 34,43 **** --- 34,44 ---- // recorded if the platform file was seen. private FileList platformFiles; private FileList outerFiles; private FileList indivIncludes; private FileList grandInclude; // the results for the grand include file + private HashMap<String,String> platformDepFiles; private long threshold; private int nOuterFiles; private int nPrecompiledFiles; private boolean missingOk; private Platform plat;
*** 55,64 **** --- 56,66 ---- allFiles = new FileList("allFiles", plat); platformFiles = new FileList("platformFiles", plat); outerFiles = new FileList("outerFiles", plat); indivIncludes = new FileList("IndivIncludes", plat); grandInclude = new FileList(plat.getGIFileTemplate().nameOfList(), plat); + platformDepFiles = new HashMap<String,String>(); threshold = t; nOuterFiles = 0; nPrecompiledFiles = 0; missingOk = false;
*** 207,216 **** --- 209,222 ---- } FileList p = allFiles.listForFile(includer); p.setPlatformDependentInclude(pdName.dirPreStemSuff()); + // Record the implicit include of this file so that the + // dependencies for precompiled headers can mention it. + platformDepFiles.put(newIncluder, includer); + // Add an implicit dependency on platform // specific file for the generic file p = platformFiles.listForFile(newIncluder);
*** 406,415 **** --- 412,427 ---- // write Precompiled_Files = ... gd.println("Precompiled_Files = \\"); for (Iterator iter = grandInclude.iterator(); iter.hasNext(); ) { FileList list = (FileList) iter.next(); gd.println(list.getName() + " \\"); + String platformDep = platformDepFiles.get(list.getName()); + if (platformDep != null) { + // make sure changes to the platform dependent file will + // cause regeneration of the pch file. + gd.println(platformDep + " \\"); + } } gd.println(); gd.println(); }