This dependency on alex and happy to boot ghc has been annoying, but wasn't that terrible until a while ago when some ghc versions needed happy <= 1.19.11 and others happy >= 1.19.12. If happy was part of ghc, this would not have been an issue. As such I'd be on board with adding happy *and* alex as submodules into the `utils` folder. And thereby reducing the external boot dependencies of ghc!
I believe - `compiler/ghc.cabal.in` would need to get a `build-tool-depends:` stanza for happy and alex, - `utils/genprimopcode/genprimopcode.cabal` same - `utils/hpc/hpc-bin.cabal` same for happy only. For `hadrian`, you'd need to make it aware of happy and alex packages in `hadrian/src/Packages.hs`. (Just follow other "util"s in there, e.g. unlit or touchy). In general hadrian should follow cabal dependencies properly. cheers, Moritz On Sun, Aug 2, 2020 at 3:43 PM Vladislav Zavialov <vladis...@serokell.io> wrote: > > Hi ghc-devs, > > I’m working on the unification of parsers for terms and types, and one of the > things I’d really like to make use of is a feature I implemented in ‘happy’ > in October 2019 (9 months ago): > > https://github.com/simonmar/happy/pull/153 > > It’s been merged upstream, but there has been no release of ‘happy’, despite > repeated requests: > > 1. I asked for a release in December: > https://github.com/simonmar/happy/issues/164 > 2. Ben asked for a release a month ago: > https://github.com/simonmar/happy/issues/168 > > I see two solutions here: > > a) Find a co-maintainer for ‘happy’ who could make releases more frequently > (I understand the current maintainers probably don’t have the time to do it). > b) Use a development snapshot of ‘happy’ in GHC > > Maybe we need to do both, but one reason I’d like to see (b) in particular > happen is that I can imagine introducing more features to ‘happy’ for use in > GHC, and it’d be nice not to wait for a release every time. For instance, > there are some changes I’d like to make to happy/alex in order to implement > #17750 > > So here are two questions I have: > > 1. Are there any objections to this idea? > 2. If not, could someone more familiar with the build process guide me as > to how this should be implemented? Do I add ‘happy’ as a submodule and change > something in the ./configure script, or is there more to it? Do I need to > modify make/hadrian, and if so, then how? > > Thanks, > - Vlad > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs