Crosscompiling ECL for Windows

Daniel Kochmański daniel at
Sat Nov 12 17:04:34 UTC 2016

Dear Wolfgang,

> I think it works now. If someone wants to try it - get
> and follow the instructions from

I'll check it out on Monday. Thanks for working on this!
> This will get & compile libgmp (currently needed for the host-ecl), then
> ECL (currently the most recent GIT commit from the 'build-clean' branch
> - and currently fixed to that commit since I need to include a patch
> (
> Then ECL will be build twice - first for Linux (ecl-host), then for
> Windows and an installer is created. (tested on Debian/Ubuntu). The
> crosscompiled ECL was tested with Wine/Linux and Windows10. You can get
> the compiled installer also from:
> If you find it useful, feel free to include my code in ECL.

All patches improving portability of ECL are very welcomed.
> Some minor issues:
> I build ECL currently with the bytecode compiler (--with-cmp=no) - as
> the current Windows installer is build. That works, but if I try a
> compile example from
> it seems to try
> the native compiler:
>> (compile-file "hello.lisp")
> Condition of type: FILE-ERROR
> Filesystem error with pathname #P"SYS:CMP.NEWEST".
> Shouldnt a bytecode compiler be invoked, if ECL is configured with
> "--with-cmp=no"?

Yet it should. If you could make an issue on gitlab it would be great.
> I can also build it *with* a C compiler (= without "--with-cmp=no" (my
> idea is to include tdm-gcc (,
> but the issue is:
> During the compiliaton of ECL I need the crosscompiler
> (i686-w64-mingw32-gcc). It does build fine with that.
> But in the installed ECL (when it runs on Windows (or in Wine)) I would
> need the native compiler (from the tdm-gcc project). ECL seems to use
> the same compiler (when configured with "./configure
> --host=i686-w64-mingw32") for building and execution afterwards.
> Is there a way to specify a distinct compiler (linker, etc.) which will
> be invoked when the installed ECL runs?

I'm working on this in a separate branch, but it won't be included in
upcoming release.

In general I want to create a convenient way for registering different
compilers (mainly for cross-compilation, but this will work for your
usecase as well).
> Best regards, Wolfgang

Best regards,

Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland
TurtleWare - Daniel Kochmański      |

"Be the change that you wish to see in the world." - Mahatma Gandhi

More information about the ecl-devel mailing list