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!
prev parent 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