1------------------------------------------------------------------------------ 2-- -- 3-- GNAT COMPILER COMPONENTS -- 4-- -- 5-- H O S T P A R M -- 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 defines some system dependent parameters for GNAT. These 33-- are parameters that are relevant to the host machine on which the 34-- compiler is running, and thus this package is part of the compiler. 35 36with Types; 37 38package Hostparm is 39 40 --------------------- 41 -- HOST Parameters -- 42 --------------------- 43 44 Gnat_VMSp : Integer; 45 pragma Import (C, Gnat_VMSp, "__gnat_vmsp"); 46 47 OpenVMS : Boolean := Gnat_VMSp /= 0; 48 -- Set True for OpenVMS host. See also OpenVMS target boolean in 49 -- system-vms.ads and system-vms_64.ads and OpenVMS_On_Target boolean in 50 -- Targparm. This is not a constant, because it can be modified by -gnatdm. 51 52 Direct_Separator : constant Character; 53 pragma Import (C, Direct_Separator, "__gnat_dir_separator"); 54 Normalized_CWD : constant String := "." & Direct_Separator; 55 -- Normalized string to access current directory 56 57 Max_Line_Length : constant := 58 Types.Column_Number'Pred (Types.Column_Number'Last); 59 -- Maximum source line length. By default we set it to the maximum 60 -- value that can be supported, which is given by the range of the 61 -- Column_Number type. We subtract 1 because need to be able to 62 -- have a valid Column_Number equal to Max_Line_Length to represent 63 -- the location of a "line too long" error. 64 -- 65 -- 200 is the minimum value required (RM 2.2(15)). The value set here 66 -- can be reduced by the explicit use of the -gnatyM style switch. 67 68 Max_Name_Length : constant := 1024; 69 -- Maximum length of unit name (including all dots, and " (spec)") and 70 -- of file names in the library, must be at least Max_Line_Length, but 71 -- can be larger. 72 73 Tag_Errors : constant Boolean := False; 74 -- If set to true, then brief form error messages will be prefaced by 75 -- the string "error:". Used as default for Opt.Unique_Error_Tag. 76 77 Exclude_Missing_Objects : constant Boolean := True; 78 -- If set to true, gnatbind will exclude from consideration all 79 -- non-existent .o files. 80 81 Max_Debug_Name_Length : constant := 256; 82 -- If a generated qualified debug name exceeds this length, then it 83 -- is automatically compressed, regardless of the setting of the 84 -- Compress_Debug_Names switch controlled by -gnatC. 85 86end Hostparm; 87