aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-11-30 14:36:29 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2009-11-30 14:36:29 +0100
commitc3ed199275440686b6a35225d9b698c27b5bef24 (patch)
tree9a889615e4cf57aafdbebc212f3bddca1e73b845 /gcc/ada
parent55277d8fb522f301d7a8bbcfd681517b3080dc16 (diff)
downloadgcc-c3ed199275440686b6a35225d9b698c27b5bef24.zip
gcc-c3ed199275440686b6a35225d9b698c27b5bef24.tar.gz
gcc-c3ed199275440686b6a35225d9b698c27b5bef24.tar.bz2
[multiple changes]
2009-11-30 Emmanuel Briot <briot@adacore.com> * gnat_ugn.texi: Extend doc for -eL 2009-11-30 Vincent Celier <celier@adacore.com> * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the Name_Buffer before testing for a dot in the Name. 2009-11-30 Vincent Celier <celier@adacore.com> * prj-part.adb (Project_Path_Name_Of): Resolve links for final result if -eL has been specified. From-SVN: r154798
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog14
-rw-r--r--gcc/ada/gnat_ugn.texi14
-rw-r--r--gcc/ada/osint.adb4
-rw-r--r--gcc/ada/prj-part.adb2
4 files changed, 31 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6aa41d9..2090693 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,17 @@
+2009-11-30 Emmanuel Briot <briot@adacore.com>
+
+ * gnat_ugn.texi: Extend doc for -eL
+
+2009-11-30 Vincent Celier <celier@adacore.com>
+
+ * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
+ Name_Buffer before testing for a dot in the Name.
+
+2009-11-30 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Project_Path_Name_Of): Resolve links for final result
+ if -eL has been specified.
+
2009-11-30 Vincent Celier <celier@adacore.com>
* osint.adb (Executable_Name): Test the name instead of the name buffer
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index 4f21857..87faf97 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -9326,7 +9326,21 @@ This switch cannot be used when using a project file.
@ifclear vms
@item -eL
@cindex @option{-eL} (@command{gnatmake})
+@cindex symbolic links
Follow all symbolic links when processing project files.
+This should be used if your project uses symbolic links for files or
+directories, but is not needed in other cases.
+
+@cindex naming scheme
+This also assumes that no directory matches the naming scheme for files (for
+instance that you do not have a directory called "sources.ads" when using the
+default GNAT naming scheme).
+
+When you do not have to use this switch (ie by default), gnatmake is able to
+save a lot of system calls (several per source file and object file), which
+can result in a significant speed up to load and manipulate a project file,
+especially when using source files from a remote system.
+
@end ifclear
@item ^-eS^/STANDARD_OUTPUT_FOR_COMMANDS^
diff --git a/gcc/ada/osint.adb b/gcc/ada/osint.adb
index fd42107..bf2b234 100644
--- a/gcc/ada/osint.adb
+++ b/gcc/ada/osint.adb
@@ -813,6 +813,8 @@ package body Osint is
end if;
if Exec_Suffix'Length /= 0 then
+ Get_Name_String (Name);
+
Add_Suffix := True;
if Only_If_No_Suffix then
for J in reverse 1 .. Name_Len loop
@@ -829,8 +831,6 @@ package body Osint is
end if;
if Add_Suffix then
- Get_Name_String (Name);
-
declare
Buffer : String := Name_Buffer (1 .. Name_Len);
diff --git a/gcc/ada/prj-part.adb b/gcc/ada/prj-part.adb
index 7702f54..c733f38 100644
--- a/gcc/ada/prj-part.adb
+++ b/gcc/ada/prj-part.adb
@@ -2083,7 +2083,7 @@ package body Prj.Part is
GNAT.OS_Lib.Normalize_Pathname
(Result.all,
Directory => Directory,
- Resolve_Links => False,
+ Resolve_Links => Opt.Follow_Links_For_Files,
Case_Sensitive => True);
begin
Free (Result);