www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 12048] New: [LDC]: Add auto-build script for easier barrier to entry for new compiler devs


           Summary: [LDC]: 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:23 PST ---
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:

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