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

Reply via email to