]>
Commit | Line | Data |
---|---|---|
07fc65c4 GB |
1 | ------------------------------------------------------------------------------ |
2 | -- -- | |
3 | -- GNAT COMPILER COMPONENTS -- | |
4 | -- -- | |
5 | -- O S I N T - B -- | |
6 | -- -- | |
7 | -- S p e c -- | |
8 | -- -- | |
1d005acc | 9 | -- Copyright (C) 2001-2019, Free Software Foundation, Inc. -- |
07fc65c4 GB |
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- -- | |
b5c84c3c | 13 | -- ware Foundation; either version 3, or (at your option) any later ver- -- |
07fc65c4 GB |
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 -- | |
b5c84c3c RD |
18 | -- Public License distributed with GNAT; see file COPYING3. If not, go to -- |
19 | -- http://www.gnu.org/licenses for a complete copy of the license. -- | |
07fc65c4 GB |
20 | -- -- |
21 | -- GNAT was originally developed by the GNAT team at New York University. -- | |
1f02b6af | 22 | -- Extensive contributions were provided by Ada Core Technologies Inc. -- |
07fc65c4 GB |
23 | -- -- |
24 | ------------------------------------------------------------------------------ | |
25 | ||
26 | -- This package contains the low level, operating system routines used only | |
27 | -- in the GNAT binder for command line processing and file input output. | |
28 | ||
29 | package Osint.B is | |
30 | ||
07fc65c4 GB |
31 | function More_Lib_Files return Boolean; |
32 | -- Indicates whether more library information files remain to be processed. | |
33 | -- Returns False right away if no source files, or if all source files | |
34 | -- have been processed. | |
35 | ||
36 | function Next_Main_Lib_File return File_Name_Type; | |
37 | -- This function returns the name of the next library info file specified | |
38 | -- on the command line. It is an error to call Next_Main_Lib_File if no | |
39 | -- more library information files exist (i.e. Next_Main_Lib_File may be | |
40 | -- called only if a previous call to More_Lib_Files returned True). This | |
41 | -- name is the simple name, excluding any directory information. | |
42 | ||
07fc65c4 GB |
43 | ------------------- |
44 | -- Binder Output -- | |
45 | ------------------- | |
46 | ||
7a5b62b0 AC |
47 | -- These routines are used by the binder to generate the Ada source files |
48 | -- containing the binder output. The format of these files is described in | |
49 | -- package Bindgen. | |
07fc65c4 GB |
50 | |
51 | procedure Create_Binder_Output | |
52 | (Output_File_Name : String; | |
53 | Typ : Character; | |
54 | Bfile : out Name_Id); | |
55 | -- Creates the binder output file. Typ is one of | |
07fc65c4 GB |
56 | -- 'b' create body file for case of generating Ada |
57 | -- 's' create spec file for case of generating Ada | |
58 | -- | |
59 | -- If Output_File_Name is null, then a default name is used based on | |
60 | -- the name of the most recently accessed main source file name. If | |
61 | -- Output_File_Name is non-null then it is the full path name of the | |
62 | -- file to be output (in the case of Ada, it must have an extension | |
63 | -- of adb, and the spec file is created by changing the last character | |
64 | -- from b to s. On return, Bfile also contains the Name_Id for the | |
65 | -- generated file name. | |
66 | ||
67 | procedure Write_Binder_Info (Info : String); | |
68 | -- Writes the contents of the referenced string to the binder output file | |
69 | -- created by a previous call to Create_Binder_Output. Info represents a | |
70 | -- single line in the file, but does not contain any line termination | |
71 | -- characters. The implementation of Write_Binder_Info is responsible | |
72 | -- for adding necessary end of line and end of file control characters | |
73 | -- as required by the operating system. | |
74 | ||
75 | procedure Close_Binder_Output; | |
76 | -- Closes the file created by Create_Binder_Output, flushing any | |
dec55d76 | 77 | -- buffers etc. from writes by Write_Binder_Info. |
07fc65c4 | 78 | |
6de1be02 | 79 | procedure Set_Current_File_Name_Index (To : Int); |
1033834f | 80 | -- Set value of Current_File_Name_Index (in private part of Osint) to To |
6de1be02 | 81 | |
12577815 TQ |
82 | ---------------------------------- |
83 | -- Other binder-generated files -- | |
84 | ---------------------------------- | |
85 | ||
86 | procedure Set_List_File (Filename : String); | |
87 | -- Create Filename as a text output file and set it as the current output | |
88 | -- (see Output.Set_Output). | |
89 | ||
90 | procedure Close_List_File; | |
91 | -- If a specific output file was created by Set_List_File, close it and | |
92 | -- reset the current output file to standard output. | |
93 | ||
07fc65c4 | 94 | end Osint.B; |