/mingw-ocaml

OCaml cross-compiler based on mingw

OtherNOASSERTION

Mingw-ocaml is a set of patch and Makefile that can 
build an OCaml cross-compiler using the mingw32
compilation tools. 

You can build cross-compilers that creates native binary
for windows, both 32 and 64 bits. By native, we mean 
that the binary are compliant with the original windows 
API/ABI, and do not use a POSIX emulation such as cygwin.

This also means that the compiler may not support some
unix-specific features, in particular in the domain of 
threads management. The compiler supports, in fact, 
exactly the features supported by the native OCaml compiler
for Windows.

To build the windows 32 bits compiler, just type:

  make

To build the windows 64 bits compiler, just type:

  make MINGW_HOST=x86_64-w64-mingw32

By default, all binaries are placed into the binary/
folder. They wil not be functional unless you install
them all in your system root though. You can do that 
by typing, as root:

  # make install

If you are not already familiar with mingw64,
i686-w64-mingw32 refers to 32 bits windows cross-compiling
tools and x86_64-w64 to 64 bits windows cross-compiling
tools. In the following, we use i686-w64-mingw32 but
all instructions apply to x86_64-w64 as well.

The compiler also includes a support for ocamlfind. In 
order to use it, you should set the environment variable 
OCAMLFIND_CONF to /etc/i686-w64-mingw32-ocamlfind.conf:
  
  export OCAMLFIND_CONF=/etc/i686-w64-mingw32-ocamlfind.conf

When the build system uses the autoconf tool, you can build 
the C libraries with the following options:

  ./configure --prefix=/usr/i686-w64-mingw32 --host=i686-w64-mingw32

It is convenient to install those libs directly in /usr/i686-w64-mingw32.

Additionally, if your configuration script uses pkg-config
to detect libraries, you may want to set the PKG_CONFIG_PATH
variable to /usr/i686-w64-mingw32/lib/pkgconfig:

  export PKG_CONFIG_PATH=/usr/i686-w64-mingw32/lib/pkgconfig

This project is not in any way supported by the OCaml original maintainers.
Please report any issue with this package there:
 
  https://github.com/savonet/mingw-ocaml 

 -- Romain Beauxis <toots@rastageeks.org>  Sat Mar 23 07:07:20 CDT 2013