Crosscompiler?

Stephen Weeks sweeks@acm.org
Tue, 5 Mar 2002 11:01:50 -0800


> I'm wondering if it's going OK with the Win32 crosscompiler-project?
> Because if there is anything I can do to help then please tell me :)
> In particular if there are some Win32 specific problems then I guess
> I should be able to help with that.

Hi Anoq.  It's going well.  I've got most of our regression tests
working, and am dealing with the last few that aren't.  I decided to
go with Cygwin for now, because it has made the porting easier, and
because the person I am building the cross-compiler for wanted it.
Once all the infrastructure is in place in our sources, hopefully it
won't be too bad to target other Win32 Unix environments, like MinGW.
I have set stuff up so that multiple hosts can coexist simultaneously. 

I am using the approach of having a constants file (with names) per
host, with the basis library making a distinction between constants
defined on the command line on the build machine (like MLton_safe) and
constants defined on the host machine (like Posix_IO_SEEK_END).  The
constants file is built once per host and is loaded at SML compile
time.  Although I haven't gotten around to self-compiling yet, I don't
think it will be don't think it will be necessary to make the
distinction between build, host, and target as gcc does, since for
now, MLton will be able to generate for all targets.  That is, we
won't compile a MLton that can only generate for a particular target.
So, for self-compiles we only need to distinguish between the machine
that MLton is building on and the machine that the executable will run
on (as we would for any application).

Self-compiling isn't on the critical path, though, so I may not get to
it for a while unless its easy.

I should be able to release an experimental version in two weeks or
so.  I'll let you know when it's ready.