Mercurial > hg > graal-jvmci-8
changeset 213:8b48a7bd2bf7
6697238: missing dependencies for precompiled headers with platform dependent includes
Reviewed-by: kvn
author | never |
---|---|
date | Thu, 12 Jun 2008 16:13:01 -0700 |
parents | 99bf1609e2a5 |
children | ffcffaaeb97b |
files | src/share/tools/MakeDeps/Database.java |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/tools/MakeDeps/Database.java Thu Jun 12 09:47:55 2008 -0700 +++ b/src/share/tools/MakeDeps/Database.java Thu Jun 12 16:13:01 2008 -0700 @@ -36,6 +36,7 @@ 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; @@ -57,6 +58,7 @@ 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; @@ -209,6 +211,10 @@ 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 @@ -408,6 +414,12 @@ 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();