<div dir="ltr">My understanding of this backwards compat logic is that it's only there to allow you to do stuff like:<br>build with hadrian, and then continue using make with the artifacts (partially) built by hadrian.  I think<div>this is a horrible idea in and onto itself, even if I can somewhat see the appeal as a gateway drug; in</div><div>which you'd slowly have hadrian take over parts that make used to do, and use make for the stuff that</div><div>doesn't work (yet) in hadrian.</div><div><br></div><div>However, I don't think the benefit of constraining hadrian to work in the make framework makes much</div><div>sense. We should be permitted to explore new (and better) solutions, that do not align with how the</div><div>make based build system did things if it allows for a less complex build system or faster builds or ...</div><div><br></div><div>Cheers,</div><div> Moritz</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 10, 2021 at 9:28 PM Richard Eisenberg <<a href="mailto:rae@richarde.dev">rae@richarde.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This sounds very reasonable on the surface, but I don't understand the consequences of this proposal. What are these consequences? Will this break `make`? (It sounds like it won't, given that the change is to Hadrian.) Does this mean horrible things will happen if I use `make` and `hadrian` in the same tree? (I have never done this, other than with hadrian/ghci, which seems to have its own working directory.) Basically: for someone who uses the build system but does not work on it, how does this affect me? (Maybe not at all!)<br>
<br>
I would explicitly like to endorse the direction of travel toward Hadrian and away from `make`.<br>
<br>
Richard<br>
<br>
> On Feb 10, 2021, at 8:05 AM, Moritz Angermann <<a href="mailto:moritz.angermann@gmail.com" target="_blank">moritz.angermann@gmail.com</a>> wrote:<br>
> <br>
> Hi,<br>
> <br>
> so we've finally run into a case where we need to bump the rts version.  This has a great ripple effect.  There is some implicit assumption that rts-1.0 will always be true. Of course that was a lie, but a lie we lived with for a long time.<br>
> <br>
> Now, hadrian tries *really* hard to replicate some of the Make based build systems idiosyncrasies, this includes creating versionless symlinks for the rts. E.g. libHSrts<X> -> libHSrts-1.0<X>. There is a great deal of logic just to achieve this, and of course it all crumbles now.<br>
> <br>
> I'd therefore like to float and propose the idea that we agree to *not* bother (too?) much with make based build systems backwards compatibility and warts that grew over the years in the make based build system with hadrian going forward.<br>
> <br>
> Yes, I can probably fix this, and add even more code to this burning pile of complexity, but why?  The next person will assume libHSrts does not need to be versioned and continue with this mess.<br>
> <br>
> Let's have Hadrian be a clean cut in some areas (it already is, it does away with the horrible abomination that ghc-cabal is--which only serves the purpose of translating cabal descriptions into make readable files), and not be bogged down by backwards compatibility.<br>
> <br>
> This is thus my call for voicing concern or the upkeep of legacy support, or I'll take silence as the collective support of making hadrian *not* be held back by backwards compatibility. (This would mean in this case, that I'd just delete the backwards compat code instead of adding even more to it).<br>
> <br>
> I hope we all still want Hadrian to replace Make, if not and we want to keep Make, why are we concerning ourselves with Hadrian in the first place. If we are intending to ditch Make, let's not be held back by it.<br>
> <br>
> Cheers,<br>
>  Moritz<br>
> _______________________________________________<br>
> ghc-devs mailing list<br>
> <a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
<br>
</blockquote></div>