RFR: JDK-8151300: Build shell trace functionality lost in JDK-8076060
Tim Bell
tim.bell at oracle.com
Fri Mar 4 19:38:56 UTC 2016
Hi Erik:
> When running the build with LOG=trace, we (used to) have a neat
> feature that would print which prerequisites triggered each rule to
> run. This functionality was lost with JDK-8076060 where the SHELL
> variable setting this up was changed to be assigned using ':=' instead
> of ':'. I cannot see any reason this was done for this particular
> variable so assuming it was a mistake while changing other variables
> in the same file. Removing the ':' for SHELL fixes LOG=trace.
>
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8151300
> diff -r 83fe2455dcc1 make/common/MakeBase.gmk
> --- a/make/common/MakeBase.gmk
> +++ b/make/common/MakeBase.gmk
> @@ -282,7 +282,7 @@
> # Default shell seems to always be /bin/sh. Must override with
> bash to get this to work on Solaris.
> # Only use time if it's GNU time which supports format and output
> file.
> WRAPPER_SHELL := $$(BASH) $$(SRC_ROOT)/common/bin/shell-tracer.sh
> $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-)
> $$(OUTPUT_ROOT)/build-trace-time.log $$(SHELL)
> - SHELL := $$(warning $$(if $$@,Building $$@,Running shell command)
> $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if
> $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files])
> newer)))$$(WRAPPER_SHELL)
> + SHELL = $$(warning $$(if $$@,Building $$@,Running shell command)
> $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if
> $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files])
> newer)))$$(WRAPPER_SHELL)
> endif
> # The warn level can never be turned off
> LogWarn = $$(info $$(strip $$1))
Looks good to me.
Tim
More information about the build-dev
mailing list