[Dlang-internal] Dependency on dlang/tools
Sebastian Wilzbach via Dlang-internal
dlang-internal at puremagic.com
Sat Mar 4 20:37:18 PST 2017
Hi all,
recently there have been some discussions about our dependency on the
tools repo.
As Brad protested loudly and even I get lost in all the open PRs, I
think it's better to have the discussion here.
Checkwhitespace.d
-----------------
- _only_ for the checkwhitespace target (= tools will only be cloned
when explicitly requested)
- we already use `grep` for this in the `style` target at Phobos (of
course, I do prefer doing it in D as well)
The regarding PRs are here:
https://github.com/dlang/phobos/pull/5231
https://github.com/dlang/dmd/pull/6584
tl;dr: I think this case is less problematic because it's an optional
target.
osmodel.mak
-----------
- the file was redundant over all repos
- _not_ all instances of it were updated properly (despite the comment
in the header!)
Summary of the discussion so far:
klickverbot: (after I proposed to use dmd/src/osmodel.mak as single
source of truth)
> tools is also interesting built in isolation with other compilers
> (DMD=ldmd2, etc.), so this seems like a questionable suggestion. You
> wouldn't want to keep the DMD source around just for osmodel.mak
> (especially when building distro packages due to the non-free code it
> contains).
Brad:
> Please no. I strongly object to the default build doing any network
> activity. Similarly I object to adding cross-package dependencies like
> this. I admit it's been a while since I checked, but it used to be and
> should be possible to checkout any one of the repos and built it stand
> alone.
Remarks:
- for phobos one needs at least druntime
- for tools one needs druntime and phobos
- for dlang.org one needs all repos (even the installer)
The regarding PRs are here:
https://github.com/dlang/dlang.org/pull/1596
https://github.com/dlang/tools/pull/227
https://github.com/dlang/phobos/pull/5228
https://github.com/dlang/druntime/pull/1780
So:
A) Do we keep the status quo?
B) Do we use dmd as single source of truth?
C) Do we just require that a contributor checks out tools as well?
For (C) we can help the contributor to do so automatically, e.g
TOOLS_DIR = ../tools
$(shell [ ! -d $(TOOLS_DIR) ] && git clone
https://github.com/dlang/tools $(TOOLS_DIR))
include $(TOOLS_DIR)/osmodel.mak
Personally I am in favor of (C) as keeping everything updated is much
more work and annoying than automatically cloning a repo that changes
infrequently.
Cheers,
Seb
More information about the Dlang-internal
mailing list