diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-03 15:30:38 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-03 15:30:38 +0000 |
commit | bd30f230871f8af9fa285d0274a9246e72df41d9 (patch) | |
tree | b1948d16356c5cde22a3e4a23b2805074f88b61d /gcc/ada/prj.ads | |
parent | d8c1cfef7febf544cfec608b90dc2d3c453f3dfb (diff) | |
download | gcc-bd30f230871f8af9fa285d0274a9246e72df41d9.tar.gz |
2011-08-03 Emmanuel Briot <briot@adacore.com>
* prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
the "roots" for a main.
(Fill_From_Project): add support for aggregate projects. Main units
in aggregated projects are now automatically added in the list of
files to build (although this fails later on in gprbuild, because
these files are not using the root proejct tree, so this needs
further cleanup)
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177287 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/prj.ads')
-rw-r--r-- | gcc/ada/prj.ads | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ada/prj.ads b/gcc/ada/prj.ads index c57f37246e4..578faf2659b 100644 --- a/gcc/ada/prj.ads +++ b/gcc/ada/prj.ads @@ -660,6 +660,17 @@ package Prj is No_Unit_Index : constant Unit_Index := null; -- Used to indicate a null entry for no unit + type Source_Roots; + type Roots_Access is access Source_Roots; + type Source_Roots is record + Root : Source_Id; + Next : Roots_Access; + end record; + -- A list to store the roots associated with a main unit. These are the + -- files that need to linked along with the main (for instance a C file + -- corresponding to an Ada file). In general, these are dependencies that + -- cannot be computed automatically by the builder. + -- Structure to define source data type Source_Data is record @@ -784,6 +795,9 @@ package Prj is Next_With_File_Name : Source_Id := No_Source; -- Link to another source with the same base file name + Roots : Roots_Access := null; + -- The roots for a main unit + end record; No_Source_Data : constant Source_Data := @@ -821,7 +835,8 @@ package Prj is Naming_Exception => False, Duplicate_Unit => False, Next_In_Lang => No_Source, - Next_With_File_Name => No_Source); + Next_With_File_Name => No_Source, + Roots => null); package Source_Files_Htable is new Simple_HTable (Header_Num => Header_Num, |