aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-06-27 14:09:25 +0000
committerdos-reis <gdr@axiomatics.org>2013-06-27 14:09:25 +0000
commit8c11594887faf3a796729c4185143e1630b69d65 (patch)
treeef755a66d470c85a16d17b64e263e24d0fb212ca /src/interp
parent7f57a915cee3c91cddd166fe9964655696666c4b (diff)
downloadopen-axiom-8c11594887faf3a796729c4185143e1630b69d65.tar.gz
* interp/lisplib.boot (compDefineLisplib): Close the file
contained generated code before handing over to backend. * interp/c-util.boot (moveLibdirByCopy): The inferred destination directory is not absolute.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/c-util.boot2
-rw-r--r--src/interp/lisplib.boot6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index d9663fae..cf5b8a5a 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -1801,7 +1801,7 @@ cleanParameterList! parms ==
moveLibdirByCopy lib ==
checkMkdir libDirname lib
for src in directoryEntries libStationaryDirname lib repeat
- dst := makeFilePath(directory <- libDirname lib,
+ dst := makeFilePath(directory <- [&RELATIVE, libDirname lib],
name <- filePathName src, type <- filePathType src)
copyFile(filePathString src,filePathString dst)
removeFile libStationaryDirname lib = 0 => libDirname lib
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 3ad3bc9b..97211017 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -418,7 +418,11 @@ compDefineLisplib(db,df:=["DEF",[op,:.],:.],m,e,fal,fn) ==
leaveIfErrors(libName,dbConstructorKind db)
sayMSG ['" finalizing ",$spadLibFT,:bright libName]
finalizeLisplib(db,libName)
- RECOMPILE_-LIB_-FILE_-IF_-NECESSARY filePath libCodeStream lib
+ RECOMPILE_-LIB_-FILE_-IF_-NECESSARY
+ -- Let's close the code stream before handing over to the backend
+ st := libCodeStream lib
+ closeStream st
+ filePath st
finally
RSHUT dbLibstream db
lisplibDoRename db