Build log verbosity changes

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Wed Oct 10 06:37:53 PDT 2012


I'm currently working on getting the build log verbosity to more 
consistent levels.

First of all, I have slightly redefined the existing log levels. Now we 
have:
* warn = default. This will be as quiet as reasonably possible. Warnings 
and errors will be printed, and progress information for slow steps.
* info = all in warn, plus slightly more verbosity. This gives more 
detailed information on how the build is progressing (often, on a 
per-file basis) and some high-level makefile information. If you're 
curious, or have a slow machine and want constant feedback, use LOG=info.
* debug = all in info, plus default make rule execution output. This is 
similar to the default style in the old build, and to what up until now 
was LOG=info. If you want to manually re-run a command line, this is 
what you need.
* trace = all in debug, plus additional makefile debug data. This is 
useful if you need to track down errors in the makefile, but not 
otherwise. Will produce loads of output.

In summary: If you previously used LOG=info to emulate old behaviour, 
you now need to to LOG=debug. (But check out LOG=info, it might just be 
good enough!)

The idea is that the default log level should be reasonably quiet, so 
that it's easier to spot warnings.

I have worked my way halfway through the build (up until the main class 
compilation in the jdk target) in putting output on the correct log 
level. From there on, it's still heavily verbose on the default level. 
I'll fix this shortly.

For those interested in debugging the new build system, I also added a 
nifty feature on the info level. The Setup-macros will now be printed 
with their named arguments evaluated, like this:
SetupJavaCompilation(BUILD_TOOLS)
  [2] SETUP:=BOOT_JAVAC
  [3] DISABLE_SJAVAC:=true
  [4] ADD_JAVAC_FLAGS:=-Xprefer:source
  [5] SRC:=/localhome/hg/build-infra-jdk8/langtools/make/tools 
/localhome/hg/build-infra-jdk8/langtools/src/share/classes
  [6] INCLUDES:=compileproperties genstubs
  [7] 
BIN:=/localhome/hg/build-infra-jdk8/build/linux-x86_64-normal-server-release/langtools/btclasses 

Compiling 2 files for BUILD_TOOLS

This will hopefully be helpful and instructive about what's really going 
on, on a higher level in the makefiles.

/Magnus



More information about the build-infra-dev mailing list