[erlang-questions] Status of Windows platform support in Erlang/OTP
Mikael Pettersson
mikpe@REDACTED
Mon Jun 20 11:31:10 CEST 2011
Amy Lear writes:
> I set aside my fun with clock granularity once I knew what the problem
> and (hypothetical) solution are, since instrumentation was only a
> hypothetical concern for me.
>
> While taking a break from some other tasks, I started looking into
> what it would take to actually implement things like windows-specific
> high granularity clocks, and tripped across some interesting items.
>
> Right now, what I see seems to be the following:
>
> Erlang itself is not able to be fully compiled on Windows using open
> source tools; it requires VC++ as a command line compiler for much of
> it.
> Erlang doesn't seem to support 64-bit under Windows.
> HiPE is not compiled into the official Windows binaries.
>
> Research indicates that at one point in time, Erlang could be compiled
> using MinGW. If I understand correctly, things went somewhat awry
> around the time SMP support was added. The 64-bit problem seems to be
> a long =/= void sizing issue, and I wasn't able t find anything on
> HiPE.
>
> My questions are as follows:
>
> Has anything happened since then as far as efforts to be able to fully
> compile Erlang using mingw? The mingw/msys environment does provide a
> working shell and the ability to run configure scripts, etc, without
> bringing the whole cygwin cavalcade to the party.
IMO the preferred solution would be to do a pseudo-cross build in a
Cygwin environment using a cygwin-to-{i686,x86_64}-w64-mingw32 cross
compiler. This gives you all the needed Unix:y build tools, but the
resulting binaries don't need Cygwin. That's how we build the Windows
versions of our products.
> Has any effort gone into the cleanup necessary for being able to
> produce a 64-bit Erlang for Windows? The implication from what I found
> suggested it's mostly rote work that the core team doesn't have time
> to do.
No updates that I know of.
> What exactly is the status of HiPE on the Windows platform?
Same as before, namely that it's not supported but it's probably possible
to support it if you accept a 4KB per-native-thread memory consumption
penalty. FP exn handling must also be implemented, but I did a
prototype of that some time ago.
> If work yet remains on these, is there a good starting point on how we
> might be able to push forward on these items?
Well, as I wrote recently in another thread on erlang-questions,
there are no compiler or VM developers left in the HiPE team, we've
all moved on to other jobs.
I run a small compiler/VM consultancy business on the side, and in
that capacity I'd be willing to port HiPE to Windows and the mingw-w64
toolchain, assuming a Cygwin build environment. Fixes for the Windows
IL32P64 model should ideally be done by the OTP group, but as they
haven't done those already, and they a prerequisite for a 64-bit Erlang
VM on Windows, I could do those as well. Contact me offline to work out
the details if you're interested.
/Mikael
More information about the erlang-questions
mailing list