The problem: the compiler right now has two types of hardcoded dependencies
 1 - Language features selected at build time (CLOS, threads, etc)
 2 - Machine-dependent features (word sizes, bits, etc)

It seems that in order to make cross-compilation easiest we can still preserve 1. while getting rid of 2. This would ideally empower ECL to build C code for 32-bit machines on a 64-bit platform.

In practice I am not sure how well this will work: in practice lisp code in many cases involves some partial evaluation (through eval-when and friends) which might fail if not written with care. For instance, this code might understand that 1000000000 is a fixnum which it is not on the target platform. Let's see...

Juanjo

--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain) 
http://juanjose.garciaripoll.googlepages.com