blob: c5df6274ad1301ae6a1a63e65702946869933024 [file] [log] [blame]
------------------------------------------------------------------------------
-- --
-- GNAT COMPILER COMPONENTS --
-- --
-- B L D - I O --
-- --
-- S p e c --
-- --
-- Copyright (C) 2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 2, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
-- for more details. You should have received a copy of the GNU General --
-- Public License distributed with GNAT; see file COPYING. If not, write --
-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
-- MA 02111-1307, USA. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- The following private package allows the ouput of text to Makefiles
-- though buffers. It is possible to remove some lines from the buffers
-- without putting them effectively in the Makefile.
private package Bld.IO is
procedure Create (File_Name : String);
-- Create a new Makefile
procedure Flush;
-- Output all not suppressed lines to the Makefile
procedure Close;
-- Close the current Makefile
procedure Delete_All;
-- Delete all the Makefiles that have been created
function Name_Of_File return String;
-- Return the path name of the current Makefile
type Position is private;
-- Identification of a line in the Makefile
procedure Mark (Pos : out Position);
-- Record the current line.
-- No characters should have been already put on this line.
procedure Release (Pos : Position);
-- Suppress all line after this one, including this one.
procedure Suppress (Pos : Position);
-- Suppress a particular line
procedure Put (S : String);
-- Append a string to the current line
procedure New_Line;
-- End a line. Go to the next one (initially empty).
private
type Position is record
Value : Positive := 1;
end record;
end Bld.IO;