Dear Wolfgang, > I think it works now. If someone wants to try it - get > http://wolfgang.dautermann.at/ecl/ecl-crosscompiling.tar.gz > and follow the instructions from > http://wolfgang.dautermann.at/ecl/ecl-crosscompiling/Readme-crosscompiling.txt
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 > (http://wolfgang.dautermann.at/ecl/ecl-crosscompiling/ecl-uname-mingw.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: > http://wolfgang.dautermann.at/ecl/ecl-crosscompiling > > 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 > https://common-lisp.net/project/ecl/manual/ch34s06.html 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 (https://sourceforge.net/projects/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 -- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu "Be the change that you wish to see in the world." - Mahatma Gandhi