# DP: - Change the default search path for project files to the one specified # DP: by the Debian Policy for Ada: /usr/share/ada/adainclude. Index: b/src/gcc/ada/Make-generated.in =================================================================== --- a/src/gcc/ada/Make-generated.in +++ b/src/gcc/ada/Make-generated.in @@ -76,6 +76,7 @@ $(ADA_GEN_SUBDIR)/stamp-sdefault : $(src $(ECHO) " S2 : constant String := \"$(ADA_RTL_OBJ_DIR)/\";" >>tmp-sdefault.adb $(ECHO) " S3 : constant String := \"$(target_noncanonical)/\";" >>tmp-sdefault.adb $(ECHO) " S4 : constant String := \"$(libsubdir)/\";" >>tmp-sdefault.adb + $(ECHO) " S5 : constant String := \"/usr/share/ada/adainclude/\";" >>tmp-sdefault.adb $(ECHO) " function Include_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb $(ECHO) " begin" >>tmp-sdefault.adb $(ECHO) " return Relocate_Path (S0, S1);" >>tmp-sdefault.adb @@ -92,6 +93,10 @@ $(ADA_GEN_SUBDIR)/stamp-sdefault : $(src $(ECHO) " begin" >>tmp-sdefault.adb $(ECHO) " return Relocate_Path (S0, S4);" >>tmp-sdefault.adb $(ECHO) " end Search_Dir_Prefix;" >>tmp-sdefault.adb + $(ECHO) " function Project_Dir_Prefix return String_Ptr is" >>tmp-sdefault.adb + $(ECHO) " begin" >>tmp-sdefault.adb + $(ECHO) " return Relocate_Path (S0, S5);" >>tmp-sdefault.adb + $(ECHO) " end Project_Dir_Prefix;" >>tmp-sdefault.adb $(ECHO) "end Sdefault;" >> tmp-sdefault.adb $(MOVE_IF_CHANGE) tmp-sdefault.adb $(ADA_GEN_SUBDIR)/sdefault.adb touch $(ADA_GEN_SUBDIR)/stamp-sdefault Index: b/src/gcc/ada/prj-env.adb =================================================================== --- a/src/gcc/ada/prj-env.adb +++ b/src/gcc/ada/prj-env.adb @@ -1877,6 +1877,7 @@ package body Prj.Env is Target_Name : String; Runtime_Name : String := "") is + pragma Unreferenced (Target_Name); Add_Default_Dir : Boolean := Target_Name /= "-"; First : Positive; Last : Positive; @@ -2075,82 +2076,9 @@ package body Prj.Env is -- Set the initial value of Current_Project_Path - if Add_Default_Dir then - if Sdefault.Search_Dir_Prefix = null then - - -- gprbuild case - - Prefix := new String'(Executable_Prefix_Path); - - else - Prefix := new String'(Sdefault.Search_Dir_Prefix.all - & ".." & Dir_Separator - & ".." & Dir_Separator - & ".." & Dir_Separator - & ".." & Dir_Separator); - end if; - - if Prefix.all /= "" then - if Target_Name /= "" then - - if Runtime_Name /= "" then - if Base_Name (Runtime_Name) = Runtime_Name then - - -- $prefix/$target/$runtime/lib/gnat - Add_Target; - Add_Str_To_Name_Buffer - (Runtime_Name & Directory_Separator & - "lib" & Directory_Separator & "gnat"); - - -- $prefix/$target/$runtime/share/gpr - Add_Target; - Add_Str_To_Name_Buffer - (Runtime_Name & Directory_Separator & - "share" & Directory_Separator & "gpr"); - - else - Runtime := - new String'(Normalize_Pathname (Runtime_Name)); - - -- $runtime_dir/lib/gnat - Add_Str_To_Name_Buffer - (Path_Separator & Runtime.all & Directory_Separator & - "lib" & Directory_Separator & "gnat"); - - -- $runtime_dir/share/gpr - Add_Str_To_Name_Buffer - (Path_Separator & Runtime.all & Directory_Separator & - "share" & Directory_Separator & "gpr"); - end if; - end if; - - -- $prefix/$target/lib/gnat - - Add_Target; - Add_Str_To_Name_Buffer - ("lib" & Directory_Separator & "gnat"); - - -- $prefix/$target/share/gpr - - Add_Target; - Add_Str_To_Name_Buffer - ("share" & Directory_Separator & "gpr"); - end if; - - -- $prefix/share/gpr - - Add_Str_To_Name_Buffer - (Path_Separator & Prefix.all & "share" - & Directory_Separator & "gpr"); - - -- $prefix/lib/gnat - - Add_Str_To_Name_Buffer - (Path_Separator & Prefix.all & "lib" - & Directory_Separator & "gnat"); - end if; - - Free (Prefix); + if Add_Default_Dir and Sdefault.Project_Dir_Prefix /= null then + Add_Str_To_Name_Buffer (Path_Separator + & Sdefault.Project_Dir_Prefix.all); end if; Self.Path := new String'(Name_Buffer (1 .. Name_Len)); Index: b/src/gcc/ada/sdefault.ads =================================================================== --- a/src/gcc/ada/sdefault.ads +++ b/src/gcc/ada/sdefault.ads @@ -35,4 +35,5 @@ package Sdefault is function Object_Dir_Default_Name return String_Ptr; function Target_Name return String_Ptr; function Search_Dir_Prefix return String_Ptr; + function Project_Dir_Prefix return String_Ptr; end Sdefault;