1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2007, Free Software Foundation, Inc. --
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 2, 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. See the GNU General Public License --
17 -- for more details. You should have received a copy of the GNU General --
18 -- Public License distributed with GNAT; see file COPYING. If not, write --
19 -- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
20 -- Boston, MA 02110-1301, USA. --
22 -- As a special exception, if other files instantiate generics from this --
23 -- unit, or you link this unit with other files to produce an executable, --
24 -- this unit does not by itself cause the resulting executable to be --
25 -- covered by the GNU General Public License. This exception does not --
26 -- however invalidate any other reasons why the executable file might be --
27 -- covered by the GNU Public License. --
29 -- GNAT was originally developed by the GNAT team at New York University. --
30 -- Extensive contributions were provided by Ada Core Technologies Inc. --
32 ------------------------------------------------------------------------------
34 -- This package defines some system dependent parameters for GNAT. These
35 -- are parameters that are relevant to the host machine on which the
36 -- compiler is running, and thus this package is part of the compiler.
47 pragma Import
(C
, Gnat_VMSp
, "__gnat_vmsp");
49 OpenVMS
: Boolean := Gnat_VMSp
/= 0;
50 -- Set True for OpenVMS host. See also OpenVMS target boolean in
51 -- system-vms.ads and system-vms_64.ads and OpenVMS_On_Target boolean in
52 -- Targparm. This is not a constant, because it can be modified by -gnatdm.
54 Direct_Separator
: constant Character;
55 pragma Import
(C
, Direct_Separator
, "__gnat_dir_separator");
56 Normalized_CWD
: constant String := "." & Direct_Separator
;
57 -- Normalized string to access current directory
59 Max_Line_Length
: constant := Types
.Column_Number
'Pred
60 (Types
.Column_Number
'Last);
61 -- Maximum source line length. By default we set it to the maximum
62 -- value that can be supported, which is given by the range of the
63 -- Column_Number type. We subtract 1 because need to be able to
64 -- have a valid Column_Number equal to Max_Line_Length to represent
65 -- the location of a "line too long" error.
66 -- 200 is the minimum value required (RM 2.2(15)). The value set here
67 -- can be reduced by the explicit use of the -gnatyM style switch.
69 Max_Name_Length
: constant := 1024;
70 -- Maximum length of unit name (including all dots, and " (spec)") and
71 -- of file names in the library, must be at least Max_Line_Length, but
74 Max_Instantiations
: constant := 4000;
75 -- Maximum number of instantiations permitted (to stop runaway cases
76 -- of nested instantiations). These situations probably only occur in
77 -- specially concocted test cases.
79 Tag_Errors
: constant Boolean := False;
80 -- If set to true, then brief form error messages will be prefaced by
81 -- the string "error:". Used as default for Opt.Unique_Error_Tag.
83 Exclude_Missing_Objects
: constant Boolean := True;
84 -- If set to true, gnatbind will exclude from consideration all
85 -- non-existent .o files.
87 Max_Debug_Name_Length
: constant := 256;
88 -- If a generated qualified debug name exceeds this length, then it
89 -- is automatically compressed, regardless of the setting of the
90 -- Compress_Debug_Names switch controlled by -gnatC.