Hello,

Thanks for the comments. Here is a new version:
http://cr.openjdk.java.net/~erikj/8069261/webrev.02/

In addition to fixing the concerns below, I fixed the following:

* Added test-make to the all target so that it gets tested in JPRT. It takes close to no time to run.

* Added 1 second sleeps in the tests when running on macosx, since the filesystem on mac only has 1 second resolution. (WOW!)

* Changed WriteFile to use printf instead of echo since echo on Solaris interprets things like '\t', which messes up comparisons.

* Reworked how DependOnVariable is used in JavaCompilation.gmk. Instead of just blindly adding all input variables, I moved the definitions closer to the recipes, like in NativeCompilation.gmk. I think this is generally better, but the triggering reason was that too much unneeded stuff got into the vardep variable value and the command line got too long on Windows.

* For SetupArchive, I discovered that for vardeps changes, we have to force a full recreation of the jar to be sure those changes are really picked up. I also discovered that we currently didn't rebuild a jar if the manifest template file was changed. (I'm happy I had test-make tests for SetupArchive when fixing this.)

/Erik

On 2015-01-21 15:42, Magnus Ihse Bursie wrote:

Some minor comments.
The name standard of the new vardeps files seems a bit vague. :) I suggest the following:

* In JavaCompilation:
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$(dir $$($1_JAR))_the.$$($1_JARNAME)_vardeps)
Use .vardeps instead

* In MakeBase:
DependOnVariableFileName = \
    $(strip $(if $(strip $2), $2, \
$(MAKESUPPORT_OUTPUTDIR)/vardeps/$(DependOnVariableDirName)/$(strip $1).value))
Use .vardeps instead

* Also, in Tools.gmk the additions:
    CFLAGS_windows := -nologo, \
seems to have crept in by mistake.

* In NativeCompilation, the line:
 $$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE)
is mis-indented

* Perhaps you can add some comment clarifying that $1_COMPILE_VARDEPS contains exactly the variables that add_native_source depend on,
and that $1_COMPILE_VARDEPS_FILE is used by add_native_source?

Otherwise, it looks all very good!

/Magnus

Reply via email to