[Scons-dev] D support, not sure what to do

Russel Winder russel at winder.org.uk
Fri Apr 7 13:47:19 EDT 2017


Hi,

The current D support in SCons is really there to support mixed D and
C++ software rather than being the best way of handling solely D codes.
Also SCons focuses on the build case where all the source is in the
project and all dependencies are available natively on the platform.

Like Rust, and Go, and indeed C++ now with Conan, D has the concept of
getting packages from a central repository. Rust has Cargo which is a
package and build manager, no need for SCons. Go has the go command for
getting Git/Mercurial/Bazaar packages and building things, no need for
SCons. D has Dub which like Rust's Cargi is a package management and
build system. Scons is really a C and C++ system (*), with support for
Fortran and D in polyglot systems. Conan must change the game: SCons
must support Conan.

In some sense Dub removes the need for SCons with D programming. Yet
people are using SCons and Meson for building D.

For SCons to remain relevant to D, and there is good reasons to do
this, it must be able to interwork with Dub to handle getting
dependencies from the Dub repository. I am currently "fighting" with
trying to make SCons build D codes with Unit-Threaded test framework
use. I have to admit I am beginning to wonder why. :-( 

Which leads to a second issue. D, like Chapel, is beginning to focus on
compiling all source at once into a target. None of this compile each
module/file/… separately and then link. Meson cannot cope with this
from what I can see, which  make me wonder if this new replacement for
Autotools has built in obsolescence.

Chapel and D can both be build file/module by file/module, but
optimisation works best on all source at once mode. The Chapel folk are
looking at a Cargo style build system, D has Dub. Is it worth pursuing
this model in SCons, or is it a waste of effort to try?



(*) And obviously XeLaTex, which is now my main use of SCons.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20170407/ff5c7924/attachment.pgp>


More information about the Scons-dev mailing list