January 31, 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12049

           Summary: [GDC]: Add auto-build script for easier barrier to
                    entry for new compiler devs
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: andrej.mitrovich@gmail.com


--- Comment #0 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2014-01-31 09:39:46 PST ---
See: http://forum.dlang.org/thread/jzrkxjpnwwiywrjwgrkn@forum.dlang.org?page=2#post-lcglob:24h9l:241:40digitalmars.com

Even though there might be bugs that can easily be fixed by novice compiler developers, the actual first step of building the compiler could be difficult, as numerous instructions have to be manually followed. And since the instructions are on a wiki page, the instructions could easily become out of date. Having the instructions be part of a script rather than a wiki means they can also be frequently tested, and complicated instructions (such as "use only version 1.x of tool A if you're using version 2.x of tool B) become runtime checks in the script rather than becoming awful-to-track diagnostics in some later part of a failed build process.

Such a script should take care of at least the following things:

- Grab all dependencies => And possibly avoid re-downloading dependencies if
the user already went through this step
- Provide a sensible default of most configuration options => the script should
be able to be run with as little amount of arguments as possible
- Build the compiler for the current platform

In other words, a new compiler dev would simply invoke the script, and regardless of how much time it takes to actually build the compiler the dev could in the meantime work on some other task (multitask).

This is significantly different to manually building, as in manual builds you have to be aware of every step you make and you typically have to wait for the terminal to unlock and let you enter each step manually.

An example of such a script is the MinGW-builds project: https://github.com/niXman/mingw-builds

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------