views:

480

answers:

3

I have SBCL running on a Ubuntu machine. I want to write a little program that I want to give to a friend who has only Windows running. What is the quickest way to cross-compile it on my machine into a "standalone" windows program (i.e. the usual runtime+core combination)?

+3  A: 

I suspect that installing Windows on a VM and compiling your app there would be the quickest way.

Luís Oliveira
+1  A: 

Cores are specific to a platform/version combination. Use Luís's method, or distribute with a different Lisp, such as CLisp.

There is absolutely no binary compatibility of core images between different runtime support programs. Even runtimes built from the same sources at different times are treated as incompatible for this purpose. SBCL Manual

anonfunc
+2  A: 

SBCL is able to do a cross-compilation, but due to code being evaluated during the process, you need access to the target architecture. SBCL's build processed is well explained by Christophe Rhodes in SBCL: a Sanely-Bootstrappable Common Lisp .

If you don't have directly access to a Windows machine, I suppose you could give a try to Wine (I would expect this to fail) or ReactOS inside either an emulator or hypervisor (QEMU, HVM, Xen, you name it...).

Nowhere man