[Ecls-list] ECL supports DLLs under Windows

Juan Jose Garcia Ripoll worm at arrakis.es
Fri Jun 18 01:33:04 UTC 2004


in the last couple of days I have been working on adding support for 
dynamically linked libraries (DLLs) under Windows, using the Mingw32 
environment (*)

Hopefully, this adds all features that were already available for unix: 
compiling lisp to DLLs that can be linked later, and also to FASL that 
can be loaded at run time. However the way DLLs work under Windows is 
rather different from Unix and there might be some corner cases that 
have to be solved.

To name one stupid issue, when a DLL is loaded, the associated file 
cannot be deleted because it is write-protected. However, when using 
#'COMPILE, ECL needs to produce a DLL that is only used during that 
session and has to be deleted. To solve this issue I had to add some 
sort of DLL database, plus code to auto-delete the associated, either 
during garbage collection, or when ECL is quitted.

Summing up, testers are wanted. And also people working in other 
platforms should check whether I broke anything while adding this feature.



(*) For space issues, I do no longer have a cygwin environment in my 
laptop. However, since both systems are very similar, and I use a common 
tool "dllwrap" for producing the shared libraries, everything should 
work also on cygwin. Volunteers are seeked that maintain this second port.

More information about the ecl-devel mailing list