Bootstrapping & lts

Liran Zvibel via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Tue Mar 1 00:22:56 PST 2016


> On 1 Mar 2016, at 09:57, David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc at puremagic.com> wrote:
> I don't think tying them to LDC releases necessarily makes a lot of sense. I'd probably go for simply releasing a new 0.17.x point release every time a certain group of portability issues, etc. has been fixed.
> 
> — David
After you’ve added static linking to 0.17 the easiest way IMHO is to keep a single statically linked 0.17 binary that fits all Linux distros and Mac OS versions (one for platform. there may also be something to do for Windows).
Then update the link to the platform_binary each time the DDMD frontend code requires new language features that are not supported by the previous statically linked ltsmaster.

This way a simple build for a new user is going to be quick and easy, and it will also reduce the amount of required support for it from the LDC maintainers POV.

As a side note — Thinking about back-portability issues, and how easy/painful it may be to support future DDMD language feature on the (then aging 2.068.2 based 0.17), assuming DDMD will go through some refactoring, what could make sense is to also keep an lts2 branch that is ddmd based but does not require new language features that 0.17 cannot support. Then have thew new features added to the ddmd based release, and keep that binary statically linked and available to everyone.
This is just something to keep in mind. I don’t think it should be done/decided now, but on the next MAJOR language feature that is going to be time consuming to back port to 0.17.
This will allow a “trampoline” approach to start with no D compiler at all to a compiler based on D using more steps, but in reality these extra steps will not have to be actually taken as usually people will just start with the current statically compiled “base” to build the required trampoline step and then active master.


Liran


More information about the digitalmars-d-ldc mailing list