1------------------------------------------------------------------------------ 2-- -- 3-- GNAT COMPILER COMPONENTS -- 4-- -- 5-- P R J . N M S C -- 6-- -- 7-- S p e c -- 8-- -- 9-- Copyright (C) 2000-2011, 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. 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 COPYING3. If not, go to -- 19-- http://www.gnu.org/licenses for a complete copy of the license. -- 20-- -- 21-- GNAT was originally developed by the GNAT team at New York University. -- 22-- Extensive contributions were provided by Ada Core Technologies Inc. -- 23-- -- 24------------------------------------------------------------------------------ 25 26-- Find source dirs and source files for a project 27 28with Prj.Tree; 29 30private package Prj.Nmsc is 31 32 procedure Process_Naming_Scheme 33 (Tree : Project_Tree_Ref; 34 Root_Project : Project_Id; 35 Node_Tree : Prj.Tree.Project_Node_Tree_Ref; 36 Flags : Processing_Flags); 37 -- Perform consistency and semantic checks on all the projects in the tree. 38 -- This procedure interprets the various case statements in the project 39 -- based on the current external references. After checking the validity of 40 -- the naming scheme, it searches for all the source files of the project. 41 -- The result of this procedure is a filled-in data structure for 42 -- Project_Id which contains all the information about the project. This 43 -- information is only valid while the external references are preserved. 44 45 procedure Process_Aggregated_Projects 46 (Tree : Project_Tree_Ref; 47 Project : Project_Id; 48 Node_Tree : Prj.Tree.Project_Node_Tree_Ref; 49 Flags : Processing_Flags); 50 -- Assuming Project is an aggregate project, find out (based on the 51 -- current external references) what are the projects it aggregates. 52 -- This has to be done in phase 1 of the processing, so that we know the 53 -- full list of languages required for root_project and its aggregated 54 -- projects. As a result, it cannot be done as part of 55 -- Process_Naming_Scheme. 56 57end Prj.Nmsc; 58