comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: How to get GNAT version during build process
Date: Fri, 06 Jan 2012 08:32:00 +0000
Date: 2012-01-06T08:32:00+00:00	[thread overview]
Message-ID: <m2ipkp6xkv.fsf@pushface.org> (raw)
In-Reply-To: 17cd8808-bbcf-4c15-b0a1-de4bf7a110b4@p16g2000yqd.googlegroups.com

Jerry <lanceboyle@qwest.net> writes:

> How would one discover the version of GNAT used in a build? I'm
> inquiring for someone using cmake. They have cobbled something
> together but I get the feeling it is too brittle and requires manual
> updating from time to time. Here is the patch that someone submitted:
>
>
> diff -up plplot-5.9.9/cmake/modules/ada.cmake.gnat plplot-5.9.9/cmake/
> modules/ada.cmake
> --- plplot-5.9.9/cmake/modules/ada.cmake.gnat	2011-10-12
> 18:43:01.000000000 -0600
> +++ plplot-5.9.9/cmake/modules/ada.cmake	2012-01-04 08:58:11.501470982
> -0700
> @@ -43,7 +43,7 @@ if(ENABLE_ada)
>  endif(ENABLE_ada)
>
>  if(ENABLE_ada)
> -  find_library(GNAT_LIB NAMES gnat gnat-4.5 gnat-4.4 gnat-4.3
> gnat-4.2 gnat-4.1)
> +  find_library(GNAT_LIB NAMES gnat gnat-4.7 gnat-4.6 gnat-4.5
> gnat-4.4 gnat-4.3 gnat-4.2 gnat-4.1)
>    if(NOT GNAT_LIB)
>      message(STATUS "WARNING: "
>        "gnat library not found. Disabling ada bindings")
>
>
> I stumbled across
> GNAT.Compiler_Version (g-comver.ads)
> in the GNAT library but when I ran this
>
> with Ada.Text_IO; use Ada.Text_IO;
> with GNAT.Compiler_Version;
> procedure ada_version is
>     package CVer is new GNAT.Compiler_Version;
>     use Cver;
> begin
>     Put_Line(Version);
> end ada_version;
>
> all I got was this
>
> GPL 2010 (20100603)
>
> whereas g-comver.ads promises a  result in this format
>
> v.vvx (yyyyddmm)"
>
> where v.vv would be something like 3.16.

You would have thought that cmake's find_library() would have found
libgnat; here, GNAT GPL 2011 gives (in
lib/gcc/x86_64-apple-darwin10.2.0/4.5.3/adalib)

$ ls -l libgnat*
-rwxr-xr-x@ 1 simon  simon  3886280 19 Apr  2011 libgnat-2011.dylib
-rw-r--r--@ 1 simon  simon  5321016 19 Apr  2011 libgnat.a
lrwxr-xr-x@ 1 simon  simon       18 19 Apr  2011 libgnat.dylib -> libgnat-2011.dylib

Perhaps it doesn't like symlinks.

The comment in g-comver.ads is wrong even with 4.6.0: it just returns
"4.6.0".

I suppose we could continue the fragility by adding gnat-2010 gnat-2011
etc to the proposed patch!



      reply	other threads:[~2012-01-06  8:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-06  5:45 How to get GNAT version during build process Jerry
2012-01-06  8:32 ` Simon Wright [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