Maybe I'm just lazy, but would it be possible to shorten these? Specifically, could there be a root-level file `build` that triggers Hadrian? That way, I could just say ./build instead of hadrian/build.sh.
Actually, even that isn't quite right. It is common, for example, for me to be deep in the testsuite, trying to fix a test. I twiddle something (say, the output file), and then I want to rerun the test. But now I have to go back out to the root of my tree to run the test, no? So: I think it would be very convenient to make a script we can all install (in our PATH) that will search for hadrian's build.sh and run it. Then, we can just say `build` (or whatever we name the script) anywhere in a tree. Of course, I could just do this locally, but I doubt I'm the only one who would enjoy it. Also, I just had a look at https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/doc/testsuite.md, and I don't see a way to run just one directory of the testsuite. I use that ability currently quite often (because I know that I've mucked with the typechecker, so I just run the typecheck tests before doing full CI). Is this possible? Thanks for all the work on this! Richard > On Jan 25, 2019, at 3:22 AM, Matthew Pickering <[email protected]> > wrote: > > `make 2` should be somewhat equivalent to `./hadrian/build.sh > _build/stage1/bin/ghc` I think. > > The problem is with the devel2 flavour itself. Tracked by > https://ghc.haskell.org/trac/ghc/ticket/16210 > > The `hadrian/build.sh` script uses `cabal new-build` so the > dependencies should be shared already when possible. > > Cheers, > > Matt > > On Fri, Jan 25, 2019 at 4:07 AM Richard Eisenberg <[email protected]> > wrote: >> >> In the "devel2" flavor, I also seem to have built Haddock. `make` didn't do >> this with devel2, and I'd prefer Hadrian didn't, too. >> >> Maybe I'm not really on the devel2 flavor? >> >>> On Jan 24, 2019, at 11:02 PM, Richard Eisenberg <[email protected]> >>> wrote: >>> >>> As suggested, I'm trying out Hadrian. I have a few questions. >>> >>> - After building GHC the first time, I often go into the /ghc directory and >>> then do `make 2` to build just the stage-2 compiler. Is that now the same >>> as `build --freeze1`? It would seem not (I haven't tested), because running >>> `make 2` builds only the compiler, not the libraries. Can this workflow be >>> replicated in Hadrian? >>> >>> - I have `userDefaultFlavour = "devel2"` in my hadrian/UserSettings.hs >>> file. But I see build artifacts during compilation of stage-2 that have >>> dyn_o and p_o extensions. I don't want these. Have I done something wrong? >>> Or are these artifacts now necessary? >>> >>> - I have quite a few ghc directories. What are the dependencies of Hadrian >>> so that I can install these into my global package database and avoiding >>> rebuilding them for each ghc tree? (Please don't tell me that the global >>> package database is bad for my health. I know that, and I know why, but >>> it's still terribly convenient, and I'm happy to pay the occasional price >>> for that convenience.) >>> >>> I'm sure I'll have more questions. >>> >>> Thanks! >>> Richard >>> _______________________________________________ >>> ghc-devs mailing list >>> [email protected] >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> >> _______________________________________________ >> ghc-devs mailing list >> [email protected] >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
