gcc4x packages shouldn't build in source directory

Jack Howarth howarth at bromo.med.uc.edu
Sun Oct 18 15:36:59 PDT 2009


On Mon, Oct 19, 2009 at 12:19:02AM +0200, Rainer Müller wrote:
> On 2009-10-18 00:55 , Jack Howarth wrote:
> >    I just noticed that MacPorts is building the FSF gcc
> > releases within the source tree. The upstream FSF gcc
> > developers frown upon this as poor technique. All of the
> > gcc4X packages should be creating a separate build directory,
> > eg darwin_objdir, outside of the source tree and then
> > executing both configure and make from within this
> > build directory.
> 
> What is the problem with a build inside the source? I don't understand
> the reason for an out-of-place build if you only do it once and delete
> the source directory afterwards anyway.
> 
> Rainer

Rainer,
    Upstream doesn't really test building within the source directory.
The gcc build is quite complex with its multistage bootstrap and multilib
builds. This can result in the source tree being accidentally modified
in unexpected ways. Read...

http://gcc.gnu.org/install/configure.html

in particular the section...

First, we highly recommend that GCC be built into a separate directory from the sources which does not reside within the source tree. This is how we generally build GCC; building where srcdir == objdir should still work, but doesn't get extensive testing; building where objdir is a subdirectory of srcdir is unsupported.
  
 In any case, I finally tracked down that this was a problem at my
end in a local copy of the gcc44 Portfile and that the gcc4X packages
in dports all seem to properly have...

worksrcdir              build

Sorry about the noise on the mailing list.
                Jack




More information about the macports-dev mailing list