[Ecls-list] Build system on Cygwin

Juan Jose Garcia-Ripoll juanjose.garciaripoll at gmail.com
Fri Aug 17 11:09:55 UTC 2012


On Fri, Aug 17, 2012 at 12:46 PM, Jean-Pierre Flori <jpflori at gmail.com>wrote:

> On Cygwin at least, when the linker is given the -lecl flag, it will
> look for files in PATH in a certain order.
> First libecl.dll.a, then ..., then cygecl.dll, then ... then ecl.dll
> IIRC [...]
> So if we only have cygecl.dll every thing should be fine, provided
> xxx/bin is in PATH (or wherever it was installed).
>

That is not a problem: it is already a requirement.


> From what I understand, the linking process will be somehow slower,
>

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.


> As there seems to be a free version floating around, I think I'll give
> it a try... What pieces of the ECL suite do actually link to ecl.dll?
>

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.


> Oh, and a final remark, on Cygwin at least, the dllimport magic is broken.
> The dllexport stuff gets defined in the headers at build time because
> "cygwin" is defined by the build system.
> But when included from another project (let's say Sage :), the
> dllimport is included only if "cygwin" is defined... which has no
> reason to be.
> The easiest fix I found was to define "cygwin" when "__CYGWIN__" is
> (and that gcc does define on Cygwin).


We would have to fix the ECL headers.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20120817/48e46429/attachment.html>


More information about the ecl-devel mailing list