comp.lang.ada
 help / color / mirror / Atom feed
From: "J-P. Rosen" <rosen@adalog.fr>
Subject: Re: spec/body/rep (Was: Compilation error (GNAT bug?))
Date: Tue, 27 May 2014 10:54:21 +0200
Date: 2014-05-27T10:54:21+02:00	[thread overview]
Message-ID: <lm1jrt$cdn$1@dont-email.me> (raw)
In-Reply-To: <buip8nFgg52U1@mid.individual.net>

Le 27/05/2014 08:22, Niklas Holsti a écrit :
>> And to ease porting, have a package called Target_Specific_Windows,
>> > another one called Target_Specific_Linux. All the users do:
>> > with Target_Specific;
>> > 
>> > and have the following library-lever renaming:
>> > with Target_Specific_Windows;
>> > package Target_Specific renames Target_Specific_Windows;
> I don't see what advantage such as a library-level renaming gives. If
> one is developing for several platforms, say Windows and Linux, there
> will then be two library-level renamings somewhere, one as above and the
> other using Target_Specific_Linux, but some compiler-specific way is
> still needed to choose which of the library level renamings to include
> in the compilation. So one could just as well call both the
> target-specific packages Target_Specific, directly, and use the same
> compiler-specific way to choose which one to compile. For example, I use
> GNAT's ADA_INCLUDE_PATH to choose the folder ("linux" or "windows")
> which contains the version of Target_Specific to be compiled.

The way I do it, both renamings are in the same file, one of them
commented out. I just comment/uncomment the right one at the time of
build. Not fully automated, but easy, and I argue (with the C people)
that it is hardly more work than changing a global variable in a Makefile.

The point is: one single simple change in one file, and your whole
application switches OSes. The other benefit being that you see quite
well which parameters are for which OS.

But of course, it all depends on your build process, use case, and
personal taste...
-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00
http://www.adalog.fr

  reply	other threads:[~2014-05-27  8:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-20 18:32 Compilation error (GNAT bug?) Victor Porton
2014-05-20 18:43 ` Simon Wright
2014-05-20 22:22   ` spec/body/rep (Was: Compilation error (GNAT bug?)) Georg Bauhaus
2014-05-23 21:21     ` Randy Brukardt
2014-05-27  5:16       ` J-P. Rosen
2014-05-27  6:22         ` Niklas Holsti
2014-05-27  8:54           ` J-P. Rosen [this message]
2014-05-27  8:55           ` Dmitry A. Kazakov
2014-05-27 15:45             ` G.B.
2014-05-27 16:41               ` Dmitry A. Kazakov
2014-05-27 16:52                 ` G.B.
2014-05-27 17:03                   ` Dmitry A. Kazakov
2014-05-27 22:57               ` Randy Brukardt
replies disabled

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