Make dub part of the standard dmd distribution
Sönke Ludwig via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jun 4 08:33:31 PDT 2015
Am 04.06.2015 um 17:03 schrieb Nick Sabalausky:
> On 06/04/2015 04:39 AM, Sönke Ludwig wrote:
>>
>> Of course you could make the system completely build
>> tool agnostic, but then you'd basically lose interoperability between
>> packages, as each package might choose its own build tool.
>>
>
> With this PR and the upcoming follow-up to add
> --format=(list|some_compiler|whatever), there is NO issue with package
> interoperability (as long as a package's "import-paths" is correct):
>
> https://github.com/D-Programming-Language/dub/pull/572
Just to get this straight: Supporting external build tools like that and
by writing the proper generator has always been the goal of DUB (being
build tool agnostic). The built-in builder is basically mainly there for
convenience (although there is no reason not to improve it to the point
where it is a worthy competitor). But you still use DUB's build
description in that case.
What I really meant (and didn't really say) was if you completely remove
all build description related fields from dub.json - then you lose
interoperability.
>
> Note that even WITHOUT dub, packages from different buildsystems
> *already* interop just fine. Even in C-land. All you ever need for
> packages to work together is the appropriate "build this package"
> command and the import/lib paths for the compiler/linker. Buildsystem is
> a package-local issue, not a cross-package issue.
>
That's not what I had in mind with "interoperability". That would rather
be gluing them together manually. Of course you can always do that, but
then you lose a lot of potential for avoiding useless/redundant work. It
means you are doing the job that the tool should (could) do.
This also gets especially interesting and annoying when compiler flags
(e.g. version identifiers) don't match, or the dependencies require
advanced compiler flags. I really think C/C++ is the last thing we
should take as our role model when it comes to this topic (apart from
C's strict ABI perhaps).
More information about the Digitalmars-d
mailing list