[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
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