summaryrefslogtreecommitdiffstats
path: root/gcc/ada/prj-conf.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-17 09:42:19 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-17 09:42:19 +0000
commit5386d9cf31d935d4afe5d5c8efa5f521fc34542d (patch)
tree4728ff516530c2b8bab54862de22026b6598e1e5 /gcc/ada/prj-conf.adb
parent8aa885d03314fbb19d35723fb007a78d5d54cf8e (diff)
downloadppe42-gcc-5386d9cf31d935d4afe5d5c8efa5f521fc34542d.tar.gz
ppe42-gcc-5386d9cf31d935d4afe5d5c8efa5f521fc34542d.zip
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) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150827 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/prj-conf.adb')
-rw-r--r--gcc/ada/prj-conf.adb14
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ada/prj-conf.adb b/gcc/ada/prj-conf.adb
index 9258cd4c5de..879178de122 100644
--- a/gcc/ada/prj-conf.adb
+++ b/gcc/ada/prj-conf.adb
@@ -29,6 +29,7 @@ with Makeutl; use Makeutl;
with MLib.Tgt;
with Opt; use Opt;
with Output; use Output;
+with Prj.Err;
with Prj.Part;
with Prj.PP;
with Prj.Proc; use Prj.Proc;
@@ -722,8 +723,17 @@ package body Prj.Conf is
end if;
if not Is_Directory (Obj_Dir) then
- raise Invalid_Config
- with "object directory " & Obj_Dir & " does not exist";
+ case Flags.Require_Obj_Dirs is
+ when Error =>
+ raise Invalid_Config
+ with "object directory " & Obj_Dir & " does not exist";
+ when Warning =>
+ Prj.Err.Error_Msg
+ (Flags,
+ "?object directory " & Obj_Dir & " does not exist");
+ when Silent =>
+ null;
+ end case;
end if;
-- Invoke gprconfig
OpenPOWER on IntegriCloud