Hadrian
Alp Mestanogullari
alp at well-typed.com
Wed Jan 9 11:10:17 UTC 2019
Hello,
A quick note about that 'make.md' document: it's meant as a quick
reference/cheatsheet (hence the _very_ lightweight format) for people
familiar with the make build system. Hadrian's README [1] is a better
place to start from in general and in fact answers or points to
documents that answer some of your questions. I would perhaps recommend
that you (and others) wander through that document and any other doc
that seems relevant to your interests/workflow (e.g testsuite.md,
user-settings.md in your case)
Hadrian is however currently lacking some knobs that are needed to
support some of the things you're asking about. None of this implies a
lot of work and they're all on my TODO. I will certainly make sure to
post an update once this is taken care of, in addition to augmenting the
relevant documents of course. For instance, we don't have a 'validate'
rule at the moment, but we've now got all the pieces we need to write it.
Once I get around to adding those knobs, I'll make sure that all your
questions are answered in the documentation.
Thanks for your initial feedback on this document!
[1] https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/README.md
On 08/01/2019 17:29, Simon Peyton Jones wrote:
>
> Alp
>
> You’ve written a helpful wiki page describing how to use Hadrian
>
> https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/doc/make.md
>
> Could you document where build-products live? I often look at .hi files.
>
> Could you add
>
> * How to do the equivalent of “sh validate”
> * When validating, how to do things like this:
>
> GhcStage1HcOpts += -DDEBUG -O
>
> GhcStage2HcOpts += -Wwarn -ticky
>
> GhcLibHcOpts += -ticky -Wwarn
>
> BUILD_PROF_LIBS = NO
>
> SplitObjs = YES
>
> HADDOCK_DOCS = NO
>
> BUILD_SPHINX_HTML = NO
>
> BUILD_SPHINX_PDF = NO
>
> * After modifying the source code, how to make stage1 compiler
> (only). In ‘make’ it is
>
> $ cd compiler; make 1
>
> * After modifying the source code, build the stage2 compiler
> (only). In ‘make’ it is
>
> $ cd compiler; make 2
>
> Perhaps you say build –freeze1?
>
> * In the testsuite, how to use the stage1 compiler
>
> $ make stage=1 TEST=T2543
>
> * In nofib, how to build one benchmark, with extra flags, perhaps
> even with the stage1 compiler
>
> $ make stage=1 EXTRA_HC_OPTS=”-ticky -ddump-simpl -ddump-stg”
>
> Thanks!
>
> Simon
>
--
Alp Mestanogullari, Haskell Consultant
Well-Typed LLP, https://www.well-typed.com/
Registered in England and Wales, OC335890
118 Wymering Mansions, Wymering Road, London, W9 2NF, England
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20190109/4f38f5aa/attachment.html>
More information about the ghc-devs
mailing list