comp.lang.ada
 help / color / mirror / Atom feed
* 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