aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2015-06-10 03:58:37 +0200
committerTristan Gingold <tgingold@free.fr>2015-06-10 03:58:37 +0200
commite726be425740402ab57e91a66d2cd8b812974bf4 (patch)
tree51d562426fe1c187ba7d723e1e76f7a522d79272 /src
parente6d3f2d007196dbddad119520c530454ab5a33c9 (diff)
downloadghdl-e726be425740402ab57e91a66d2cd8b812974bf4.tar.gz
ghdl-e726be425740402ab57e91a66d2cd8b812974bf4.tar.bz2
ghdl-e726be425740402ab57e91a66d2cd8b812974bf4.zip
Use directory of output for elaboration file.
Diffstat (limited to 'src')
-rw-r--r--src/ghdldrv/ghdllocal.adb12
-rw-r--r--src/ghdldrv/ghdllocal.ads5
2 files changed, 6 insertions, 11 deletions
diff --git a/src/ghdldrv/ghdllocal.adb b/src/ghdldrv/ghdllocal.adb
index 841971539..bd4257cbe 100644
--- a/src/ghdldrv/ghdllocal.adb
+++ b/src/ghdldrv/ghdllocal.adb
@@ -564,19 +564,13 @@ package body Ghdllocal is
return String_Access
is
use Name_Table;
- Basename : constant String := Get_Base_Name (File);
begin
if In_Work then
- Image (Libraries.Work_Directory);
+ return new String'(Image (Libraries.Work_Directory)
+ & Get_Base_Name (File) & Suffix);
else
- Nam_Length := Nam_Buffer'First - 1;
+ return new String'(File & Suffix);
end if;
- Nam_Buffer (Nam_Length + 1 .. Nam_Length + Basename'Length) :=
- Basename;
- Nam_Length := Nam_Length + Basename'Length;
- Nam_Buffer (Nam_Length + 1 .. Nam_Length + Suffix'Length) := Suffix;
- Nam_Length := Nam_Length + Suffix'Length;
- return new String'(Nam_Buffer (1 .. Nam_Length));
end Append_Suffix;
diff --git a/src/ghdldrv/ghdllocal.ads b/src/ghdldrv/ghdllocal.ads
index b051aaef2..b744950a6 100644
--- a/src/ghdldrv/ghdllocal.ads
+++ b/src/ghdldrv/ghdllocal.ads
@@ -75,8 +75,9 @@ package Ghdllocal is
-- if none.
function Get_Basename_Pos (Pathname : String) return Natural;
- -- Build a filename based on FILE: append SUFFIX as extension, and
- -- if IN_WORK is true prepend the workdir.
+ -- Build a filename based on FILE. If IN_WORK is true, the result is
+ -- the concatenation of the workdir, the basename of FILE and SUFFIX.
+ -- If IN_WORK is false, the result is the concatenation of FILE and SUFFIX.
function Append_Suffix
(File : String; Suffix : String; In_Work : Boolean := True)
return String_Access;