On Wed, Mar 18, 2015 at 22:32:05 +0000, Trent Forkert via Digitalmars-d-announce wrote: > The only sensible way to use multiple languages in the same > project is to use the same build system for them. Anything else > is way too fragile and hackish. > > Arbitrary, contrived example (though not entirely unrealistic): > * a C(++) executable needs a static D library > * Said D library in turn uses a C(++) library > * All three of these are built as components of the same project > > So now I need a weird tangled mess of build systems calling each > other back and forth. Dub really doesn't pull its weight here.
FWIW, no language-specific build system I've ever come across does anything better than "meh" (and that's just one; the rest are basically "nope, can't do it") for support outside of their language or compiling C code against the core runtime/libraries. Then toss in cross-compiling of the C bits and all of them just fall apart. You really need something like Make, Ninja, or another generic build tool at the bottom to do things properly with how different dependencies can be constructed in a complex codebase; you can't really bake all of the knowledge required for the general cases in every language's tools. --Ben