build system
Reid Barton
rwbarton at gmail.com
Tue Jul 21 21:16:23 UTC 2015
On Tue, Jul 21, 2015 at 4:21 PM, Simon Peyton Jones <simonpj at microsoft.com>
wrote:
> Friends
>
> With the new build system I get this kind of output
>
> HC [stage 1] compiler/stage2/build/SPARC/AddrMode.o
>
> HC [stage 1] compiler/stage2/build/CmmContFlowOpt.o
>
> HC [stage 1] compiler/stage2/build/CmmImplementSwitchPlans.o
>
> AR
> libraries/Cabal/Cabal/dist-install/build/libHSCabal-1.23.0.0-752LrSyTT7YLYxOzpNXfM5.a
>
> C:\fp\HP-2014-2.0.0.0\mingw\bin\ar.exe: creating
> libraries/Cabal/Cabal/dist-install/build/libHSCabal-1.23.0.0-752LrSyTT7YLYxOzpNXfM5.a
>
> LD
> libraries/Cabal/Cabal/dist-install/build/HSCabal-1.23.0.0-752LrSyTT7YLYxOzpNXfM5.o
>
> HC [stage 1] utils/ghc-cabal/dist-install/build/Main.o
>
> *WARNING*: file compiler\specialise\Specialise.hs, line 724
>
I assume this is when you run validate?
> But I have no idea which module caused the WARNING, nor do I have a
> command-line to copy/paste to reproduce it. (With the old module-at-a-time
> system I could copy/paste the command line for the specific module.)
>
> Is there a way to
>
> · make things sequential so I can tell which warnings from which
> module
>
make -j1, which is make's default, but validate invokes make with -j2 or
higher (depending on how many CPUs it thinks your system has).
> · get a command line to copy/paste to compile that module?
>
validate sets the GHC build system variable V=0 in mk/are-validating.mk.
You can override it from the make command line with make V=1.
So, you can run "make V=1" to restart the build serially and with the
command to build each file displayed. Note that serial make may build
modules in a different order than parallel make, so it may take a while for
make to get around to building the module that failed.
Regards,
Reid Barton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20150721/566c193e/attachment.html>
More information about the ghc-devs
mailing list