SCons and gdc

H. S. Teoh hsteoh at quickfur.ath.cx
Mon Oct 22 13:19:14 PDT 2012


On Mon, Oct 22, 2012 at 09:53:40PM +0200, Alex Rønne Petersen wrote:
> On 22-10-2012 21:41, H. S. Teoh wrote:
[...]
> >This is only the gdc-4.7 branch, though; git master isn't building on
> >my system because the gcc build script mistakes Walter's pathological
> >naming of C++ source files with a .c extension for actual C code,
> >which causes it to invoke the wrong compiler and produce reams and
> >reams of compile errors before dying miserably. I'm still trying to
> >figure out how to fix this.
> 
> Might want to poke Iain about this. Sounds like a missing -x c++.

Where may he be poked at? :)


> >(P.S. GCC's build system seriously needs a major overhaul. It's
> >extremely fragile and completely unfriendly when it comes to telling
> >you what the problem is when it fails. The error message is often
> >faaaar away from the real source of the problem, and often has no
> >indication whatsoever as to what the nature of the real problem is. I
> >spent at least 2 whole days fighting with it before I figured out how
> >to pacify it enough for the build to succeed. I wouldn't wish this
> >experience on anyone.)
> 
> Unfortunately, one does not simply "overhaul" the GCC build system.
> It consists of thousands upon thousands of lines of logic to
> configure, build, and test GCC for all sorts of obscure scenarios

Yes, written in m4, bash, and that hilariously huge Makefile (or its
automake progenitors thereof). It's completely opaque to me.


> (have you ever done a Canadian cross build of GCC?), most of which
> other build systems couldn't possibly get right.
[...]

<rant>
Well, this is just my biased arrogant opinion, but the root of the
problem is that make is an antiquated overly-simplistic script that has
long outlived its time, but due to historical reasons still survive
festering under the layers of patches that it has acquired over the
course of its sad life. Automake and its ilk are just yet another
(system of) layer of patches upon the same broken system that doesn't
address the fundamental design flaws in make. It's an edifice of cards
that nobody dares touch because, well, it would take too much effort to
reproduce all the tiny obscure cases it has been tweaked for over the
years. But it's nonetheless a nigh unmaintainable fortress of cards that
will collapse at the slightest provocation in the most unhelpful of
ways. It's like implementing the whole of Windows 8 in K&R C. In this
day and age, one would *think* we could do better, but no, this fossil
from the 70's still shambles on, to the unnecessary suffering of
countless generations of new programmers.
</rant>


T

-- 
They say that "guns don't kill people, people kill people." Well I think
the gun helps. If you just stood there and yelled BANG, I don't think
you'd kill too many people. -- Eddie Izzard, Dressed to Kill


More information about the Digitalmars-d mailing list