comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: GPS Compiler options
Date: Fri, 9 Apr 2010 09:40:48 -0700 (PDT)
Date: 2010-04-09T09:40:48-07:00	[thread overview]
Message-ID: <58f925ee-9d4a-4773-98f9-24fe39a7adc1@r1g2000yqj.googlegroups.com> (raw)
In-Reply-To: 13txt3b8b77p5.upyewgdx7mkh.dlg@40tude.net

Dmitry A. Kazakov wrote on comp.lang.ada:
> On Fri, 9 Apr 2010 07:15:07 -0700 (PDT), Ludovic Brenta wrote:
> > ldries46 wrote on comp.lang.ada:
> >> I'm relatively new to GPS. I'm trying to compile a program but every time I
> >> compile the program I observe that all units are compiled when I had
> >> expected that only the unit I had altered would be compiled again. What do I
> >> have to do to make this work. I alreday have tried all types of building of
> >> the program.
>
> > The bug may be either in gnatmake or in your expectations; this
> > depends on which unit you change.
>
> > If you change a spec, then all specs and all bodies that depend on the
> > changed spec need to be recompiled.
>
> > If you change a generic body, then all specs and bodies that contain
> > an instantiation of the generic body need to be recompiled (this is
> > specific to GNAT, which does not share the object code between
> > insiantiations of a generic).
>
> > If you change a file containing a "separate" unit, then the enclosing
> > unit needs to be recompiled too, because GNAT emits only one object
> > file containing the enclosing units and all "separate" bodies in it.
>
> > We could help you more if you would be more specific about the units
> > in your program and on which units you changed.
>
> > PS. Maybe consider using the gnatmake -m switch ("minimal
> > recompilation"); you do that by changing the project properties in
> > GPS. With this option, gnatmake expends more effort trying to
> > determine which units are still up to date.

> Also, when the object and ali-files are on a remote server, usually
> together with the sources (this is the case at my work), accessed over a
> network file system (samba, NFS etc), then if the compiling computer has
> the clock unsynchronized with the server, you may get the described effect
> (or worse, non-compiled files).

I think gnatmake -m corrects this problem. With this option, gnatmake
no longer relies on the timestamps but only on the CRC32 values in
the .ali files.

--
Ludovic Brenta.



  parent reply	other threads:[~2010-04-09 16:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-09 13:13 GPS Compiler options ldries46
2010-04-09 14:15 ` Ludovic Brenta
2010-04-09 14:26   ` Dmitry A. Kazakov
2010-04-09 15:10     ` sjw
2010-04-09 16:40     ` Ludovic Brenta [this message]
2010-04-09 17:20       ` Simon Wright
2010-04-09 17:46         ` Ludovic Brenta
2010-04-09 21:00           ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox