The annoying D build system

Jacob Carlborg doob at me.com
Mon Nov 19 00:29:43 PST 2012


Is it just me that thinks the build system of D (DMD, Phobos, druntime, 
and so on) is really annoying. I'm mostly thinking of the directory 
structure that the makefiles expect.

For example, when building Phobos it will also, automatically, build 
druntime, which it expects to find in the parent directory.

Today I tried to build the dlang.org web site. The first thing that hit 
me was that it tried to build a complete release out of DMD by default. 
Sure that can be consider my fault since I didn't check what targets the 
makefile would run by default. But this makefile will also expect DMD, 
Phobos and so on to be in the parent directory. It will also expect that 
its own folder is named "d-programming-language.org". I renamed that to 
"dlang.org" since it's shorter and that's what the site is called these 
days, but that completely broke the makefile. The makefile is looking 
explicitly for a folder named "d-programming-language.org", i.e. 
"../d-programming-language.org/std.ddoc".

I think it's really annoying, and slightly scary, that the build system 
breaks out of its own directory, doing things in the parent directory 
and expects a certain parent directory structure.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list