Version française
Home     About     Download     Resources     Contact us    

Portability Issues

Supported platforms

The bytecoded system currently runs on any POSIX-compliant operating system with an ANSI-compliant C compiler (and tries hard to accommodate deviations from POSIX and ANSI-C). It should run straight out of the box on all Unix and Unix-compatible systems, including Linux and MacOS X. (See below for MS Windows.) While not mandatory, it is recommended to use the GNU gcc compiler to compile the distribution.

The native-code compiler currently supports the following processor/operating system combinations:

ProcessorsOperating systems
Tier 1 platforms
(actively used and maintained by the core Caml team):
AMD64 (AMD Opteron, Athlon64, Intel Pentium EM64)Linux
IA32 (Intel Pentium, Celeron, AMD Athlon)Linux, FreeBSD, MacOS X, Microsoft Windows
Power PCMac OS X
Tier 2 platforms
(maintained but less actively, with help from users):
AlphaDigital Unix/Compaq Tru64, Linux, all BSD
AMD64FreeBSD, OpenBSD
PA-RISCHPUX 11, Linux
IA32NetBSD, OpenBSD, Solaris 9
IA64Linux, FreeBSD
MIPSIRIX 6
PowerPCLinux, NetBSD
SPARCSolaris 9, Linux, NetBSD
StrongARMLinux

Other operating systems for the processors above have not been tested, but the compiler may work under other operating systems with little work.

Ports for Microsoft Windows

Starting with Objective Caml 3.05, there are no less than three ports of Objective Caml for Microsoft Windows available:

Here is a summary of the main differences between these ports:

Native Microsoft Native MinGWCygwin
Third-party software required
   -  for base bytecode system
   -  for ocamlc -custom
   -  for native-code generation
 
none
MSVC
MSVC + MASM
 
none
Cygwin
Cygwin
 
none
Cygwin
Cygwin
Speed of bytecode interpreter 70 %100 %100 %
Debuggernonoyes
Libraries
   -  Unix
   -  Threads
   -  Graphics
 
partial
yes
yes
 
partial
yes
yes
 
full
yes
no
Restrictions on generated executables nonenoneyes*

* Cygwin-generated .exe files refer to a DLL that is distributed under the GPL. Thus, these .exe files can only be distributed under a license that is compatible with the GPL. Executables generated by MSVC or by MinGW have no such restrictions.