summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 6aa41d98aef..20906938aa3 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 4f218579dc9..87faf97d0ed 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 fd4210744b2..bf2b234000b 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 7702f540930..c733f38365c 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);