* How to get GNAT version during build process
@ 2012-01-06 5:45 Jerry
2012-01-06 8:32 ` Simon Wright
0 siblings, 1 reply; 2+ messages in thread
From: Jerry @ 2012-01-06 5:45 UTC (permalink / raw)
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.
Jerry
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: How to get GNAT version during build process
2012-01-06 5:45 How to get GNAT version during build process Jerry
@ 2012-01-06 8:32 ` Simon Wright
0 siblings, 0 replies; 2+ messages in thread
From: Simon Wright @ 2012-01-06 8:32 UTC (permalink / raw)
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!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-01-06 8:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-06 5:45 How to get GNAT version during build process Jerry
2012-01-06 8:32 ` Simon Wright
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox