RFR: JDK-8011687: Support correct dependencies from header files on windows and solaris

Erik Joelsson erik.joelsson at oracle.com
Tue Apr 9 15:05:00 UTC 2013


This patch adds workarounds for the way make dependencies are generated 
in the Solaris and Windows compilers. What this means is that if you 
touch a header file, the relevant c files will be recompiled as expected.

On Solaris, there is support for generating make dependencies, and it 
was used, but the object file is printed with just the filename and no 
directory. This works if the makefile is executing in the same directory 
as the object file is put in, but this isn't the case in the new jdk 
build. A simple sed expression fixes this.

On Windows it's more complicated. Two possible solutions were available, 
-showIncludes parameter to the compiler and the utility makedepends. 
Having experimented with both, I found the first alternative easiest to 
get working all the way with a smaller impact on makefile complexity. 
The parameter -showIncludes prints messages about all included files on 
stdout (contrary to the documentation) which are then filtered out to a 
file and parsed to create a makefile.

http://cr.openjdk.java.net/~erikj/8011687/webrev.01/

/Erik



More information about the build-dev mailing list