Is run.d going to be expand for runtime and the phobos library?
Petar
Petar
Sat Jun 13 08:58:56 UTC 2020
On Friday, 12 June 2020 at 07:38:22 UTC, Bastiaan Veelo wrote:
> On Friday, 12 June 2020 at 00:24:41 UTC, 12345swordy wrote:
>> Quite curious that I never see any attempt on it what so ever.
>
> You leave me guessing what run.d is, and so I have no idea what
> you are curious about.
>
> — Bastiaan.
(This is a message from a day ago that I forgot to send earlier.)
TL;DR
See the Readme file here:
https://github.com/dlang/dmd/tree/v2.092.1/test and run.d itself:
https://github.com/dlang/dmd/blob/v2.092.1/test/run.d.
Also you can check:
https://github.com/dlang/dmd/blob/v2.092.1/src/build.d
---
The basic idea is that we're replacing the ugly makefile mess
with a build and test system written in pure D. The advantages
going for a pure D solution are numerous:
- Developers and package maintainers need less external
dependencies to build and test the code
- There are several Make(1) implementations (e.g. GNUmake,
BSDmake, DMmake [1]) each with different feature sets and
limitations. This was especially a problem on Windows, as DMmake
has much more limited feature set then GNUmake, which prevented
us from having a single cross-platform Makefile and instead we
had to maintain posix.mak, win32.mak and win64.mak
- AFAIK, installing a GNUmake on Windows involves installing a
whole Posix emulation/compatibility environment like cygwin, msys
or msys2, which brings it's own rats nest of problems
- Even if Make is not a problem, it is still dependent on Posix
compatible shell, so that's one more variable in the equation
- By implementing the full build system in D we have much more
flexibility and it's easier to troubleshoot problems. Also we can
implement features which are unlikely to ever become part of
make, but would be useful for us.
- For example, it's we can tune the scheduling of the test runner
relatively easily, while with Make we he no control over that
(it's just doing topological sorting, without any semantic
understanding of what each target represents).
- And quite a few other benefits...
[1]: https://digitalmars.com/ctg/make.html
More information about the Digitalmars-d
mailing list