1------------------------------------------------------------------------------
2--                                                                          --
3--                         GNAT COMPILER COMPONENTS                         --
4--                                                                          --
5--                              G N A T V S N                               --
6--                                                                          --
7--                                 S p e c                                  --
8--                                                                          --
9--          Copyright (C) 1992-2013, Free Software Foundation, Inc.         --
10--                                                                          --
11-- GNAT is free software;  you can  redistribute it  and/or modify it under --
12-- terms of the  GNU General Public License as published  by the Free Soft- --
13-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
14-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
15-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
16-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
17--                                                                          --
18-- As a special exception under Section 7 of GPL version 3, you are granted --
19-- additional permissions described in the GCC Runtime Library Exception,   --
20-- version 3.1, as published by the Free Software Foundation.               --
21--                                                                          --
22-- You should have received a copy of the GNU General Public License and    --
23-- a copy of the GCC Runtime Library Exception along with this program;     --
24-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
25-- <http://www.gnu.org/licenses/>.                                          --
26--                                                                          --
27-- GNAT was originally developed  by the GNAT team at  New York University. --
28-- Extensive contributions were provided by Ada Core Technologies Inc.      --
29--                                                                          --
30------------------------------------------------------------------------------
31
32--  This package spec holds version information for the GNAT tools.
33--  It is updated whenever the release number is changed.
34
35package Gnatvsn is
36
37   Gnat_Static_Version_String : constant String := "GNU Ada";
38   --  Static string identifying this version, that can be used as an argument
39   --  to e.g. pragma Ident.
40
41   function Gnat_Version_String return String;
42   --  Version output when GNAT (compiler), or its related tools, including
43   --  GNATBIND, GNATCHOP, GNATFIND, GNATLINK, GNATMAKE, GNATXREF, are run
44   --  (with appropriate verbose option switch set).
45
46   type Gnat_Build_Type is (FSF, GPL);
47   --  See Build_Type below for the meaning of these values.
48
49   Build_Type : constant Gnat_Build_Type := FSF;
50   --  Kind of GNAT build:
51   --
52   --    FSF
53   --       GNAT FSF version. This version of GNAT is part of a Free Software
54   --       Foundation release of the GNU Compiler Collection (GCC). The bug
55   --       box generated by Comperr gives information on how to report bugs
56   --       and list the "no warranty" information.
57   --
58   --    GPL
59   --       GNAT GPL Edition. This is a special version of GNAT, released by
60   --       Ada Core Technologies and intended for academic users, and free
61   --       software developers. The bug box generated by the package Comperr
62   --       gives appropriate bug submission instructions that do not reference
63   --       customer number etc.
64
65   function Gnat_Free_Software return String;
66   --  Text to be displayed by the different GNAT tools when switch --version
67   --  is used. This text depends on the GNAT build type.
68
69   function Copyright_Holder return String;
70   --  Return the name of the Copyright holder to be displayed by the different
71   --  GNAT tools when switch --version is used.
72
73   Ver_Len_Max : constant := 256;
74   --  Longest possible length for Gnat_Version_String in this or any
75   --  other version of GNAT. This is used by the binder to establish
76   --  space to store any possible version string value for checks. This
77   --  value should never be decreased in the future, but it would be
78   --  OK to increase it if absolutely necessary. If it is increased,
79   --  be sure to increase GNAT.Compiler.Version.Ver_Len_Max as well.
80
81   Ver_Prefix : constant String := "GNAT Version: ";
82   --  Prefix generated by binder. If it is changed, be sure to change
83   --  GNAT.Compiler_Version.Ver_Prefix as well.
84
85   Library_Version : constant String := "4.8";
86   --  Library version. This value must be updated when the compiler
87   --  version number Gnat_Static_Version_String is updated.
88   --
89   --  Note: Makefile.in uses the library version string to construct the
90   --  soname value.
91
92   Verbose_Library_Version : constant String := "GNAT Lib v" & Library_Version;
93   --  Version string stored in e.g. ALI files
94
95   Current_Year : constant String := "2013";
96   --  Used in printing copyright messages
97
98end Gnatvsn;
99