aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog7
-rw-r--r--src/interp/c-util.boot2
-rw-r--r--src/interp/lisplib.boot6
3 files changed, 13 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 47561b81..be61bc0d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
+2013-06-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * 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.
+
2013-06-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
* include/sexpr.H (Lexer): Remove.
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