aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/prj.ads
diff options
context:
space:
mode:
authorEmmanuel Briot <briot@adacore.com>2009-08-17 11:42:19 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-08-17 11:42:19 +0200
commit48eff283138708a8be3d3ed2ad20d34f875abbb8 (patch)
tree4728ff516530c2b8bab54862de22026b6598e1e5 /gcc/ada/prj.ads
parent88eb6e62fcba2cb0c92194b4a3dbb29c4385ae75 (diff)
downloadgcc-48eff283138708a8be3d3ed2ad20d34f875abbb8.zip
gcc-48eff283138708a8be3d3ed2ad20d34f875abbb8.tar.gz
gcc-48eff283138708a8be3d3ed2ad20d34f875abbb8.tar.bz2
2009-08-17 Emmanuel Briot <briot@adacore.com>
* prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb (Processing_Flags.Require_Obj_Dirs): new field, which controls whether object directories must be present. In the case of gprclean at least, these are optional (if they do not exist there is nothing to clean) From-SVN: r150827
Diffstat (limited to 'gcc/ada/prj.ads')
-rw-r--r--gcc/ada/prj.ads25
1 files changed, 22 insertions, 3 deletions
diff --git a/gcc/ada/prj.ads b/gcc/ada/prj.ads
index 8f95c08..76eb59a 100644
--- a/gcc/ada/prj.ads
+++ b/gcc/ada/prj.ads
@@ -1386,7 +1386,9 @@ package Prj is
Require_Sources_Other_Lang : Boolean := True;
Allow_Duplicate_Basenames : Boolean := True;
Compiler_Driver_Mandatory : Boolean := False;
- Error_On_Unknown_Language : Boolean := True) return Processing_Flags;
+ Error_On_Unknown_Language : Boolean := True;
+ Require_Obj_Dirs : Error_Warning := Error)
+ return Processing_Flags;
-- Function used to create Processing_Flags structure
--
-- If Allow_Duplicate_Basenames, then files with the same base names are
@@ -1410,8 +1412,13 @@ package Prj is
--
-- If Error_On_Unknown_Language is true, an error is displayed if some of
-- the source files listed in the project do not match any naming scheme
+ --
+ -- If Require_Obj_Dirs is true, then all object directories must exist
+ -- (possibly after they have been created automatically if the appropriate
+ -- switches were specified), or an error is raised.
Gprbuild_Flags : constant Processing_Flags;
+ Gprclean_Flags : constant Processing_Flags;
Gnatmake_Flags : constant Processing_Flags;
-- Flags used by the various tools. They all display the error messages
-- through Prj.Err.
@@ -1516,6 +1523,7 @@ private
Allow_Duplicate_Basenames : Boolean;
Compiler_Driver_Mandatory : Boolean;
Error_On_Unknown_Language : Boolean;
+ Require_Obj_Dirs : Error_Warning;
end record;
Gprbuild_Flags : constant Processing_Flags :=
@@ -1524,7 +1532,17 @@ private
Require_Sources_Other_Lang => True,
Allow_Duplicate_Basenames => False,
Compiler_Driver_Mandatory => True,
- Error_On_Unknown_Language => True);
+ Error_On_Unknown_Language => True,
+ Require_Obj_Dirs => Error);
+
+ Gprclean_Flags : constant Processing_Flags :=
+ (Report_Error => null,
+ When_No_Sources => Warning,
+ Require_Sources_Other_Lang => True,
+ Allow_Duplicate_Basenames => False,
+ Compiler_Driver_Mandatory => True,
+ Error_On_Unknown_Language => True,
+ Require_Obj_Dirs => Warning);
Gnatmake_Flags : constant Processing_Flags :=
(Report_Error => null,
@@ -1532,6 +1550,7 @@ private
Require_Sources_Other_Lang => False,
Allow_Duplicate_Basenames => False,
Compiler_Driver_Mandatory => False,
- Error_On_Unknown_Language => False);
+ Error_On_Unknown_Language => False,
+ Require_Obj_Dirs => Error);
end Prj;