Idea: std.build instead of dub and make-like tools

Jacob Carlborg via Digitalmars-d digitalmars-d at puremagic.com
Thu Mar 17 08:26:30 PDT 2016


On 17/03/16 07:13, H. S. Teoh via Digitalmars-d wrote:

> Personally, I also find makefiles have a tendency to become unmaintable
> messes. I have yet to find one non-trivial project whose makefiles
> *aren't* unmaintainable messes.  The dmd toolchain tries to, but fails
> (esp. with the nasty cross-repo references that will basically fail in
> ugly ways in every case except when you setup your environment exactly
> like the makefiles implicitly assume -- the hallmark of design smell).
>
> My current go-to build system is SCons, a Python-based build system
> where build scripts are Python scripts. However, far from becoming a
> problem due to Turing-completeness, generally I hardly ever use the full
> expressive power of Python; the primitives provided take care of 99% of
> the most typical build scenarios. However, for those rare but
> unavoidable cases where you need something more, having a full
> programming language at your disposal is a life-saver.

I completely agree. It's the same with Ruby and especially if you 
include Rails. It has a lot of small DSL's that are all in Ruby. Many 
which might have been XML, JSON or similar in other language.

Take for example a Gemfile (which lists dependencies of a project). The 
Gemfile is written in a DSL in Ruby. I can't remember the last time I 
saw a Gemfile with something other than the standard dependency statements:

gem 'rails', '4.2.0'
gem 'pry', '0.9.1'

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list