comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: architecture-independent GNAT project files?
Date: Mon, 27 Apr 2009 10:02:13 +0200
Date: 2009-04-27T10:02:13+02:00	[thread overview]
Message-ID: <t61uka9cd012.18ciieoylrlrx$.dlg@40tude.net> (raw)
In-Reply-To: 75l5ceF18samiU1@mid.individual.net

On Mon, 27 Apr 2009 09:32:29 +0200, Bj�rn Persson wrote:

> When I write GNAT project files for shared libraries I find that I have to
> hardcode the paths to some architecture-specific directories. 32-bit
> libraries are in /usr/lib/ while 64-bit libraries are in /usr/lib64/, and I
> would like to have a single project file that works for both cases.

The way I am using is to have a platform variable in the project file:

   type Platform_Type is ("x86_Windows", "x86_VxWorks");
   Platform : Platform_Type := external ("Platform", "x86_Windows");

and then somewhere later

   case Platform is
      when "x86_Windows" =>
         for Source_Dirs use "os/Windows/i586" & ...;
      when "x86_VxWorks" =>
         for Source_Dirs use "os/vxworks/i586" & ...;
   end case;

then same for library things etc.

> The way to find out the architecture of a Unix-like system appears to be to
> invoke uname, but GNAT project files don't seem to have a shell-out
> feature. As far as I can see in the manual the only ways they can get input
> is by environment variables and command line parameters. I don't suppose
> Gnatmake provides some variable to project files that shows what the
> architecture is?

I don't know if it has, but if any, how that is supposed to work for cross
platform developing?

> Does anyone have a better idea?

I would like to hear it too, because the solution I am using is a bit
obtrusive.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2009-04-27  8:02 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-27  7:32 architecture-independent GNAT project files? Björn Persson
2009-04-27  8:02 ` Dmitry A. Kazakov [this message]
2009-04-27 21:16   ` Björn Persson
2009-04-27 21:55     ` Ludovic Brenta
2009-04-28 21:41       ` Björn Persson
2009-04-28  7:24     ` Dmitry A. Kazakov
2009-04-28 20:56       ` sjw
2009-04-30 12:17       ` Björn Persson
2009-04-30 12:31         ` Ludovic Brenta
2009-04-27 12:06 ` anon
2009-04-27 19:10   ` sjw
replies disabled

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