comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: Suggestion about best practice with .gpr files
Date: Tue, 1 Jun 2021 11:33:21 +0200	[thread overview]
Message-ID: <s94ut2$s16$1@dont-email.me> (raw)
In-Reply-To: <861r9met5p.fsf@stephe-leake.org>

On 5/31/21 6:59 PM, Stephen Leake wrote:
> AdaMagica <christ-usch.grein@t-online.de> writes:
> 
>> Jeffrey R. Carter schrieb am Sonntag, 30. Mai 2021 um 22:22:16 UTC+2:
> 
>>> When everything is is Ada, they
>>> only add unnecessary and non-portable complexity.
> 
> Examples, please? I don't think any of the complexity in my .gpr files
> is unnecessary. I agree it complicates porting to another compiler/build
> system.

To develop S/W in Ada, you have to know

* Ada
* the CLI/shell syntax
* the compiler syntax and options

The compiler knows the dependencies among the units that make up a project, and 
every compiler I've used has the ability to do a build, recompiling units that 
need it, so there is no need for an additional tool to do this, as there is with C.

If I have a project Project, it will be in directory Project, which contains the 
source code and the compiler artifacts. It will also contain a one-line script 
that invokes the compiler to build Project with the desired options.

This works fine and is mostly compiler agnostic. Avoiding the unnecessary 
complexity of a build-directory structure is essential to this approach.

Adding an additional tool (gprbuild) with its own syntax (project files) to this 
is clearly adding unnecessary complexity.

If Project is a library, and there are more than a few test programs, I will 
also have a Test subdirectory for them and their build script(s).

I see no need for a compilation-order tool such as make or grpbuild, since the 
compiler already does that. (Gprbuild is supposed to be a better alternative to 
make, so using both seems like insanity to me.)

-- 
Jeff Carter
"Violence is the last refuge of the incompetent."
Foundation
151

  reply	other threads:[~2021-06-01  9:33 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-30 17:37 Suggestion about best practice with .gpr files mockturtle
2021-05-30 17:46 ` Stephen Leake
2021-05-30 19:31   ` Simon Wright
2021-05-30 17:56 ` Dmitry A. Kazakov
2021-05-30 20:22 ` Jeffrey R. Carter
2021-05-31  7:42   ` AdaMagica
2021-05-31 16:59     ` Stephen Leake
2021-06-01  9:33       ` Jeffrey R. Carter [this message]
2021-06-04  7:48         ` Björn Lundin
2021-06-04  8:14           ` Dmitry A. Kazakov
2021-06-04  9:18           ` Jeffrey R. Carter
2021-06-04  9:47             ` Björn Lundin
2021-06-04 12:52           ` Simon Wright
2021-06-04 14:53             ` Björn Lundin
2021-06-01 14:38   ` Shark8
2021-05-31 15:02 ` Maxim Reznik
2021-05-31 17:07   ` Stephen Leake
2021-05-31 20:14 ` Per Sandberg
replies disabled

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