Hadrian UX request: print input and output files on different lines
Having temporarily slid back to using make
due to #20498 (closed), I realized how much I missed the very clean output from make
with V=0
in build.mk.
Here's make
:
HC [stage 0] compiler/stage1/build/GHC/Tc/Utils/Env.o
HC [stage 0] compiler/stage1/build/GHC/Rename/Fixity.o
HC [stage 0] compiler/stage1/build/GHC/Linker/Loader.o
HC [stage 0] compiler/stage1/build/GHC/Iface/Recomp.o
HC [stage 0] compiler/stage1/build/GHC/IfaceToCore.o
HC [stage 0] compiler/stage1/build/GHC/Rename/Utils.o
HC [stage 0] compiler/stage1/build/GHC/Tc/Utils/Zonk.o
Here's Hadrian:
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/TyCl.hs => _build/stage1/compiler/bu
ild/GHC/Tc/TyCl.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/Gen/Head.hs => _build/stage1/compile
r/build/GHC/Tc/Gen/Head.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/TyCl/Instance.hs => _build/stage1/co
mpiler/build/GHC/Tc/TyCl/Instance.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/Gen/Rule.hs => _build/stage1/compile
r/build/GHC/Tc/Gen/Rule.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/Module.hs => _build/stage1/compiler/
build/GHC/Tc/Module.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/Gen/Splice.hs => _build/stage1/compi
ler/build/GHC/Tc/Gen/Splice.o
| Run Ghc CompileHs Stage1: compiler/GHC/Runtime/Eval.hs => _build/stage1/compil
er/build/GHC/Runtime/Eval.o
I have manually wrapped the Hadrian output as it appears on my 80-char wide terminal window. (Maybe I'm the only person still using 80-char-wide terminals? But I doubt it.)
The location information of the source files is marginally useful. ("marginally": most of the time it can easily be deduced from the location of the output; "useful": sometimes -- e.g. the parser -- it can't be). But can the output and input files be printed on different lines? Then the likelihood of everything fitting in 80 characters is much increased. For example:
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/TyCl.hs
=> _build/stage1/compiler/build/GHC/Tc/TyCl.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/Gen/Head.hs
=> _build/stage1/compiler/build/GHC/Tc/Gen/Head.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/TyCl/Instance.hs
=> _build/stage1/compiler/build/GHC/Tc/TyCl/Instance.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/Gen/Rule.hs
=> _build/stage1/compiler/build/GHC/Tc/Gen/Rule.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/Module.hs
=> _build/stage1/compiler/build/GHC/Tc/Module.o
| Run Ghc CompileHs Stage1: compiler/GHC/Tc/Gen/Splice.hs
=> _build/stage1/compiler/build/GHC/Tc/Gen/Splice.o
| Run Ghc CompileHs Stage1: compiler/GHC/Runtime/Eval.hs
=> _build/stage1/compiler/build/GHC/Runtime/Eval.o
Note that I have cleverly indented the second line by 5 spaces so that the filenames match up vertically. This won't always work, but when it does, it's nice.
Thanks, Hadrian folks!