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 07:15:07 -0700 (PDT)
Date: 2010-04-09T07:15:07-07:00	[thread overview]
Message-ID: <b3cec394-937e-4911-9a67-a8213dfa0b3d@r36g2000yqm.googlegroups.com> (raw)
In-Reply-To: 4bbf2806$0$19565$703f8584@news.kpn.nl

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.

--
Ludovic Brenta.



  reply	other threads:[~2010-04-09 14:15 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 [this message]
2010-04-09 14:26   ` Dmitry A. Kazakov
2010-04-09 15:10     ` sjw
2010-04-09 16:40     ` Ludovic Brenta
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