<div class="gmail_quote">On Fri, Aug 17, 2012 at 12:46 PM, Jean-Pierre Flori <span dir="ltr"><<a href="mailto:jpflori@gmail.com" target="_blank">jpflori@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Cygwin at least, when the linker is given the -lecl flag, it will<br>
look for files in PATH in a certain order.<br>
First libecl.dll.a, then ..., then cygecl.dll, then ... then ecl.dll<br>
IIRC [...]<br>
So if we only have cygecl.dll every thing should be fine, provided<br>
xxx/bin is in PATH (or wherever it was installed).<br></blockquote><div><br></div><div>That is not a problem: it is already a requirement.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
>From what I understand, the linking process will be somehow slower,<br></blockquote><div><br></div><div>There's nothing that prevents ECL from using import libraries, but the fact that Lisp users expect only one file to be generated by COMPILE-FILE, not two. However, in the case of full DLLs (as with ecl.dll) we could afford to use an import library.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">As there seems to be a free version floating around, I think I'll give<br>
it a try... What pieces of the ECL suite do actually link to ecl.dll?<br></blockquote><div><br></div><div>The executable itself plus all compiled files (*.fas). When a Lisp user compiles a library, such as those distributed with quicklisp, or Maxima, or the modules that ECL builds (ecl-curl, asdf, etc), they have to be linked with the library.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Oh, and a final remark, on Cygwin at least, the dllimport magic is broken.<br>
The dllexport stuff gets defined in the headers at build time because<br>
"cygwin" is defined by the build system.<br>
But when included from another project (let's say Sage :), the<br>
dllimport is included only if "cygwin" is defined... which has no<br>
reason to be.<br>
The easiest fix I found was to define "cygwin" when "__CYGWIN__" is<br>
(and that gcc does define on Cygwin).</blockquote><div><br></div><div>We would have to fix the ECL headers.</div><div><br></div><div>Juanjo</div></div><div><br></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br>
<a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>