1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
10 -- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
12 -- GNAT is free software; you can redistribute it and/or modify it under --
13 -- terms of the GNU General Public License as published by the Free Soft- --
14 -- ware Foundation; either version 2, or (at your option) any later ver- --
15 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
16 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
17 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
18 -- for more details. You should have received a copy of the GNU General --
19 -- Public License distributed with GNAT; see file COPYING. If not, write --
20 -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
21 -- MA 02111-1307, USA. --
23 -- GNAT was originally developed by the GNAT team at New York University. --
24 -- Extensive contributions were provided by Ada Core Technologies Inc. --
26 ------------------------------------------------------------------------------
28 -- Support for procedure Gnatname.
30 -- For arbitrary naming schemes, create or update a project file,
31 -- or create a configuration pragmas file.
33 with GNAT
.OS_Lib
; use GNAT
.OS_Lib
;
39 Project_File
: Boolean;
40 Directories
: Argument_List
;
41 Name_Patterns
: Argument_List
;
42 Excluded_Patterns
: Argument_List
;
43 Very_Verbose
: Boolean);
44 -- Create a project file or a configuration pragmas file
46 -- Project_File is the path name of the project file. If the project
47 -- file already exists parse it and keep all the elements that are not
48 -- automatically generated.
50 -- Directory_List_File is the path name of a text file that
51 -- contains on each non empty line the path names of the source
52 -- directories for the project file. The source directories
53 -- are relative to the directory of the project file.
55 -- File_Name_Patterns is a GNAT.Regexp string pattern such as
56 -- ".*\.ads|.*\.adb" or any other pattern.
58 -- A project file (without any sources) is automatically generated
59 -- with the name <project>_naming. It contains a package Naming with
60 -- all the specs and bodies for the project.
61 -- A file containing the source file names is automatically
62 -- generated and used as the Source_File_List for the project file.