OSDN Git Service

2009-11-30 Emmanuel Briot <briot@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Nov 2009 13:36:29 +0000 (13:36 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Nov 2009 13:36:29 +0000 (13:36 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154798 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/gnat_ugn.texi
gcc/ada/osint.adb
gcc/ada/prj-part.adb

index 6aa41d9..2090693 100644 (file)
@@ -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
index 4f21857..87faf97 100644 (file)
@@ -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^
index fd42107..bf2b234 100644 (file)
@@ -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);
 
index 7702f54..c733f38 100644 (file)
@@ -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);