[distcc] Two incompatibilities between distcc & C++/configure

Giles, Lezz lgiles at starentnetworks.com
Fri Jan 31 14:10:13 GMT 2003


You are right, so there is a work-around - but since we don't
have a lot of C++ code I reckoned it wasn't worth it, instead
we simply don't use distcc for C++.  I do agree that it seems
non-sensical that g++ doesn't use the #file directive, and
I'd guess that other compilers might.

Of course this is all really
part of my secret plan to stamp out C++ whereever I see it...
Any language that needs to munge its symbol names, thus making
my job of tracking down build problems more difficult, deserves
to be taken outside and shot... :-)

Lezz Giles

-----Original Message-----
From: Martin Pool [mailto:mbp at samba.org]
Sent: Thursday, January 30, 2003 6:03 PM
To: Giles, Lezz
Cc: distcc at lists.samba.org
Subject: Re: [distcc] Two incompatibilities between distcc &
C++/configure


On 30 Jan 2003, Lezz Giles <lgiles at starentnetworks.com> wrote:

> C++ has a pragma "implementation" which uses the source
> filename to decide what to do (we're usig GCC 3.0.3, but
> I think this is true in more versions than just this one),
> and since distcc changes the filename on the server that
> is compiling the file, the resulting object file is wrong.

>From reading the gcc manual, it looks like this form would avoid the
problem:

  `#pragma implementation "OBJECTS.h"'

     If you use `#pragma implementation' with no argument, it applies to
     an include file with the same basename(1) as your source file.
     For example, in `allclass.cc', giving just `#pragma implementation'
     by itself is equivalent to `#pragma implementation "allclass.h"'.

I'm not saying you have to change your source -- I just want to
understand what's happening.

-- 
Martin 



More information about the distcc mailing list