From 8045c479546de9d456e1be06d8d8f1dbc922684f Mon Sep 17 00:00:00 2001 From: Vincent Celier Date: Fri, 1 Aug 2008 11:03:11 +0200 Subject: [PATCH] 2008-08-01 Vincent Celier * mlib-utl.adb: (Adalib_Path): New variable to store the path of the adalib directory when procedure Specify_Adalib_Dir is called. (Lib_Directory): If Adalib_Path is not null, return its value (Specify_Adalib_Dir): New procedure * mlib-utl.ads (Specify_Adalib_Dir): New procedure From-SVN: r138488 --- gcc/ada/mlib-utl.adb | 24 ++++++++++++++++++++++++ gcc/ada/mlib-utl.ads | 6 ++++++ 2 files changed, 30 insertions(+) diff --git a/gcc/ada/mlib-utl.adb b/gcc/ada/mlib-utl.adb index 4d15ad8..76e7db5 100644 --- a/gcc/ada/mlib-utl.adb +++ b/gcc/ada/mlib-utl.adb @@ -35,6 +35,10 @@ with System; package body MLib.Utl is + Adalib_Path : String_Access := null; + -- Path of the GNAT adalib directory, specified in procedure + -- Specify_Adalib_Dir. Used in function Lib_Directory. + Gcc_Name : String_Access; -- Default value of the "gcc" executable used in procedure Gcc @@ -597,6 +601,13 @@ package body MLib.Utl is Libgnat : constant String := Tgt.Libgnat; begin + -- If procedure Specify_Adalib_Dir has been called, used the specified + -- value. + + if Adalib_Path /= null then + return Adalib_Path.all; + end if; + Name_Len := Libgnat'Length; Name_Buffer (1 .. Name_Len) := Libgnat; Get_Name_String (Osint.Find_File (Name_Enter, Osint.Library)); @@ -606,4 +617,17 @@ package body MLib.Utl is return Name_Buffer (1 .. Name_Len - Libgnat'Length); end Lib_Directory; + ------------------------ + -- Specify_Adalib_Dir -- + ------------------------ + + procedure Specify_Adalib_Dir (Path : String) is + begin + if Path'Length = 0 then + Adalib_Path := null; + else + Adalib_Path := new String'(Path); + end if; + end Specify_Adalib_Dir; + end MLib.Utl; diff --git a/gcc/ada/mlib-utl.ads b/gcc/ada/mlib-utl.ads index 237c678..f91eebf 100644 --- a/gcc/ada/mlib-utl.ads +++ b/gcc/ada/mlib-utl.ads @@ -58,4 +58,10 @@ package MLib.Utl is function Lib_Directory return String; -- Return the directory containing libgnat + procedure Specify_Adalib_Dir (Path : String); + -- Specify the path of the GNAT adalib directory, to be returned by + -- function Lib_Directory without looking for it. This is used only in + -- gprlib, because we cannot rely on the search in Lib_Directory, as the + -- GNAT version may be different for gprbuild/gprlib and the compiler. + end MLib.Utl; -- 2.7.4