diff options
author | gingold | 2006-10-02 04:18:48 +0000 |
---|---|---|
committer | gingold | 2006-10-02 04:18:48 +0000 |
commit | 17450f134e39ffa345eab48dd9aec6127a893946 (patch) | |
tree | 485583076df7918266cc00550cea159e6a9e65a2 | |
parent | 34c8fdb9e08041c7bd3ee344cbd73a9a46ecc4bd (diff) | |
download | ghdl-17450f134e39ffa345eab48dd9aec6127a893946.tar.gz ghdl-17450f134e39ffa345eab48dd9aec6127a893946.tar.bz2 ghdl-17450f134e39ffa345eab48dd9aec6127a893946.zip |
support of GHDL_PREFIX env variable, use ghdl_release instead of ghdl_version
-rw-r--r-- | translate/ghdldrv/ghdlcomp.adb | 22 | ||||
-rw-r--r-- | translate/ghdldrv/ghdldrv.adb | 20 | ||||
-rw-r--r-- | translate/ghdldrv/ghdllocal.adb | 17 | ||||
-rw-r--r-- | translate/ghdldrv/ghdllocal.ads | 3 | ||||
-rw-r--r-- | translate/ghdldrv/ghdlmain.adb | 2 | ||||
-rw-r--r-- | translate/ghdldrv/ghdlprint.adb | 2 |
6 files changed, 58 insertions, 8 deletions
diff --git a/translate/ghdldrv/ghdlcomp.adb b/translate/ghdldrv/ghdlcomp.adb index eb89908..a3895f9 100644 --- a/translate/ghdldrv/ghdlcomp.adb +++ b/translate/ghdldrv/ghdlcomp.adb @@ -33,6 +33,7 @@ with Libraries; with Std_Package; with Files_Map; with Version; +with Default_Pathes; package body Ghdlcomp is @@ -465,9 +466,24 @@ package body Ghdlcomp is raise Errorout.Option_Error; end if; + Put ("command line prefix (--PREFIX): "); + if Prefix_Path = null then + Put_Line ("(not set)"); + else + Put_Line (Prefix_Path.all); + end if; Setup_Libraries (False); - Put ("library directory: "); - Put_Line (Prefix_Path.all); + + Put ("environment prefix (GHDL_PREFIX): "); + if Prefix_Env = null then + Put_Line ("(not set)"); + else + Put_Line (Prefix_Env.all); + end if; + + Put_Line ("default prefix: " & Default_Pathes.Prefix); + Put_Line ("actual prefix: " & Prefix_Path.all); + Put_Line ("command_name: " & Ada.Command_Line.Command_Name); Put_Line ("default library pathes:"); for I in 2 .. Get_Nbr_Pathes loop Put (' '); @@ -596,7 +612,7 @@ package body Ghdlcomp is Put_Line ("# Makefile automatically generated by ghdl"); Put ("# Version: "); - Put (Version.Ghdl_Version); + Put (Version.Ghdl_Release); Put (" - "); if Version_String /= null then Put (Version_String.all); diff --git a/translate/ghdldrv/ghdldrv.adb b/translate/ghdldrv/ghdldrv.adb index 14e6129..52b7e5a 100644 --- a/translate/ghdldrv/ghdldrv.adb +++ b/translate/ghdldrv/ghdldrv.adb @@ -741,7 +741,25 @@ package body Ghdldrv is end if; Put ("linker command: "); Put_Line (Linker_Cmd); + + Put ("command line prefix (--PREFIX): "); + if Prefix_Path = null then + Put_Line ("(not set)"); + else + Put_Line (Prefix_Path.all); + end if; Setup_Libraries (False); + + Put ("environment prefix (GHDL_PREFIX): "); + if Prefix_Env = null then + Put_Line ("(not set)"); + else + Put_Line (Prefix_Env.all); + end if; + + Put_Line ("default prefix: " & Default_Pathes.Prefix); + Put_Line ("actual prefix: " & Prefix_Path.all); + Put ("library directory: "); Put_Line (Get_Machine_Path_Prefix); Locate_Tools; @@ -1572,7 +1590,7 @@ package body Ghdldrv is Put_Line ("# Makefile automatically generated by ghdl"); Put ("# Version: "); - Put (Version.Ghdl_Version); + Put (Version.Ghdl_Release); Put (" - "); if Version_String /= null then Put (Version_String.all); diff --git a/translate/ghdldrv/ghdllocal.adb b/translate/ghdldrv/ghdllocal.adb index 9eccdcf..fb8f5f6 100644 --- a/translate/ghdldrv/ghdllocal.adb +++ b/translate/ghdldrv/ghdllocal.adb @@ -177,7 +177,7 @@ package body Ghdllocal is function Get_Machine_Path_Prefix return String is begin if Flag_32bit then - return Prefix_Path.all & "32" & Directory_Separator; + return Prefix_Path.all & "32"; else return Prefix_Path.all; end if; @@ -187,13 +187,26 @@ package body Ghdllocal is is begin Libraries.Add_Library_Path - (Get_Machine_Path_Prefix & Get_Version_Path & Directory_Separator + (Get_Machine_Path_Prefix & Directory_Separator + & Get_Version_Path & Directory_Separator & Name & Directory_Separator); end Add_Library_Path; procedure Setup_Libraries (Load : Boolean) is begin + -- Get environment variable. + Prefix_Env := GNAT.OS_Lib.Getenv ("GHDL_PREFIX"); + if Prefix_Env = null or else Prefix_Env.all = "" then + Prefix_Env := null; + end if; + + -- Set prefix path. + -- If not set by command line, try environment variable. + if Prefix_Path = null then + Prefix_Path := Prefix_Env; + end if; + -- Else try default path. if Prefix_Path = null then Prefix_Path := new String'(Default_Pathes.Prefix); else diff --git a/translate/ghdldrv/ghdllocal.ads b/translate/ghdldrv/ghdllocal.ads index 817cc8f..f55503a 100644 --- a/translate/ghdldrv/ghdllocal.ads +++ b/translate/ghdldrv/ghdllocal.ads @@ -53,6 +53,9 @@ package Ghdllocal is -- Path prefix for libraries. Prefix_Path : String_Access := null; + -- getenv ("GHDL_PREFIX"). Set by Setup_Libraries. + Prefix_Env : String_Access := null; + Nul : constant Character := Character'Val (0); -- Return FILENAME without the extension. diff --git a/translate/ghdldrv/ghdlmain.adb b/translate/ghdldrv/ghdlmain.adb index 8875279..0c2f39a 100644 --- a/translate/ghdldrv/ghdlmain.adb +++ b/translate/ghdldrv/ghdlmain.adb @@ -216,7 +216,7 @@ package body Ghdlmain is pragma Unreferenced (Cmd); use Ada.Text_IO; begin - Put_Line (Version.Ghdl_Version); + Put_Line (Version.Ghdl_Release); Put_Line (" Compiled with " & Bug.Get_Gnat_Version); if Version_String /= null then Put (" "); diff --git a/translate/ghdldrv/ghdlprint.adb b/translate/ghdldrv/ghdlprint.adb index d9de2df..45750ef 100644 --- a/translate/ghdldrv/ghdlprint.adb +++ b/translate/ghdldrv/ghdlprint.adb @@ -475,7 +475,7 @@ package body Ghdlprint is Put_Line ("<p>"); Put ("<small>This page was generated using "); Put ("<a href=""http://ghdl.free.fr"">"); - Put (Version.Ghdl_Version); + Put (Version.Ghdl_Release); Put ("</a>, a program written by"); Put (" Tristan Gingold"); New_Line; |