2001-02-06 07:24:00 -08:00
|
|
|
Release notes on the MS Windows ports of Objective Caml
|
|
|
|
-------------------------------------------------------
|
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
Starting with OCaml 3.05, there are now no less than three ports of
|
|
|
|
Objective Caml for MS Windows available:
|
|
|
|
- a native Win32 port, built with the Microsoft development tools (non-free);
|
|
|
|
- a native Win32 port, built with the MinGW development tools (free);
|
2001-02-06 07:24:00 -08:00
|
|
|
- a port consisting of the Unix sources compiled under the Cygwin
|
2002-06-07 07:17:34 -07:00
|
|
|
Unix-like environment for Windows (free).
|
2001-02-06 07:24:00 -08:00
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
Here is a summary of the main differences between these ports:
|
2001-02-06 07:24:00 -08:00
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
Native MS Native MinGW Cygwin
|
|
|
|
Third-party software required
|
|
|
|
- for base bytecode system none none none
|
|
|
|
- for ocamlc -custom MSVC MinGW Cygwin
|
|
|
|
- for native-code generation MSVC+MASM MinGW Cygwin
|
2001-02-06 07:24:00 -08:00
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
Speed of bytecode interpreter 70% 100% 100%
|
|
|
|
|
|
|
|
Replay debugger no no yes
|
|
|
|
|
|
|
|
The Unix library partial partial full
|
|
|
|
|
|
|
|
The Threads library yes yes no
|
|
|
|
|
|
|
|
The Graphics library yes yes no
|
|
|
|
|
|
|
|
|
|
|
|
The remainder of this document gives more information on each port.
|
2001-02-06 07:24:00 -08:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
The Cygwin port of Objective Caml
|
|
|
|
---------------------------------
|
|
|
|
|
|
|
|
REQUIREMENTS:
|
|
|
|
|
|
|
|
This port requires the Cygwin environment from Cygnus/RedHat, which
|
|
|
|
is freely available at:
|
|
|
|
http://sources.redhat.com/cygwin/
|
|
|
|
|
|
|
|
This port runs under all versions of MS Windows supported by Cygwin,
|
|
|
|
i.e. Windows 95, 98, ME, NT and 2000 on Intel IA32 machines.
|
|
|
|
|
|
|
|
|
|
|
|
INSTALLATION:
|
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
For various reasons, no binary distribution of this port is available.
|
|
|
|
You need to recompile from the source distribution.
|
2001-02-06 07:24:00 -08:00
|
|
|
|
|
|
|
|
|
|
|
RECOMPILATION FROM THE SOURCES:
|
|
|
|
|
|
|
|
Just follow the instructions for Unix machines given in the file INSTALL.
|
|
|
|
|
|
|
|
|
|
|
|
NOTES:
|
|
|
|
|
|
|
|
The libraries available in this port are "num", "str", "unix" and "labltk".
|
|
|
|
"graph" and "threads" are not available yet.
|
2002-06-07 07:17:34 -07:00
|
|
|
The replay debugger is supported.
|
2001-02-06 07:24:00 -08:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
The native Win32 port built with Microsoft Visual C
|
|
|
|
---------------------------------------------------
|
1996-02-25 10:00:26 -08:00
|
|
|
|
|
|
|
REQUIREMENTS:
|
|
|
|
|
2001-02-06 07:24:00 -08:00
|
|
|
This port runs under MS Windows 95, 98, ME, NT and 2000 on Intel IA32
|
|
|
|
machines. Windows 3.1 and Windows for Workgroups are not
|
|
|
|
supported. Windows NT on non-Intel processors has not been tested.
|
1996-02-25 10:00:26 -08:00
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...)
|
|
|
|
runs without any additional tools.
|
1996-02-25 10:00:26 -08:00
|
|
|
|
2001-08-28 07:47:48 -07:00
|
|
|
Statically linking Caml bytecode with C code (ocamlc -custom) requires the
|
|
|
|
Microsoft Visual C++ compiler version 6. Dynamic loading of DLLs is
|
|
|
|
supported out of the box, without additional software.
|
1996-02-25 10:00:26 -08:00
|
|
|
|
1999-11-08 08:56:33 -08:00
|
|
|
The native-code compiler (ocamlopt) requires Visual C++ version 6
|
|
|
|
and the Microsoft assembler MASM version 6.11 or later.
|
|
|
|
MASM can be downloaded for free from Microsoft's Web site;
|
|
|
|
see the comp.lang.asm.x86 FAQ for directions, or
|
2002-06-07 07:17:34 -07:00
|
|
|
http://www2.dgsys.com/~raymoon/faq/masm.html
|
1996-02-25 10:00:26 -08:00
|
|
|
|
2001-07-27 05:52:05 -07:00
|
|
|
The LablTk GUI requires Tcl/Tk 8.3. Windows binaries are
|
|
|
|
available from ftp://ftp.scriptics.com/pub/tcl/tcl8_3/.
|
1997-10-24 08:49:12 -07:00
|
|
|
|
1996-02-25 10:00:26 -08:00
|
|
|
|
|
|
|
INSTALLATION:
|
|
|
|
|
1999-11-26 00:57:14 -08:00
|
|
|
The binary distribution is a self-installing executable archive.
|
|
|
|
Just run it and it should install OCaml automatically.
|
1996-02-25 10:00:26 -08:00
|
|
|
|
|
|
|
Installing the command-line tools:
|
|
|
|
|
1999-11-26 00:57:14 -08:00
|
|
|
You must add the "bin" subdirectory of the OCaml installation directory
|
|
|
|
to the PATH variable, e.g.
|
1996-02-25 10:00:26 -08:00
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
set PATH=%PATH%;D:\lang\ocaml\bin
|
1996-02-25 10:00:26 -08:00
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Running directly the tools (e.g. typing D:\lang\ocaml\bin\ocamlc)
|
1999-11-26 00:57:14 -08:00
|
|
|
will not work if the "bin" subdirectory is not in PATH, because ocamlc
|
1996-02-25 10:00:26 -08:00
|
|
|
and the other tools will be unable to find the Caml runtime system
|
1996-04-30 07:53:58 -07:00
|
|
|
ocamlrun.exe.
|
1996-02-25 10:00:26 -08:00
|
|
|
|
2001-07-27 05:52:05 -07:00
|
|
|
To use the LablTK GUI, the directory where the libraries tk83.lib
|
|
|
|
and tcl83.lib were installed (by the Tcl/Tk installer)
|
|
|
|
must be added to the library search path in the LIB environment variable.
|
|
|
|
E.g. if Tcl/Tk was installed in C:\tcl, add "C:\tcl\lib" to the LIB
|
|
|
|
environment variable.
|
|
|
|
|
2001-02-06 07:24:00 -08:00
|
|
|
|
1996-02-25 10:00:26 -08:00
|
|
|
RECOMPILATION FROM THE SOURCES:
|
|
|
|
|
|
|
|
The command-line tools can be recompiled from the Unix source
|
1996-04-30 07:53:58 -07:00
|
|
|
distribution (ocaml-X.YZ.tar.gz), which also contains the files modified
|
1996-02-25 10:00:26 -08:00
|
|
|
for Windows.
|
|
|
|
|
2001-08-28 07:47:48 -07:00
|
|
|
You will need the following software components to perform the recompilation:
|
2002-06-07 07:17:34 -07:00
|
|
|
- Windows NT, 2000, or XP (we advise against compiling under Windows 95/98/ME)
|
2001-08-28 07:47:48 -07:00
|
|
|
- Visual C++ version 6
|
|
|
|
- MASM version 6.11 (see above)
|
|
|
|
- The CygWin port of GNU tools, available from
|
|
|
|
http://sourceware.cygnus.com/cygwin/
|
|
|
|
- TCL/TK version 8.3 (for the LablTK GUI) (see above).
|
1996-02-25 10:00:26 -08:00
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
To recompile, start a Cygwin shell and change to the top-level
|
|
|
|
directory of the OCaml distribution. Then, do
|
|
|
|
|
|
|
|
cp config/m-nt.h config/m.h
|
|
|
|
cp config/s-nt.h config/s.h
|
|
|
|
cp config/Makefile.msvc config/Makefile
|
1999-10-19 09:37:30 -07:00
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
Then, edit config/Makefile as needed (see the comments in this file).
|
1996-02-25 10:00:26 -08:00
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
Finally, use "make -f Makefile.nt" to build the system, e.g.
|
|
|
|
|
|
|
|
make -f Makefile.nt world
|
|
|
|
make -f Makefile.nt bootstrap
|
|
|
|
make -f Makefile.nt opt
|
|
|
|
make -f Makefile.nt install
|
|
|
|
|
|
|
|
|
|
|
|
NOTES:
|
1996-02-25 10:00:26 -08:00
|
|
|
|
|
|
|
* The VC++ compiler does a poor job on byterun/interp.c. Consequently,
|
2001-07-27 05:52:05 -07:00
|
|
|
the performance of bytecode programs is about 2/3 of that obtained under
|
2002-06-07 07:17:34 -07:00
|
|
|
Unix/GCC or Cygwin or Mingw on similar hardware.
|
1996-10-25 06:38:55 -07:00
|
|
|
|
2001-12-03 02:13:26 -08:00
|
|
|
* Libraries available in this port: "num", "str", "threads", "graphics",
|
2001-02-06 07:24:00 -08:00
|
|
|
"labltk", and large parts of "unix".
|
1996-02-25 10:00:26 -08:00
|
|
|
|
2002-06-07 07:17:34 -07:00
|
|
|
* The replay debugger is not supported.
|
1996-02-25 10:00:26 -08:00
|
|
|
|
|
|
|
CREDITS:
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
The initial port of Caml Special Light (the ancestor of Objective Caml)
|
|
|
|
to Windows NT was done by Kevin Gallo at Microsoft Research, who
|
|
|
|
kindly contributed his changes to the Caml project.
|
1996-02-25 10:00:26 -08:00
|
|
|
|
2001-12-03 02:13:26 -08:00
|
|
|
The graphical user interface for the toplevel is due to Jacob Navia.
|
2002-06-07 07:17:34 -07:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
The native Win32 port built with Mingw
|
|
|
|
--------------------------------------
|
|
|
|
|
|
|
|
REQUIREMENTS:
|
|
|
|
|
|
|
|
This port runs under MS Windows 95, 98, ME, NT and 2000 on Intel IA32
|
|
|
|
machines.
|
|
|
|
|
|
|
|
The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...)
|
|
|
|
runs without any additional tools.
|
|
|
|
|
|
|
|
The native-code compiler (ocamlopt), as well as static linking of
|
|
|
|
Caml bytecode with C code (ocamlc -custom), require the MinGW
|
|
|
|
development tools, which is free software available at
|
|
|
|
http://www.mingw.org/
|
|
|
|
|
|
|
|
The LablTk GUI requires Tcl/Tk 8.0 for MinGW, available from
|
|
|
|
ftp://ftp.xraylith.wisc.edu/pub/khan/tcl/tcltk-8.0p2-mingw32.zip
|
|
|
|
|
|
|
|
|
|
|
|
INSTALLATION:
|
|
|
|
|
|
|
|
There is no binary distribution yet, so follow the compilation instructions
|
|
|
|
below.
|
|
|
|
|
|
|
|
|
|
|
|
RECOMPILATION FROM THE SOURCES:
|
|
|
|
|
|
|
|
You will need the following software components to perform the recompilation:
|
|
|
|
- Windows NT, 2000, or XP (we advise against compiling under Windows 95/98/ME)
|
|
|
|
- MinGW: http://www.mingw.org/
|
|
|
|
- Cygwin: http://sourceware.cygnus.com/cygwin/
|
|
|
|
- Make sure that MinGW binaries occur before Cygwin binaries in the PATH
|
|
|
|
(e.g. PATH=/mingw/bin:/usr/bin/:...)
|
|
|
|
- TCL/TK version 8.0 for MinGW (see above).
|
|
|
|
|
|
|
|
Start a Cygwin shell and unpack the source distribution
|
|
|
|
(ocaml-X.YZ.tar.gz) with "tar xzf". Change to the top-level
|
|
|
|
directory of the OCaml distribution. Then, do
|
|
|
|
|
|
|
|
cp config/m-nt.h config/m.h
|
|
|
|
cp config/s-nt.h config/s.h
|
|
|
|
cp config/Makefile.mingw config/Makefile
|
|
|
|
|
|
|
|
Then, edit config/Makefile as needed (see the comments in this file).
|
|
|
|
|
|
|
|
Finally, use "make -f Makefile.nt" to build the system, e.g.
|
|
|
|
|
|
|
|
make -f Makefile.nt world
|
|
|
|
make -f Makefile.nt bootstrap
|
|
|
|
make -f Makefile.nt opt
|
|
|
|
make -f Makefile.nt opt.opt
|
|
|
|
|
|
|
|
|
|
|
|
NOTES:
|
|
|
|
|
|
|
|
* Libraries available in this port: "num", "str", "threads", "graphics",
|
|
|
|
"labltk", and large parts of "unix".
|
|
|
|
|
|
|
|
* The replay debugger is not supported.
|