Moving druntime into the DMD repository
Seb
seb at wilzba.ch
Fri Jul 27 11:03:50 UTC 2018
This a thread to explore whether it would be feasible to do so.
Motivation
----------
DRuntime and DMD heavily depend on each other.
It happens very often that a PR needs to touch both and then a
complicated three-step (or sometimes four-step PR series) needs
to be done to keep the CIs happy.
Moreover, as the whole testsuite is at dmd, it happens more often
that an error is caught in the testsuite, but would require a
druntime PR or the opposite you make a PR to druntime and want
its accompanying test to be checked by the CI.
How would this happen?
----------------------
A potential migration could look like this:
- lock druntime (e.g. only allowing admins to merge)
- move source code to dmd (of course with the git history, see
e.g. [1])
- update the druntime/posix.mak build script to forward to the
new source location
- update other dlang Makefiles
- remove everything else from druntime (optional check for the
Makefile update step)
- update CIs and build scripts (more on this below)
[1] https://stackoverflow.com/a/10548919/3026245
What would need to be updated?
-----------------------------
- Makefiles for DMD, Druntime, Phobos, Tools, Dlang.org (mostly
path updates)
- LDC/GDC (I think LDC already includes druntime as git submodule)
If we update the druntime/posix.mak file to call the
druntime/posix.mak at its new location, then there would be zero
breakage (druntime already requires dmd to cloned) and over time
these can be updated:
- CI scripts (all of them explicitly clone druntime, but removing
that line should be all)
- Release scripts at dlang/installer
- Packager build scripts
(most distros just ship the the libphobos2.{so,a} libraries, but
if druntime is shipped too, it will require a path update for the
release after such a potential migration.)
What do you think?
------------------
- Has the dmd/druntime split being annoying you too?
- Do you have a better suggestion?
- Would this break your workflow in a drastic way?
More information about the Digitalmars-d
mailing list