From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: project file syntax
Date: Sat, 02 Aug 2014 09:16:12 -0400
Date: 2014-08-02T09:16:12-04:00 [thread overview]
Message-ID: <wccmwbnyqub.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: bsunt9dmor9ooukhvetao4nqkji6dt67sl@4ax.com
agent@drrob1.com writes:
> As an exercise for myself, I'm converting an rpn calculator I wrote in
> modula-2 to Ada. I have already debugged several modules, such as
> tknrtnsa, timliba and environa. Now I want to debug 2 modules,
> hpcalca and rpna. I call this project file rpna.gpr
>
> project rpna is
> for Source_Files use ("rpna.adb","hpcalca.ads","hpcala.adb"); for
I suggest using the default naming convention, and leaving out the "for
Source_Files...". Then your project will contain all source files
whose names match *.ads and *.adb.
You don't want to edit your project file every time you add a new source
file (or rename or delete one).
> Source_Dirs use (".", "./**");
> for Main use ("rpna");
>
> package Builder is
> for Default_Switches ("Ada")
> use ("-g");
> end Builder;
>
> package Compiler is
> for Default_Switches ("Ada")
> use ("-fstack-check",
> "-gnatVa",
> "-g",
> "-gnato",
> "-gnatf",
> "-gnatwu",
Consider using -gnatwa or -gnatwae.
> "-gnat2012");
> end Compiler;
>
> end rpna;
>
>
> I get errors that the modules I previously wrote cannot be found. That
> is, tknrtnsa, timliba and environa cannot be found.
Right. Your project contains exactly 3 source files, and if they say
"with tknrtnsa", it won't find tknrtnsa.ads.
>...If I have these
> re-compiled by putting them in the Source_Files list, that works. But
> it strikes me as I am not understanding something about project files.
>
> How do I write a project file to not have to recompile packages that I
> know already work, and for which I have the .ali and .o files?
That happens automatically. gprbuild will [re]compile just the files
that need to be [re]compiled. If you already have .ali and .o files
from a previous run of gprbuild, and they are up to date, those will not
be recompiled. You shouldn't be trying to tell it which files need to
be recompiled -- it figures that out based on timestamps and .ali files.
You don't need to run gcc directly; just use gprbuild.
- Bob
prev parent reply other threads:[~2014-08-02 13:16 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-01 20:48 project file syntax agent
2014-08-01 21:25 ` Simon Wright
2014-08-02 11:56 ` agent
2014-08-02 13:16 ` Robert A Duff [this message]
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox