RFR: JDK-8011687: Support correct dependencies from header files on windows and solaris
Tim Bell
tim.bell at oracle.com
Tue Apr 9 18:38:23 UTC 2013
Erik:
> 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/
common/makefiles/NativeCompilation.gmk has a minor typo ('and and'):
108 # setting -showIncludes, all included files are printed.
These are filtered out and
109 # and parsed into make dependences.
Otherwise looks good. Approved!
Tim
More information about the build-dev
mailing list