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-2016, 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   Library_Version : constant String := "6";
42   --  Library version. It needs to be updated whenever the major or
43   --  minor version number is changed.
44   --
45   --  Note: Makefile.in uses the library version string to construct the
46   --  soname value.
47
48   Current_Year : constant String := "2016";
49   --  Used in printing copyright messages
50
51   Verbose_Library_Version : constant String := "GNAT Lib v" & Library_Version;
52   --  Version string stored in e.g. ALI files
53
54   function Gnat_Version_String return String;
55   --  Version output when GNAT (compiler), or its related tools, including
56   --  GNATBIND, GNATCHOP, GNATFIND, GNATLINK, GNATMAKE, GNATXREF, are run
57   --  (with appropriate verbose option switch set).
58
59   type Gnat_Build_Type is (FSF, GPL);
60   --  See Build_Type below for the meaning of these values.
61
62   Build_Type : constant Gnat_Build_Type := FSF;
63   --  Kind of GNAT build:
64   --
65   --    FSF
66   --       GNAT FSF version. This version of GNAT is part of a Free Software
67   --       Foundation release of the GNU Compiler Collection (GCC). The bug
68   --       box generated by Comperr gives information on how to report bugs
69   --       and list the "no warranty" information.
70   --
71   --    GPL
72   --       GNAT GPL Edition. This is a special version of GNAT, released by
73   --       Ada Core Technologies and intended for academic users, and free
74   --       software developers. The bug box generated by the package Comperr
75   --       gives appropriate bug submission instructions that do not reference
76   --       customer number etc.
77
78   function Gnat_Free_Software return String;
79   --  Text to be displayed by the different GNAT tools when switch --version
80   --  is used. This text depends on the GNAT build type.
81
82   function Copyright_Holder return String;
83   --  Return the name of the Copyright holder to be displayed by the different
84   --  GNAT tools when switch --version is used.
85
86   Ver_Len_Max : constant := 256;
87   --  Longest possible length for Gnat_Version_String in this or any
88   --  other version of GNAT. This is used by the binder to establish
89   --  space to store any possible version string value for checks. This
90   --  value should never be decreased in the future, but it would be
91   --  OK to increase it if absolutely necessary. If it is increased,
92   --  be sure to increase GNAT.Compiler.Version.Ver_Len_Max as well.
93
94   Ver_Prefix : constant String := "GNAT Version: ";
95   --  Prefix generated by binder. If it is changed, be sure to change
96   --  GNAT.Compiler_Version.Ver_Prefix as well.
97
98end Gnatvsn;
99