On 10/08/2011, Matthieu Dubuget <[email protected]> wrote: > > Date: 10/08/2011 10:25 > From: David Allsopp <[email protected]> wrote: >> Good to know that 64-bit MinGW is working - that said, I thought the MinGW >> port was broken in 3.12.1 or is that not affected with the 64-bit >> compiler? Could you share details on how you configured OCaml? > > This is not 64 bits. i686-w64-mingw32 is 32 bits. But for this, I > adapted some patches borrowed from bug #5179, that may interest you.
To clarify the situation a bit, in the triplet, "w64" refers to the mingw-w64 project. mingw.org uses "pc" instead (and you can configure any build to use that one too, but the behaviour of your toolchain will change). It could also be McDonalds were McDonald's doing anything with GCC. For "mingw32", the issue is that many configure scripts (and other elements) check for "mingw32" when they should actually check for "mingw*". Noone is to blame, it used to be perfectly acceptable but it'll take some time to change (it's hopefully improving). By the way, ocaml's configure scripts have at least one problem: windows uses the LLP64 model while linux and many others use the LP64 model [1]. The endianess test uses a variable of type long and assumes it is the same size as a pointer which is not the case on windows 64. On C99, you can use (u)intptr_t and types from stddef.h (size_t, ptrdiff_t, ...) instead. These types can also be used with GCC and probably others even when in non-C99 mode. [1] http://en.wikipedia.org/wiki/LLP64#Specific_C-language_data_models If I remember correctly, you're still supposed to use the Makefile.nt (make -f Makefile.nt) files with minor changes instead of calling configure when using mingw and you're outside of cygwin which means the issue won't always pop up but it's quite important to have this in mind when porting to windows 64 (it's a common issue). -- Adrien Nader -- Caml-list mailing list. Subscription management and archives: https://sympa-roc.inria.fr/wws/info/caml-list Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
